@bongos/core 1.24.80 → 1.24.81

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 (106) hide show
  1. package/.bongos-core.json +125 -110
  2. package/docs/adr/0402-helm-is-the-halls-look-and-the-hall-is-dark-only.md +142 -0
  3. package/docs/adr/README.md +1 -0
  4. package/docs/copy-inventory.md +26 -31
  5. package/docs/copy-registry.json +29 -86
  6. package/docs/module-api-changelog.md +2 -0
  7. package/docs/page-inventory.json +1 -3
  8. package/docs/page-readings.json +94 -94
  9. package/modules/hall-ui/public/ai-studio.html +5 -3
  10. package/modules/hall-ui/public/ai-studio.states.json +1 -0
  11. package/modules/hall-ui/public/atlas.html +3 -3
  12. package/modules/hall-ui/public/atlas.states.json +1 -0
  13. package/modules/hall-ui/public/blockers.html +3 -3
  14. package/modules/hall-ui/public/board-room.html +3 -3
  15. package/modules/hall-ui/public/board-room.states.json +1 -0
  16. package/modules/hall-ui/public/city.css +1 -3
  17. package/modules/hall-ui/public/city.html +5 -8
  18. package/modules/hall-ui/public/city.js +10 -55
  19. package/modules/hall-ui/public/city.states.json +7 -32
  20. package/modules/hall-ui/public/collab.html +3 -3
  21. package/modules/hall-ui/public/collab.states.json +1 -0
  22. package/modules/hall-ui/public/commands.html +3 -3
  23. package/modules/hall-ui/public/commands.states.json +1 -0
  24. package/modules/hall-ui/public/controls.css +63 -11
  25. package/modules/hall-ui/public/copy-desk.html +3 -3
  26. package/modules/hall-ui/public/copy-desk.states.json +1 -0
  27. package/modules/hall-ui/public/deploy.html +3 -3
  28. package/modules/hall-ui/public/deploy.states.json +1 -0
  29. package/modules/hall-ui/public/goal-map.html +3 -3
  30. package/modules/hall-ui/public/goals.html +3 -3
  31. package/modules/hall-ui/public/goals.states.json +1 -0
  32. package/modules/hall-ui/public/government.html +3 -3
  33. package/modules/hall-ui/public/government.states.json +1 -0
  34. package/modules/hall-ui/public/idea.html +3 -3
  35. package/modules/hall-ui/public/idea.states.json +1 -0
  36. package/modules/hall-ui/public/ideas.html +3 -3
  37. package/modules/hall-ui/public/ideas.states.json +1 -0
  38. package/modules/hall-ui/public/index-founding.states.json +1 -0
  39. package/modules/hall-ui/public/index-genesis-decide.states.json +1 -0
  40. package/modules/hall-ui/public/index-genesis-demo.states.json +1 -0
  41. package/modules/hall-ui/public/index-genesis.states.json +1 -0
  42. package/modules/hall-ui/public/index.html +4 -4
  43. package/modules/hall-ui/public/index.states.json +1 -0
  44. package/modules/hall-ui/public/market-watch-item.html +3 -3
  45. package/modules/hall-ui/public/market-watch-item.states.json +1 -0
  46. package/modules/hall-ui/public/market-watch-rules.html +3 -3
  47. package/modules/hall-ui/public/market-watch-rules.states.json +1 -0
  48. package/modules/hall-ui/public/market-watch.html +3 -3
  49. package/modules/hall-ui/public/market-watch.states.json +1 -0
  50. package/modules/hall-ui/public/modules.html +3 -3
  51. package/modules/hall-ui/public/modules.states.json +1 -0
  52. package/modules/hall-ui/public/money.html +3 -3
  53. package/modules/hall-ui/public/money.states.json +1 -0
  54. package/modules/hall-ui/public/my-agents.html +3 -3
  55. package/modules/hall-ui/public/my-agents.states.json +1 -0
  56. package/modules/hall-ui/public/primer.html +3 -3
  57. package/modules/hall-ui/public/primer.states.json +1 -0
  58. package/modules/hall-ui/public/profile.html +3 -3
  59. package/modules/hall-ui/public/profile.states.json +1 -0
  60. package/modules/hall-ui/public/project-settings.html +3 -3
  61. package/modules/hall-ui/public/roster.html +3 -3
  62. package/modules/hall-ui/public/roster.states.json +1 -0
  63. package/modules/hall-ui/public/settings.html +3 -3
  64. package/modules/hall-ui/public/settings.states.json +1 -0
  65. package/modules/hall-ui/public/shell-game.css +87 -42
  66. package/modules/hall-ui/public/shell-game.js +41 -8
  67. package/modules/hall-ui/public/shell.js +8 -40
  68. package/modules/hall-ui/public/street-card.states.json +1 -0
  69. package/modules/hall-ui/public/street.css +1 -5
  70. package/modules/hall-ui/public/street.html +5 -9
  71. package/modules/hall-ui/public/street.js +8 -59
  72. package/modules/hall-ui/public/street.states.json +7 -32
  73. package/modules/hall-ui/public/studio.html +3 -3
  74. package/modules/hall-ui/public/studio.states.json +1 -0
  75. package/modules/hall-ui/public/style.css +124 -65
  76. package/modules/hall-ui/public/task.html +3 -3
  77. package/modules/hall-ui/public/task.states.json +1 -0
  78. package/modules/hall-ui/public/thinking.html +3 -3
  79. package/modules/hall-ui/public/thinking.states.json +1 -0
  80. package/modules/hall-ui/public/tweak-editor.html +3 -3
  81. package/modules/hall-ui/public/tweak-editor.states.json +1 -0
  82. package/modules/hall-ui/public/watch.html +3 -3
  83. package/modules/hall-ui/public/watch.states.json +1 -0
  84. package/modules/hall-ui/public/work-founding.states.json +1 -0
  85. package/modules/hall-ui/public/work.html +3 -3
  86. package/modules/hall-ui/public/work.states.json +1 -0
  87. package/modules/hall-ui/records/start-screen.md +6 -2
  88. package/modules/hall-ui/specimens/components.states.json +2 -1
  89. package/modules/ui-design/public/brand.html +2 -2
  90. package/package-lock.json +2 -2
  91. package/package.json +1 -1
  92. package/release-notes.json +6 -0
  93. package/scripts/hall-preview/README.md +2 -3
  94. package/src/bongos/serve-internal.js +7 -2
  95. package/src/hall-helm.js +79 -0
  96. package/src/module-api.js +1 -1
  97. package/tests/design_reference.mjs +1 -1
  98. package/tests/hall_builders_page_pass.mjs +2 -1
  99. package/tests/hall_city.mjs +15 -29
  100. package/tests/hall_controls.mjs +52 -4
  101. package/tests/hall_helm.mjs +187 -0
  102. package/tests/hall_record_world.mjs +4 -2
  103. package/tests/hall_start_screen.mjs +65 -2
  104. package/tests/hall_street.mjs +13 -26
  105. package/tests/hall_topbar_320.mjs +4 -2
  106. package/tests/nav_permission_atoms.mjs +1 -1
@@ -0,0 +1,142 @@
1
+ # 0402 — Helm is the hall's look, and the hall is dark only
2
+
3
+ - **Status:** Accepted
4
+ - **Date:** 2026-11-11
5
+ - **Deciders:** the owner, 2026-11-11, on the Helm mock-ups: Helm applies to the game only, which is the hall (everything after sign-in); the hall wears Helm alone, with no light theme. Claude implemented.
6
+ - **Task:** [task 1005192](https://cloudbongos.com/builders#/task/1005192) ("Helm look 1": the tier, the shared button, the start screen and the load screen)
7
+ - **Supersedes in part:** [ADR 0204](0204-the-apex-is-dark-only.md) Decision 3 ("Light is the builders' hall's alone"): no surface of the platform offers a light mode any more. Its method stands and is reused here: pin the mode, leave the other tier's CSS in place until a follow-up removes it.
8
+ - **Interacts with:** [ADR 0062 §3](0062-medusa-instance-model-decoupling.md) (the pack is still thirteen colours and two faces, spliced as a plain `:root`), [ADR 0196](0196-chrome-world-token-contract-and-the-landing-sheets.md) (the token contract), [ADR 0219](0219-a-look-is-a-branding-pack-the-style-library.md) and [ADR 0358](0358-a-hall-wears-a-look-and-its-night-takes-a-tint.md) (a hall that wears a look keeps its own faces and its tinted night), [ADR 0401](0401-one-options-menu-opens-every-settings-screen-in-a-frame.md) (the options menu, restyled by a later task).
9
+
10
+ ## Context
11
+
12
+ The game conversion (goal 1000141) turned the hall into a place you enter: a start screen, a load screen, then a world. Its controls still wore the chrome world of the landing: a black void, Manrope in lowercase, pills. The owner picked a look for the game from a round of mock-ups and named it **Helm**: the inside of a visor at night. Two decisions came with the pick.
13
+
14
+ 1. **Helm is the game's, not the platform's.** The public landing, the projects hub and the status page keep the chrome world. Nothing in `config/branding.neutral.json`, `modules/public-landing`, `cosmos.css`, `world.css` or the status page changes.
15
+ 2. **The hall has one look and no light theme.** Day and night will show later in the city and the sky, as art, never in the controls.
16
+
17
+ Three facts shaped how it was built.
18
+
19
+ - **The pack is one face pair for every surface.** `themeMarkup()` splices `--font-display` and `--font-body` as a plain `:root` at the end of `<head>` on every page, so the landing and the hall always read the same face. Helm needs the hall to read Barlow while the landing keeps Manrope, without a sixteenth pack token and without taking a face away from an instance that chose its own.
20
+ - **The status page links the hall's shared controls** (`controls.css`) without the hall's token tier. A change to the shared button reaches it unless the change is written so that it does not.
21
+ - **A cut corner is a `clip-path`, and a clip-path clips outlines.** The hall's focus indicator is an outline inside a halo. On a cut control both disappear.
22
+
23
+ ## Decision
24
+
25
+ ### 1. The kit
26
+
27
+ Helm is three small sets of rules. Each is recorded here once and lives as tokens in the hall's tier.
28
+
29
+ **Type, two voices.**
30
+
31
+ | Voice | Face | How it is set | What it is for |
32
+ |---|---|---|---|
33
+ | The name voice | Barlow Condensed, 500 (600 when lit) | wide tracked capitals, `.16em` to `.3em` | the name of a thing: a title, a button, an eyebrow |
34
+ | The body voice | Barlow, 400 and 500 | plain sentences | everything said to you |
35
+
36
+ The mono face stays JetBrains Mono, for where the hall quotes the machine.
37
+
38
+ **Colour, one job each.**
39
+
40
+ | Name | Value | Token | Its one job |
41
+ |---|---|---|---|
42
+ | Night | `#050d16` | `--bg`, `--bg-deep`, `--void`; lifted a step as `--bg-card` `#0a1622` and `--bg-frame` `#07111b`; at 72% over art as `--night-glass` | the ground and every panel |
43
+ | Ice | `#c8f1f7` | `--ink-soft`; `--ink-faint` `#a9cdd4`; the hairlines `--rule` (ice at 40%) and `--rule-soft` (ice at 20%); the glass family (ice at 10%, 16%, 20%) | information you read |
44
+ | White | `#ffffff` | `--ink` | names and numbers |
45
+ | Moon | the pack's accent | `--accent`, with `--accent-on` as the dark ink on it | only what you can act on |
46
+ | Dawn | none | none | the art. Never a control |
47
+
48
+ The Moon is the existing accent and is never pinned (the Unpinned Accent Rule stands), so an instance with its own accent keeps it. The status vocabulary (`--ok`, `--warn`, `--danger`, `--info`) is unchanged, value for value, and still clears 4.5:1 on both night grounds (`tests/hall_tokens.mjs`).
49
+
50
+ **Shape, three moves.**
51
+
52
+ | Move | What it is | Where it lives |
53
+ |---|---|---|
54
+ | The cut corner | anything you can press: the top-left and bottom-right corners cut, 12px (8px at the row size), no pill | `--cut`, `--cut-sm`, `--cut-path`, `--cut-path-sm`; spent by `.btn` and its family in `controls.css` |
55
+ | The segment | progress: one small bar per step, skewed 28 degrees | `--seg-w`, `--seg-h`, `--seg-gap`, `--seg-skew`; the shared rules `.segs` and `.seg` in `controls.css` |
56
+ | The arc | the edge of the visor | not built in this task (task 1005195) |
57
+
58
+ **One behaviour rule.** A control you may not use stays visible and says why. The city never hides what exists. No code in this task depends on it; it is recorded so the tasks that follow keep it.
59
+
60
+ ### 2. Where the values live
61
+
62
+ All of it is in the token block of `modules/hall-ui/public/style.css`, which is the one place a literal may live.
63
+
64
+ - The Helm **neutrals** are the hall's dark tier, written twice, byte-identical, as before (`html[data-theme="dark"]` and its `prefers-color-scheme` twin).
65
+ - The kit's **recipes** (the name voice, the cut, the press fill and focus ring, the segment, the panel over art and its measures) sit in the bare `:root`, because none of them flips with a mode.
66
+ - The **faces** are `--helm-display` and `--helm-body`. One rule, `html[data-faces="helm"]`, hands them to `--font-display` and `--font-body`. It is (0,1,1), so it outranks the pack's spliced `:root`.
67
+
68
+ Nothing was added to the shared scale sheet (`modules/ui-design/public/tokens.css`): the landing and the status page load it, and they are out of scope.
69
+
70
+ ### 3. The hall is recognised at serve time, in one place
71
+
72
+ `src/hall-helm.js` recognises a hall page by what makes it one: it links the hall's sheet (`/builders/style.css`). `injectBrandingGlobal` (the splice every served page already passes through, in the server, the preview harness and the design kit's stub) calls it. For a hall page it does two things; every other page comes back untouched.
73
+
74
+ - It stamps `data-theme="dark"` on `<html>`. A fixed attribute selects the dark tier before first paint, with nothing to flash and nothing for the OS preference to reach.
75
+ - For a hall whose pack still names the platform's default faces, it stamps `data-faces="helm"` and links the two Barlow families (`display=swap`; every hall page already preconnects to both font origins). A hall whose pack names faces of its own, in `config/branding.json` or through a look from the style library, is never stamped and keeps them.
76
+
77
+ ### 4. The hall is dark only
78
+
79
+ - The light/dark switch is gone from the top bar (`shell.js`), from the governor city and from the street. `shell.js` sets `data-theme="dark"` again for a page read without the server's stamp. The `hall-theme` preference is never read or written.
80
+ - Scripts that only read `html[data-theme]` (the sky, the atlas, Home's city, the approval queue) are unchanged and always read dark.
81
+ - **The light tier stays for now**, as ADR 0204 left the apex's: the light values in the hall's `:root`, the light rules in page sheets and the tests that measure light pairs. Nothing in the hall renders them. Removing them is a follow-up.
82
+ - Every hall `*.states.json` now declares `"modes": ["dark"]`, so the design kit renders each state once.
83
+
84
+ ### 5. The shared button takes the cut and the name voice, and the status page does not move
85
+
86
+ Every Helm piece on `.btn` is a hall-tier token spent with a fallback, and the fallback is the look the sheet drew before: `clip-path: var(--cut-path, none)`, `border-radius: var(--press-radius, var(--radius-pill))`, `font-family: var(--name-face, var(--font-body))`, and so on. The status page defines none of those tokens, so its buttons are the pills they were.
87
+
88
+ - **Focus.** A cut control hands the shell's `:focus-visible` rule an inset ring (`--press-focus`): 2px of the focus colour on the edge, then a 2px band of the ground inside it. One of the two reads on any fill: measured on the accent 8.93:1, on the ghost fill 7.20:1, on the danger fill 7.06:1.
89
+ - **The ghost.** A cut removes the hairline at the two cut corners, so the ghost button takes a fill (`--press-fill`) and reads as a shape, not as a broken outline.
90
+ - **The text button** is a link in a sentence: no cut, no capitals.
91
+ - Fields, status pills, chips and the view toggle keep their shapes in this task.
92
+
93
+ ### 6. The start screen and the load screen
94
+
95
+ Restyled to the mock-up with the tokens above; the sheet types in no colour, size, corner, shadow or breakpoint. Behaviour, keys, words and the welcome painting are unchanged.
96
+
97
+ - **Start:** one full-height night panel (`--night-glass`) 400px wide, standing off the left edge on a desk and filling the width on a phone (`--helm-inset`, a `clamp`, so there is no breakpoint). The mark and the project's name in the name voice; Start as a full-width accent bar that names its key; the other choices as quiet rows on ice hairlines; one tip at the foot.
98
+ - **Load:** the same panel, centred: the week in the name voice, one segment per week of the city's history, the city, the tip.
99
+
100
+ ## Measured
101
+
102
+ Contrast, from the tier's own values (4.5:1 body, 3:1 large and non-text):
103
+
104
+ | Pair | Ratio |
105
+ |---|---|
106
+ | White on Night / on the lifted Night | 19.52 / 18.25 |
107
+ | Ice on Night / on the lifted Night | 16.16 / 15.10 |
108
+ | Faint ice on Night / on the lifted Night | 11.50 / 10.75 |
109
+ | The accent as text on Night / on the lifted Night | 8.93 / 8.35 |
110
+ | `--accent-on` on the accent | 8.05 |
111
+ | The strong hairline (ice at 40%) on Night | 3.34 |
112
+ | Ice / White on the start panel over a pure white part of a painting | 6.67 / 8.05 |
113
+
114
+ ## Consequences
115
+
116
+ - A builder whose OS prefers light, or who had chosen light in the hall, sees the dark hall.
117
+ - Every hall page changes at once in its neutrals, its faces and its buttons, because they all spend the tier. Pages were not restyled one by one; a page with hand-drawn pills, 16px panels or lowercase labels keeps those until its own task.
118
+ - The city and the street draw their night faces only, until day and night return as art.
119
+ - The public design reference (`/brand`) reads the hall's tier, so its dark values now show the Helm neutrals. It was regenerated.
120
+
121
+ ## Known limits
122
+
123
+ - **A hall that wears a look keeps its tinted night** (ADR 0358): the tint is laid over the dark tier after the sheet, so that hall's grounds are its accent mixed into black, with Helm's inks, hairlines and shapes on top. Rebasing the tint on the Night is a separate decision.
124
+ - **"Has not chosen faces" is judged by the font stacks alone**: a pack whose two stacks equal the neutral pack's takes Helm. A custom look (one accent over the chrome world) therefore takes the Helm faces, which is intended; an instance that wants Manrope in its hall has to name a different stack.
125
+ - **The sign-in screens** link the hall's sheet but are built outside this seam, and they are before sign-in. They are not pinned dark and keep the pack's faces. Under a dark OS they now show the Helm neutrals.
126
+ - **The reading measure** (`--measure: 48ch`) was measured for Manrope. Barlow is narrower, so a line holds a few more characters. Not re-measured here.
127
+ - **The diagonal of a cut has no hairline.** The edge is a clipped border, as in the mock-up.
128
+
129
+ ## Follow-ups
130
+
131
+ - Remove the hall's light tier (the light values, the light-only rules, the light-pair tests).
132
+ - The options menu and character select: task 1005194.
133
+ - The visor, with the arc: task 1005195.
134
+ - The city in the clouds and the day cycle: task 1005196.
135
+
136
+ ## Rejected
137
+
138
+ - **A Helm branding pack** (a look in the style library). A pack reaches every surface, and the owner scoped Helm to the hall.
139
+ - **Setting the Helm faces inside the dark tier.** It would outrank every instance's own faces for good.
140
+ - **A pre-paint script, or the attribute typed into 33 pages.** One serve-time stamp covers every page and every page added later.
141
+ - **Deleting the light tier in this task.** A second, larger diff under a look the owner has not yet reviewed on every page.
142
+ - **A second button sheet for the status page.** One sheet with fallbacks keeps the hall and the status page on the same rules.
@@ -517,3 +517,4 @@ These 20 numbers are each shared by exactly two files. They are **accepted histo
517
517
  | 0399 | [**The visor is glass over the scene, owns no camera, and spends Escape in a fixed order** ([task 1005146](https://cloudbongos.com/builders#/task/1005146), goal 1000142). The first-person HUD is one DOM overlay (`visor.js`, game mode only) over the sky, the Governor City and Home's city. It passes pointers through, never draws inside a scene and never changes the stage's size. It writes no camera: it calls the scene's own `fitAll`/`flyTo`, which the scene registers. Stacking: scene → ambient glass → the scene's pop-ups → the visor's open sheet → modals. One Escape closes one layer, top first: dialog, picker, palette, visor sheet (capture listener, `stopPropagation`), the scene's pop-up (bubble listener, `preventDefault`), then the options menu in game mode or the shell outside it. Found: the city card's Escape does not call `preventDefault`, so it also drops the bars.](0399-the-visor-is-glass-over-the-scene-and-owns-no-camera.md) | hall / game frame |
518
518
  | 0401 | [**One options menu opens every settings screen in a frame** ([task 1005144](https://cloudbongos.com/builders#/task/1005144), goal 1000141). `/settings` is the options menu: a search box over a grouped list. Settings' own panels stay native; My agents, Project settings, Modules, Permissions and Market Watch's settings and rules open inside it in an `<iframe>` of the old address with `?embed=1`, which `shell-game.js` reads only inside a frame to drop the page's chrome, send an unused Escape to the menu and open links to other pages in the whole window. A plain visit to an old address 302s to `/settings?open=<entry>` (the old #anchor rides along); the framed request keeps its own page gate and routes. In game mode the last Escape opens the menu and closes it again. Rejected: merging seven pages' scripts into one, a second /options page, links out of the menu.](0401-one-options-menu-opens-every-settings-screen-in-a-frame.md) | hall / game frame |
519
519
  | 0400 | [**A chain reserves work; each sub-quest is still claimed on its own** ([task 1005158](https://cloudbongos.com/builders#/task/1005158), spike V3G.R18, goal 1000144). C5 of the game conversion: work is claimed as a chain, not picked from a flat table. Owner ruling (interview answer 3): a chain RESERVES, tasks are still claimed one at a time. **Decision:** three new tables (`chains` inside one goal, `chain_tasks` with a task in at most one open chain, `chain_party`), none of them a claim — no `claims` row, no session binding, no worktree — so `gateOneActiveClaimPerSession` (ADR 0097) and its unique index never see a chain. **Order is derived, never stored** (ADR 0153's rejection holds): the topological order of `task_dependencies` over the chain's members, ties by priority/estimate/id — `sequence.js`'s `topoOrder`, moved into one shared module. Every sub-quest claims through the unchanged `POST /claims` ladder. **The one addition** is a narrowing-only `CHAIN_RESERVED` check placed AFTER the last existing rung on both insert sites + the dry run + the feed: an outsider can't claim a reserved chain's sub-quest, while every existing refusal keeps its code, message and precedence. Party size (raid quorum vs routine) is refused at the chain's own join door, never in the claim ladder; character counts seats and is never read by a claim rung. A reservation lapses after days with no claim or ship, reported before it acts (ADR 0226). Rejected: a chain as N claims, loosening the session guard, chain = goal, a stored order, an early-ladder check (would mask rank/deps refusals), a feed-only reservation.](0400-a-chain-reserves-work-and-each-sub-quest-is-still-claimed-alone.md) | lifecycle / claims / game conversion |
520
+ | 0402 | [**Helm is the hall's look, and the hall is dark only** ([task 1005192](https://cloudbongos.com/builders#/task/1005192)). The game (the hall, everything after sign-in) wears Helm; the landing, the hub and the status page keep the chrome world. The kit: two voices (Barlow Condensed in wide capitals names a thing, Barlow says everything else), four colours with one job each (Night the ground, Ice what you read, White names and numbers, the accent only what you can act on), three shapes (the cut corner for anything pressable, the segment for progress, the arc for the visor). The values live in the hall's token block; `src/hall-helm.js` recognises a hall page by the sheet it links, pins it dark and hands it the Helm faces unless its pack chose its own. The light/dark switch is gone; the light tier stays until its own removal. The shared button spends every Helm token with the old pill as the fallback, so the status page does not move.](0402-helm-is-the-halls-look-and-the-hall-is-dark-only.md) | design system / hall |
@@ -4,13 +4,13 @@
4
4
  > Deterministic on a given tree — regenerate and commit rather than hand-editing.
5
5
  > Machine-readable twin: [`copy-registry.json`](copy-registry.json).
6
6
 
7
- **3182 strings** across 3 surfaces · 2517 distinct pieces of copy · 3182 certain, 0 heuristic · 267 shown in more than one place.
7
+ **3177 strings** across 3 surfaces · 2515 distinct pieces of copy · 3177 certain, 0 heuristic · 266 shown in more than one place.
8
8
 
9
9
  ## Surfaces
10
10
 
11
11
  | surface | lives at | files | strings |
12
12
  |---|---|---|---|
13
- | `builders-hall` | `modules/hall-ui/public` | 177 | 2070 |
13
+ | `builders-hall` | `modules/hall-ui/public` | 177 | 2065 |
14
14
  | `status-dashboard` | `modules/status-ui/public` | 4 | 89 |
15
15
  | `landing` | `modules/public-landing/public` | 10 | 1023 |
16
16
 
@@ -75,10 +75,10 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
75
75
  | `e57ec24e13ef` | 4x | Sign in with GitHub | modules/hall-ui/public/hall-render.js:262, modules/hall-ui/public/hall-render.js:396, modules/hall-ui/public/shell.js:496 |
76
76
  | `1883ad7f07fc` | 4x | Sign out | modules/hall-ui/public/hall-render.js:329, modules/hall-ui/public/setup-gate.js:138, modules/hall-ui/public/shell.js:514 |
77
77
  | `5831de503015` | 4x | Studio — {{worldName}} | modules/hall-ui/public/ai-studio.html:8, modules/hall-ui/public/ai-studio.html:8, modules/hall-ui/public/studio.html:10 |
78
- | `59fcf7f5ac27` | 4x | Switch to light mode | modules/hall-ui/public/city.html:73, modules/hall-ui/public/city.html:73, modules/hall-ui/public/street.html:95 |
79
- | … | | _227 more in the JSON registry_ | |
78
+ | `eff70e59d12e` | 4x | Task {…} | modules/hall-ui/public/task.js:523, modules/hall-ui/public/task.js:559, modules/hall-ui/public/task.js:1059 |
79
+ | … | | _226 more in the JSON registry_ | |
80
80
 
81
- ## `builders-hall` — 2070 strings
81
+ ## `builders-hall` — 2065 strings
82
82
 
83
83
  | id | conf | text | where |
84
84
  |---|---|---|---|
@@ -110,7 +110,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
110
110
  | `3e5a62bc4887` | certain | A GitHub username is needed. | `modules/hall-ui/public/hall-render.js:358` |
111
111
  | `3e5a62bc4887` | certain | A GitHub username is needed. | `modules/hall-ui/public/watch.js:346` |
112
112
  | `b57b99aa31e9` | certain | A body on a ring. Lit and drifting while a builder holds it; a hairline, drifting slower, while it waits to be | `modules/hall-ui/public/sky-panel.js:103` |
113
- | `df943756e13b` | certain | A building | `modules/hall-ui/public/city.html:97` |
113
+ | `df943756e13b` | certain | A building | `modules/hall-ui/public/city.html:94` |
114
114
  | `044831abb63e` | certain | A competitor | `modules/hall-ui/public/market-watch-lib.js:162` |
115
115
  | `568d58fd26cc` | certain | A configured value could not be used: | `modules/hall-ui/public/project-settings.js:105` |
116
116
  | `568d58fd26cc` | certain | A configured value could not be used: | `modules/hall-ui/public/project-settings.js:133` |
@@ -259,7 +259,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
259
259
  | `a78477a24a48` | certain | Builders' Hall | `modules/hall-ui/public/index.html:12` |
260
260
  | `a78477a24a48` | certain | Builders' Hall | `modules/hall-ui/public/index.html:12` |
261
261
  | `a78477a24a48` | certain | Builders' Hall | `modules/hall-ui/public/index.html:56` |
262
- | `5df2aa54f042` | certain | Building Level Views | `modules/hall-ui/public/city.html:104` |
262
+ | `5df2aa54f042` | certain | Building Level Views | `modules/hall-ui/public/city.html:101` |
263
263
  | `b51edc826cbe` | certain | Built by this project | `modules/hall-ui/public/modules.html:67` |
264
264
  | `fef59346ffee` | certain | Built on | `modules/hall-ui/public/welcome-boot.js:183` |
265
265
  | `563d29ed86d8` | certain | Bulk actions | `modules/hall-ui/public/goals.html:191` |
@@ -508,7 +508,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
508
508
  | `6604d63c2fb4` | certain | Everyone who joined while this project was being founded, in the order they arrived. The mark is for good. | `modules/hall-ui/public/hall-widgets.js:75` |
509
509
  | `d9927beb8cb7` | certain | Everything shipped. By role, with goals and ideas: | `modules/hall-ui/public/profile.html:112` |
510
510
  | `89d9c0962048` | certain | Everything that fell out of it | `modules/hall-ui/public/idea.js:420` |
511
- | `57d5ba0fdefb` | certain | Exit full screen | `modules/hall-ui/public/shell.js:622` |
511
+ | `57d5ba0fdefb` | certain | Exit full screen | `modules/hall-ui/public/shell.js:621` |
512
512
  | `94339ddaeeea` | certain | Explore: the sky reveals itself as you follow routes from where you begin. | `modules/hall-ui/public/goal-map.html:75` |
513
513
  | `75bf2f13e4c0` | certain | Fast forward | `modules/hall-ui/public/home-city.js:336` |
514
514
  | `8608a2dfdf61` | certain | File a blocker | `modules/hall-ui/public/blockers.js:316` |
@@ -551,7 +551,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
551
551
  | `edced5d528c3` | certain | From the live site | `modules/hall-ui/public/studio.html:156` |
552
552
  | `d32c5e058d1e` | certain | From the system | `modules/hall-ui/public/hall-render.js:556` |
553
553
  | `fc6fdfa639a7` | certain | Full log | `modules/hall-ui/public/task.js:491` |
554
- | `11fc0483c149` | certain | Full screen — press Esc, or the button in the corner, to bring the bars back. | `modules/hall-ui/public/shell.js:587` |
554
+ | `11fc0483c149` | certain | Full screen — press Esc, or the button in the corner, to bring the bars back. | `modules/hall-ui/public/shell.js:586` |
555
555
  | `2857c1010416` | certain | Full screen: only the art (F) | `modules/hall-ui/public/home-gallery.js:116` |
556
556
  | `7537fe1f3792` | certain | Full text | `modules/hall-ui/public/city-decide.js:270` |
557
557
  | `c93912bbad76` | certain | Gathering the reviews and flagged copy that wait for you. | `modules/hall-ui/public/studio.html:201` |
@@ -1051,7 +1051,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1051
1051
  | `f796836eac4e` | certain | Profile sections | `modules/hall-ui/public/profile.html:45` |
1052
1052
  | `935b317ce2d8` | certain | Profile — {{worldName}} | `modules/hall-ui/public/profile.html:6` |
1053
1053
  | `935b317ce2d8` | certain | Profile — {{worldName}} | `modules/hall-ui/public/profile.html:6` |
1054
- | `cf8d14410264` | certain | Project founding mode | `modules/hall-ui/public/shell.js:996` |
1054
+ | `cf8d14410264` | certain | Project founding mode | `modules/hall-ui/public/shell.js:972` |
1055
1055
  | `7a367e62257b` | certain | Project limit | `modules/hall-ui/public/project-settings.js:162` |
1056
1056
  | `e08628967f2f` | certain | Project settings | `modules/hall-ui/public/project-settings.html:15` |
1057
1057
  | `e08628967f2f` | certain | Project settings | `modules/hall-ui/public/project-settings.html:15` |
@@ -1251,14 +1251,14 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1251
1251
  | `1883ad7f07fc` | certain | Sign out | `modules/hall-ui/public/hall-render.js:329` |
1252
1252
  | `1883ad7f07fc` | certain | Sign out | `modules/hall-ui/public/setup-gate.js:138` |
1253
1253
  | `1883ad7f07fc` | certain | Sign out | `modules/hall-ui/public/shell.js:514` |
1254
- | `1883ad7f07fc` | certain | Sign out | `modules/hall-ui/public/shell.js:846` |
1254
+ | `1883ad7f07fc` | certain | Sign out | `modules/hall-ui/public/shell.js:822` |
1255
1255
  | `8ad669ab2565` | certain | Sign out everywhere | `modules/hall-ui/public/settings.html:199` |
1256
1256
  | `3713da9c8c48` | certain | Sign out, then sign in with the GitHub account you use now. A new account needs the {…}'s approval first. | `modules/hall-ui/public/hall-render.js:329` |
1257
1257
  | `b71029028a4e` | certain | Signing off… | `modules/hall-ui/public/criterion-uat-ui.js:235` |
1258
1258
  | `ecc12c1dd4de` | certain | Skill voices | `modules/hall-ui/public/settings.html:320` |
1259
1259
  | `4b0ca7d7171f` | certain | Skill {…} of {…} in {…} | `modules/hall-ui/public/speciality-tools.js:149` |
1260
1260
  | `bbbb6e8ab564` | certain | Skills it offers | `modules/hall-ui/public/speciality-tools.js:614` |
1261
- | `87cee78ca134` | certain | Skip to content | `modules/hall-ui/public/shell.js:837` |
1261
+ | `87cee78ca134` | certain | Skip to content | `modules/hall-ui/public/shell.js:813` |
1262
1262
  | `3de3d5f97e2a` | certain | Slash commands in Claude Code | `modules/hall-ui/public/commands.html:30` |
1263
1263
  | `688ca7b6e30f` | certain | Slop — reads as machine-written | `modules/hall-ui/public/copy-desk.html:90` |
1264
1264
  | `207af7ce6828` | certain | Software update | `modules/hall-ui/public/settings.html:377` |
@@ -1282,7 +1282,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1282
1282
  | `6d4a7bf5ab0e` | certain | Stale timer is now {…} days. | `modules/hall-ui/public/project-settings.js:332` |
1283
1283
  | `98d037e427b8` | certain | Stale — describes something that changed | `modules/hall-ui/public/copy-desk.html:92` |
1284
1284
  | `7808b2df6639` | certain | Start an artist review | `modules/hall-ui/public/paintbrush.js:180` |
1285
- | `a306a704042b` | certain | Start governing: everything that waits, one card at a time | `modules/hall-ui/public/city.html:100` |
1285
+ | `a306a704042b` | certain | Start governing: everything that waits, one card at a time | `modules/hall-ui/public/city.html:97` |
1286
1286
  | `eaad12cacb9d` | certain | Start over | `modules/hall-ui/public/studio.js:269` |
1287
1287
  | `45e2495c0dbd` | certain | Start something new | `modules/hall-ui/public/ai-studio.js:514` |
1288
1288
  | `58cef7963b6c` | certain | Start with your role | `modules/hall-ui/public/welcome-boot.js:190` |
@@ -1303,11 +1303,6 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1303
1303
  | `5831de503015` | certain | Studio — {{worldName}} | `modules/hall-ui/public/studio.html:10` |
1304
1304
  | `f79e1fb8ebd4` | certain | Suggested as you type; leave it on "no goal" and it waits for triage. | `modules/hall-ui/public/ideas.html:84` |
1305
1305
  | `a1482eff4ead` | certain | Suggested for you | `modules/hall-ui/public/speciality-tools.js:404` |
1306
- | `1e40f33483eb` | certain | Switch theme | `modules/hall-ui/public/shell.js:541` |
1307
- | `59fcf7f5ac27` | certain | Switch to light mode | `modules/hall-ui/public/city.html:73` |
1308
- | `59fcf7f5ac27` | certain | Switch to light mode | `modules/hall-ui/public/city.html:73` |
1309
- | `59fcf7f5ac27` | certain | Switch to light mode | `modules/hall-ui/public/street.html:95` |
1310
- | `59fcf7f5ac27` | certain | Switch to light mode | `modules/hall-ui/public/street.html:95` |
1311
1306
  | `94d60e9e56e6` | certain | Take it | `modules/hall-ui/public/ai-studio.js:180` |
1312
1307
  | `da9da6e866bd` | certain | Take it offline | `modules/hall-ui/public/project-settings.html:64` |
1313
1308
  | `aa8da34fe237` | certain | Take the next page, or pick one from the studio. | `modules/hall-ui/public/tweak-editor.js:576` |
@@ -1375,8 +1370,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1375
1370
  | `36ed1b04583e` | certain | The full queues | `modules/hall-ui/public/studio.html:205` |
1376
1371
  | `cb7c7879eeba` | certain | The fundamentals | `modules/hall-ui/public/project-settings.html:41` |
1377
1372
  | `4dd13bc5a35b` | certain | The goal's leads have paused applications; they can still invite you | `modules/hall-ui/public/goals-render.js:969` |
1378
- | `9ce5b504d247` | certain | The government at a glance | `modules/hall-ui/public/city.html:77` |
1379
- | `5615bef4a99e` | certain | The governor city | `modules/hall-ui/public/city.html:80` |
1373
+ | `9ce5b504d247` | certain | The government at a glance | `modules/hall-ui/public/city.html:74` |
1374
+ | `5615bef4a99e` | certain | The governor city | `modules/hall-ui/public/city.html:77` |
1380
1375
  | `19b23f2cc45b` | certain | The grading panel could not run when this task was shipped, so no quality signal was recorded — an outage, not | `modules/hall-ui/public/task.js:421` |
1381
1376
  | `e3ba3a3af730` | certain | The hall invite lets them sign in here. The GitHub invite is separate: GitHub emails them, and the repository | `modules/hall-ui/public/watch-repo-invite.js:45` |
1382
1377
  | `027e9420daa2` | certain | The headline lands, but the sub-line reads like a brochure. | `modules/hall-ui/public/studio.js:196` |
@@ -1408,7 +1403,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1408
1403
  | `74bc22f38140` | certain | The platform confirmed this request came from the account it names. | `modules/hall-ui/public/watch.js:411` |
1409
1404
  | `6c3d88de42de` | certain | The primer | `modules/hall-ui/public/primer.html:37` |
1410
1405
  | `dea378cd4837` | certain | The primer did not load | `modules/hall-ui/public/primer.html:83` |
1411
- | `08ec02eb31fb` | certain | The project city building up, week by week | `modules/hall-ui/public/shell-game.js:105` |
1406
+ | `08ec02eb31fb` | certain | The project city building up, week by week | `modules/hall-ui/public/shell-game.js:123` |
1412
1407
  | `ca10fbab561e` | certain | The project this week | `modules/hall-ui/public/home-city.js:324` |
1413
1408
  | `dc2d6fd0350a` | certain | The project’s life so far | `modules/hall-ui/public/genesis-home.js:156` |
1414
1409
  | `169a03d777a1` | certain | The rank above yours is {…}. | `modules/hall-ui/public/profile-own.js:101` |
@@ -1424,7 +1419,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1424
1419
  | `e48a9b77d91b` | certain | The session log opens from a higher rank. | `modules/hall-ui/public/watch.html:162` |
1425
1420
  | `af664a644b13` | certain | The seven government structures, for getting a team up to speed before deciding when to flip a switch. | `modules/hall-ui/public/government.js:855` |
1426
1421
  | `6360a5988f26` | certain | The shape and health of the codebase. | `modules/hall-ui/public/watch.html:104` |
1427
- | `282638f26534` | certain | The six readings | `modules/hall-ui/public/street.html:204` |
1422
+ | `282638f26534` | certain | The six readings | `modules/hall-ui/public/street.html:200` |
1428
1423
  | `6b617d158e40` | certain | The sky | `modules/hall-ui/public/goal-map.html:50` |
1429
1424
  | `6b617d158e40` | certain | The sky | `modules/hall-ui/public/goal-map.html:50` |
1430
1425
  | `a36879d66516` | certain | The sky reveals itself as you go. Pick a well to start in; every route you chart brings the goal at its far en | `modules/hall-ui/public/goal-map.html:114` |
@@ -1436,7 +1431,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1436
1431
  | `4f327798fd59` | certain | The source | `modules/hall-ui/public/market-watch-lib.js:181` |
1437
1432
  | `2287c62afcdd` | certain | The street | `modules/hall-ui/public/street.html:55` |
1438
1433
  | `2287c62afcdd` | certain | The street | `modules/hall-ui/public/street.html:55` |
1439
- | `2287c62afcdd` | certain | The street | `modules/hall-ui/public/street.html:103` |
1434
+ | `2287c62afcdd` | certain | The street | `modules/hall-ui/public/street.html:99` |
1440
1435
  | `fdc4b3013936` | certain | The street — {{worldName}} | `modules/hall-ui/public/street.html:6` |
1441
1436
  | `fdc4b3013936` | certain | The street — {{worldName}} | `modules/hall-ui/public/street.html:6` |
1442
1437
  | `d00666a91ac4` | certain | The studio page is yours, but its words could not be read just now. Open it in the editor. | `modules/hall-ui/public/studio.js:1005` |
@@ -1613,7 +1608,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1613
1608
  | `a9e95b5fda1d` | certain | What {…} offers | `modules/hall-ui/public/speciality-tools.js:296` |
1614
1609
  | `b8743d16eab8` | certain | What {…} unlocks | `modules/hall-ui/public/hall-render.js:83` |
1615
1610
  | `338673475642` | certain | What's new | `modules/hall-ui/public/update-pill.js:295` |
1616
- | `6ff24dd04d46` | certain | What\u2019s this? | `modules/hall-ui/public/shell.js:1000` |
1611
+ | `6ff24dd04d46` | certain | What\u2019s this? | `modules/hall-ui/public/shell.js:976` |
1617
1612
  | `a6e102816e92` | certain | When to reach for it | `modules/hall-ui/public/commands-lib.js:100` |
1618
1613
  | `a6e102816e92` | certain | When to reach for it | `modules/hall-ui/public/speciality-tools.js:149` |
1619
1614
  | `87acf1c05027` | certain | When you submit, an AI splits this into separate ideas, filed under your name and linked to this page. The tex | `modules/hall-ui/public/lightbulb.js:82` |
@@ -1687,7 +1682,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1687
1682
  | `beba7e576ea8` | certain | Your agents | `modules/hall-ui/public/settings.html:291` |
1688
1683
  | `7d26333b5fb0` | certain | Your asks | `modules/hall-ui/public/collab.html:79` |
1689
1684
  | `2e699f8709b5` | certain | Your balance is under {…}. | `modules/hall-ui/public/ai-studio.js:348` |
1690
- | `a1f290d92800` | certain | Your browser kept this tab open. Close it to quit. | `modules/hall-ui/public/shell-game.js:204` |
1685
+ | `a1f290d92800` | certain | Your browser kept this tab open. Close it to quit. | `modules/hall-ui/public/shell-game.js:237` |
1691
1686
  | `3812b4d8106f` | certain | Your changes to this page | `modules/hall-ui/public/paintbrush.js:150` |
1692
1687
  | `7e5697ffbfc4` | certain | Your character | `modules/hall-ui/public/craft-mode.js:657` |
1693
1688
  | `791f72bb7b35` | certain | Your character could not be saved. Reload and try again. | `modules/hall-ui/public/craft-mode.js:925` |
@@ -1753,7 +1748,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1753
1748
  | `6d91bea9b24e` | certain | as of {…} | `modules/hall-ui/public/sky-interaction.js:122` |
1754
1749
  | `0dd65d2abf48` | certain | at a vote | `modules/hall-ui/public/market-watch-rules-lib.js:103` |
1755
1750
  | `a756e47632cd` | certain | at {…} — {…}. The timer above is the fallback that is actually in force. | `modules/hall-ui/public/project-settings.js:105` |
1756
- | `daad412fa988` | certain | back to the street | `modules/hall-ui/public/street.html:138` |
1751
+ | `daad412fa988` | certain | back to the street | `modules/hall-ui/public/street.html:134` |
1757
1752
  | `24a2c1d958da` | certain | back to the studio | `modules/hall-ui/public/tweak-editor.html:108` |
1758
1753
  | `e81d92078af1` | certain | bongos help | `modules/hall-ui/public/commands.html:42` |
1759
1754
  | `9193bf136fed` | certain | bongos upgrade | `modules/hall-ui/public/settings-software-update.js:85` |
@@ -1766,7 +1761,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1766
1761
  | `b73a83223bc0` | certain | cannot be read, so | `modules/hall-ui/public/government.js:593` |
1767
1762
  | `cbfe99f16927` | certain | case file | `modules/hall-ui/public/market-watch-item.html:46` |
1768
1763
  | `2d1c615acf6f` | certain | case file · {…} {…} | `modules/hall-ui/public/market-watch-item.js:78` |
1769
- | `3c593c73628a` | certain | change how this works | `modules/hall-ui/public/street.html:175` |
1764
+ | `3c593c73628a` | certain | change how this works | `modules/hall-ui/public/street.html:171` |
1770
1765
  | `0c57dbbdbdd4` | certain | chart every route from {…} | `modules/hall-ui/public/sky-interaction.js:45` |
1771
1766
  | `ad625012b13c` | certain | choose files | `modules/hall-ui/public/ai-studio.js:180` |
1772
1767
  | `9203a7283960` | certain | claim next | `modules/hall-ui/public/goals-render.js:169` |
@@ -1863,7 +1858,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1863
1858
  | `6d28ca6a61bf` | certain | not testing | `modules/hall-ui/public/modules.js:215` |
1864
1859
  | `b4d87a62ec85` | certain | nothing by that name — or not explored yet | `modules/hall-ui/public/sky-interaction.js:138` |
1865
1860
  | `8ca0a499ec86` | certain | nothing recorded yet · {…} | `modules/hall-ui/public/profile-charts.js:302` |
1866
- | `6a040d3dbd48` | certain | nothing waits on you. | `modules/hall-ui/public/street.html:105` |
1861
+ | `6a040d3dbd48` | certain | nothing waits on you. | `modules/hall-ui/public/street.html:101` |
1867
1862
  | `a85339717a72` | certain | nothing was saved | `modules/hall-ui/public/tweak-editor.html:121` |
1868
1863
  | `e2c643fbf4d6` | certain | npm install | `modules/hall-ui/public/setup-gate.js:34` |
1869
1864
  | `f3733d6a021e` | certain | npx bongos setup | `modules/hall-ui/public/setup-gate.js:35` |
@@ -1899,7 +1894,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1899
1894
  | `cc7d093fdd53` | certain | propose a change | `modules/hall-ui/public/market-watch-rules-lib.js:127` |
1900
1895
  | `3b22c5af029b` | certain | rank or above, or that it is your own. | `modules/hall-ui/public/copy-desk.html:47` |
1901
1896
  | `80ddf28baee7` | certain | rank-key (kebab-case) | `modules/hall-ui/public/government.html:82` |
1902
- | `40c1e4f0376f` | certain | reading the docket | `modules/hall-ui/public/city.html:101` |
1897
+ | `40c1e4f0376f` | certain | reading the docket | `modules/hall-ui/public/city.html:98` |
1903
1898
  | `41a4b66c21e5` | certain | reads the control plane's own observation · ADR 0293 · every move is recorded with who asked | `modules/hall-ui/public/deploy.js:775` |
1904
1899
  | `8d810f134b7b` | certain | reconnect GitHub with repository access | `modules/hall-ui/public/deploy.js:424` |
1905
1900
  | `9ce87293d8b6` | certain | recorded, on the Sessions tab | `modules/hall-ui/public/watch.html:55` |
@@ -1936,7 +1931,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1936
1931
  | `c8c2551006dc` | certain | skip the tour | `modules/hall-ui/public/goal-map.html:122` |
1937
1932
  | `c8c2551006dc` | certain | skip the tour | `modules/hall-ui/public/thinking.html:123` |
1938
1933
  | `36c07e16519a` | certain | so far | `modules/hall-ui/public/ai-studio.js:473` |
1939
- | `1e737a57eb20` | certain | start governing | `modules/hall-ui/public/city.html:100` |
1934
+ | `1e737a57eb20` | certain | start governing | `modules/hall-ui/public/city.html:97` |
1940
1935
  | `4bec174c205f` | certain | stop tracking | `modules/hall-ui/public/market-watch-item.js:46` |
1941
1936
  | `e294c3429c2e` | certain | strong at {…} | `modules/hall-ui/public/modules.js:354` |
1942
1937
  | `0215b2cdca8c` | certain | submit for review | `modules/hall-ui/public/modules.js:295` |
@@ -1973,7 +1968,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1973
1968
  | `2be732b11690` | certain | the owner’s blockers | `modules/hall-ui/public/deploy.js:234` |
1974
1969
  | `58d0401ab5be` | certain | the project's Anthropic key | `modules/hall-ui/public/market-watch.html:166` |
1975
1970
  | `4bde7b562cf4` | certain | the record | `modules/hall-ui/public/sky-panel.js:51` |
1976
- | `4bde7b562cf4` | certain | the record | `modules/hall-ui/public/street.html:192` |
1971
+ | `4bde7b562cf4` | certain | the record | `modules/hall-ui/public/street.html:188` |
1977
1972
  | `2e24d473cfcc` | certain | the room | `modules/hall-ui/public/sky-panel.js:118` |
1978
1973
  | `2e24d473cfcc` | certain | the room | `modules/hall-ui/public/thinking.html:112` |
1979
1974
  | `5e1eda03fa73` | certain | the sky | `modules/hall-ui/public/goal-map.html:70` |