@bongos/core 1.20.45 → 1.20.46

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.
@@ -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
- **2231 strings** across 3 surfaces · 1921 distinct pieces of copy · 2231 certain, 0 heuristic · 216 shown in more than one place.
7
+ **2237 strings** across 3 surfaces · 1927 distinct pieces of copy · 2237 certain, 0 heuristic · 216 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` | 112 | 1660 |
13
+ | `builders-hall` | `modules/hall-ui/public` | 112 | 1666 |
14
14
  | `status-dashboard` | `modules/status-ui/public` | 4 | 100 |
15
15
  | `landing` | `modules/public-landing/public` | 6 | 471 |
16
16
 
@@ -78,7 +78,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
78
78
  | `4e25e6872321` | 3x | Your projects | modules/public-landing/public/index.html:691, modules/public-landing/public/projects.html:506, modules/public-landing/public/projects.html:668 |
79
79
  | … | | _176 more in the JSON registry_ | |
80
80
 
81
- ## `builders-hall` — 1660 strings
81
+ ## `builders-hall` — 1666 strings
82
82
 
83
83
  | id | conf | text | where |
84
84
  |---|---|---|---|
@@ -128,7 +128,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
128
128
  | `b8f70e36c7f9` | certain | A goal may only be added to a version that is still in planning. These were added after this version started b | `modules/hall-ui/public/roadmap.js:95` |
129
129
  | `df5eb70b5a05` | certain | A higher rank. Its details are hidden until you reach the rank directly below it. | `modules/hall-ui/public/ranks.js:125` |
130
130
  | `0150152ea9ec` | certain | A known snag stopped the move to core {…}: | `modules/hall-ui/public/deploy.js:206` |
131
- | `2e17d7e236d9` | certain | A module built here can be submitted upstream for review, so it can join the shared catalog with your name and | `modules/hall-ui/public/modules.html:71` |
131
+ | `2e17d7e236d9` | certain | A module built here can be submitted upstream for review, so it can join the shared catalog with your name and | `modules/hall-ui/public/modules.html:74` |
132
132
  | `0c611f5a76af` | certain | A move to core {…} failed{…} — this project has moved on since, and is serving {…} now. Whatever stopped that | `modules/hall-ui/public/deploy.js:366` |
133
133
  | `a07c7b335a66` | certain | A protected-scope goal requires a Metic+ member. | `modules/hall-ui/public/goals-render.js:1286` |
134
134
  | `a07c7b335a66` | certain | A protected-scope goal requires a Metic+ member. | `modules/hall-ui/public/goals-render.js:1308` |
@@ -169,6 +169,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
169
169
  | `375b0e67bc30` | certain | Allow new releases and move to {…} | `modules/hall-ui/public/deploy.js:677` |
170
170
  | `86ea8d57d34e` | certain | Allowlisted goals | `modules/hall-ui/public/gate.js:300` |
171
171
  | `e99cc5d37404` | certain | Already a member? | `modules/hall-ui/public/hall-render.js:367` |
172
+ | `70ffbebe42fd` | certain | Also available as a Claude page | `modules/hall-ui/public/modules.html:87` |
172
173
  | `da5368d10f85` | certain | Amendment {…} passed{…}, and the constitution below is not the one it decided: | `modules/hall-ui/public/government.js:633` |
173
174
  | `2ca420e19dbb` | certain | An earlier attempt did not land. | `modules/hall-ui/public/deploy.js:366` |
174
175
  | `69f0ca4a4d84` | certain | Analytics scope | `modules/hall-ui/public/hall-render.js:1175` |
@@ -231,7 +232,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
231
232
  | `a78477a24a48` | certain | Builders' Hall | `modules/hall-ui/public/index.html:12` |
232
233
  | `a78477a24a48` | certain | Builders' Hall | `modules/hall-ui/public/index.html:12` |
233
234
  | `a78477a24a48` | certain | Builders' Hall | `modules/hall-ui/public/index.html:49` |
234
- | `b51edc826cbe` | certain | Built by this project | `modules/hall-ui/public/modules.html:67` |
235
+ | `b51edc826cbe` | certain | Built by this project | `modules/hall-ui/public/modules.html:70` |
235
236
  | `563d29ed86d8` | certain | Bulk actions | `modules/hall-ui/public/goals.html:187` |
236
237
  | `563d29ed86d8` | certain | Bulk actions | `modules/hall-ui/public/work.html:161` |
237
238
  | `46b33550d52b` | certain | Bulk claim | `modules/hall-ui/public/goals.html:190` |
@@ -241,7 +242,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
241
242
  | `a015a43bfc7f` | certain | CLI access | `modules/hall-ui/public/settings.html:133` |
242
243
  | `084eb64bce72` | certain | Capabilities held by a machine identity, never by a person or a rank. Shown for completeness; nothing here can | `modules/hall-ui/public/government.html:123` |
243
244
  | `bdca1f219e6f` | certain | Cast objection | `modules/hall-ui/public/board-room.js:368` |
244
- | `a974494e44f3` | certain | Catalog at a glance | `modules/hall-ui/public/modules.html:50` |
245
+ | `a974494e44f3` | certain | Catalog at a glance | `modules/hall-ui/public/modules.html:53` |
245
246
  | `c1c7158e0a43` | certain | Category saved. | `modules/hall-ui/public/project-settings.js:214` |
246
247
  | `0279db21e29a` | certain | Change in Settings → | `modules/hall-ui/public/hall-render.js:577` |
247
248
  | `2637480ee2b8` | certain | Change to | `modules/hall-ui/public/deploy.js:294` |
@@ -332,7 +333,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
332
333
  | `90691bceaf68` | certain | Could not load | `modules/hall-ui/public/project-settings.js:242` |
333
334
  | `90691bceaf68` | certain | Could not load | `modules/hall-ui/public/task.js:1034` |
334
335
  | `589a4cfc5442` | certain | Could not load idea {…}. | `modules/hall-ui/public/ideas.js:1018` |
335
- | `192c893fc64e` | certain | Could not load modules. | `modules/hall-ui/public/modules.js:319` |
336
+ | `192c893fc64e` | certain | Could not load modules. | `modules/hall-ui/public/modules.js:328` |
336
337
  | `9912c3835136` | certain | Could not load requests — reload to try again. | `modules/hall-ui/public/collab.js:845` |
337
338
  | `7775fec0fa85` | certain | Could not load sessions. | `modules/hall-ui/public/sessions.js:399` |
338
339
  | `7775fec0fa85` | certain | Could not load sessions. | `modules/hall-ui/public/sessions.js:437` |
@@ -350,7 +351,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
350
351
  | `64f9d51f0fa2` | certain | Could not load your settings. | `modules/hall-ui/public/settings.js:1159` |
351
352
  | `de244c45d916` | certain | Could not load {…} | `modules/hall-ui/public/task.js:1027` |
352
353
  | `2366356926b4` | certain | Could not mark the primer just now. Try again. | `modules/hall-ui/public/primer.js:259` |
353
- | `753987b5da13` | certain | Could not reach the submit endpoint. | `modules/hall-ui/public/modules.js:298` |
354
+ | `753987b5da13` | certain | Could not reach the submit endpoint. | `modules/hall-ui/public/modules.js:307` |
354
355
  | `6f500726f0ac` | certain | Could not read the report: {…} | `modules/hall-ui/public/watch.js:669` |
355
356
  | `21c2f33168a3` | certain | Could not read this project's deploy state: {…} | `modules/hall-ui/public/deploy.js:616` |
356
357
  | `21a782f1af26` | certain | Could not read what this would bring in: {…}. The check below still applies. | `modules/hall-ui/public/deploy.js:534` |
@@ -451,7 +452,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
451
452
  | `04bbccfe7465` | certain | Everything a new builder needs before claiming their first task. About a ten-minute read. | `modules/hall-ui/public/primer.html:42` |
452
453
  | `89d9c0962048` | certain | Everything that fell out of it | `modules/hall-ui/public/idea.js:420` |
453
454
  | `37110f7e2b27` | certain | Everything this builder has shipped. Seen one role at a time, with goals and ideas, under | `modules/hall-ui/public/profile.html:108` |
454
- | `efdb46f76b02` | certain | Everything this instance can run: what the core ships, what this project built, and who keeps each one true as | `modules/hall-ui/public/modules.html:32` |
455
+ | `efdb46f76b02` | certain | Everything this instance can run: what the core ships, what this project built, and who keeps each one true as | `modules/hall-ui/public/modules.html:35` |
455
456
  | `94339ddaeeea` | certain | Explore: the sky reveals itself as you follow routes from where you begin. | `modules/hall-ui/public/goal-map.html:65` |
456
457
  | `de62f4cc7d2e` | certain | File a bug or idea | `modules/hall-ui/public/ideas.html:55` |
457
458
  | `297a6d0a8608` | certain | File conflicts in your goals | `modules/hall-ui/public/goal-inbox.js:126` |
@@ -642,7 +643,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
642
643
  | `a0c18cece568` | certain | Loading sittings… | `modules/hall-ui/public/board-room.js:544` |
643
644
  | `7ca55f9ba183` | certain | Loading task | `modules/hall-ui/public/task.html:35` |
644
645
  | `20d8552e13db` | certain | Loading tasks… | `modules/hall-ui/public/work.html:32` |
645
- | `217f64ef8667` | certain | Loading the catalog… | `modules/hall-ui/public/modules.html:59` |
646
+ | `217f64ef8667` | certain | Loading the catalog… | `modules/hall-ui/public/modules.html:62` |
646
647
  | `a8b3b04b0b4d` | certain | Loading the copy desk… | `modules/hall-ui/public/copy-desk.html:28` |
647
648
  | `fcd755e8dd30` | certain | Loading the five questions… | `modules/hall-ui/public/ideas.html:183` |
648
649
  | `e201b4962858` | certain | Loading the idea | `modules/hall-ui/public/idea.html:43` |
@@ -676,7 +677,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
676
677
  | `d7ce4a3bb745` | certain | Minimize the welcome panel | `modules/hall-ui/public/hall-widgets.js:52` |
677
678
  | `19b0ed5781ae` | certain | Minimum rank required to claim this task | `modules/hall-ui/public/task-lib.js:85` |
678
679
  | `64e91044df43` | certain | Mint a fresh CLI token using this browser session and paste it into your terminal — the quick way back in when | `modules/hall-ui/public/settings.html:134` |
679
- | `0f8ea58a536b` | certain | Module catalog | `modules/hall-ui/public/modules.html:46` |
680
+ | `0f8ea58a536b` | certain | Module catalog | `modules/hall-ui/public/modules.html:49` |
680
681
  | `adcfddee56a8` | certain | Module scope — tasks authored in this goal are bounded to these modules | `modules/hall-ui/public/goals-render.js:838` |
681
682
  | `9af4b7a3a36f` | certain | Module truth | `modules/hall-ui/public/atlas.html:48` |
682
683
  | `319e9db996ea` | certain | Modules — {{worldName}} | `modules/hall-ui/public/modules.html:6` |
@@ -774,7 +775,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
774
775
  | `9ac63d97239a` | certain | Nothing newer is published that this box can take. There is nothing to deploy. | `modules/hall-ui/public/deploy.js:596` |
775
776
  | `43626cff7071` | certain | Nothing of that kind in your sky. | `modules/hall-ui/public/sky-panel.js:123` |
776
777
  | `ad9a17a8a5eb` | certain | Nothing shipped yet. | `modules/hall-ui/public/profile.js:242` |
777
- | `f326632f2013` | certain | Nothing to submit — every module here ships with the core. | `modules/hall-ui/public/modules.js:259` |
778
+ | `f326632f2013` | certain | Nothing to submit — every module here ships with the core. | `modules/hall-ui/public/modules.js:268` |
778
779
  | `27c0d872db2d` | certain | Nothing you have typed above is lost by opening this. | `modules/hall-ui/public/ideas.html:155` |
779
780
  | `26a07b64f49d` | certain | Now running core {…} | `modules/hall-ui/public/deploy.js:392` |
780
781
  | `21cb60a8a96a` | certain | Now running core {…} — but GitHub was not updated. | `modules/hall-ui/public/deploy.js:382` |
@@ -950,6 +951,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
950
951
  | `f7ed4ba07178` | certain | Roadmap — {{worldName}} | `modules/hall-ui/public/roadmap.html:6` |
951
952
  | `12af2af5acf2` | certain | Role it sits under | `modules/hall-ui/public/settings.html:230` |
952
953
  | `b6596905f845` | certain | Said more than once | `modules/hall-ui/public/copy-desk.html:56` |
954
+ | `ce046dcbd8e1` | certain | Save as PDF | `modules/hall-ui/public/modules.html:88` |
953
955
  | `0c79b504aebe` | certain | Save key | `modules/hall-ui/public/settings.js:832` |
954
956
  | `b3d55c8c765a` | certain | Save my choices | `modules/hall-ui/public/settings-specialities.js:163` |
955
957
  | `13ca64ad2498` | certain | Save rule | `modules/hall-ui/public/deploy.js:294` |
@@ -994,7 +996,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
994
996
  | `2566a43904cb` | certain | Settings — {{worldName}} | `modules/hall-ui/public/settings.html:6` |
995
997
  | `2566a43904cb` | certain | Settings — {{worldName}} | `modules/hall-ui/public/settings.html:6` |
996
998
  | `ac44b08aec92` | certain | Ship it | `modules/hall-ui/public/task.js:733` |
997
- | `b94a6b5b3d8c` | certain | Shipped with the core | `modules/hall-ui/public/modules.html:56` |
999
+ | `b94a6b5b3d8c` | certain | Shipped with the core | `modules/hall-ui/public/modules.html:59` |
998
1000
  | `0c0a50ba1666` | certain | Shipped {…}{…}, {…}. | `modules/hall-ui/public/task.js:705` |
999
1001
  | `6dde12eb0c78` | certain | Show all {…} | `modules/hall-ui/public/collab.js:432` |
1000
1002
  | `47b6199cc471` | certain | Show or hide the clock | `modules/hall-ui/public/goal-map.html:68` |
@@ -1145,7 +1147,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1145
1147
  | `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:809` |
1146
1148
  | `6360a5988f26` | certain | The shape and health of the codebase. | `modules/hall-ui/public/watch.html:105` |
1147
1149
  | `fc422cced9e3` | certain | The shared goals you’ve joined. Browse, join, and leave goals — and read their criteria — on the | `modules/hall-ui/public/goals.js:94` |
1148
- | `ac46dc53d95f` | certain | The shared repository the core ships and the modules this project built for itself, each credited to its autho | `modules/hall-ui/public/modules.html:47` |
1150
+ | `ac46dc53d95f` | certain | The shared repository the core ships and the modules this project built for itself, each credited to its autho | `modules/hall-ui/public/modules.html:50` |
1149
1151
  | `5f631f51f29e` | certain | The skill list could not be loaded. Reload the page to try again. | `modules/hall-ui/public/settings.js:127` |
1150
1152
  | `6b617d158e40` | certain | The sky | `modules/hall-ui/public/goal-map.html:45` |
1151
1153
  | `6b617d158e40` | certain | The sky | `modules/hall-ui/public/goal-map.html:45` |
@@ -1549,7 +1551,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1549
1551
  | `ec6d8c900bc8` | certain | sign in | `modules/hall-ui/public/profile-charts.js:514` |
1550
1552
  | `c8c2551006dc` | certain | skip the tour | `modules/hall-ui/public/goal-map.html:112` |
1551
1553
  | `c8c2551006dc` | certain | skip the tour | `modules/hall-ui/public/thinking.html:122` |
1552
- | `0215b2cdca8c` | certain | submit for review | `modules/hall-ui/public/modules.js:133` |
1554
+ | `0215b2cdca8c` | certain | submit for review | `modules/hall-ui/public/modules.js:142` |
1553
1555
  | `43e6f1592ae3` | certain | submit it in the editor | `modules/hall-ui/public/studio.js:797` |
1554
1556
  | `9ec19e32f86f` | certain | submit page | `modules/hall-ui/public/tweak-editor.html:66` |
1555
1557
  | `da30b952a60b` | certain | system / unattributed | `modules/hall-ui/public/goals-page.js:269` |
@@ -1639,7 +1641,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1639
1641
  | `6c08bfe92e2b` | certain | {…} This project is invite-only: the {…} invites each builder, and there is nothing to apply for here. | `modules/hall-ui/public/hall-render.js:286` |
1640
1642
  | `c5623d60015d` | certain | {…} Your standing is {…}. | `modules/hall-ui/public/hall-render.js:841` |
1641
1643
  | `a91e1e702d4d` | certain | {…} achieved, {…} in progress, {…} not started of {…} goals | `modules/hall-ui/public/roadmap.js:73` |
1642
- | `a65d371b5cb3` | certain | {…} and above can enable or disable a module | `modules/hall-ui/public/modules.js:131` |
1644
+ | `a65d371b5cb3` | certain | {…} and above can enable or disable a module | `modules/hall-ui/public/modules.js:140` |
1643
1645
  | `98b1c674fc37` | certain | {…} and up | `modules/hall-ui/public/sessions.js:187` |
1644
1646
  | `111b71a9acaf` | certain | {…} and up. | `modules/hall-ui/public/sessions.js:185` |
1645
1647
  | `56b00d773232` | certain | {…} and {…} | `modules/hall-ui/public/profile-nudge.js:77` |
@@ -1678,6 +1680,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1678
1680
  | `1a8a6267e490` | certain | {…} unfinished task{…} — say what happens to each | `modules/hall-ui/public/goals-render.js:1015` |
1679
1681
  | `3ad8f32dd43b` | certain | {…} you have sent | `modules/hall-ui/public/profile-connections.js:146` |
1680
1682
  | `8186b562553a` | certain | {…} {…} waiting | `modules/hall-ui/public/work.js:432` |
1683
+ | `a9216af9b05e` | certain | {…} {…} — how-to | `modules/hall-ui/public/modules.js:383` |
1681
1684
  | `0d4016a5531c` | certain | {…} {…}{…} | `modules/hall-ui/public/watch.js:503` |
1682
1685
  | `0d4016a5531c` | certain | {…} {…}{…} | `modules/hall-ui/public/work.js:265` |
1683
1686
  | `b3757ba3bb46` | certain | {…} · Stored encrypted; never shown again after saving. | `modules/hall-ui/public/settings.js:834` |
@@ -1685,6 +1688,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1685
1688
  | `d73256fbc395` | certain | {…} · who votes, and how it {…} | `modules/hall-ui/public/board-room.js:449` |
1686
1689
  | `cab2a4296aec` | certain | {…} · {…} · {…}{…} | `modules/hall-ui/public/goal-inbox.js:458` |
1687
1690
  | `1ac723849449` | certain | {…} · {…}{…} | `modules/hall-ui/public/sky-interaction.js:33` |
1691
+ | `ddd2bfc1fb60` | certain | {…} — how to use it | `modules/hall-ui/public/modules.js:385` |
1688
1692
  | `085f93f3f775` | certain | {…} — see all standings | `modules/hall-ui/public/hall-render.js:80` |
1689
1693
  | `f75ee96a7511` | certain | {…} — total payout from shipped work. | `modules/hall-ui/public/profile.js:94` |
1690
1694
  | `2a2728a4ec4f` | certain | {…}% of tasks complete | `modules/hall-ui/public/roadmap.js:63` |
@@ -1700,6 +1704,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1700
1704
  | `97e27ab169ae` | certain | {…}{…} session{…} across {…} builder{…}. | `modules/hall-ui/public/sessions.js:338` |
1701
1705
  | `3d74668f69e5` | certain | {…}{…} · {…} | `modules/hall-ui/public/task.js:667` |
1702
1706
  | `7f79bedecf60` | certain | {…}{…} — open it to see what went | `modules/hall-ui/public/goal-inbox.js:374` |
1707
+ | `1026fd5f68b7` | certain | · version | `modules/hall-ui/public/modules.js:388` |
1703
1708
  | `4a5ff4f662df` | certain | — ${…} of ${…} this month ({…}%). {…} | `modules/hall-ui/public/hall-render.js:517` |
1704
1709
  | `a6ae9cbdee30` | certain | — all builders — | `modules/hall-ui/public/builders.js:711` |
1705
1710
  | `729d4ce22b99` | certain | — any — | `modules/hall-ui/public/hall-widgets.js:132` |
@@ -1726,6 +1731,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1726
1731
  | `5f1d914ad45e` | certain | …{…} more — | `modules/hall-ui/public/goal-inbox.js:561` |
1727
1732
  | `de8fa5223aee` | certain | ‹ Prev | `modules/hall-ui/public/hall-kit.js:74` |
1728
1733
  | `d4b84b7fbdeb` | certain | ← All goals | `modules/hall-ui/public/goals.html:83` |
1734
+ | `9159687c73ff` | certain | ← All modules | `modules/hall-ui/public/modules.html:85` |
1729
1735
  | `7926e30955d2` | certain | ← Back to goal | `modules/hall-ui/public/goals.html:199` |
1730
1736
  | `7926e30955d2` | certain | ← Back to goal | `modules/hall-ui/public/goals.html:210` |
1731
1737
  | `7926e30955d2` | certain | ← Back to goal | `modules/hall-ui/public/goals.html:222` |
@@ -3,9 +3,9 @@
3
3
  "generator": "scripts/gds/copy-inventory.js",
4
4
  "goal": 1000074,
5
5
  "counts": {
6
- "strings": 2231,
7
- "unique_ids": 1921,
8
- "certain": 2231,
6
+ "strings": 2237,
7
+ "unique_ids": 1927,
8
+ "certain": 2237,
9
9
  "heuristic": 0,
10
10
  "duplicate_ids": 216
11
11
  },
@@ -13,7 +13,7 @@
13
13
  "builders-hall": {
14
14
  "at": "modules/hall-ui/public",
15
15
  "files": 112,
16
- "strings": 1660
16
+ "strings": 1666
17
17
  },
18
18
  "status-dashboard": {
19
19
  "at": "modules/status-ui/public",
@@ -2713,7 +2713,7 @@
2713
2713
  "surface": "builders-hall",
2714
2714
  "text": "A module built here can be submitted upstream for review, so it can join the shared catalog with your name and this project credited.",
2715
2715
  "file": "modules/hall-ui/public/modules.html",
2716
- "line": 71,
2716
+ "line": 74,
2717
2717
  "origin": "html-text",
2718
2718
  "confidence": "certain"
2719
2719
  },
@@ -3077,6 +3077,15 @@
3077
3077
  "origin": "js-markup",
3078
3078
  "confidence": "certain"
3079
3079
  },
3080
+ {
3081
+ "id": "70ffbebe42fd",
3082
+ "surface": "builders-hall",
3083
+ "text": "Also available as a Claude page",
3084
+ "file": "modules/hall-ui/public/modules.html",
3085
+ "line": 87,
3086
+ "origin": "html-text",
3087
+ "confidence": "certain"
3088
+ },
3080
3089
  {
3081
3090
  "id": "da5368d10f85",
3082
3091
  "surface": "builders-hall",
@@ -3640,7 +3649,7 @@
3640
3649
  "surface": "builders-hall",
3641
3650
  "text": "Built by this project",
3642
3651
  "file": "modules/hall-ui/public/modules.html",
3643
- "line": 67,
3652
+ "line": 70,
3644
3653
  "origin": "html-text",
3645
3654
  "confidence": "certain"
3646
3655
  },
@@ -3730,7 +3739,7 @@
3730
3739
  "surface": "builders-hall",
3731
3740
  "text": "Catalog at a glance",
3732
3741
  "file": "modules/hall-ui/public/modules.html",
3733
- "line": 50,
3742
+ "line": 53,
3734
3743
  "origin": "html-attr:aria-label",
3735
3744
  "confidence": "certain"
3736
3745
  },
@@ -4549,7 +4558,7 @@
4549
4558
  "surface": "builders-hall",
4550
4559
  "text": "Could not load modules.",
4551
4560
  "file": "modules/hall-ui/public/modules.js",
4552
- "line": 319,
4561
+ "line": 328,
4553
4562
  "origin": "js-notice",
4554
4563
  "confidence": "certain"
4555
4564
  },
@@ -4711,7 +4720,7 @@
4711
4720
  "surface": "builders-hall",
4712
4721
  "text": "Could not reach the submit endpoint.",
4713
4722
  "file": "modules/hall-ui/public/modules.js",
4714
- "line": 298,
4723
+ "line": 307,
4715
4724
  "origin": "js-notice",
4716
4725
  "confidence": "certain"
4717
4726
  },
@@ -5620,7 +5629,7 @@
5620
5629
  "surface": "builders-hall",
5621
5630
  "text": "Everything this instance can run: what the core ships, what this project built, and who keeps each one true as the core advances.",
5622
5631
  "file": "modules/hall-ui/public/modules.html",
5623
- "line": 32,
5632
+ "line": 35,
5624
5633
  "origin": "html-text",
5625
5634
  "confidence": "certain"
5626
5635
  },
@@ -7339,7 +7348,7 @@
7339
7348
  "surface": "builders-hall",
7340
7349
  "text": "Loading the catalog…",
7341
7350
  "file": "modules/hall-ui/public/modules.html",
7342
- "line": 59,
7351
+ "line": 62,
7343
7352
  "origin": "html-text",
7344
7353
  "confidence": "certain"
7345
7354
  },
@@ -7645,7 +7654,7 @@
7645
7654
  "surface": "builders-hall",
7646
7655
  "text": "Module catalog",
7647
7656
  "file": "modules/hall-ui/public/modules.html",
7648
- "line": 46,
7657
+ "line": 49,
7649
7658
  "origin": "html-text",
7650
7659
  "confidence": "certain"
7651
7660
  },
@@ -8527,7 +8536,7 @@
8527
8536
  "surface": "builders-hall",
8528
8537
  "text": "Nothing to submit — every module here ships with the core.",
8529
8538
  "file": "modules/hall-ui/public/modules.js",
8530
- "line": 259,
8539
+ "line": 268,
8531
8540
  "origin": "js-text-assign",
8532
8541
  "confidence": "certain"
8533
8542
  },
@@ -10106,6 +10115,15 @@
10106
10115
  "origin": "html-text",
10107
10116
  "confidence": "certain"
10108
10117
  },
10118
+ {
10119
+ "id": "ce046dcbd8e1",
10120
+ "surface": "builders-hall",
10121
+ "text": "Save as PDF",
10122
+ "file": "modules/hall-ui/public/modules.html",
10123
+ "line": 88,
10124
+ "origin": "html-text",
10125
+ "confidence": "certain"
10126
+ },
10109
10127
  {
10110
10128
  "id": "0c79b504aebe",
10111
10129
  "surface": "builders-hall",
@@ -10507,7 +10525,7 @@
10507
10525
  "surface": "builders-hall",
10508
10526
  "text": "Shipped with the core",
10509
10527
  "file": "modules/hall-ui/public/modules.html",
10510
- "line": 56,
10528
+ "line": 59,
10511
10529
  "origin": "html-text",
10512
10530
  "confidence": "certain"
10513
10531
  },
@@ -11866,7 +11884,7 @@
11866
11884
  "surface": "builders-hall",
11867
11885
  "text": "The shared repository the core ships and the modules this project built for itself, each credited to its author and the project it came from. Everyone can see the state; the switch is rank-gated.",
11868
11886
  "file": "modules/hall-ui/public/modules.html",
11869
- "line": 47,
11887
+ "line": 50,
11870
11888
  "origin": "html-text",
11871
11889
  "confidence": "certain"
11872
11890
  },
@@ -15502,7 +15520,7 @@
15502
15520
  "surface": "builders-hall",
15503
15521
  "text": "submit for review",
15504
15522
  "file": "modules/hall-ui/public/modules.js",
15505
- "line": 133,
15523
+ "line": 142,
15506
15524
  "origin": "js-markup",
15507
15525
  "confidence": "certain"
15508
15526
  },
@@ -16312,7 +16330,7 @@
16312
16330
  "surface": "builders-hall",
16313
16331
  "text": "{…} and above can enable or disable a module",
16314
16332
  "file": "modules/hall-ui/public/modules.js",
16315
- "line": 131,
16333
+ "line": 140,
16316
16334
  "origin": "js-markup",
16317
16335
  "confidence": "certain"
16318
16336
  },
@@ -16658,6 +16676,15 @@
16658
16676
  "origin": "js-text-assign",
16659
16677
  "confidence": "certain"
16660
16678
  },
16679
+ {
16680
+ "id": "a9216af9b05e",
16681
+ "surface": "builders-hall",
16682
+ "text": "{…} {…} — how-to",
16683
+ "file": "modules/hall-ui/public/modules.js",
16684
+ "line": 383,
16685
+ "origin": "js-text-assign",
16686
+ "confidence": "certain"
16687
+ },
16661
16688
  {
16662
16689
  "id": "0d4016a5531c",
16663
16690
  "surface": "builders-hall",
@@ -16721,6 +16748,15 @@
16721
16748
  "origin": "js-markup",
16722
16749
  "confidence": "certain"
16723
16750
  },
16751
+ {
16752
+ "id": "ddd2bfc1fb60",
16753
+ "surface": "builders-hall",
16754
+ "text": "{…} — how to use it",
16755
+ "file": "modules/hall-ui/public/modules.js",
16756
+ "line": 385,
16757
+ "origin": "js-text-assign",
16758
+ "confidence": "certain"
16759
+ },
16724
16760
  {
16725
16761
  "id": "085f93f3f775",
16726
16762
  "surface": "builders-hall",
@@ -16856,6 +16892,15 @@
16856
16892
  "origin": "js-markup",
16857
16893
  "confidence": "certain"
16858
16894
  },
16895
+ {
16896
+ "id": "1026fd5f68b7",
16897
+ "surface": "builders-hall",
16898
+ "text": "· version",
16899
+ "file": "modules/hall-ui/public/modules.js",
16900
+ "line": 388,
16901
+ "origin": "js-markup",
16902
+ "confidence": "certain"
16903
+ },
16859
16904
  {
16860
16905
  "id": "4a5ff4f662df",
16861
16906
  "surface": "builders-hall",
@@ -17090,6 +17135,15 @@
17090
17135
  "origin": "html-text",
17091
17136
  "confidence": "certain"
17092
17137
  },
17138
+ {
17139
+ "id": "9159687c73ff",
17140
+ "surface": "builders-hall",
17141
+ "text": "← All modules",
17142
+ "file": "modules/hall-ui/public/modules.html",
17143
+ "line": 85,
17144
+ "origin": "html-text",
17145
+ "confidence": "certain"
17146
+ },
17093
17147
  {
17094
17148
  "id": "7926e30955d2",
17095
17149
  "surface": "builders-hall",
@@ -2747,5 +2747,7 @@ is load-bearing: the script throws rather than guess if it is missing, and
2747
2747
  landed since 1.20.43 with no explicit bump. run 36804013644. (task 1002620)
2748
2748
  1.20.45 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
2749
2749
  landed since 1.20.44 with no explicit bump. run 36806095325. (task 1002620)
2750
+ 1.20.46 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
2751
+ landed since 1.20.45 with no explicit bump. run 36807065875. (task 1002620)
2750
2752
  ---------------------------------------------------------------------------
2751
2753
  ```
@@ -370,6 +370,7 @@ Run `bongos upgrade` to confirm coreVersion compatibility, then `node scripts/gd
370
370
  - The download is checked with `verifyModuleArtifact`, the same checker the store runs on publish, and must match the version and hashes the store described. A failed check places nothing.
371
371
  - A module with no price, or a zero price, is free and granted on the spot. A priced one answers 402 until buying exists (area 8). An entitlement is kept for good, even if a price is added later (ADR 0338 D2).
372
372
  - Install never enables. Switch the module on from the hall's Modules tab.
373
+ - **Every version's how-to is a page** (task 1004366). `GET /store/modules/:key/versions/:version/howto` reads the `HOWTO.md` from that version's own stored tarball, after the same hash check install runs, and returns it as text; the hall shows it at `/builders/modules?howto=<key>&version=<X.Y.Z>`, rendered through the hall's escaping markdown reader (`md-reader.js`) because the file is author-written. Any signed-in builder can read it without holding the module; a delisted module's how-to reads only for people who hold it. "Save as PDF" is the browser's own print, with a print sheet that keeps only the document. The optional `howto.artifactUrl` shows as "Also available as a Claude page". Install prints the link, and a Modules-tab row links it when the module on disk is a published store version. A version published before the gate has none and answers 404 `howto_missing`.
373
374
  - A module already on disk, in the instance's `modules/` or bundled with the core, is refused; moving one to a newer version is `update`. A module this core cannot mount is refused before download.
374
375
  - A delisted module cannot be acquired or downloaded. Channels are not checked yet: every version is general until the channel tasks land.
375
376
 
@@ -591,6 +591,7 @@
591
591
  "files": [
592
592
  "modules/hall-ui/public/modules.html",
593
593
  "modules/hall-ui/public/style.css",
594
+ "modules/hall-ui/public/room.css",
594
595
  "modules/hall-ui/public/oversight.css",
595
596
  "modules/hall-ui/public/modules.css",
596
597
  "modules/hall-ui/public/shell.js",
@@ -598,6 +599,7 @@
598
599
  "modules/hall-ui/public/dom-utils.js",
599
600
  "modules/hall-ui/public/brand-apply.js",
600
601
  "modules/hall-ui/public/hall-kit.js",
602
+ "modules/hall-ui/public/md-reader.js",
601
603
  "modules/hall-ui/public/modules.js"
602
604
  ],
603
605
  "states_files": [
@@ -1657,27 +1657,27 @@
1657
1657
  "surface": "builders",
1658
1658
  "title": "Modules",
1659
1659
  "states_read": ["browse","search-empty","lens","details","out"],
1660
- "files_hash": "6dd8711bd8eea1a0",
1660
+ "files_hash": "171b4bee0aa7dd21",
1661
1661
  "reading_hash": "165201cda2af2264",
1662
1662
  "counts": {"lines":42,"placed":14,"shared":5,"unplaced":23},
1663
1663
  "omitted": {"data":77},
1664
1664
  "notes": [],
1665
1665
  "lines": [
1666
- {"key":"L0001","section":"skip link","text":"Skip to content","placement":"shared","file":"modules/hall-ui/public/shell.js","line":770,"string_id":"87cee78ca134"},
1666
+ {"key":"L0001","section":"skip link","text":"Skip to content","placement":"shared","file":"modules/hall-ui/public/shell.js","line":767,"string_id":"87cee78ca134"},
1667
1667
  {"key":"L0002","section":"top bar","text":"Modules","placement":"shared"},
1668
- {"key":"L0003","section":"top bar","text":"Jump to…","placement":"shared","file":"modules/hall-ui/public/shell.js","line":490,"string_id":"eba610d25523"},
1669
- {"key":"L0004","section":"top bar","text":"⌘K","placement":"shared"},
1668
+ {"key":"L0003","section":"top bar","text":"Jump to…","placement":"shared","file":"modules/hall-ui/public/shell.js","line":487,"string_id":"eba610d25523"},
1669
+ {"key":"L0004","section":"top bar","text":"Ctrl K","placement":"shared"},
1670
1670
  {"key":"L0005","section":"Modules","text":"Modules","placement":"unplaced"},
1671
- {"key":"L0006","section":"Modules","text":"Everything this instance can run: what the core ships, what this project built, and who keeps each one true as the core advances.","placement":"placed","file":"modules/hall-ui/public/modules.html","line":32,"string_id":"efdb46f76b02"},
1672
- {"key":"L0007","section":"Module catalog","text":"Module catalog","placement":"placed","file":"modules/hall-ui/public/modules.html","line":46,"string_id":"0f8ea58a536b"},
1673
- {"key":"L0008","section":"Module catalog","text":"The shared repository the core ships and the modules this project built for itself, each credited to its author and the project it came from. Everyone can see the state; the switch is rank-gated.","placement":"placed","file":"modules/hall-ui/public/modules.html","line":47,"string_id":"ac46dc53d95f"},
1671
+ {"key":"L0006","section":"Modules","text":"Everything this instance can run: what the core ships, what this project built, and who keeps each one true as the core advances.","placement":"placed","file":"modules/hall-ui/public/modules.html","line":35,"string_id":"efdb46f76b02"},
1672
+ {"key":"L0007","section":"Module catalog","text":"Module catalog","placement":"placed","file":"modules/hall-ui/public/modules.html","line":49,"string_id":"0f8ea58a536b"},
1673
+ {"key":"L0008","section":"Module catalog","text":"The shared repository the core ships and the modules this project built for itself, each credited to its author and the project it came from. Everyone can see the state; the switch is rank-gated.","placement":"placed","file":"modules/hall-ui/public/modules.html","line":50,"string_id":"ac46dc53d95f"},
1674
1674
  {"key":"L0009","section":"Module catalog","text":"Search","placement":"unplaced"},
1675
1675
  {"key":"L0010","section":"Module catalog","text":"name, author, origin or licence","placement":"unplaced","attr":"placeholder"},
1676
1676
  {"key":"L0011","section":"Module catalog","text":"State","placement":"unplaced"},
1677
1677
  {"key":"L0012","section":"Module catalog","text":"all","placement":"unplaced"},
1678
1678
  {"key":"L0013","section":"Module catalog","text":"enabled","placement":"unplaced","occurrences":16},
1679
1679
  {"key":"L0014","section":"Module catalog","text":"disabled","placement":"unplaced","occurrences":4},
1680
- {"key":"L0015","section":"Module catalog","text":"{…} of {…}","placement":"placed","file":"modules/hall-ui/public/sky-panel.js","line":120,"string_id":"73c1372b43d9","state":"search-empty","occurrences":2},
1680
+ {"key":"L0015","section":"Module catalog","text":"{…} of {…}","placement":"placed","file":"modules/hall-ui/public/sky-panel.js","line":120,"string_id":"73c1372b43d9","state":"lens","occurrences":3},
1681
1681
  {"key":"L0016","section":"Module catalog","text":"modules","placement":"unplaced"},
1682
1682
  {"key":"L0017","section":"Module catalog","text":"16 from the {…}","placement":"unplaced"},
1683
1683
  {"key":"L0018","section":"Module catalog","text":"of {…}","placement":"placed","file":"modules/hall-ui/public/roadmap.js","line":288,"string_id":"5e7a2220c6a9"},
@@ -1685,7 +1685,7 @@
1685
1685
  {"key":"L0020","section":"Module catalog","text":"can go upstream","placement":"unplaced"},
1686
1686
  {"key":"L0021","section":"Module catalog","text":"no upkeep","placement":"unplaced"},
1687
1687
  {"key":"L0022","section":"Module catalog","text":"every module owned","placement":"unplaced"},
1688
- {"key":"L0023","section":"Module catalog","text":"Shipped with the core","placement":"placed","file":"modules/hall-ui/public/modules.html","line":56,"string_id":"b94a6b5b3d8c"},
1688
+ {"key":"L0023","section":"Module catalog","text":"Shipped with the core","placement":"placed","file":"modules/hall-ui/public/modules.html","line":59,"string_id":"b94a6b5b3d8c"},
1689
1689
  {"key":"L0024","section":"Module catalog","text":"No catalog module matches that {…}.","placement":"unplaced","state":"search-empty"},
1690
1690
  {"key":"L0025","section":"Module catalog","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","occurrences":12},
1691
1691
  {"key":"L0026","section":"Module catalog","text":"by","placement":"unplaced","occurrences":17},
@@ -1701,10 +1701,10 @@
1701
1701
  {"key":"L0036","section":"Module catalog","text":"{…}-loaded","placement":"unplaced"},
1702
1702
  {"key":"L0037","section":"Module catalog","text":"{…} file{…}","placement":"placed","file":"modules/hall-ui/public/gate.js","line":151,"string_id":"3efa67dc6e07"},
1703
1703
  {"key":"L0038","section":"Module catalog","text":"sessions","placement":"placed","file":"modules/hall-ui/public/task.js","line":495,"string_id":"732b4c935e36"},
1704
- {"key":"L0039","section":"Module catalog","text":"Built by this project","placement":"placed","file":"modules/hall-ui/public/modules.html","line":67,"string_id":"b51edc826cbe"},
1705
- {"key":"L0040","section":"Module catalog","text":"submit for review","placement":"placed","file":"modules/hall-ui/public/modules.js","line":133,"string_id":"0215b2cdca8c"},
1706
- {"key":"L0041","section":"Module catalog","text":"A module built here can be submitted upstream for review, so it can join the shared catalog with your name and this project credited.","placement":"placed","file":"modules/hall-ui/public/modules.html","line":71,"string_id":"2e17d7e236d9"},
1707
- {"key":"L0042","section":"footer","text":"Sign out","placement":"shared","file":"modules/hall-ui/public/shell.js","line":467,"string_id":"1883ad7f07fc"}
1704
+ {"key":"L0039","section":"Module catalog","text":"Built by this project","placement":"placed","file":"modules/hall-ui/public/modules.html","line":70,"string_id":"b51edc826cbe"},
1705
+ {"key":"L0040","section":"Module catalog","text":"submit for review","placement":"placed","file":"modules/hall-ui/public/modules.js","line":142,"string_id":"0215b2cdca8c"},
1706
+ {"key":"L0041","section":"Module catalog","text":"A module built here can be submitted upstream for review, so it can join the shared catalog with your name and this project credited.","placement":"placed","file":"modules/hall-ui/public/modules.html","line":74,"string_id":"2e17d7e236d9"},
1707
+ {"key":"L0042","section":"footer","text":"Sign out","placement":"shared","file":"modules/hall-ui/public/shell.js","line":464,"string_id":"1883ad7f07fc"}
1708
1708
  ]
1709
1709
  },
1710
1710
  {
@@ -72,3 +72,48 @@
72
72
  disabled in the faint ink, the accent only on hover. A viewer below the floor
73
73
  sees the state as a pill, not a dead control. */
74
74
  .mod-row__right .btn-ghost { white-space: nowrap; }
75
+
76
+ /* ---- One store version's how-to (task 1004366, ADR 0347) ----
77
+ The HOWTO.md a version shipped with, read as a document: the reading room's
78
+ article card (room.css .primer-article) under a bar holding the way back and
79
+ the two extras. The how-to link on a catalog row is a fact-line text link
80
+ with the 24px floor's padding trick, like the details disclosure above. */
81
+ .mod-howto {
82
+ display: inline-block;
83
+ min-height: 24px;
84
+ padding: 3px 4px;
85
+ margin: -3px -4px;
86
+ line-height: 18px;
87
+ color: var(--accent-ink);
88
+ }
89
+ .howto[hidden] { display: none; }
90
+ .howto__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 12px; }
91
+ .howto__actions { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
92
+ .howto__back, .howto__extra {
93
+ display: inline-block;
94
+ min-height: 24px;
95
+ padding: 3px 4px;
96
+ margin: -3px -4px;
97
+ line-height: 18px;
98
+ font-size: 13.5px;
99
+ color: var(--accent-ink);
100
+ }
101
+ .howto__extra[hidden] { display: none; }
102
+ .howto__meta { margin: 0 0 6px; font-size: 13px; color: var(--ink-soft); }
103
+ .howto__h { margin: 0 0 14px; }
104
+
105
+ /* "Save as PDF" is the browser's own print (CLAUDE.md §4: the cheapest path, no
106
+ server-side PDF library). The print sheet keeps the document and drops the
107
+ hall around it, so the saved PDF is the how-to and nothing else. */
108
+ @media print {
109
+ .app-sidebar, .app-scrim, .app-topbar, .app-foot, .page-head, #core-scroll, .howto__bar, .toast { display: none !important; }
110
+ .app, .app-body, .app-content, #hall-main { display: block !important; margin: 0 !important; padding: 0 !important; }
111
+ /* Paper is light whatever mode the hall was in: the system pair, not a literal. */
112
+ html { color-scheme: light; }
113
+ body, .howto__doc { background: Canvas !important; color: CanvasText !important; }
114
+ .howto__doc { max-width: none; box-shadow: none !important; background: none !important; padding: 0 !important; }
115
+ /* The dark tier's ink is light; on paper every line is the system ink. */
116
+ .howto__doc * { color: CanvasText !important; background: none !important; }
117
+ .howto__doc a { text-decoration: underline; }
118
+ .howto__doc pre { white-space: pre-wrap; }
119
+ }
@@ -9,6 +9,9 @@
9
9
  <link rel="preconnect" href="https://fonts.googleapis.com">
10
10
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
11
11
  <link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
12
+ <!-- task 1004366: a store version's how-to reads as a document, so it borrows the
13
+ reading room's article card (room.css is scoped to its own primer- classes). -->
14
+ <link rel="stylesheet" href="/builders/room.css">
12
15
  <!-- task 1003472: the catalog rides the oversight family's row (a titled row
13
16
  with facts and one action on the right), so the family sheet loads first
14
17
  and modules.css holds only what a module row has that no other row does. -->
@@ -71,6 +74,24 @@
71
74
  <p class="ov-foot" id="submit-lede">A module built here can be submitted upstream for review, so it can join the shared catalog with your name and this project credited.</p>
72
75
  </div>
73
76
  </section>
77
+
78
+ <!-- One store version's how-to (task 1004366, ADR 0347): the HOWTO.md that
79
+ version shipped with, opened as ?howto=<key>&version=<X.Y.Z>. Hidden
80
+ until then; when it shows, the catalog above is hidden instead. The
81
+ markdown is author-written, so it renders through md-reader.js, which
82
+ escapes every byte before it adds any markup. -->
83
+ <section class="howto" id="howto-view" aria-labelledby="howto-h" hidden>
84
+ <div class="howto__bar">
85
+ <a class="howto__back" href="/builders/modules">← All modules</a>
86
+ <span class="howto__actions">
87
+ <a class="howto__extra" id="howto-extra" target="_blank" rel="noopener" hidden>Also available as a Claude page</a>
88
+ <button type="button" class="btn-ghost btn--sm" id="howto-print">Save as PDF</button>
89
+ </span>
90
+ </div>
91
+ <p class="howto__meta" id="howto-meta"></p>
92
+ <h2 class="howto__h" id="howto-h">How-to</h2>
93
+ <article class="primer-article scroll howto__doc" id="howto-doc" aria-busy="true"></article>
94
+ </section>
74
95
  </main>
75
96
 
76
97
  <footer class="app-foot" id="app-foot"></footer>
@@ -86,6 +107,7 @@
86
107
  <script src="/builders/dom-utils.js?v=2026-06-23-contrib"></script>
87
108
  <script src="/builders/brand-apply.js"></script>
88
109
  <script src="/builders/hall-kit.js"></script>
89
- <script src="/builders/modules.js?v=2026-09-02-rows"></script>
110
+ <script src="/builders/md-reader.js"></script>
111
+ <script src="/builders/modules.js?v=2026-09-30-howto"></script>
90
112
  </body>
91
113
  </html>