@bongos/core 1.24.42 → 1.24.44
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 +108 -103
- package/docs/copy-inventory.md +115 -165
- package/docs/copy-registry.json +230 -781
- package/docs/file-map.md +1 -1
- package/docs/module-api-changelog.md +4 -0
- package/docs/onboarding/primer.md +1 -1
- package/docs/page-inventory.json +10 -38
- package/docs/page-readings.json +528 -627
- package/modules/hall-ui/public/ai-studio.html +4 -4
- package/modules/hall-ui/public/atlas.html +4 -4
- package/modules/hall-ui/public/blockers.html +4 -4
- package/modules/hall-ui/public/board-room.html +4 -4
- package/modules/hall-ui/public/builders.js +22 -505
- package/modules/hall-ui/public/city.html +4 -4
- package/modules/hall-ui/public/collab.html +4 -4
- package/modules/hall-ui/public/commands.html +4 -4
- package/modules/hall-ui/public/copy-desk.html +4 -4
- package/modules/hall-ui/public/craft-mode.js +2 -2
- package/modules/hall-ui/public/deploy.html +4 -4
- package/modules/hall-ui/public/dom-utils.js +2 -1
- package/modules/hall-ui/public/goal-map.html +4 -4
- package/modules/hall-ui/public/goals.html +16 -4
- package/modules/hall-ui/public/government.html +4 -4
- package/modules/hall-ui/public/hall-render.js +23 -524
- package/modules/hall-ui/public/hall-widgets.js +11 -109
- package/modules/hall-ui/public/idea.html +4 -4
- package/modules/hall-ui/public/ideas.html +4 -4
- package/modules/hall-ui/public/index.html +6 -19
- package/modules/hall-ui/public/index.states.json +0 -33
- package/modules/hall-ui/public/market-watch-item.html +4 -4
- package/modules/hall-ui/public/market-watch-rules.html +4 -4
- package/modules/hall-ui/public/market-watch.html +4 -4
- package/modules/hall-ui/public/modules.html +4 -4
- package/modules/hall-ui/public/money.html +4 -4
- package/modules/hall-ui/public/my-agents.html +4 -4
- package/modules/hall-ui/public/palette.js +7 -6
- package/modules/hall-ui/public/primer.html +4 -4
- package/modules/hall-ui/public/profile-own.js +639 -0
- package/modules/hall-ui/public/profile.css +2 -1
- package/modules/hall-ui/public/profile.html +48 -5
- package/modules/hall-ui/public/profile.js +27 -2
- package/modules/hall-ui/public/profile.states.json +18 -0
- package/modules/hall-ui/public/project-settings.html +4 -4
- package/modules/hall-ui/public/roadmap.css +7 -138
- package/modules/hall-ui/public/roadmap.js +35 -293
- package/modules/hall-ui/public/roster.html +4 -4
- package/modules/hall-ui/public/settings.html +4 -4
- package/modules/hall-ui/public/shell-trail.js +2 -1
- package/modules/hall-ui/public/shell.js +31 -28
- package/modules/hall-ui/public/street.html +4 -4
- package/modules/hall-ui/public/studio.html +4 -4
- package/modules/hall-ui/public/task.html +4 -4
- package/modules/hall-ui/public/thinking.html +4 -4
- package/modules/hall-ui/public/tweak-editor.html +4 -4
- package/modules/hall-ui/public/watch.html +4 -4
- package/modules/hall-ui/public/work.html +5 -5
- package/modules/onboarding/founding-mode.js +2 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +12 -0
- package/scripts/bongos/gen-hall-sitemap.js +1 -0
- package/src/bongos/serve-internal.js +6 -6
- package/src/module-api.js +1 -1
- package/tests/craft_mode_nav.mjs +2 -1
- package/tests/curve_controls_delegation.mjs +9 -8
- package/tests/curve_kind_overlay.mjs +5 -5
- package/tests/founding_mode.mjs +5 -3
- package/tests/hall_acclaim_vote_control.mjs +5 -3
- package/tests/hall_audit.mjs +10 -6
- package/tests/hall_board_world.mjs +40 -26
- package/tests/hall_builders_page_pass.mjs +14 -5
- package/tests/hall_goals_band.mjs +88 -0
- package/tests/hall_home_ships_bounded.mjs +10 -21
- package/tests/hall_kit_charts.mjs +7 -5
- package/tests/hall_loading.mjs +2 -1
- package/tests/hall_nav.mjs +41 -39
- package/tests/hall_numbers_page.mjs +100 -0
- package/tests/hall_page_gate_map.mjs +5 -1
- package/tests/hall_palette.mjs +19 -24
- package/tests/hall_profile_world.mjs +7 -2
- package/tests/hall_reading_room.mjs +3 -2
- package/tests/hall_reading_world.mjs +17 -18
- package/tests/hall_sitemap.mjs +2 -1
- package/tests/helpers.mjs +8 -2
- package/tests/leaderboard_roles.mjs +1 -1
- package/tests/module_contributions.mjs +6 -4
- package/tests/nav_permission_atoms.mjs +4 -2
- package/tests/page_tweak_artist.mjs +2 -1
- package/tests/rank_tier_single_source.mjs +3 -0
- package/tests/task_visuals.mjs +3 -1
- package/modules/hall-ui/public/roadmap.html +0 -58
- package/modules/hall-ui/public/roadmap.states.json +0 -31
|
@@ -3,25 +3,17 @@
|
|
|
3
3
|
// Every widget — core here, module-contributed from a module's own client script —
|
|
4
4
|
// registers into the window.OTB hall-widget registry (dom-utils.js), and builders.js
|
|
5
5
|
// mounts the registered set into the shell's view containers (task 1723 redesign):
|
|
6
|
-
// view: 'home'
|
|
6
|
+
// view: 'home' (the default, and since task 1005050 the only view: the
|
|
7
|
+
// 'standing' view, Accomplishments, folded into the Profile page)
|
|
7
8
|
// zone: a finer mount target inside the Home view
|
|
8
9
|
// ('home-banner' | 'home-stats' | 'home-band' | 'home-main')
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
12
|
-
// #zone-*/#standing-* containers and falls back to <main> when absent, so a
|
|
13
|
-
// module widget written before the redesign still lands (on Home).
|
|
14
|
-
//
|
|
15
|
-
// task 2174 — Standing is "one identity band, then rail-navigated sections grouped
|
|
16
|
-
// by question": the Profile card is the band, and every other Standing widget
|
|
17
|
-
// declares the `group` that answers its question. Achievements folded in from the
|
|
18
|
-
// retired #achievements hash view; the security-bounty rate card moved off Standing
|
|
19
|
-
// to the reference (a reward schedule is not personal standing) — the Primer's
|
|
20
|
-
// credits chapter since task 1005046, which folded the Economy page into it.
|
|
10
|
+
// Both ride the registry entry untouched; builders.js resolves them to the
|
|
11
|
+
// #zone-* containers and falls back to <main> when absent, so a module widget
|
|
12
|
+
// written before the redesign still lands (on Home).
|
|
21
13
|
//
|
|
22
14
|
// Each widget owns its skeleton markup. mount(host) stamps that skeleton into the
|
|
23
15
|
// registry-made <section>; builders.js then wires data to the same element ids it
|
|
24
|
-
// always has (
|
|
16
|
+
// always has (each widget's own section ids) — the data-rendering code is
|
|
25
17
|
// untouched by design. A fitness check (scripts/bongos/fitness.js
|
|
26
18
|
// checkHallSectionRegistry) asserts index.html hardcodes no <section class="scroll">
|
|
27
19
|
// in <main> — the registry is the single source of truth for what the hall shows.
|
|
@@ -100,102 +92,12 @@
|
|
|
100
92
|
},
|
|
101
93
|
});
|
|
102
94
|
|
|
103
|
-
/* ---------------- Accomplishments
|
|
104
|
-
|
|
105
|
-
// 1. Profile — the identity band at the top of Standing (#726). No `group`:
|
|
106
|
-
// the band sits above the rail sections and is never a rail entry.
|
|
107
|
-
w('profile-scroll', 'Profile', 20,
|
|
108
|
-
'<h2 id="profile-h" class="sr-only">Profile</h2>' +
|
|
109
|
-
'<div class="profile" id="profile-body"><div class="hall-loading" role="status">Loading…</div></div>',
|
|
110
|
-
{ view: 'standing', sectionClass: 'scroll scroll--profile', labelledby: 'profile-h' });
|
|
111
|
-
|
|
112
|
-
/* -- Work — "what have I shipped, and how was it judged" -- */
|
|
113
|
-
|
|
114
|
-
// 2. WORKS — recent ships.
|
|
115
|
-
w('ships-scroll', 'Your work', 30,
|
|
116
|
-
'<h2 id="ships-h" class="scroll__h">Your work</h2>' +
|
|
117
|
-
'<div class="filters">' +
|
|
118
|
-
'<label class="filter"><span>Window</span><select id="f-ships-window">' +
|
|
119
|
-
'<option value="7">Last 7 days</option><option value="30">Last 30 days</option>' +
|
|
120
|
-
'<option value="90">Last 90 days</option><option value="all" selected>All time</option>' +
|
|
121
|
-
'</select></label>' +
|
|
122
|
-
'<label class="filter"><span>Version</span><select id="f-ships-version"><option value="">— any —</option></select></label>' +
|
|
123
|
-
'<label class="filter"><span>Sort</span><select id="f-ships-sort">' +
|
|
124
|
-
'<option value="recent">most recent first</option><option value="oldest">oldest first</option>' +
|
|
125
|
-
'<option value="drachmae-high" data-currency-tmpl="highest {label}">highest credits</option>' +
|
|
126
|
-
'<option value="drachmae-low" data-currency-tmpl="lowest {label}">lowest credits</option>' +
|
|
127
|
-
'</select></label>' +
|
|
128
|
-
'<span id="ships-count" aria-live="polite" class="filter__count"></span>' +
|
|
129
|
-
'</div>' +
|
|
130
|
-
'<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>' +
|
|
131
|
-
'<tbody><tr><td colspan="4" class="ledger__empty"><span class="hall-loading" role="status">Loading…</span></td></tr></tbody></table>' +
|
|
132
|
-
// task 2174: the hand-rolled prev/next bar gives way to the OTBKit pager
|
|
133
|
-
// (per-page select, page indicator, clamping) — same #ships-* id prefix.
|
|
134
|
-
window.OTBKit.pagerBarHtml('ships', { label: 'shipped work' }),
|
|
135
|
-
{ view: 'standing', group: 'work', labelledby: 'ships-h' });
|
|
136
|
-
|
|
137
|
-
// 3. MARKS — review quality of recent output.
|
|
138
|
-
w('grades-scroll', 'Reviews', 32,
|
|
139
|
-
'<h2 id="marks-h" class="scroll__h">Reviews</h2>' +
|
|
140
|
-
'<div class="profile__placeholder" id="marks-empty" style="display:none;">No work reviewed yet.</div>' +
|
|
141
|
-
'<table class="ledger" id="recent-grades"><thead><tr><th>№</th><th>Work</th><th>Score</th><th>Verdict</th><th>Reviewed</th></tr></thead>' +
|
|
142
|
-
'<tbody><tr><td colspan="5" class="ledger__empty"><span class="hall-loading" role="status">Loading…</span></td></tr></tbody></table>' +
|
|
143
|
-
'<p class="ledger__note" id="grades-rolling-note" hidden></p>',
|
|
144
|
-
{ view: 'standing', group: 'work', labelledby: 'marks-h' });
|
|
145
|
-
|
|
146
|
-
/* -- Karma — peer standing; one currency, one section -- */
|
|
147
|
-
|
|
148
|
-
// 4. KARMA feed — V3.R26 (#246). Hidden until /me returns karma data.
|
|
149
|
-
w('karma-scroll', 'Karma', 40,
|
|
150
|
-
'<h2 id="karma-h" class="scroll__h">Karma</h2>' +
|
|
151
|
-
'<p class="scroll__lede">Ideas passed, peer votes and approvals earn karma. Shipped work earns ' + curLabel() + '.</p>' +
|
|
152
|
-
'<table class="ledger" id="karma-feed"><thead><tr><th>When</th><th>Delta</th><th>Reason</th><th>Granted by</th></tr></thead>' +
|
|
153
|
-
'<tbody><tr><td colspan="4" class="ledger__empty"><span class="hall-loading" role="status">Loading…</span></td></tr></tbody></table>',
|
|
154
|
-
{ view: 'standing', group: 'karma', labelledby: 'karma-h', hiddenByDefault: true });
|
|
155
|
-
|
|
156
|
-
// 4b. Peer acclaim — V3.R25 (#245). Hidden until data.
|
|
157
|
-
w('acclaim-scroll', 'Peer recognition', 42,
|
|
158
|
-
'<h2 id="acclaim-h" class="scroll__h">Peer recognition</h2>' +
|
|
159
|
-
'<p class="scroll__lede">Vote on others’ finished work. A vote counts toward their karma after a week.</p>' +
|
|
160
|
-
'<table class="ledger" id="acclaim-feed"><thead><tr><th>Work</th><th>By</th><th>Votes</th></tr></thead>' +
|
|
161
|
-
'<tbody><tr><td colspan="3" class="ledger__empty"><span class="hall-loading" role="status">Loading…</span></td></tr></tbody></table>' +
|
|
162
|
-
// task 1002446: the last unpaged list in the hall. The feed is already
|
|
163
|
-
// client-side, so the kit's pager fits without touching the endpoint.
|
|
164
|
-
window.OTBKit.pagerBarHtml('acclaim', { label: 'entries' }),
|
|
165
|
-
{ view: 'standing', group: 'karma', labelledby: 'acclaim-h', hiddenByDefault: true });
|
|
166
|
-
|
|
167
|
-
/* -- Progress — how the output has changed over time -- */
|
|
168
|
-
|
|
169
|
-
// 4c. Where you stand (task 1005046) — the viewer's rank, the rank above it
|
|
170
|
-
// and how they reach it, moved here from the retired Ranks page. Filled by
|
|
171
|
-
// hall-render.js renderRankStanding from the same /me payload as the band;
|
|
172
|
-
// the ladder itself is the Primer's rank-ladder chapter.
|
|
173
|
-
w('rank-scroll', 'Where you stand', 48,
|
|
174
|
-
'<h2 id="rank-standing-h" class="scroll__h">Where you stand</h2>' +
|
|
175
|
-
'<div id="rank-standing-body"><div class="hall-loading" role="status">Loading…</div></div>',
|
|
176
|
-
{ view: 'standing', group: 'progress', labelledby: 'rank-standing-h' });
|
|
177
|
-
|
|
178
|
-
// 5. CURVE — the builder's development curve (V3.R72 #291, C5).
|
|
179
|
-
w('analytics-scroll', 'Progress', 50,
|
|
180
|
-
'<h2 id="curve-h" class="scroll__h">Progress</h2>' +
|
|
181
|
-
'<p class="scroll__lede">How your work has changed over time. <span id="curve-scope-note"></span></p>' +
|
|
182
|
-
'<div class="curve" id="curve-body">' +
|
|
183
|
-
'<div class="profile__placeholder" id="curve-empty" style="display:none;">Not enough shipped work yet to chart.</div>' +
|
|
184
|
-
'<div class="curve__headline" id="curve-headline"></div>' +
|
|
185
|
-
'<div class="curve__grid" id="curve-grid"></div>' +
|
|
186
|
-
'<div class="curve__kinds" id="curve-kinds"></div>' +
|
|
187
|
-
'</div>',
|
|
188
|
-
{ view: 'standing', group: 'progress', labelledby: 'curve-h', hiddenByDefault: true });
|
|
189
|
-
|
|
190
|
-
/* -- Achievements — long-term progression (folded in from the retired
|
|
191
|
-
#achievements hash view, task 2174) -- */
|
|
95
|
+
/* ---------------- Accomplishments — gone (task 1005050) ---------------- */
|
|
192
96
|
|
|
193
|
-
//
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
'<div class="ach-grid" id="ach-grid"><div class="hall-loading" role="status">Loading…</div></div>',
|
|
198
|
-
{ view: 'standing', group: 'achievements', labelledby: 'ach-h' });
|
|
97
|
+
// The 'standing' view (Accomplishments) folded into the Profile page (owner
|
|
98
|
+
// decision 2026-11-03, idea 1001315): its public half was already there, and its
|
|
99
|
+
// private half — where you stand, reviews, karma, peer recognition, progress —
|
|
100
|
+
// is Profile's "Just you" screen, drawn by profile-own.js. Old links redirect.
|
|
199
101
|
|
|
200
102
|
// task 1003441: the Leaderboard widget is GONE from this page. It is a real
|
|
201
103
|
// page now (/roster — roster.html + roster.js), which is what the Community
|
|
@@ -50,10 +50,10 @@
|
|
|
50
50
|
|
|
51
51
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
52
52
|
|
|
53
|
-
<script src="/builders/dom-utils.js?v=2026-
|
|
54
|
-
<script src="/builders/shell-trail.js?v=2026-
|
|
55
|
-
<script src="/builders/craft-mode.js?v=2026-11-05-
|
|
56
|
-
<script src="/builders/shell.js?v=2026-11-05-
|
|
53
|
+
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
54
|
+
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
55
|
+
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
56
|
+
<script src="/builders/shell.js?v=2026-11-05-goals"></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. -->
|
|
@@ -225,10 +225,10 @@
|
|
|
225
225
|
|
|
226
226
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
227
227
|
|
|
228
|
-
<script src="/builders/dom-utils.js?v=2026-
|
|
229
|
-
<script src="/builders/shell-trail.js?v=2026-
|
|
230
|
-
<script src="/builders/craft-mode.js?v=2026-11-05-
|
|
231
|
-
<script src="/builders/shell.js?v=2026-11-05-
|
|
228
|
+
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
229
|
+
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
230
|
+
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
231
|
+
<script src="/builders/shell.js?v=2026-11-05-goals"></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>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
over the generic one below) on every served page. brand-apply gates all of
|
|
11
11
|
that on the #hall-h1 marker below, so the marker must stay index-only. -->
|
|
12
12
|
<title>Builders' Hall</title>
|
|
13
|
-
<meta name="description" content="The hall of the builders who shape this world
|
|
13
|
+
<meta name="description" content="The hall of the builders who shape this world: what is being built, and work waiting to be claimed.">
|
|
14
14
|
<!-- the hub's origin, stamped server-side (task 1003485): the profile nudge
|
|
15
15
|
sends "add a short bio" to the hub's account page, where the bio is edited.
|
|
16
16
|
Empty on an instance with no hub, and the bio half is then not asked for. -->
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
shows the avatar and rank. On hover or keyboard focus the chip itself
|
|
56
56
|
widens to the left into the top of the card, and only the facts below
|
|
57
57
|
drop down (#home-standing-body, filled by hall-render.js renderProfile). -->
|
|
58
|
-
<div class="hall-standing" id="hall-standing" hidden tabindex="0" aria-label="Your
|
|
58
|
+
<div class="hall-standing" id="hall-standing" hidden tabindex="0" aria-label="Your standing">
|
|
59
59
|
<div class="hall-standing__card" id="home-standing-body"></div>
|
|
60
60
|
</div>
|
|
61
61
|
</div>
|
|
@@ -83,19 +83,6 @@
|
|
|
83
83
|
<div class="view-zone" id="zone-home-main"></div>
|
|
84
84
|
</section>
|
|
85
85
|
|
|
86
|
-
<!-- Standing (task 2174): the Profile band mounts straight into
|
|
87
|
-
#zone-standing; every other Standing widget declares a `group` and
|
|
88
|
-
lands in one of the four #standing-* rail sections builders.js
|
|
89
|
-
creates below it. The old #view-achievements hash view retired into
|
|
90
|
-
the Achievements group — shell.js aliases #achievements to it so
|
|
91
|
-
existing links keep working. -->
|
|
92
|
-
<section class="view" id="view-standing" data-view-title="Accomplishments" hidden>
|
|
93
|
-
<div class="standing-layout">
|
|
94
|
-
<nav class="section-rail" id="standing-rail" aria-label="Accomplishments sections" hidden></nav>
|
|
95
|
-
<div class="view-zone standing-panels" id="zone-standing"></div>
|
|
96
|
-
</div>
|
|
97
|
-
</section>
|
|
98
|
-
|
|
99
86
|
</main>
|
|
100
87
|
|
|
101
88
|
<footer class="app-foot" id="app-foot"></footer>
|
|
@@ -109,7 +96,7 @@
|
|
|
109
96
|
/ ADR 0069 — no client lib to load (EventSource is built into the browser). -->
|
|
110
97
|
<!-- shared frontend toolkit (window.OTB) — loaded FIRST so every consuming
|
|
111
98
|
IIFE below can pull escapeHtml/$/fmtNum/... from one place. -->
|
|
112
|
-
<script src="/builders/dom-utils.js?v=2026-
|
|
99
|
+
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
113
100
|
<script src="/builders/task-detail.js?v=2026-07-03-taskdetail" defer></script>
|
|
114
101
|
<!-- R56 (task 1195): apply the instance currency label from window.__BRANDING__
|
|
115
102
|
to [data-currency-label]/[data-currency-tmpl] markup + expose OTBBranding.
|
|
@@ -120,9 +107,9 @@
|
|
|
120
107
|
<!-- task 1004785: the first-visit-of-the-day welcome (the tower). Before shell.js, which asks it
|
|
121
108
|
before the craft picker so the two never stack. Home only. -->
|
|
122
109
|
<script src="/builders/welcome-boot.js?v=2026-10-23-city1" defer></script>
|
|
123
|
-
<script src="/builders/shell-trail.js?v=2026-
|
|
124
|
-
<script src="/builders/craft-mode.js?v=2026-11-05-
|
|
125
|
-
<script src="/builders/shell.js?v=2026-11-05-
|
|
110
|
+
<script src="/builders/shell-trail.js?v=2026-11-05-numbers" defer></script>
|
|
111
|
+
<script src="/builders/craft-mode.js?v=2026-11-05-goals" defer></script>
|
|
112
|
+
<script src="/builders/shell.js?v=2026-11-05-goals" defer></script>
|
|
126
113
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
127
114
|
<script src="/builders/palette.js" defer></script>
|
|
128
115
|
<!-- task 2166: the shared component kit (window.OTBKit) — pager/ledger/rail.
|
|
@@ -36,39 +36,6 @@
|
|
|
36
36
|
"expect": {
|
|
37
37
|
"visible": [
|
|
38
38
|
"#view-home"
|
|
39
|
-
],
|
|
40
|
-
"hidden": [
|
|
41
|
-
"#view-standing"
|
|
42
|
-
]
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
"standing": {
|
|
46
|
-
"auth": true,
|
|
47
|
-
"url": "/builders/#accomplishments",
|
|
48
|
-
"actions": [
|
|
49
|
-
[
|
|
50
|
-
"wait",
|
|
51
|
-
400
|
|
52
|
-
]
|
|
53
|
-
],
|
|
54
|
-
"expect": {
|
|
55
|
-
"visible": [
|
|
56
|
-
"#view-standing"
|
|
57
|
-
]
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
"standing-karma": {
|
|
61
|
-
"auth": true,
|
|
62
|
-
"url": "/builders/#standing-karma",
|
|
63
|
-
"actions": [
|
|
64
|
-
[
|
|
65
|
-
"wait",
|
|
66
|
-
400
|
|
67
|
-
]
|
|
68
|
-
],
|
|
69
|
-
"expect": {
|
|
70
|
-
"visible": [
|
|
71
|
-
"#view-standing"
|
|
72
39
|
]
|
|
73
40
|
}
|
|
74
41
|
},
|
|
@@ -71,10 +71,10 @@
|
|
|
71
71
|
<dialog class="mw-dialog" id="mw-propose" aria-labelledby="mw-propose-title"></dialog>
|
|
72
72
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
73
73
|
|
|
74
|
-
<script src="/builders/dom-utils.js?v=2026-
|
|
75
|
-
<script src="/builders/shell-trail.js?v=2026-
|
|
76
|
-
<script src="/builders/craft-mode.js?v=2026-11-05-
|
|
77
|
-
<script src="/builders/shell.js?v=2026-11-05-
|
|
74
|
+
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
75
|
+
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
76
|
+
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
77
|
+
<script src="/builders/shell.js?v=2026-11-05-goals"></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>
|
|
@@ -40,10 +40,10 @@
|
|
|
40
40
|
|
|
41
41
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
42
42
|
|
|
43
|
-
<script src="/builders/dom-utils.js?v=2026-
|
|
44
|
-
<script src="/builders/shell-trail.js?v=2026-
|
|
45
|
-
<script src="/builders/craft-mode.js?v=2026-11-05-
|
|
46
|
-
<script src="/builders/shell.js?v=2026-11-05-
|
|
43
|
+
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
44
|
+
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
45
|
+
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
46
|
+
<script src="/builders/shell.js?v=2026-11-05-goals"></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>
|
|
@@ -185,10 +185,10 @@
|
|
|
185
185
|
<dialog class="mw-dialog" id="mw-propose" aria-labelledby="mw-propose-title"></dialog>
|
|
186
186
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
187
187
|
|
|
188
|
-
<script src="/builders/dom-utils.js?v=2026-
|
|
189
|
-
<script src="/builders/shell-trail.js?v=2026-
|
|
190
|
-
<script src="/builders/craft-mode.js?v=2026-11-05-
|
|
191
|
-
<script src="/builders/shell.js?v=2026-11-05-
|
|
188
|
+
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
189
|
+
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
190
|
+
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
191
|
+
<script src="/builders/shell.js?v=2026-11-05-goals"></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>
|
|
@@ -125,10 +125,10 @@
|
|
|
125
125
|
|
|
126
126
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
127
127
|
|
|
128
|
-
<script src="/builders/dom-utils.js?v=2026-
|
|
129
|
-
<script src="/builders/shell-trail.js?v=2026-
|
|
130
|
-
<script src="/builders/craft-mode.js?v=2026-11-05-
|
|
131
|
-
<script src="/builders/shell.js?v=2026-11-05-
|
|
128
|
+
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
129
|
+
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
130
|
+
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
131
|
+
<script src="/builders/shell.js?v=2026-11-05-goals"></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>
|
|
@@ -79,10 +79,10 @@
|
|
|
79
79
|
|
|
80
80
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
81
81
|
|
|
82
|
-
<script src="/builders/dom-utils.js?v=2026-
|
|
83
|
-
<script src="/builders/shell-trail.js?v=2026-
|
|
84
|
-
<script src="/builders/craft-mode.js?v=2026-11-05-
|
|
85
|
-
<script src="/builders/shell.js?v=2026-11-05-
|
|
82
|
+
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
83
|
+
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
84
|
+
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
85
|
+
<script src="/builders/shell.js?v=2026-11-05-goals"></script>
|
|
86
86
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
87
87
|
<script src="/builders/palette.js" defer></script>
|
|
88
88
|
<script src="/builders/hall-kit.js"></script>
|
|
@@ -81,10 +81,10 @@
|
|
|
81
81
|
|
|
82
82
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
83
83
|
|
|
84
|
-
<script src="/builders/dom-utils.js?v=2026-
|
|
85
|
-
<script src="/builders/shell-trail.js?v=2026-
|
|
86
|
-
<script src="/builders/craft-mode.js?v=2026-11-05-
|
|
87
|
-
<script src="/builders/shell.js?v=2026-11-05-
|
|
84
|
+
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
85
|
+
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
86
|
+
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
87
|
+
<script src="/builders/shell.js?v=2026-11-05-goals"></script>
|
|
88
88
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
89
89
|
<script src="/builders/palette.js" defer></script>
|
|
90
90
|
<script src="/builders/gov-living.js?v=2026-10-10-real1"></script>
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
// element whose visibility decides whether the group is offered — the nav item
|
|
50
50
|
// itself for pages, the profile chip for Settings (which is not a nav item).
|
|
51
51
|
// Anchors must stay in step with their source of truth; the test asserts it:
|
|
52
|
-
//
|
|
52
|
+
// profile → profile.js RAIL_ITEMS (Accomplishments folded in, task 1005050)
|
|
53
53
|
// work → work.js makeTabs ids
|
|
54
54
|
// government → government.js makeTabs ids (two rooms since ADR 0266)
|
|
55
55
|
// watch → watch.js makeTabs ids (Sessions and Autobongos since task 1005049)
|
|
@@ -57,11 +57,12 @@
|
|
|
57
57
|
// my-agents → my-agents.js ANCHORS (the agent settings left Settings, task 1005044)
|
|
58
58
|
// primer → primer.md's h2 slugs + primer-live.js SECTIONS (task 1005046)
|
|
59
59
|
var SECTIONS = [
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
{ label: '
|
|
64
|
-
{ label: '
|
|
60
|
+
// task 1005050: your numbers are one page. Accomplishments' private half is
|
|
61
|
+
// Profile's "Just you" screen, so its old words still find the place.
|
|
62
|
+
{ parent: 'Profile', gate: 'nav-profile', items: [
|
|
63
|
+
{ label: 'Works', href: '/profile#works' },
|
|
64
|
+
{ label: 'Activity', href: '/profile#activity' },
|
|
65
|
+
{ label: 'Just you: reviews, karma, progress (Accomplishments)', href: '/profile#yours' },
|
|
65
66
|
] },
|
|
66
67
|
{ parent: 'Tasks', gate: 'nav-work', items: [
|
|
67
68
|
{ label: 'Ready', href: '/work#ready' },
|
|
@@ -110,10 +110,10 @@
|
|
|
110
110
|
|
|
111
111
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
112
112
|
|
|
113
|
-
<script src="/builders/dom-utils.js?v=2026-
|
|
114
|
-
<script src="/builders/shell-trail.js?v=2026-
|
|
115
|
-
<script src="/builders/craft-mode.js?v=2026-11-05-
|
|
116
|
-
<script src="/builders/shell.js?v=2026-11-05-
|
|
113
|
+
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
114
|
+
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
115
|
+
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
116
|
+
<script src="/builders/shell.js?v=2026-11-05-goals"></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
|