@bongos/core 1.24.25 → 1.24.27
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.
- package/.bongos-core.json +173 -108
- package/docs/adr/0307-autobongos-a-deterministic-supervisor-and-agentic-workers.md +12 -0
- package/docs/copy-inventory.md +280 -256
- package/docs/copy-registry.json +572 -306
- package/docs/module-api-changelog.md +4 -0
- package/docs/page-inventory.json +10 -4
- package/docs/page-readings.json +4337 -4313
- package/docs/recipes/ui-look-before-you-ship.md +1 -0
- package/modules/autonomy/fence.js +16 -1
- package/modules/government/protected-surfaces.json +2 -0
- package/modules/hall-ui/public/ai-studio.html +2 -2
- package/modules/hall-ui/public/atlas.html +1 -1
- package/modules/hall-ui/public/blockers.html +2 -2
- package/modules/hall-ui/public/blockers.js +3 -1
- package/modules/hall-ui/public/board-room.html +3 -1
- package/modules/hall-ui/public/city.html +1 -1
- package/modules/hall-ui/public/collab.html +4 -4
- package/modules/hall-ui/public/collab.js +4 -0
- package/modules/hall-ui/public/commands.html +3 -3
- package/modules/hall-ui/public/copy-desk.html +3 -3
- package/modules/hall-ui/public/core-move-notice.js +9 -6
- package/modules/hall-ui/public/criterion-uat-ui.js +1 -1
- package/modules/hall-ui/public/deploy-handoff.js +203 -0
- package/modules/hall-ui/public/deploy.html +6 -2
- package/modules/hall-ui/public/deploy.js +7 -1
- package/modules/hall-ui/public/diagrams.html +1 -1
- package/modules/hall-ui/public/drachmae.html +2 -2
- package/modules/hall-ui/public/fleet.html +3 -1
- package/modules/hall-ui/public/gate.html +3 -1
- package/modules/hall-ui/public/goal-map.html +1 -1
- package/modules/hall-ui/public/goals-page.js +1 -1
- package/modules/hall-ui/public/goals.css +3 -2
- package/modules/hall-ui/public/goals.html +3 -3
- package/modules/hall-ui/public/goals.js +1 -1
- package/modules/hall-ui/public/government.html +3 -1
- package/modules/hall-ui/public/hall-widgets.js +9 -9
- package/modules/hall-ui/public/idea.html +1 -1
- package/modules/hall-ui/public/ideas.html +3 -3
- package/modules/hall-ui/public/index.html +3 -1
- package/modules/hall-ui/public/lightbulb.js +1 -1
- package/modules/hall-ui/public/market-watch-item.html +2 -2
- package/modules/hall-ui/public/market-watch-rules.html +2 -2
- package/modules/hall-ui/public/market-watch-settings.html +3 -1
- package/modules/hall-ui/public/market-watch.html +2 -2
- package/modules/hall-ui/public/modules.html +2 -2
- package/modules/hall-ui/public/my-agents.html +3 -3
- package/modules/hall-ui/public/primer.html +2 -2
- package/modules/hall-ui/public/profile.html +6 -6
- package/modules/hall-ui/public/project-settings.html +3 -1
- package/modules/hall-ui/public/ranks.html +4 -4
- package/modules/hall-ui/public/roadmap.html +2 -2
- package/modules/hall-ui/public/roster.html +2 -2
- package/modules/hall-ui/public/sessions.html +3 -1
- package/modules/hall-ui/public/settings-software-update.js +23 -9
- package/modules/hall-ui/public/settings-specialities.js +1 -1
- package/modules/hall-ui/public/settings.html +10 -6
- package/modules/hall-ui/public/settings.js +3 -0
- package/modules/hall-ui/public/shell.js +25 -73
- package/modules/hall-ui/public/street.html +1 -1
- package/modules/hall-ui/public/studio.html +1 -1
- package/modules/hall-ui/public/studio.js +3 -3
- package/modules/hall-ui/public/style.css +209 -40
- package/modules/hall-ui/public/task-detail.js +2 -2
- package/modules/hall-ui/public/task.html +1 -1
- package/modules/hall-ui/public/thinking.html +1 -1
- package/modules/hall-ui/public/tweak-editor.html +2 -2
- package/modules/hall-ui/public/update-pill.js +623 -0
- package/modules/hall-ui/public/watch.html +3 -1
- package/modules/hall-ui/public/watch.js +1 -1
- package/modules/hall-ui/public/work.html +4 -4
- package/modules/hall-ui/records/loader.md +35 -0
- package/modules/hall-ui/records/update-pill.md +12 -0
- package/modules/lifecycle/github-push.js +1 -0
- package/modules/lifecycle/routes/tasks.js +2 -2
- package/modules/lifecycle/runner-self-guard.js +122 -0
- package/modules/lifecycle/runner-self.js +154 -0
- package/modules/public-landing/public/account.html +3 -3
- package/modules/public-landing/public/assets/cosmos.css +45 -0
- package/modules/public-landing/public/community.html +4 -4
- package/modules/public-landing/public/connections.html +1 -1
- package/modules/public-landing/public/guild.html +1 -1
- package/modules/public-landing/public/invitations.html +4 -4
- package/modules/public-landing/public/projects.html +26 -26
- package/modules/status-ui/public/index.html +2 -2
- package/modules/status-ui/public/index.states.json +12 -0
- package/modules/status-ui/public/status.js +10 -2
- package/modules/status-ui/public/style.css +57 -0
- package/modules/ui-design/kit/README.md +1 -1
- package/modules/ui-design/kit/serve.js +8 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +24 -0
- package/scripts/bongos/autobongos-loop.js +4 -0
- package/scripts/bongos/autobongos-run.js +21 -4
- package/scripts/bongos/autobongos-tweak-lane.js +5 -3
- package/scripts/bongos/ship-flow.js +20 -0
- package/scripts/hall-preview/README.md +1 -0
- package/scripts/hall-preview/server.js +9 -0
- package/src/bongos/apex-hall-redirects.js +53 -0
- package/src/bongos/serve-internal.js +3 -18
- package/src/module-api.js +1 -1
- package/tests/autobongos_host_access.mjs +5 -3
- package/tests/autobongos_self_modification.mjs +420 -0
- package/tests/core_update_banner.mjs +6 -92
- package/tests/core_upgrade_owner_door.mjs +4 -56
- package/tests/deploy_handoff.mjs +206 -0
- package/tests/government_protected_surfaces.mjs +15 -0
- package/tests/hall_loading.mjs +153 -0
- package/tests/hub_connections_page.mjs +1 -1
- package/tests/hub_invitations_page.mjs +1 -1
- package/tests/loading_mark.mjs +203 -0
- package/tests/nav_permission_atoms.mjs +3 -2
- package/tests/software_update.mjs +39 -2
- package/tests/update_pill.mjs +431 -0
|
@@ -140,7 +140,7 @@
|
|
|
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
142
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch"></script>
|
|
143
|
-
<script src="/builders/shell.js?v=2026-
|
|
143
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></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>
|
|
@@ -741,7 +741,7 @@
|
|
|
741
741
|
// the goal's tasks load, and reset the To-do count + hide the bulk toolbar.
|
|
742
742
|
const todoList = $('#goal-todo-list');
|
|
743
743
|
const doneBody = document.querySelector('#goal-done tbody');
|
|
744
|
-
if (todoList) todoList.innerHTML = '<div class="
|
|
744
|
+
if (todoList) todoList.innerHTML = '<div class="hall-loading" role="status">Loading…</div>';
|
|
745
745
|
if (doneBody) doneBody.innerHTML = skeletonRows(3, 5);
|
|
746
746
|
const todoCount = $('#goal-todo-count');
|
|
747
747
|
if (todoCount) todoCount.textContent = '';
|
|
@@ -407,9 +407,10 @@
|
|
|
407
407
|
.gr-pills--muted .gr-pill { color: var(--ink-faint); }
|
|
408
408
|
.gr-pills--muted .gr-pill__mark { stroke: var(--ink-faint); }
|
|
409
409
|
|
|
410
|
-
/* Boot skeleton: row-shaped, in the skeleton tone (--bg-deep is black in dark).
|
|
410
|
+
/* Boot skeleton: row-shaped, in the skeleton tone (--bg-deep is black in dark).
|
|
411
|
+
The ring breathes with the bars, in the hall loader's beat (task 1005043). */
|
|
411
412
|
.gr-row--skel { pointer-events: none; }
|
|
412
|
-
.gr-skel__ring { display: block; width: var(--ring); height: var(--ring); border-radius: 50%; background: var(--skeleton); }
|
|
413
|
+
.gr-skel__ring { display: block; width: var(--ring); height: var(--ring); border-radius: 50%; background: var(--skeleton); animation: hall-loading-breathe .8s ease-in-out infinite alternate-reverse; }
|
|
413
414
|
.gr-row--skel .kit-skel { display: block; width: 60%; }
|
|
414
415
|
.gr-row--skel .kit-skel + .kit-skel { width: 40%; margin-top: 10px; }
|
|
415
416
|
|
|
@@ -156,7 +156,7 @@
|
|
|
156
156
|
<div id="goal-work-filters"></div>
|
|
157
157
|
<p class="claim-count-line" id="goal-todo-count" aria-live="polite"></p>
|
|
158
158
|
<div class="task-list" id="goal-todo-list">
|
|
159
|
-
<div class="
|
|
159
|
+
<div class="hall-loading" role="status">Loading…</div>
|
|
160
160
|
</div>
|
|
161
161
|
<div id="goal-todo-pager-mount"></div>
|
|
162
162
|
</div>
|
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
<th class="ledger__sortable" id="goal-done-sort-credits" role="button" tabindex="0" aria-sort="none" data-currency-label="caps">Credits</th>
|
|
168
168
|
<th class="ledger__sortable" id="goal-done-sort-shipped" role="button" tabindex="0" aria-sort="none">Shipped</th>
|
|
169
169
|
</tr></thead>
|
|
170
|
-
<tbody><tr><td colspan="5" class="ledger__empty"
|
|
170
|
+
<tbody><tr><td colspan="5" class="ledger__empty"><span class="hall-loading" role="status">Loading…</span></td></tr></tbody></table>
|
|
171
171
|
<div id="goal-done-pager-mount"></div>
|
|
172
172
|
</div>
|
|
173
173
|
</div>
|
|
@@ -244,7 +244,7 @@
|
|
|
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
246
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch"></script>
|
|
247
|
-
<script src="/builders/shell.js?v=2026-
|
|
247
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></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 -->
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
|
|
108
108
|
const SKELETON =
|
|
109
109
|
'<h2 id="goals-h" class="scroll__h">Goals</h2>' +
|
|
110
|
-
'<div id="goals-body"><div class="
|
|
110
|
+
'<div id="goals-body"><div class="hall-loading" role="status">Loading your goals…</div></div>';
|
|
111
111
|
|
|
112
112
|
async function load() {
|
|
113
113
|
if (!host) return;
|
|
@@ -27,6 +27,8 @@
|
|
|
27
27
|
</div>
|
|
28
28
|
|
|
29
29
|
<main id="hall-main">
|
|
30
|
+
<!-- task 1005043: the page loader, shown until any section below is revealed. -->
|
|
31
|
+
<p class="hall-loading hall-loading--page hall-loading--wait" role="status">Loading…</p>
|
|
30
32
|
<!-- task 1003469: the sealed state is a panel with a heading, not a bare
|
|
31
33
|
line on the ground. government.js writes the real floor into the
|
|
32
34
|
lede from the pack's rank label, so the copy cannot drift. -->
|
|
@@ -155,7 +157,7 @@
|
|
|
155
157
|
<script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
|
|
156
158
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
157
159
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch"></script>
|
|
158
|
-
<script src="/builders/shell.js?v=2026-
|
|
160
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></script>
|
|
159
161
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
160
162
|
<script src="/builders/palette.js" defer></script>
|
|
161
163
|
<script src="/builders/hall-kit.js"></script>
|
|
@@ -51,14 +51,14 @@
|
|
|
51
51
|
w('welcome-scroll', 'Welcome', 0,
|
|
52
52
|
'<button type="button" class="welcome__minimize" id="welcome-minimize" aria-label="Minimize the welcome panel" title="Minimize">−</button>' +
|
|
53
53
|
'<h2 id="welcome-h" class="scroll__h">Welcome</h2>' +
|
|
54
|
-
'<div class="welcome" id="welcome-body"><div class="
|
|
54
|
+
'<div class="welcome" id="welcome-body"><div class="hall-loading" role="status">Loading…</div></div>',
|
|
55
55
|
{ view: 'home', zone: 'home-banner', welcomeChip: true, sectionClass: 'scroll scroll--welcome', labelledby: 'welcome-h', hiddenByDefault: true });
|
|
56
56
|
|
|
57
57
|
// 0b. Onboarding checklist — V3.R75 (#294).
|
|
58
58
|
w('onboarding-scroll', 'Getting started', 10,
|
|
59
59
|
'<h2 id="onboarding-h" class="scroll__h">Getting started</h2>' +
|
|
60
60
|
'<p class="scroll__lede">A short path to finding your feet. Tick the steps you’ve done; the rest are tracked for you.</p>' +
|
|
61
|
-
'<ol class="onboarding-list" id="onboarding-list"><li class="
|
|
61
|
+
'<ol class="onboarding-list" id="onboarding-list"><li class="hall-loading" role="status">Loading…</li></ol>' +
|
|
62
62
|
'<p class="ledger__note" id="onboarding-status" hidden></p>',
|
|
63
63
|
{ view: 'home', zone: 'home-banner', labelledby: 'onboarding-h', hiddenByDefault: true });
|
|
64
64
|
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
'<div class="home-split__col">' +
|
|
115
115
|
'<h3 class="ginbox__sec-h" id="home-recent-subh" hidden>Recently shipped</h3>' +
|
|
116
116
|
'<table class="ledger" id="home-recent-table"><thead><tr><th>№</th><th>Work</th><th data-currency-label="caps">Credits</th><th>Shipped</th></tr></thead>' +
|
|
117
|
-
'<tbody><tr><td colspan="4" class="ledger__empty"
|
|
117
|
+
'<tbody><tr><td colspan="4" class="ledger__empty"><span class="hall-loading" role="status">Loading…</span></td></tr></tbody></table>' +
|
|
118
118
|
'<p class="card-foot"><a href="#accomplishments-work">All your work →</a></p>' +
|
|
119
119
|
'</div>' +
|
|
120
120
|
'</div>',
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
// the band sits above the rail sections and is never a rail entry.
|
|
158
158
|
w('profile-scroll', 'Profile', 20,
|
|
159
159
|
'<h2 id="profile-h" class="sr-only">Profile</h2>' +
|
|
160
|
-
'<div class="profile" id="profile-body"><div class="
|
|
160
|
+
'<div class="profile" id="profile-body"><div class="hall-loading" role="status">Loading…</div></div>',
|
|
161
161
|
{ view: 'standing', sectionClass: 'scroll scroll--profile', labelledby: 'profile-h' });
|
|
162
162
|
|
|
163
163
|
/* -- Work — "what have I shipped, and how was it judged" -- */
|
|
@@ -179,7 +179,7 @@
|
|
|
179
179
|
'<span id="ships-count" aria-live="polite" class="filter__count"></span>' +
|
|
180
180
|
'</div>' +
|
|
181
181
|
'<table class="ledger" id="recent-ships"><thead><tr><th>№</th><th>Work</th><th data-currency-label="caps">Credits</th><th>Shipped</th></tr></thead>' +
|
|
182
|
-
'<tbody><tr><td colspan="4" class="ledger__empty"
|
|
182
|
+
'<tbody><tr><td colspan="4" class="ledger__empty"><span class="hall-loading" role="status">Loading…</span></td></tr></tbody></table>' +
|
|
183
183
|
// task 2174: the hand-rolled prev/next bar gives way to the OTBKit pager
|
|
184
184
|
// (per-page select, page indicator, clamping) — same #ships-* id prefix.
|
|
185
185
|
window.OTBKit.pagerBarHtml('ships', { label: 'shipped work' }),
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
'<h2 id="marks-h" class="scroll__h">Reviews</h2>' +
|
|
191
191
|
'<div class="profile__placeholder" id="marks-empty" style="display:none;">No work reviewed yet.</div>' +
|
|
192
192
|
'<table class="ledger" id="recent-grades"><thead><tr><th>№</th><th>Work</th><th>Score</th><th>Verdict</th><th>Reviewed</th></tr></thead>' +
|
|
193
|
-
'<tbody><tr><td colspan="5" class="ledger__empty"
|
|
193
|
+
'<tbody><tr><td colspan="5" class="ledger__empty"><span class="hall-loading" role="status">Loading…</span></td></tr></tbody></table>' +
|
|
194
194
|
'<p class="ledger__note" id="grades-rolling-note" hidden></p>',
|
|
195
195
|
{ view: 'standing', group: 'work', labelledby: 'marks-h' });
|
|
196
196
|
|
|
@@ -201,7 +201,7 @@
|
|
|
201
201
|
'<h2 id="karma-h" class="scroll__h">Karma</h2>' +
|
|
202
202
|
'<p class="scroll__lede">Ideas passed, peer votes and approvals earn karma. Shipped work earns ' + curLabel() + '.</p>' +
|
|
203
203
|
'<table class="ledger" id="karma-feed"><thead><tr><th>When</th><th>Delta</th><th>Reason</th><th>Granted by</th></tr></thead>' +
|
|
204
|
-
'<tbody><tr><td colspan="4" class="ledger__empty"
|
|
204
|
+
'<tbody><tr><td colspan="4" class="ledger__empty"><span class="hall-loading" role="status">Loading…</span></td></tr></tbody></table>',
|
|
205
205
|
{ view: 'standing', group: 'karma', labelledby: 'karma-h', hiddenByDefault: true });
|
|
206
206
|
|
|
207
207
|
// 4b. Peer acclaim — V3.R25 (#245). Hidden until data.
|
|
@@ -209,7 +209,7 @@
|
|
|
209
209
|
'<h2 id="acclaim-h" class="scroll__h">Peer recognition</h2>' +
|
|
210
210
|
'<p class="scroll__lede">Vote on others’ finished work. A vote counts toward their karma after a week.</p>' +
|
|
211
211
|
'<table class="ledger" id="acclaim-feed"><thead><tr><th>Work</th><th>By</th><th>Votes</th></tr></thead>' +
|
|
212
|
-
'<tbody><tr><td colspan="3" class="ledger__empty"
|
|
212
|
+
'<tbody><tr><td colspan="3" class="ledger__empty"><span class="hall-loading" role="status">Loading…</span></td></tr></tbody></table>' +
|
|
213
213
|
// task 1002446: the last unpaged list in the hall. The feed is already
|
|
214
214
|
// client-side, so the kit's pager fits without touching the endpoint.
|
|
215
215
|
window.OTBKit.pagerBarHtml('acclaim', { label: 'entries' }),
|
|
@@ -236,7 +236,7 @@
|
|
|
236
236
|
w('honours-scroll', 'Achievements', 60,
|
|
237
237
|
'<h2 id="ach-h" class="scroll__h">Achievements</h2>' +
|
|
238
238
|
'<p class="scroll__lede">Earned ones are lit; the rest show what is left.</p>' +
|
|
239
|
-
'<div class="ach-grid" id="ach-grid"><div class="
|
|
239
|
+
'<div class="ach-grid" id="ach-grid"><div class="hall-loading" role="status">Loading…</div></div>',
|
|
240
240
|
{ view: 'standing', group: 'achievements', labelledby: 'ach-h' });
|
|
241
241
|
|
|
242
242
|
// task 1003441: the Leaderboard widget is GONE from this page. It is a real
|
|
@@ -53,7 +53,7 @@
|
|
|
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
55
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch"></script>
|
|
56
|
-
<script src="/builders/shell.js?v=2026-
|
|
56
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></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. -->
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
Anyone can develop one — the author keeps the credit for having had it,
|
|
130
130
|
and you are recorded as its developer.
|
|
131
131
|
</p>
|
|
132
|
-
<div id="fi-queue"><p class="
|
|
132
|
+
<div id="fi-queue"><p class="hall-loading" role="status">Loading…</p></div>
|
|
133
133
|
</section>
|
|
134
134
|
|
|
135
135
|
<!-- The composer. The idea detail view lives on its own page (R153).
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
one step earlier, and it would silently ignore a per-project
|
|
181
181
|
template (R156). -->
|
|
182
182
|
<div id="fi-fields" class="fi-fields">
|
|
183
|
-
<p class="
|
|
183
|
+
<p class="hall-loading" role="status">Loading the five questions…</p>
|
|
184
184
|
</div>
|
|
185
185
|
|
|
186
186
|
<!-- The scope recommendation (BV2.R13). Rendered from the same
|
|
@@ -228,7 +228,7 @@
|
|
|
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
230
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch"></script>
|
|
231
|
-
<script src="/builders/shell.js?v=2026-
|
|
231
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></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>
|
|
@@ -69,6 +69,8 @@
|
|
|
69
69
|
.view/.view-zone wrappers are shell layout only. -->
|
|
70
70
|
<main class="app-views" id="hall-main">
|
|
71
71
|
<section class="view" id="view-home" data-view-title="Home">
|
|
72
|
+
<!-- task 1005043: Home's loader, shown until a card mounts into a zone. -->
|
|
73
|
+
<p class="hall-loading hall-loading--page hall-loading--zones" role="status">Loading…</p>
|
|
72
74
|
<div class="view-zone" id="zone-home-banner">
|
|
73
75
|
<!-- Landing card for signed-out visitors (builders.js renderLanding)
|
|
74
76
|
+ the re-open affordance for a dismissed welcome banner. -->
|
|
@@ -119,7 +121,7 @@
|
|
|
119
121
|
<script src="/builders/welcome-boot.js?v=2026-10-23-city1" defer></script>
|
|
120
122
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab" defer></script>
|
|
121
123
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch" defer></script>
|
|
122
|
-
<script src="/builders/shell.js?v=2026-
|
|
124
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill" defer></script>
|
|
123
125
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
124
126
|
<script src="/builders/palette.js" defer></script>
|
|
125
127
|
<!-- task 2166: the shared component kit (window.OTBKit) — pager/ledger/rail.
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
'<button class="pn__submit" type="button" data-lb-submit>Turn into ideas</button>' +
|
|
84
84
|
'</div>' +
|
|
85
85
|
'<section class="pn__list" aria-labelledby="lb-list-h"><h3 class="pn__list-h" id="lb-list-h">Ideas from this page</h3>' +
|
|
86
|
-
'<div id="lb-list"><p class="
|
|
86
|
+
'<div id="lb-list"><p class="hall-loading" role="status">Loading…</p></div>' +
|
|
87
87
|
'</section>';
|
|
88
88
|
}
|
|
89
89
|
function listHtml(ideas) {
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
<main id="hall-main">
|
|
28
28
|
<a class="mw-back" href="/market-watch">‹ Market Watch</a>
|
|
29
|
-
<p class="
|
|
29
|
+
<p class="hall-loading hall-loading--page" id="mw-loading" role="status">Loading the case file…</p>
|
|
30
30
|
|
|
31
31
|
<section class="mw-panel mw-off" id="mw-off" hidden>
|
|
32
32
|
<span class="mw-label">market watch</span>
|
|
@@ -74,7 +74,7 @@
|
|
|
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
76
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
77
|
-
<script src="/builders/shell.js?v=2026-
|
|
77
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></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>
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
<main id="hall-main" class="mwr">
|
|
29
29
|
<div id="mwr-slider"></div>
|
|
30
30
|
<div class="mwr-pipe" id="mwr-pipe" aria-label="the watch, step by step"></div>
|
|
31
|
-
<section class="mwr-panel" id="mwr-panel" aria-live="polite"><p class="
|
|
31
|
+
<section class="mwr-panel" id="mwr-panel" aria-live="polite"><p class="hall-loading hall-loading--page" role="status">Loading the watch rules…</p></section>
|
|
32
32
|
<h2 class="mwr-lbl">cost of one run, by step</h2>
|
|
33
33
|
<div id="mwr-cost"></div>
|
|
34
34
|
</main>
|
|
@@ -43,7 +43,7 @@
|
|
|
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
45
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch"></script>
|
|
46
|
-
<script src="/builders/shell.js?v=2026-
|
|
46
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></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>
|
|
@@ -25,6 +25,8 @@
|
|
|
25
25
|
</div>
|
|
26
26
|
|
|
27
27
|
<main id="hall-main">
|
|
28
|
+
<!-- task 1005043: the page loader, shown until any section below is revealed. -->
|
|
29
|
+
<p class="hall-loading hall-loading--page hall-loading--wait" role="status">Loading…</p>
|
|
28
30
|
<!-- What a reader who is not the owner sees. The routes are the wall (403); this is
|
|
29
31
|
only what stands in for an empty gauge. -->
|
|
30
32
|
<section class="scroll" id="mws-sealed" aria-labelledby="mws-sealed-h" hidden>
|
|
@@ -105,7 +107,7 @@
|
|
|
105
107
|
<script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
|
|
106
108
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
107
109
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch"></script>
|
|
108
|
-
<script src="/builders/shell.js?v=2026-
|
|
110
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></script>
|
|
109
111
|
<script src="/builders/palette.js" defer></script>
|
|
110
112
|
<script src="/builders/hall-kit.js"></script>
|
|
111
113
|
<script src="/builders/market-watch-settings.js"></script>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
</div>
|
|
26
26
|
|
|
27
27
|
<main id="hall-main">
|
|
28
|
-
<p class="
|
|
28
|
+
<p class="hall-loading hall-loading--page" id="mw-loading" role="status">Loading the watch…</p>
|
|
29
29
|
|
|
30
30
|
<!-- Market Watch is off on this project: a quiet line, never an error. -->
|
|
31
31
|
<section class="mw-panel mw-off" id="mw-off" hidden>
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
<script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
|
|
103
103
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
104
104
|
<script src="/builders/craft-mode.js?v=2026-10-09-living3"></script>
|
|
105
|
-
<script src="/builders/shell.js?v=2026-
|
|
105
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></script>
|
|
106
106
|
<script src="/builders/palette.js" defer></script>
|
|
107
107
|
<script src="/builders/hall-kit.js"></script>
|
|
108
108
|
<script src="/builders/market-watch-lib.js"></script>
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
<span class="ov-group__name">Shipped with the core</span>
|
|
57
57
|
<span class="ov-group__n" id="core-n"></span>
|
|
58
58
|
</div>
|
|
59
|
-
<ul class="ov-rows" id="core-grid"><li class="
|
|
59
|
+
<ul class="ov-rows" id="core-grid"><li class="hall-loading" role="status">Loading the catalog…</li></ul>
|
|
60
60
|
</div>
|
|
61
61
|
|
|
62
62
|
<!-- Built by this project — the pool `bongos module submit` draws from
|
|
@@ -128,7 +128,7 @@
|
|
|
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
130
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch"></script>
|
|
131
|
-
<script src="/builders/shell.js?v=2026-
|
|
131
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></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>
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
<section class="scroll ma-desk" id="ma-desk" aria-labelledby="ma-desk-h">
|
|
42
42
|
<h2 class="scroll__h" id="ma-desk-h">Your agents</h2>
|
|
43
43
|
<p class="scroll__lede" id="ma-desk-lede">One line each. Tap to change; it saves straight away.</p>
|
|
44
|
-
<div id="ma-rows" aria-live="polite"><p class="
|
|
44
|
+
<div id="ma-rows" aria-live="polite"><p class="hall-loading" role="status">Reading your settings…</p></div>
|
|
45
45
|
</section>
|
|
46
46
|
|
|
47
47
|
<aside class="scroll ma-reads" id="ma-reads" aria-labelledby="ma-reads-h">
|
|
48
48
|
<h2 class="scroll__h" id="ma-reads-h">What your agent reads first</h2>
|
|
49
49
|
<p class="scroll__lede">At the start of every session, in this order.</p>
|
|
50
|
-
<div id="ma-reads-body" aria-live="polite"><p class="
|
|
50
|
+
<div id="ma-reads-body" aria-live="polite"><p class="hall-loading" role="status">Reading…</p></div>
|
|
51
51
|
</aside>
|
|
52
52
|
</div>
|
|
53
53
|
</main>
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
<script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
|
|
63
63
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
64
64
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch"></script>
|
|
65
|
-
<script src="/builders/shell.js?v=2026-
|
|
65
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></script>
|
|
66
66
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
67
67
|
<script src="/builders/palette.js" defer></script>
|
|
68
68
|
<script src="/builders/gov-living.js?v=2026-10-10-real1"></script>
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
<nav class="primer-toc__inner">
|
|
53
53
|
<p class="primer-toc__heading" id="primer-toc-heading">In this primer</p>
|
|
54
54
|
<ol class="primer-toc__list" id="primer-toc-list" aria-labelledby="primer-toc-heading">
|
|
55
|
-
<li class="
|
|
55
|
+
<li class="hall-loading hall-loading--inline" role="status">Loading…</li>
|
|
56
56
|
</ol>
|
|
57
57
|
</nav>
|
|
58
58
|
</aside>
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
<script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
|
|
114
114
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
115
115
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch"></script>
|
|
116
|
-
<script src="/builders/shell.js?v=2026-
|
|
116
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></script>
|
|
117
117
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
118
118
|
<script src="/builders/palette.js" defer></script>
|
|
119
119
|
<!-- the shared markdown reader (window.OTBMdReader) — primer.js renders through
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
<section class="scroll" id="standing-scroll" aria-labelledby="standing-h" data-group="overview">
|
|
53
53
|
<h2 id="standing-h" class="sr-only">About</h2>
|
|
54
54
|
<div class="profile profile--ident" id="profile-head">
|
|
55
|
-
<div class="
|
|
55
|
+
<div class="hall-loading" role="status">Loading…</div>
|
|
56
56
|
</div>
|
|
57
57
|
</section>
|
|
58
58
|
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
<section class="scroll" id="numbers-scroll" aria-labelledby="numbers-h" data-group="overview">
|
|
64
64
|
<h2 id="numbers-h" class="scroll__h">By the numbers</h2>
|
|
65
65
|
<div id="numbers-body">
|
|
66
|
-
<p class="
|
|
66
|
+
<p class="hall-loading" role="status">Loading…</p>
|
|
67
67
|
</div>
|
|
68
68
|
</section>
|
|
69
69
|
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
first"). profile-charts.js fills it and re-draws on change. -->
|
|
80
80
|
<div id="charts-controls"></div>
|
|
81
81
|
<div class="pcharts" id="charts-grid">
|
|
82
|
-
<p class="
|
|
82
|
+
<p class="hall-loading" role="status">Loading…</p>
|
|
83
83
|
</div>
|
|
84
84
|
</section>
|
|
85
85
|
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
<section class="scroll scroll--bare" id="ach-scroll" aria-labelledby="ach-h" data-group="overview">
|
|
88
88
|
<h2 id="ach-h" class="scroll__h">Achievements</h2>
|
|
89
89
|
<div class="ach-grid" id="ach-grid">
|
|
90
|
-
<div class="
|
|
90
|
+
<div class="hall-loading" role="status">Loading…</div>
|
|
91
91
|
</div>
|
|
92
92
|
</section>
|
|
93
93
|
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
</tr>
|
|
121
121
|
</thead>
|
|
122
122
|
<tbody>
|
|
123
|
-
<tr><td colspan="4"
|
|
123
|
+
<tr><td colspan="4"><span class="hall-loading" role="status">Loading…</span></td></tr>
|
|
124
124
|
</tbody>
|
|
125
125
|
</table>
|
|
126
126
|
<div id="works-pager"></div>
|
|
@@ -208,7 +208,7 @@
|
|
|
208
208
|
<script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
|
|
209
209
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
210
210
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch"></script>
|
|
211
|
-
<script src="/builders/shell.js?v=2026-
|
|
211
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></script>
|
|
212
212
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
213
213
|
<script src="/builders/palette.js" defer></script>
|
|
214
214
|
<!-- task 1004727: the ONE karma vote control every task/idea list renders -->
|
|
@@ -27,6 +27,8 @@
|
|
|
27
27
|
</div>
|
|
28
28
|
|
|
29
29
|
<main id="hall-main">
|
|
30
|
+
<!-- task 1005043: the page loader, shown until any section below is revealed. -->
|
|
31
|
+
<p class="hall-loading hall-loading--page hall-loading--wait" role="status">Loading…</p>
|
|
30
32
|
<!-- The sealed state is a panel with a heading, not a bare line on the ground
|
|
31
33
|
(task 1003469). The page gate is the real wall; this is what a reader who
|
|
32
34
|
followed a link sees instead of an empty page. -->
|
|
@@ -85,7 +87,7 @@
|
|
|
85
87
|
<script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
|
|
86
88
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
87
89
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch"></script>
|
|
88
|
-
<script src="/builders/shell.js?v=2026-
|
|
90
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></script>
|
|
89
91
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
90
92
|
<script src="/builders/palette.js" defer></script>
|
|
91
93
|
<script src="/builders/hall-kit.js"></script>
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
<section class="scroll" id="standing-scroll" aria-labelledby="standing-h">
|
|
30
30
|
<h2 id="standing-h" class="scroll__h">Where you stand</h2>
|
|
31
31
|
<div class="ranks-standing" id="standing-body">
|
|
32
|
-
<div class="
|
|
32
|
+
<div class="hall-loading" role="status">Loading…</div>
|
|
33
33
|
</div>
|
|
34
34
|
</section>
|
|
35
35
|
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
<h2 id="ladder-h" class="scroll__h">The ranks, lowest to highest</h2>
|
|
50
50
|
<p class="scroll__lede">Each rank opens more of the system. Yours and the one above are shown in full; the rest open as you get closer.</p>
|
|
51
51
|
<ol class="ranks-ladder" id="ladder-body">
|
|
52
|
-
<li class="
|
|
52
|
+
<li class="hall-loading" role="status">Loading…</li>
|
|
53
53
|
</ol>
|
|
54
54
|
</section>
|
|
55
55
|
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
<section class="scroll" id="rise-scroll" aria-labelledby="rise-h">
|
|
58
58
|
<h2 id="rise-h" class="scroll__h">How you advance</h2>
|
|
59
59
|
<div class="ranks-rise" id="rise-body">
|
|
60
|
-
<div class="
|
|
60
|
+
<div class="hall-loading" role="status">Loading…</div>
|
|
61
61
|
</div>
|
|
62
62
|
</section>
|
|
63
63
|
</main>
|
|
@@ -74,7 +74,7 @@
|
|
|
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
76
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch"></script>
|
|
77
|
-
<script src="/builders/shell.js?v=2026-
|
|
77
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></script>
|
|
78
78
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
79
79
|
<script src="/builders/palette.js" defer></script>
|
|
80
80
|
<script src="/builders/founding-mark.js?v=2026-09-30-founding"></script>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
|
|
31
31
|
<main id="hall-main">
|
|
32
32
|
<div id="rm-root">
|
|
33
|
-
<div class="
|
|
33
|
+
<div class="hall-loading hall-loading--page" role="status">Loading the roadmap…</div>
|
|
34
34
|
</div>
|
|
35
35
|
</main>
|
|
36
36
|
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
<script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
|
|
45
45
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
46
46
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch"></script>
|
|
47
|
-
<script src="/builders/shell.js?v=2026-
|
|
47
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></script>
|
|
48
48
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
49
49
|
<script src="/builders/palette.js" defer></script>
|
|
50
50
|
<!-- The chart kit and the timeline's series builders (task 1003447). Both MUST
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
<div class="roster-roles" id="roster-roles" role="group" aria-label="Show"></div>
|
|
40
40
|
<div id="roster-filters"></div>
|
|
41
41
|
<div id="roster-body">
|
|
42
|
-
<div class="
|
|
42
|
+
<div class="hall-loading hall-loading--page" role="status">Loading the roster…</div>
|
|
43
43
|
</div>
|
|
44
44
|
</section>
|
|
45
45
|
</main>
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
<script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
|
|
57
57
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
58
58
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch"></script>
|
|
59
|
-
<script src="/builders/shell.js?v=2026-
|
|
59
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></script>
|
|
60
60
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
61
61
|
<script src="/builders/palette.js" defer></script>
|
|
62
62
|
<!-- the branding pack's currency label, loaded BEFORE roster.js. -->
|
|
@@ -29,6 +29,8 @@
|
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
<main id="hall-main">
|
|
32
|
+
<!-- task 1005043: the page loader, shown until any section below is revealed. -->
|
|
33
|
+
<p class="hall-loading hall-loading--page hall-loading--wait" role="status">Loading…</p>
|
|
32
34
|
<!-- Access notice — shown by sessions.js when the viewer is below the
|
|
33
35
|
floor. The heading and the line are written from the pack's rank
|
|
34
36
|
label (ADR 0157: metic and up), so the static text never renders. -->
|
|
@@ -112,7 +114,7 @@
|
|
|
112
114
|
<script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
|
|
113
115
|
<script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
|
|
114
116
|
<script src="/builders/craft-mode.js?v=2026-10-30-market-watch"></script>
|
|
115
|
-
<script src="/builders/shell.js?v=2026-
|
|
117
|
+
<script src="/builders/shell.js?v=2026-11-03-update-pill"></script>
|
|
116
118
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
117
119
|
<script src="/builders/palette.js" defer></script>
|
|
118
120
|
<script src="/builders/task-detail.js?v=2026-07-03-taskdetail"></script>
|