@bongos/core 1.24.39 → 1.24.41

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 (78) hide show
  1. package/.bongos-core.json +87 -102
  2. package/docs/canonical-permissions.md +2 -1
  3. package/docs/copy-inventory.md +122 -127
  4. package/docs/copy-registry.json +179 -244
  5. package/docs/module-api-changelog.md +4 -0
  6. package/docs/page-inventory.json +11 -69
  7. package/docs/page-readings.json +434 -822
  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/gate.js +12 -5
  19. package/modules/hall-ui/public/goal-map.html +2 -2
  20. package/modules/hall-ui/public/goals.html +2 -2
  21. package/modules/hall-ui/public/government.html +2 -2
  22. package/modules/hall-ui/public/idea.html +2 -2
  23. package/modules/hall-ui/public/ideas.html +2 -2
  24. package/modules/hall-ui/public/index.html +2 -2
  25. package/modules/hall-ui/public/market-watch-item.html +2 -2
  26. package/modules/hall-ui/public/market-watch-rules.html +2 -2
  27. package/modules/hall-ui/public/market-watch.html +2 -2
  28. package/modules/hall-ui/public/modules.html +2 -2
  29. package/modules/hall-ui/public/money.html +2 -2
  30. package/modules/hall-ui/public/my-agents.html +2 -2
  31. package/modules/hall-ui/public/palette.js +10 -0
  32. package/modules/hall-ui/public/primer.html +2 -2
  33. package/modules/hall-ui/public/profile.html +2 -2
  34. package/modules/hall-ui/public/project-settings.html +2 -2
  35. package/modules/hall-ui/public/roadmap.html +2 -2
  36. package/modules/hall-ui/public/roster.css +10 -0
  37. package/modules/hall-ui/public/roster.html +6 -3
  38. package/modules/hall-ui/public/roster.js +168 -9
  39. package/modules/hall-ui/public/sessions.js +21 -10
  40. package/modules/hall-ui/public/settings.html +2 -2
  41. package/modules/hall-ui/public/shell.js +1 -2
  42. package/modules/hall-ui/public/street.html +2 -2
  43. package/modules/hall-ui/public/studio.html +2 -2
  44. package/modules/hall-ui/public/task.html +2 -2
  45. package/modules/hall-ui/public/thinking.html +2 -2
  46. package/modules/hall-ui/public/tweak-editor.html +2 -2
  47. package/modules/hall-ui/public/watch.css +0 -6
  48. package/modules/hall-ui/public/watch.html +121 -15
  49. package/modules/hall-ui/public/watch.js +28 -166
  50. package/modules/hall-ui/public/watch.states.json +49 -1
  51. package/modules/hall-ui/public/work.html +2 -2
  52. package/modules/hall-ui/records/builders-roster.md +2 -0
  53. package/package-lock.json +2 -2
  54. package/package.json +1 -1
  55. package/release-notes.json +12 -0
  56. package/scripts/bongos/gen-hall-sitemap.js +2 -0
  57. package/src/bongos/routes/me.js +3 -1
  58. package/src/bongos/serve-internal.js +15 -22
  59. package/src/module-api.js +1 -1
  60. package/tests/autonomy_builder_scope.mjs +2 -1
  61. package/tests/hall_audit.mjs +1 -1
  62. package/tests/hall_loading.mjs +13 -2
  63. package/tests/hall_nav.mjs +5 -2
  64. package/tests/hall_oversight_tabs.mjs +162 -0
  65. package/tests/hall_oversight_world.mjs +23 -9
  66. package/tests/hall_page_gate_map.mjs +7 -2
  67. package/tests/hall_roster_world.mjs +14 -9
  68. package/tests/hall_sessions_ledger.mjs +2 -1
  69. package/tests/nav_permission_atoms.mjs +3 -2
  70. package/tests/rank_tier_single_source.mjs +3 -1
  71. package/tests/roster_government_columns.mjs +369 -0
  72. package/tests/sessions_kit_pager.mjs +8 -4
  73. package/tests/watch_sealed_floor.mjs +6 -4
  74. package/modules/hall-ui/public/gate.html +0 -76
  75. package/modules/hall-ui/public/gate.states.json +0 -60
  76. package/modules/hall-ui/public/sessions.html +0 -128
  77. package/modules/hall-ui/public/sessions.states.json +0 -59
  78. package/tests/watch_roster_self_row.mjs +0 -296
@@ -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-05-sections"></script>
92
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
91
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
92
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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-05-sections"></script>
95
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
94
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
95
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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-05-sections"></script>
64
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
63
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
64
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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-05-sections"></script>
66
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
65
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
66
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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-05-sections" defer></script>
111
- <script src="/builders/shell.js?v=2026-11-05-sections" defer></script>
110
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight" defer></script>
111
+ <script src="/builders/shell.js?v=2026-11-05-oversight" 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-05-sections"></script>
165
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
164
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
165
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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-05-sections"></script>
57
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
56
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
57
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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-05-sections"></script>
183
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
182
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
183
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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>
@@ -109,7 +109,7 @@
109
109
  artistry: ['studio', 'goals', 'thinking'],
110
110
  ideating: ['goal-map', 'thinking', 'goals', 'market-watch'],
111
111
  governing: ['city', 'blockers', 'board-room',
112
- 'watch', 'gate', 'sessions', 'project-settings', 'money', 'deploy', 'government'],
112
+ 'watch', 'project-settings', 'money', 'deploy', 'government'],
113
113
  };
114
114
  // A mode can lead with ONE tab and fold the rest of its own under a dropdown
115
115
  // (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-05-sections"></script>
84
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
83
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
84
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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,5 @@
1
- // public-builders/gate.js — Autobongos, the owner's runner panel (/builders/gate).
1
+ // public-builders/gate.js — Autobongos, the owner's runner panel: Watch's
2
+ // Autobongos tab (/watch#autobongos; /gate redirects there since task 1005049).
2
3
  //
3
4
  // The page is still served at /gate so bookmarks keep working, but it no longer
4
5
  // holds pull requests: task 1004859 removed the held-PR list (and GET/POST
@@ -59,7 +60,7 @@
59
60
 
60
61
  function showSealed() {
61
62
  document.getElementById('gate-sealed').hidden = false;
62
- document.getElementById('gate-body').hidden = true;
63
+ document.getElementById('runner-body').hidden = true;
63
64
  // The floor in the pack's own words (ADR 0157: metic), never a rank spelled into the source.
64
65
  const body = document.getElementById('gate-sealed-body');
65
66
  if (body) body.textContent = `Available from the ${rankLabel('metic')} rank up.`;
@@ -430,7 +431,9 @@
430
431
  // + every endpoint regardless (cosmetic defence-in-depth).
431
432
  let me;
432
433
  try {
433
- me = await fetchJson('/me');
434
+ // The shell's /me read when it has one (window.__hallReads; false on a 403).
435
+ const shared = window.__hallReads && window.__hallReads['/me'];
436
+ me = shared ? await shared : await fetchJson('/me');
434
437
  } catch (err) {
435
438
  if (err && err.kind === '401') return;
436
439
  if (err && err.kind === '403') { showSealed(); return; }
@@ -443,12 +446,16 @@
443
446
  // they were just admitted to.
444
447
  if (rank !== 'metic' && rank !== 'archon') { showSealed(); return; }
445
448
 
446
- document.getElementById('gate-body').hidden = false;
449
+ document.getElementById('runner-body').hidden = false;
447
450
  if (rank !== 'archon') { showArchonOnly(); return; }
448
451
  document.getElementById('fence-panel').hidden = false;
449
452
  // Independent reads, so one round trip rather than three.
450
453
  await Promise.all([loadRunners(), loadFence(), loadBuilderRunners()]);
451
454
  }
452
455
 
453
- init();
456
+ // task 1005049: the panel is Watch's Autobongos tab, so it loads when that tab
457
+ // first opens (watch.js calls this). Once only.
458
+ let booted = false;
459
+ window.OTBWatchTabs = window.OTBWatchTabs || {};
460
+ window.OTBWatchTabs.autobongos = () => { if (booted) return; booted = true; init(); };
454
461
  })();
@@ -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-05-sections"></script>
143
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
142
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
143
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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-05-sections"></script>
247
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
246
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
247
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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-05-sections"></script>
160
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
159
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
160
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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-05-sections"></script>
56
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
55
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
56
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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-05-sections"></script>
231
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
230
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
231
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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-05-sections" defer></script>
126
- <script src="/builders/shell.js?v=2026-11-05-sections" defer></script>
125
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight" defer></script>
126
+ <script src="/builders/shell.js?v=2026-11-05-oversight" 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-05-sections"></script>
77
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
76
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
77
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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-05-sections"></script>
46
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
45
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
46
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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-05-sections"></script>
191
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
190
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
191
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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-05-sections"></script>
131
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
130
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
131
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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>
@@ -81,8 +81,8 @@
81
81
 
82
82
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
83
83
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
84
- <script src="/builders/craft-mode.js?v=2026-11-05-sections"></script>
85
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
84
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
85
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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>
@@ -83,8 +83,8 @@
83
83
 
84
84
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
85
85
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
86
- <script src="/builders/craft-mode.js?v=2026-11-05-sections"></script>
87
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
86
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
87
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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>
@@ -52,6 +52,7 @@
52
52
  // standing → builders.js STANDING_GROUPS (+ shell.js VIEW_ALIASES)
53
53
  // work → work.js makeTabs ids
54
54
  // government → government.js makeTabs ids (two rooms since ADR 0266)
55
+ // watch → watch.js makeTabs ids (Sessions and Autobongos since task 1005049)
55
56
  // settings → settings.js RAIL_GROUPS
56
57
  // my-agents → my-agents.js ANCHORS (the agent settings left Settings, task 1005044)
57
58
  // primer → primer.md's h2 slugs + primer-live.js SECTIONS (task 1005046)
@@ -76,6 +77,15 @@
76
77
  { label: 'Constitution', href: '/government#constitution' },
77
78
  { label: 'Ranks & Permissions', href: '/government#ranks' },
78
79
  ] },
80
+ // task 1005049: Sessions and Autobongos were pages of their own; they are
81
+ // Watch's tabs now, so typing either name still finds them.
82
+ { parent: 'Watch', gate: 'nav-watch', items: [
83
+ { label: 'People', href: '/watch#people' },
84
+ { label: 'Operations', href: '/watch#operations' },
85
+ { label: 'Security', href: '/watch#security' },
86
+ { label: 'Sessions', href: '/watch#sessions' },
87
+ { label: 'Autobongos', href: '/watch#autobongos' },
88
+ ] },
79
89
  // task 1005047: the owner's one money page, a section per kind of money. The
80
90
  // treasury lived in the Primer (and before that on the Economy page) until then,
81
91
  // so 'Treasury' still finds it.
@@ -112,8 +112,8 @@
112
112
 
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
- <script src="/builders/craft-mode.js?v=2026-11-05-sections"></script>
116
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
115
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
116
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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
@@ -207,8 +207,8 @@
207
207
  chrome exists before the page script runs. -->
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
- <script src="/builders/craft-mode.js?v=2026-11-05-sections"></script>
211
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
210
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
211
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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 -->
@@ -76,8 +76,8 @@
76
76
 
77
77
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
78
78
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
79
- <script src="/builders/craft-mode.js?v=2026-11-05-sections"></script>
80
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
79
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
80
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></script>
81
81
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
82
82
  <script src="/builders/palette.js" defer></script>
83
83
  <script src="/builders/hall-kit.js"></script>
@@ -43,8 +43,8 @@
43
43
 
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
- <script src="/builders/craft-mode.js?v=2026-11-05-sections"></script>
47
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
46
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
47
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></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
@@ -95,3 +95,13 @@
95
95
  -webkit-mask-position: left top, right top;
96
96
  mask-position: left top, right top;
97
97
  }
98
+
99
+ /* ---- the government columns (task 1005048) -------------------------------
100
+ Watch's roster folded in here. A stale claim takes the danger ink and a
101
+ small badge; the viewer's own row states a fact in the faint ink where the
102
+ others carry a control; the foot line under the table says why. */
103
+ .roster-warn { color: var(--danger); font-weight: 500; }
104
+ .roster-self { color: var(--ink-faint); }
105
+ .badge--sev-medium { color: var(--info); }
106
+ .badge--status { color: var(--ink-faint); }
107
+ .roster-foot { margin: 14px 0 0; font-size: 12.5px; color: var(--ink-faint); max-width: var(--measure); }
@@ -4,7 +4,7 @@
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  <title>Builders — {{worldName}}</title>
7
- <meta name="description" content="Who builds on this project: the roster, ranked by work shipped, with rank, credits, karma and tokens.">
7
+ <meta name="description" content="Who builds on this project: the roster, ranked by work shipped, with rank, credits, karma and tokens — and, for a government seat, active claims and standing.">
8
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
9
  <link rel="preconnect" href="https://fonts.googleapis.com">
10
10
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
@@ -41,6 +41,9 @@
41
41
  <div id="roster-body">
42
42
  <div class="hall-loading hall-loading--page" role="status">Loading the roster…</div>
43
43
  </div>
44
+ <!-- task 1005048: shown only to a viewer the roster route lets read the
45
+ government columns; says what they are and why one row has no controls. -->
46
+ <p class="roster-foot" id="roster-gov-foot" hidden></p>
44
47
  </section>
45
48
  </main>
46
49
 
@@ -55,8 +58,8 @@
55
58
  chrome exists before the page script runs. -->
56
59
  <script src="/builders/dom-utils.js?v=2026-10-25-escape"></script>
57
60
  <script src="/builders/shell-trail.js?v=2026-10-08-city-tab"></script>
58
- <script src="/builders/craft-mode.js?v=2026-11-05-sections"></script>
59
- <script src="/builders/shell.js?v=2026-11-05-sections"></script>
61
+ <script src="/builders/craft-mode.js?v=2026-11-05-oversight"></script>
62
+ <script src="/builders/shell.js?v=2026-11-05-oversight"></script>
60
63
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
61
64
  <script src="/builders/palette.js" defer></script>
62
65
  <!-- the branding pack's currency label, loaded BEFORE roster.js. -->