@bongos/core 1.24.36 → 1.24.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/.bongos-core.json +90 -85
  2. package/docs/copy-inventory.md +58 -57
  3. package/docs/copy-registry.json +163 -166
  4. package/docs/module-api-changelog.md +2 -0
  5. package/docs/onboarding/primer.md +2 -0
  6. package/docs/page-inventory.json +34 -34
  7. package/docs/page-readings.json +684 -680
  8. package/modules/hall-ui/public/ai-studio.html +2 -2
  9. package/modules/hall-ui/public/atlas.html +2 -2
  10. package/modules/hall-ui/public/blockers.html +2 -2
  11. package/modules/hall-ui/public/board-room.html +2 -2
  12. package/modules/hall-ui/public/city.html +2 -2
  13. package/modules/hall-ui/public/collab.html +2 -2
  14. package/modules/hall-ui/public/commands.html +2 -2
  15. package/modules/hall-ui/public/copy-desk.html +2 -2
  16. package/modules/hall-ui/public/craft-mode.js +1 -1
  17. package/modules/hall-ui/public/deploy.html +2 -2
  18. package/modules/hall-ui/public/fleet-costs.js +3 -2
  19. package/modules/hall-ui/public/gate.html +2 -2
  20. package/modules/hall-ui/public/goal-map.html +2 -2
  21. package/modules/hall-ui/public/goals.html +2 -2
  22. package/modules/hall-ui/public/government.html +2 -2
  23. package/modules/hall-ui/public/idea.html +2 -2
  24. package/modules/hall-ui/public/ideas.html +2 -2
  25. package/modules/hall-ui/public/index.html +2 -2
  26. package/modules/hall-ui/public/market-watch-item.html +2 -2
  27. package/modules/hall-ui/public/market-watch-rules.html +2 -2
  28. package/modules/hall-ui/public/market-watch.html +2 -2
  29. package/modules/hall-ui/public/modules.html +2 -2
  30. package/modules/hall-ui/public/money.html +92 -0
  31. package/modules/hall-ui/public/money.js +302 -0
  32. package/modules/hall-ui/public/money.states.json +15 -0
  33. package/modules/hall-ui/public/my-agents.html +2 -2
  34. package/modules/hall-ui/public/palette.js +9 -2
  35. package/modules/hall-ui/public/primer-live.js +18 -105
  36. package/modules/hall-ui/public/primer.html +7 -8
  37. package/modules/hall-ui/public/primer.js +16 -18
  38. package/modules/hall-ui/public/profile.html +2 -2
  39. package/modules/hall-ui/public/project-settings.css +2 -1
  40. package/modules/hall-ui/public/project-settings.html +6 -16
  41. package/modules/hall-ui/public/project-settings.js +2 -142
  42. package/modules/hall-ui/public/roadmap.html +2 -2
  43. package/modules/hall-ui/public/roster.html +2 -2
  44. package/modules/hall-ui/public/sessions.html +2 -2
  45. package/modules/hall-ui/public/settings.html +2 -2
  46. package/modules/hall-ui/public/shell.js +7 -5
  47. package/modules/hall-ui/public/street.html +2 -2
  48. package/modules/hall-ui/public/studio.html +2 -2
  49. package/modules/hall-ui/public/task.html +2 -2
  50. package/modules/hall-ui/public/thinking.html +2 -2
  51. package/modules/hall-ui/public/tweak-editor.html +2 -2
  52. package/modules/hall-ui/public/watch.html +2 -2
  53. package/modules/hall-ui/public/work.html +2 -2
  54. package/package-lock.json +2 -2
  55. package/package.json +1 -1
  56. package/release-notes.json +6 -0
  57. package/src/bongos/auth.js +0 -8
  58. package/src/bongos/serve-internal.js +15 -6
  59. package/src/module-api.js +1 -1
  60. package/tests/auth_resolve_failure.mjs +5 -4
  61. package/tests/fleet_cost_view.mjs +2 -18
  62. package/tests/hall_loading.mjs +1 -1
  63. package/tests/hall_money_page.mjs +272 -0
  64. package/tests/hall_nav.mjs +5 -4
  65. package/tests/hall_oversight_world.mjs +1 -1
  66. package/tests/hall_page_gate_map.mjs +3 -2
  67. package/tests/hall_reading_room.mjs +21 -62
  68. package/tests/nav_permission_atoms.mjs +1 -1
  69. package/modules/hall-ui/public/fleet.html +0 -69
  70. package/modules/hall-ui/public/fleet.js +0 -41
  71. package/modules/hall-ui/public/fleet.states.json +0 -14
@@ -88,8 +88,8 @@
88
88
 
89
89
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
90
90
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
91
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
92
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
91
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
92
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
93
93
  <script src="/builders/palette.js" defer></script>
94
94
  <script src="/builders/tweak-editor-lib.js?v=2026-09-28-tw23"></script>
95
95
  <script src="/builders/studio-lib.js?v=2026-10-09-day"></script>
@@ -91,8 +91,8 @@
91
91
 
92
92
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
93
93
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
94
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
95
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
94
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
95
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
96
96
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
97
97
  <script src="/builders/palette.js" defer></script>
98
98
  <script src="/builders/atlas.js?v=2026-09-02-index" defer></script>
@@ -60,8 +60,8 @@
60
60
  chrome exists before the page script runs. -->
61
61
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
62
62
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
63
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
64
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
63
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
64
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
65
65
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
66
66
  <script src="/builders/palette.js" defer></script>
67
67
  <!-- the branding pack's currency label, loaded BEFORE blockers.js. -->
@@ -62,8 +62,8 @@
62
62
 
63
63
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
64
64
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
65
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
66
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
65
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
66
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
67
67
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
68
68
  <script src="/builders/palette.js" defer></script>
69
69
  <script src="/builders/hall-kit.js"></script>
@@ -107,8 +107,8 @@
107
107
 
108
108
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
109
109
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab" defer></script>
110
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room" defer></script>
111
- <script src="/builders/shell.js?v=2026-11-04-reading-room" defer></script>
110
+ <script src="/builders/craft-mode.js?v=2026-11-04-money" defer></script>
111
+ <script src="/builders/shell.js?v=2026-11-04-money" defer></script>
112
112
  <script src="/builders/palette.js" defer></script>
113
113
  <script src="/builders/gov-living.js?v=2026-10-09-positions1" defer></script>
114
114
  <script src="/builders/gov-feeds.js?v=2026-10-09-living3" defer></script>
@@ -161,8 +161,8 @@
161
161
 
162
162
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
163
163
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
164
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
165
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
164
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
165
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
166
166
  <script src="/builders/palette.js" defer></script>
167
167
  <script src="/builders/collab-lib.js?v=2026-09-24-archive"></script>
168
168
  <script src="/builders/collab.js?v=2026-09-24-archive"></script>
@@ -53,8 +53,8 @@
53
53
 
54
54
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
55
55
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
56
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
57
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
56
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
57
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
58
58
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
59
59
  <script src="/builders/palette.js" defer></script>
60
60
  <script src="/builders/hall-kit.js"></script>
@@ -179,8 +179,8 @@
179
179
 
180
180
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
181
181
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
182
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
183
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
182
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
183
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
184
184
  <script src="/builders/palette.js" defer></script>
185
185
  <script src="/builders/hall-kit.js"></script>
186
186
  <script src="/builders/copy-desk.js?v=2026-09-01-redesign"></script>
@@ -107,7 +107,7 @@
107
107
  artistry: ['studio', 'goals', 'thinking'],
108
108
  ideating: ['goal-map', 'thinking', 'goals', 'market-watch'],
109
109
  governing: ['city', 'blockers', 'board-room',
110
- 'watch', 'gate', 'sessions', 'project-settings', 'deploy', 'fleet', 'government'],
110
+ 'watch', 'gate', 'sessions', 'project-settings', 'money', 'deploy', 'government'],
111
111
  };
112
112
  // A mode can lead with ONE tab and fold the rest of its own under a dropdown
113
113
  // (owner, 2026-10-08: the city is Governing's tab, everything else under it).
@@ -80,8 +80,8 @@
80
80
 
81
81
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
82
82
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
83
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
84
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
83
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
84
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
85
85
  <script src="/builders/palette.js" defer></script>
86
86
  <script src="/builders/hall-kit.js"></script>
87
87
  <!-- the shared ask card the move is drawn with (task 1004829) -->
@@ -1,4 +1,4 @@
1
- // fleet-costs.js — the fleet cost page's builders (task 1001949, ADR 0327).
1
+ // fleet-costs.js — the hosting-cost ledger's builders (task 1001949, ADR 0327).
2
2
  //
3
3
  // WHY. GET /provisioning/fleet/cost-ledger answers two questions per project, one
4
4
  // column each: what the project costs US, and an ESTIMATE of its owner's own hosting
@@ -8,7 +8,8 @@
8
8
  //
9
9
  // Pure, so a test runs the real rendering over the real fixture instead of a copy of
10
10
  // it. Exposed as window.OTBFleetCosts; node-require-safe (the roadmap-timeline.js
11
- // pattern — assignment is the only eval-time side effect). fleet.js is the chrome.
11
+ // pattern — assignment is the only eval-time side effect). money.js is the chrome:
12
+ // the ledger is the money page's #hosting section since task 1005047 (/fleet redirects).
12
13
  (() => {
13
14
  'use strict';
14
15
 
@@ -66,8 +66,8 @@
66
66
 
67
67
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
68
68
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
69
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
70
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
69
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
70
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
71
71
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
72
72
  <script src="/builders/palette.js" defer></script>
73
73
  <script src="/builders/hall-kit.js"></script>
@@ -139,8 +139,8 @@
139
139
 
140
140
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
141
141
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
142
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
143
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
142
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
143
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
144
144
  <script src="/builders/palette.js" defer></script>
145
145
 
146
146
  <script src="/builders/idea-objects.js?v=2026-09-27-split"></script>
@@ -243,8 +243,8 @@
243
243
 
244
244
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
245
245
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
246
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
247
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
246
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
247
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
248
248
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
249
249
  <script src="/builders/palette.js" defer></script>
250
250
  <!-- task 1004727: the ONE karma vote control every task/idea list renders -->
@@ -156,8 +156,8 @@
156
156
 
157
157
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
158
158
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
159
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
160
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
159
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
160
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
161
161
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
162
162
  <script src="/builders/palette.js" defer></script>
163
163
  <script src="/builders/hall-kit.js"></script>
@@ -52,8 +52,8 @@
52
52
 
53
53
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
54
54
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
55
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
56
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
55
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
56
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
57
57
  <script src="/builders/palette.js" defer></script>
58
58
  <!-- task-detail.js still owns the #/idea/N and #/blocker/N overlay, so a ref
59
59
  written inside an idea's own prose keeps resolving from this page. -->
@@ -227,8 +227,8 @@
227
227
 
228
228
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
229
229
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
230
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
231
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
230
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
231
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
232
232
  <script src="/builders/palette.js" defer></script>
233
233
  <!-- task 1004727: the ONE karma vote control every task/idea list renders -->
234
234
  <script src="/builders/vote-control.js"></script>
@@ -122,8 +122,8 @@
122
122
  before the craft picker so the two never stack. Home only. -->
123
123
  <script src="/builders/welcome-boot.js?v=2026-10-23-city1" defer></script>
124
124
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab" defer></script>
125
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room" defer></script>
126
- <script src="/builders/shell.js?v=2026-11-04-reading-room" defer></script>
125
+ <script src="/builders/craft-mode.js?v=2026-11-04-money" defer></script>
126
+ <script src="/builders/shell.js?v=2026-11-04-money" defer></script>
127
127
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
128
128
  <script src="/builders/palette.js" defer></script>
129
129
  <!-- task 2166: the shared component kit (window.OTBKit) — pager/ledger/rail.
@@ -73,8 +73,8 @@
73
73
 
74
74
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
75
75
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
76
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
77
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
76
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
77
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
78
78
  <script src="/builders/palette.js" defer></script>
79
79
  <script src="/builders/hall-kit.js"></script>
80
80
  <script src="/builders/market-watch-lib.js"></script>
@@ -42,8 +42,8 @@
42
42
 
43
43
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
44
44
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
45
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
46
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
45
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
46
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
47
47
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
48
48
  <script src="/builders/palette.js" defer></script>
49
49
  <script src="/builders/hall-kit.js"></script>
@@ -187,8 +187,8 @@
187
187
 
188
188
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
189
189
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
190
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
191
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
190
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
191
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
192
192
  <script src="/builders/palette.js" defer></script>
193
193
  <script src="/builders/hall-kit.js"></script>
194
194
  <script src="/builders/market-watch-lib.js"></script>
@@ -127,8 +127,8 @@
127
127
 
128
128
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
129
129
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
130
- <script src="/builders/craft-mode.js?v=2026-11-04-reading-room"></script>
131
- <script src="/builders/shell.js?v=2026-11-04-reading-room"></script>
130
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
131
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
132
132
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
133
133
  <script src="/builders/palette.js" defer></script>
134
134
  <script src="/builders/brand-apply.js"></script>
@@ -0,0 +1,92 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Money — {{worldName}}</title>
7
+ <meta name="description" content="Where this project's money went, the treasury so far, and what each hosted project costs, on one page for the people who steer the project.">
8
+ <link rel="icon" href="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><text x='16' y='24' font-size='24' text-anchor='middle' font-family='sans-serif'>⌂</text></svg>">
9
+ <link rel="preconnect" href="https://fonts.googleapis.com">
10
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
11
+ <link rel="stylesheet" href="/builders/style.css?v=2026-09-23-changelist1">
12
+ <link rel="stylesheet" href="/builders/oversight.css">
13
+ <link rel="stylesheet" href="/builders/project-settings.css?v=2026-11-02-outflow">
14
+ </head>
15
+ <body data-page="money" data-page-title="Money">
16
+
17
+ <div class="app">
18
+ <aside class="app-sidebar" id="app-sidebar" aria-label="Primary"></aside>
19
+ <div class="app-scrim" id="app-scrim" hidden></div>
20
+ <div class="app-body">
21
+ <header class="app-topbar" id="app-topbar"></header>
22
+ <div class="app-content">
23
+ <!-- The page's one h1, for screen readers: no page shows its head (task
24
+ 1004836). -->
25
+ <div class="page-head page-head--board">
26
+ <h1 class="page-head__h">Money</h1>
27
+ </div>
28
+
29
+ <!-- task 1005047 (owner decision 2026-11-03, idea 1001312): the owner's one money
30
+ page. Every money figure the hall draws is drawn here and nowhere else in the
31
+ hall: what was spent and paid out (from Project settings), the treasury (from
32
+ the Economy page, then the Primer) and the hosting bills (from /fleet, which
33
+ now redirects to #hosting). Each section is hidden until its own read answers,
34
+ so a reader the read refuses, or a hall without the module behind it, sees no
35
+ empty panel. Written by money.js. -->
36
+ <main id="hall-main">
37
+ <!-- task 1005043: the page loader, shown until any section below is revealed. -->
38
+ <p class="hall-loading hall-loading--page hall-loading--wait" role="status">Loading…</p>
39
+
40
+ <section class="scroll" id="payouts" aria-labelledby="payouts-h" hidden>
41
+ <h2 class="scroll__h" id="payouts-h">Where the money went</h2>
42
+ <p class="scroll__lede">
43
+ What this project has spent, what each builder has been paid, and what it has
44
+ promised but not paid yet. A balance only means something after those promises.
45
+ </p>
46
+ <div id="payouts-body"></div>
47
+ </section>
48
+
49
+ <section class="scroll" id="the-treasury" aria-labelledby="the-treasury-h" hidden>
50
+ <h2 class="scroll__h" id="the-treasury-h">The treasury, so far</h2>
51
+ <div id="the-treasury-body"></div>
52
+ </section>
53
+
54
+ <section class="scroll" id="hosting" aria-labelledby="hosting-h" hidden>
55
+ <h2 class="scroll__h" id="hosting-h">What each project costs</h2>
56
+ <!-- Two different bills, one column each (ADR 0327): a cloud host runs on its
57
+ OWNER's account, so it costs this platform nothing and its owner pays their
58
+ hosting provider directly. Nothing in this section is charged to anyone. -->
59
+ <p class="scroll__lede">
60
+ Two different bills, one column each. The first is what a project costs this
61
+ platform. The second is an estimate of what its owner pays their own hosting
62
+ provider, which bills them directly. A project with no recorded plan reads
63
+ "not priced yet", never $0, and is left out of the total. A self-hosted
64
+ project runs on its owner's own machine, so its bill is not visible to us.
65
+ </p>
66
+ <div id="hosting-body"></div>
67
+ </section>
68
+
69
+ <section class="scroll" id="money-empty" aria-labelledby="money-empty-h" hidden>
70
+ <h2 class="scroll__h" id="money-empty-h">Nothing to show yet</h2>
71
+ <p class="scroll__lede">No money has been recorded on this project yet, or none of it is yours to see.</p>
72
+ </section>
73
+ </main>
74
+
75
+ <footer class="app-foot" id="app-foot"></footer>
76
+ </div>
77
+ </div>
78
+ </div>
79
+
80
+ <div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
81
+
82
+ <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
83
+ <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
84
+ <script src="/builders/craft-mode.js?v=2026-11-04-money"></script>
85
+ <script src="/builders/shell.js?v=2026-11-04-money"></script>
86
+ <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
87
+ <script src="/builders/palette.js" defer></script>
88
+ <script src="/builders/hall-kit.js"></script>
89
+ <script src="/builders/fleet-costs.js"></script>
90
+ <script src="/builders/money.js"></script>
91
+ </body>
92
+ </html>