@bongos/core 1.19.927 → 1.19.929

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 (53) hide show
  1. package/.bongos-core.json +83 -53
  2. package/docs/copy-inventory.md +36 -15
  3. package/docs/copy-registry.json +239 -28
  4. package/docs/file-map.md +1 -1
  5. package/docs/module-api-changelog.md +4 -0
  6. package/modules/hall-ui/public/atlas.html +1 -1
  7. package/modules/hall-ui/public/blockers.html +1 -1
  8. package/modules/hall-ui/public/board-room.html +1 -1
  9. package/modules/hall-ui/public/collab.html +1 -1
  10. package/modules/hall-ui/public/copy-desk.html +1 -1
  11. package/modules/hall-ui/public/deploy.html +1 -1
  12. package/modules/hall-ui/public/diagrams.html +1 -1
  13. package/modules/hall-ui/public/drachmae.html +1 -1
  14. package/modules/hall-ui/public/gate.html +1 -1
  15. package/modules/hall-ui/public/goals.html +1 -1
  16. package/modules/hall-ui/public/government.html +1 -1
  17. package/modules/hall-ui/public/idea-objects.js +109 -0
  18. package/modules/hall-ui/public/idea.html +1 -1
  19. package/modules/hall-ui/public/ideas.html +1 -1
  20. package/modules/hall-ui/public/index.html +1 -1
  21. package/modules/hall-ui/public/modules.html +1 -1
  22. package/modules/hall-ui/public/people.html +1 -1
  23. package/modules/hall-ui/public/primer.html +1 -1
  24. package/modules/hall-ui/public/profile.html +1 -1
  25. package/modules/hall-ui/public/project-settings.html +1 -1
  26. package/modules/hall-ui/public/ranks.html +1 -1
  27. package/modules/hall-ui/public/roadmap.html +1 -1
  28. package/modules/hall-ui/public/roster.html +1 -1
  29. package/modules/hall-ui/public/sessions.html +1 -1
  30. package/modules/hall-ui/public/settings.html +1 -1
  31. package/modules/hall-ui/public/shell.js +11 -0
  32. package/modules/hall-ui/public/studio.html +1 -1
  33. package/modules/hall-ui/public/task.html +1 -1
  34. package/modules/hall-ui/public/thinking.css +286 -0
  35. package/modules/hall-ui/public/thinking.html +74 -0
  36. package/modules/hall-ui/public/thinking.js +418 -0
  37. package/modules/hall-ui/public/thinking.states.json +20 -0
  38. package/modules/hall-ui/public/watch.html +1 -1
  39. package/modules/hall-ui/public/work.html +1 -1
  40. package/package-lock.json +2 -2
  41. package/package.json +1 -1
  42. package/scripts/gds/provision-config.js +11 -0
  43. package/scripts/gds/provision-core-upgrade.js +90 -10
  44. package/scripts/gds/provision.js +3 -3
  45. package/src/bongos/serve-internal.js +7 -1
  46. package/src/module-api.js +1 -1
  47. package/tests/core_upgrade_runner.mjs +153 -0
  48. package/tests/hall_nav.mjs +1 -1
  49. package/tests/hall_page_gate_map.mjs +6 -0
  50. package/tests/hall_thinking_room.mjs +366 -0
  51. package/tests/helpers.mjs +124 -0
  52. package/tests/nav_permission_atoms.mjs +1 -1
  53. package/tests/provision.mjs +41 -0
@@ -3,17 +3,17 @@
3
3
  "generator": "scripts/gds/copy-inventory.js",
4
4
  "goal": 1000074,
5
5
  "counts": {
6
- "strings": 1840,
7
- "unique_ids": 1597,
8
- "certain": 1840,
6
+ "strings": 1861,
7
+ "unique_ids": 1614,
8
+ "certain": 1861,
9
9
  "heuristic": 0,
10
- "duplicate_ids": 166
10
+ "duplicate_ids": 168
11
11
  },
12
12
  "surfaces": {
13
13
  "builders-hall": {
14
14
  "at": "modules/hall-ui/public",
15
- "files": 84,
16
- "strings": 1350
15
+ "files": 87,
16
+ "strings": 1371
17
17
  },
18
18
  "status-dashboard": {
19
19
  "at": "modules/status-ui/public",
@@ -177,7 +177,7 @@
177
177
  "modules/hall-ui/public/hall-render.js:367",
178
178
  "modules/hall-ui/public/hall-render.js:391",
179
179
  "modules/hall-ui/public/hall-render.js:461",
180
- "modules/hall-ui/public/shell.js:430"
180
+ "modules/hall-ui/public/shell.js:441"
181
181
  ]
182
182
  },
183
183
  {
@@ -355,6 +355,17 @@
355
355
  "modules/hall-ui/public/drachmae.html:37"
356
356
  ]
357
357
  },
358
+ {
359
+ "id": "a4ff1e9c34e3",
360
+ "surface": "builders-hall",
361
+ "text": "Idea {…}",
362
+ "occurrences": 3,
363
+ "at": [
364
+ "modules/hall-ui/public/idea.js:418",
365
+ "modules/hall-ui/public/idea.js:459",
366
+ "modules/hall-ui/public/thinking.js:212"
367
+ ]
368
+ },
358
369
  {
359
370
  "id": "f6f68ba322be",
360
371
  "surface": "builders-hall",
@@ -443,6 +454,17 @@
443
454
  "modules/public-landing/public/projects.html:610"
444
455
  ]
445
456
  },
457
+ {
458
+ "id": "aeaab4969b68",
459
+ "surface": "builders-hall",
460
+ "text": "Your thinking",
461
+ "occurrences": 3,
462
+ "at": [
463
+ "modules/hall-ui/public/thinking.html:21",
464
+ "modules/hall-ui/public/thinking.html:21",
465
+ "modules/hall-ui/public/thinking.html:34"
466
+ ]
467
+ },
446
468
  {
447
469
  "id": "cc5106af4b35",
448
470
  "surface": "builders-hall",
@@ -905,16 +927,6 @@
905
927
  "modules/hall-ui/public/primer.js:258"
906
928
  ]
907
929
  },
908
- {
909
- "id": "a4ff1e9c34e3",
910
- "surface": "builders-hall",
911
- "text": "Idea {…}",
912
- "occurrences": 2,
913
- "at": [
914
- "modules/hall-ui/public/idea.js:418",
915
- "modules/hall-ui/public/idea.js:459"
916
- ]
917
- },
918
930
  {
919
931
  "id": "ba82ec56f1e3",
920
932
  "surface": "builders-hall",
@@ -1361,8 +1373,8 @@
1361
1373
  "text": "Sign out",
1362
1374
  "occurrences": 2,
1363
1375
  "at": [
1364
- "modules/hall-ui/public/shell.js:448",
1365
- "modules/hall-ui/public/shell.js:672"
1376
+ "modules/hall-ui/public/shell.js:459",
1377
+ "modules/hall-ui/public/shell.js:683"
1366
1378
  ]
1367
1379
  },
1368
1380
  {
@@ -1505,6 +1517,16 @@
1505
1517
  "modules/hall-ui/public/settings.js:1327"
1506
1518
  ]
1507
1519
  },
1520
+ {
1521
+ "id": "0eecdb74f99f",
1522
+ "surface": "builders-hall",
1523
+ "text": "Your thinking — {{worldName}}",
1524
+ "occurrences": 2,
1525
+ "at": [
1526
+ "modules/hall-ui/public/thinking.html:6",
1527
+ "modules/hall-ui/public/thinking.html:6"
1528
+ ]
1529
+ },
1508
1530
  {
1509
1531
  "id": "60550f388cc9",
1510
1532
  "surface": "builders-hall",
@@ -4900,6 +4922,15 @@
4900
4922
  "origin": "html-text",
4901
4923
  "confidence": "certain"
4902
4924
  },
4925
+ {
4926
+ "id": "db2a9415fde4",
4927
+ "surface": "builders-hall",
4928
+ "text": "File a thought",
4929
+ "file": "modules/hall-ui/public/thinking.js",
4930
+ "line": 310,
4931
+ "origin": "js-markup",
4932
+ "confidence": "certain"
4933
+ },
4903
4934
  {
4904
4935
  "id": "0f166311ff3f",
4905
4936
  "surface": "builders-hall",
@@ -5701,6 +5732,15 @@
5701
5732
  "origin": "js-text-assign",
5702
5733
  "confidence": "certain"
5703
5734
  },
5735
+ {
5736
+ "id": "a4ff1e9c34e3",
5737
+ "surface": "builders-hall",
5738
+ "text": "Idea {…}",
5739
+ "file": "modules/hall-ui/public/thinking.js",
5740
+ "line": 212,
5741
+ "origin": "js-markup",
5742
+ "confidence": "certain"
5743
+ },
5704
5744
  {
5705
5745
  "id": "ba82ec56f1e3",
5706
5746
  "surface": "builders-hall",
@@ -5985,7 +6025,7 @@
5985
6025
  "surface": "builders-hall",
5986
6026
  "text": "Jump to a page or record",
5987
6027
  "file": "modules/hall-ui/public/shell.js",
5988
- "line": 469,
6028
+ "line": 480,
5989
6029
  "origin": "js-markup",
5990
6030
  "confidence": "certain"
5991
6031
  },
@@ -5994,7 +6034,7 @@
5994
6034
  "surface": "builders-hall",
5995
6035
  "text": "Jump to…",
5996
6036
  "file": "modules/hall-ui/public/shell.js",
5997
- "line": 471,
6037
+ "line": 482,
5998
6038
  "origin": "js-markup",
5999
6039
  "confidence": "certain"
6000
6040
  },
@@ -6367,6 +6407,15 @@
6367
6407
  "origin": "js-markup",
6368
6408
  "confidence": "certain"
6369
6409
  },
6410
+ {
6411
+ "id": "354899f1494a",
6412
+ "surface": "builders-hall",
6413
+ "text": "Loading what you filed…",
6414
+ "file": "modules/hall-ui/public/thinking.html",
6415
+ "line": 35,
6416
+ "origin": "html-text",
6417
+ "confidence": "certain"
6418
+ },
6370
6419
  {
6371
6420
  "id": "3c43f157035e",
6372
6421
  "surface": "builders-hall",
@@ -7249,6 +7298,15 @@
7249
7298
  "origin": "js-markup",
7250
7299
  "confidence": "certain"
7251
7300
  },
7301
+ {
7302
+ "id": "073d7fb013ae",
7303
+ "surface": "builders-hall",
7304
+ "text": "Nothing of yours is {…} right now.",
7305
+ "file": "modules/hall-ui/public/thinking.js",
7306
+ "line": 311,
7307
+ "origin": "js-markup",
7308
+ "confidence": "certain"
7309
+ },
7252
7310
  {
7253
7311
  "id": "ad9a17a8a5eb",
7254
7312
  "surface": "builders-hall",
@@ -7443,7 +7501,7 @@
7443
7501
  "surface": "builders-hall",
7444
7502
  "text": "Open navigation",
7445
7503
  "file": "modules/hall-ui/public/shell.js",
7446
- "line": 460,
7504
+ "line": 471,
7447
7505
  "origin": "js-markup",
7448
7506
  "confidence": "certain"
7449
7507
  },
@@ -9049,6 +9107,15 @@
9049
9107
  "origin": "js-markup",
9050
9108
  "confidence": "certain"
9051
9109
  },
9110
+ {
9111
+ "id": "daa9ca82cd59",
9112
+ "surface": "builders-hall",
9113
+ "text": "Show only",
9114
+ "file": "modules/hall-ui/public/thinking.html",
9115
+ "line": 51,
9116
+ "origin": "html-attr:aria-label",
9117
+ "confidence": "certain"
9118
+ },
9052
9119
  {
9053
9120
  "id": "dc0f9fe50a65",
9054
9121
  "surface": "builders-hall",
@@ -9171,7 +9238,7 @@
9171
9238
  "surface": "builders-hall",
9172
9239
  "text": "Sign in with GitHub",
9173
9240
  "file": "modules/hall-ui/public/shell.js",
9174
- "line": 430,
9241
+ "line": 441,
9175
9242
  "origin": "js-markup",
9176
9243
  "confidence": "certain"
9177
9244
  },
@@ -9180,7 +9247,7 @@
9180
9247
  "surface": "builders-hall",
9181
9248
  "text": "Sign out",
9182
9249
  "file": "modules/hall-ui/public/shell.js",
9183
- "line": 448,
9250
+ "line": 459,
9184
9251
  "origin": "js-markup",
9185
9252
  "confidence": "certain"
9186
9253
  },
@@ -9189,7 +9256,7 @@
9189
9256
  "surface": "builders-hall",
9190
9257
  "text": "Sign out",
9191
9258
  "file": "modules/hall-ui/public/shell.js",
9192
- "line": 672,
9259
+ "line": 683,
9193
9260
  "origin": "js-markup",
9194
9261
  "confidence": "certain"
9195
9262
  },
@@ -9216,7 +9283,7 @@
9216
9283
  "surface": "builders-hall",
9217
9284
  "text": "Skip to content",
9218
9285
  "file": "modules/hall-ui/public/shell.js",
9219
- "line": 663,
9286
+ "line": 674,
9220
9287
  "origin": "js-text-assign",
9221
9288
  "confidence": "certain"
9222
9289
  },
@@ -9441,7 +9508,7 @@
9441
9508
  "surface": "builders-hall",
9442
9509
  "text": "Switch theme",
9443
9510
  "file": "modules/hall-ui/public/shell.js",
9444
- "line": 475,
9511
+ "line": 486,
9445
9512
  "origin": "js-markup",
9446
9513
  "confidence": "certain"
9447
9514
  },
@@ -9612,7 +9679,7 @@
9612
9679
  "surface": "builders-hall",
9613
9680
  "text": "Text size",
9614
9681
  "file": "modules/hall-ui/public/shell.js",
9615
- "line": 474,
9682
+ "line": 485,
9616
9683
  "origin": "js-markup",
9617
9684
  "confidence": "certain"
9618
9685
  },
@@ -10156,6 +10223,15 @@
10156
10223
  "origin": "js-markup",
10157
10224
  "confidence": "certain"
10158
10225
  },
10226
+ {
10227
+ "id": "59ed56e621a2",
10228
+ "surface": "builders-hall",
10229
+ "text": "The thought",
10230
+ "file": "modules/hall-ui/public/thinking.js",
10231
+ "line": 314,
10232
+ "origin": "js-markup",
10233
+ "confidence": "certain"
10234
+ },
10159
10235
  {
10160
10236
  "id": "aed969dd1e18",
10161
10237
  "surface": "builders-hall",
@@ -10939,6 +11015,15 @@
10939
11015
  "origin": "html-text",
10940
11016
  "confidence": "certain"
10941
11017
  },
11018
+ {
11019
+ "id": "a17692a923fa",
11020
+ "surface": "builders-hall",
11021
+ "text": "What you filed, and what became of it",
11022
+ "file": "modules/hall-ui/public/thinking.html",
11023
+ "line": 40,
11024
+ "origin": "html-text",
11025
+ "confidence": "certain"
11026
+ },
10942
11027
  {
10943
11028
  "id": "1d5bfd09068c",
10944
11029
  "surface": "builders-hall",
@@ -11326,6 +11411,15 @@
11326
11411
  "origin": "html-text",
11327
11412
  "confidence": "certain"
11328
11413
  },
11414
+ {
11415
+ "id": "f8df4e9f4c21",
11416
+ "surface": "builders-hall",
11417
+ "text": "You have not filed anything yet.",
11418
+ "file": "modules/hall-ui/public/thinking.js",
11419
+ "line": 310,
11420
+ "origin": "js-markup",
11421
+ "confidence": "certain"
11422
+ },
11329
11423
  {
11330
11424
  "id": "6b759151f722",
11331
11425
  "surface": "builders-hall",
@@ -11488,6 +11582,15 @@
11488
11582
  "origin": "js-text-assign",
11489
11583
  "confidence": "certain"
11490
11584
  },
11585
+ {
11586
+ "id": "d88a5ed271bb",
11587
+ "surface": "builders-hall",
11588
+ "text": "Your own view of your own thinking. Size is the work a thought caused and never falls; brightness is how much of that work is still alive — that is the part that can go out.",
11589
+ "file": "modules/hall-ui/public/thinking.html",
11590
+ "line": 41,
11591
+ "origin": "html-text",
11592
+ "confidence": "certain"
11593
+ },
11491
11594
  {
11492
11595
  "id": "8fc605026acf",
11493
11596
  "surface": "builders-hall",
@@ -11560,6 +11663,51 @@
11560
11663
  "origin": "html-text",
11561
11664
  "confidence": "certain"
11562
11665
  },
11666
+ {
11667
+ "id": "aeaab4969b68",
11668
+ "surface": "builders-hall",
11669
+ "text": "Your thinking",
11670
+ "file": "modules/hall-ui/public/thinking.html",
11671
+ "line": 21,
11672
+ "origin": "html-attr:title",
11673
+ "confidence": "certain"
11674
+ },
11675
+ {
11676
+ "id": "aeaab4969b68",
11677
+ "surface": "builders-hall",
11678
+ "text": "Your thinking",
11679
+ "file": "modules/hall-ui/public/thinking.html",
11680
+ "line": 21,
11681
+ "origin": "html-attr:data-page-title",
11682
+ "confidence": "certain"
11683
+ },
11684
+ {
11685
+ "id": "aeaab4969b68",
11686
+ "surface": "builders-hall",
11687
+ "text": "Your thinking",
11688
+ "file": "modules/hall-ui/public/thinking.html",
11689
+ "line": 34,
11690
+ "origin": "html-text",
11691
+ "confidence": "certain"
11692
+ },
11693
+ {
11694
+ "id": "0eecdb74f99f",
11695
+ "surface": "builders-hall",
11696
+ "text": "Your thinking — {{worldName}}",
11697
+ "file": "modules/hall-ui/public/thinking.html",
11698
+ "line": 6,
11699
+ "origin": "html-text",
11700
+ "confidence": "certain"
11701
+ },
11702
+ {
11703
+ "id": "0eecdb74f99f",
11704
+ "surface": "builders-hall",
11705
+ "text": "Your thinking — {{worldName}}",
11706
+ "file": "modules/hall-ui/public/thinking.html",
11707
+ "line": 6,
11708
+ "origin": "html-title",
11709
+ "confidence": "certain"
11710
+ },
11563
11711
  {
11564
11712
  "id": "c16addf957d0",
11565
11713
  "surface": "builders-hall",
@@ -11758,6 +11906,15 @@
11758
11906
  "origin": "js-markup",
11759
11907
  "confidence": "certain"
11760
11908
  },
11909
+ {
11910
+ "id": "777417ce5000",
11911
+ "surface": "builders-hall",
11912
+ "text": "and {…} more below {…}",
11913
+ "file": "modules/hall-ui/public/thinking.js",
11914
+ "line": 122,
11915
+ "origin": "js-markup",
11916
+ "confidence": "certain"
11917
+ },
11761
11918
  {
11762
11919
  "id": "d86265f99668",
11763
11920
  "surface": "builders-hall",
@@ -11893,6 +12050,15 @@
11893
12050
  "origin": "html-text",
11894
12051
  "confidence": "certain"
11895
12052
  },
12053
+ {
12054
+ "id": "2d3cb97da7e0",
12055
+ "surface": "builders-hall",
12056
+ "text": "computed from the descent this idea already had — not payouts that were made",
12057
+ "file": "modules/hall-ui/public/thinking.js",
12058
+ "line": 157,
12059
+ "origin": "js-markup",
12060
+ "confidence": "certain"
12061
+ },
11896
12062
  {
11897
12063
  "id": "b2ed350c2c2c",
11898
12064
  "surface": "builders-hall",
@@ -12460,6 +12626,15 @@
12460
12626
  "origin": "js-markup",
12461
12627
  "confidence": "certain"
12462
12628
  },
12629
+ {
12630
+ "id": "8b92db6fddef",
12631
+ "surface": "builders-hall",
12632
+ "text": "nothing yet",
12633
+ "file": "modules/hall-ui/public/thinking.js",
12634
+ "line": 104,
12635
+ "origin": "js-markup",
12636
+ "confidence": "certain"
12637
+ },
12463
12638
  {
12464
12639
  "id": "e2c643fbf4d6",
12465
12640
  "surface": "builders-hall",
@@ -12577,6 +12752,15 @@
12577
12752
  "origin": "js-markup",
12578
12753
  "confidence": "certain"
12579
12754
  },
12755
+ {
12756
+ "id": "3f758b990360",
12757
+ "surface": "builders-hall",
12758
+ "text": "part historical",
12759
+ "file": "modules/hall-ui/public/thinking.js",
12760
+ "line": 157,
12761
+ "origin": "js-markup",
12762
+ "confidence": "certain"
12763
+ },
12580
12764
  {
12581
12765
  "id": "884948925fcb",
12582
12766
  "surface": "builders-hall",
@@ -12847,6 +13031,15 @@
12847
13031
  "origin": "js-markup",
12848
13032
  "confidence": "certain"
12849
13033
  },
13034
+ {
13035
+ "id": "3062f18d0659",
13036
+ "surface": "builders-hall",
13037
+ "text": "the ledger could not be read",
13038
+ "file": "modules/hall-ui/public/thinking.js",
13039
+ "line": 149,
13040
+ "origin": "js-markup",
13041
+ "confidence": "certain"
13042
+ },
12850
13043
  {
12851
13044
  "id": "95854f8315ca",
12852
13045
  "surface": "builders-hall",
@@ -12991,6 +13184,15 @@
12991
13184
  "origin": "js-markup",
12992
13185
  "confidence": "certain"
12993
13186
  },
13187
+ {
13188
+ "id": "1711516b4411",
13189
+ "surface": "builders-hall",
13190
+ "text": "waiting for a nod",
13191
+ "file": "modules/hall-ui/public/thinking.js",
13192
+ "line": 130,
13193
+ "origin": "js-markup",
13194
+ "confidence": "certain"
13195
+ },
12994
13196
  {
12995
13197
  "id": "35be9e0923da",
12996
13198
  "surface": "builders-hall",
@@ -13666,6 +13868,15 @@
13666
13868
  "origin": "js-markup",
13667
13869
  "confidence": "certain"
13668
13870
  },
13871
+ {
13872
+ "id": "03d2d984684f",
13873
+ "surface": "builders-hall",
13874
+ "text": "— it takes one line.",
13875
+ "file": "modules/hall-ui/public/thinking.js",
13876
+ "line": 310,
13877
+ "origin": "js-markup",
13878
+ "confidence": "certain"
13879
+ },
13669
13880
  {
13670
13881
  "id": "417adabd1a00",
13671
13882
  "surface": "builders-hall",
package/docs/file-map.md CHANGED
@@ -134,7 +134,7 @@
134
134
  │ ├── sessions/ ← CORE-DOMAIN carve (BV1.R82, default-on): the session_records corpus + data plane (upload, cross-builder search/deep-dive), the BFG read-the-room scorer, session-pulse/stale-claim helpers. Registers no port — reached via HTTP POST to its own /sessions route; resolves the economy `reward` port for the cost-plus token reward. CLAUDE.md, module.json, routes/sessions.js, bfg.js, pulse.js.
135
135
  │ ├── autonomy/ ← CORE-DOMAIN carve (BV1.R83, default-on): the MAS autonomy surfaces — the $0 deterministic autonomy gate (System 3, inert until armed), the conductor/architect CLIs, and the in-process routine timers (incl. the weekly peer-vote-tally poller). Registers no port; resolves the lifecycle `tallyPeerVotes` doorway. CLAUDE.md, module.json, routes/autonomy.js, autonomy.js.
136
136
  │ ├── status-ui/ ← CORE-DOMAIN WEB-SURFACE carve (BV1.R84, default-on): the public status dashboard at status.<apex>, moved from public-status/. NO routes/db/port — declares contributes.webSurfaces:[{host:"status.",dir:"public"}], served by the loader web-surface seam (moduleWebSurfaces → serve-internal). CLAUDE.md, module.json, public/{index.html,status.js,style.css,cursors/,snapshots/}.
137
- │ ├── hall-ui/ ← CORE-DOMAIN WEB-SURFACE carve (BV1.R85, default-on): the authenticated builders' hall at builders.<apex>, moved from public-builders/ (~13k LOC, the largest). NO routes/db/port — declares contributes.webSurfaces:[{host:"builders.",dir:"public"}] for discovery, but UNLIKE status-ui keeps its DEDICATED serving block in serve-internal (the /builders shim + canonical redirects + citizen/Archon page gates + asset-stamping + hall-widget injection), partitioned out of the generic web-surface loop and served from BUILDERS_DIR. CLAUDE.md, module.json, public/{index.html,builders.js,style.css,work,watch,gate,settings,ranks,sessions,primer,diagrams,atlas,...}.{html,js},cursors/,chime.wav. Four ARCHETYPE sheets sit beside the per-page ones: `record.css` (the task + idea records, task 1003305), `room.css` (the READING ROOMS — the primer + the diagrams index, task 1003306: the reading measure and rhythm, the table of contents, the progress hairline and the framed figure diagram-viewer.js upgrades on both pages), `oversight.css` (the OVERSIGHT family — government, watch, gate, task 1003469 (harbor was its fourth until task 1003890 removed the dev box): the row, the figure band inside a panel, the group head, the inline form, the grant toggle and the shared confirm modal; named oversight because the vocabulary wall bans "governance" on the government surface) and `panel.css` (the PANEL family — settings, profile, task 1003308 (pair was its third until task 1003890 removed the dev box): the row, the switch, the field with its label above, the chip control, the four voices and the sign-in gate; the hall's my-projects page was DELETED in the same task — "my projects" is the hub's user-level page, and the hall keeps no link or redirect; the family's fourth page `not-ready.html` was deleted by task 1003450, along with the emptied `requireNonXenosPage` gate that was the only thing redirecting to it). A page sheet then holds only what one page has and the others do not — `primer.css` the acknowledge gate, `diagrams.css` the legend strip, `gate.css` the hold reasons and file chips, `watch.css` the severities, the report reader and the grade trend, `settings.css` the rail layout, the group head, the token ladder and the voices grid, `profile.css` the identity band and the shelf, `people.css` the directory's identity cell (task 1003470 made the legacy door `/scouting` ship the same body and script as `/people`; task 1003440 then deleted the door — `scouting.html` and `scouting.states.json` are gone and the URL 301s to `/people`).
137
+ │ ├── hall-ui/ ← CORE-DOMAIN WEB-SURFACE carve (BV1.R85, default-on): the authenticated builders' hall at builders.<apex>, moved from public-builders/ (~13k LOC, the largest). NO routes/db/port — declares contributes.webSurfaces:[{host:"builders.",dir:"public"}] for discovery, but UNLIKE status-ui keeps its DEDICATED serving block in serve-internal (the /builders shim + canonical redirects + citizen/Archon page gates + asset-stamping + hall-widget injection), partitioned out of the generic web-surface loop and served from BUILDERS_DIR. CLAUDE.md, module.json, public/{index.html,builders.js,style.css,work,watch,gate,settings,ranks,sessions,primer,diagrams,atlas,...}.{html,js},cursors/,chime.wav. Four ARCHETYPE sheets sit beside the per-page ones: `record.css` (the task + idea records, task 1003305), `room.css` (the READING ROOMS — the primer + the diagrams index, task 1003306: the reading measure and rhythm, the table of contents, the progress hairline and the framed figure diagram-viewer.js upgrades on both pages), `oversight.css` (the OVERSIGHT family — government, watch, gate, task 1003469 (harbor was its fourth until task 1003890 removed the dev box): the row, the figure band inside a panel, the group head, the inline form, the grant toggle and the shared confirm modal; named oversight because the vocabulary wall bans "governance" on the government surface) and `panel.css` (the PANEL family — settings, profile, task 1003308 (pair was its third until task 1003890 removed the dev box): the row, the switch, the field with its label above, the chip control, the four voices and the sign-in gate; the hall's my-projects page was DELETED in the same task — "my projects" is the hub's user-level page, and the hall keeps no link or redirect; the family's fourth page `not-ready.html` was deleted by task 1003450, along with the emptied `requireNonXenosPage` gate that was the only thing redirecting to it). A page sheet then holds only what one page has and the others do not — `primer.css` the acknowledge gate, `diagrams.css` the legend strip, `gate.css` the hold reasons and file chips, `watch.css` the severities, the report reader and the grade trend, `settings.css` the rail layout, the group head, the token ladder and the voices grid, `profile.css` the identity band and the shelf, `people.css` the directory's identity cell (task 1003470 made the legacy door `/scouting` ship the same body and script as `/people`; task 1003440 then deleted the door — `scouting.html` and `scouting.states.json` are gone and the URL 301s to `/people`), `thinking.css` THE ROOM's figure run, size bar and five-object marks (task 1004098 / BV2.R03 — `thinking.{html,js}` at `/thinking`, named for its own h1 because `room.css` is the reading-room archetype and `board-room` is the government surface; `idea-objects.js` beside it is the shared object vocabulary the sky will take too).
138
138
  │ ├── lifecycle/ ← CORE-DOMAIN carve (BV1.R86, default-on): the build state machine — tasks · claims · versions · done-when · goals · dependencies · claim→ship→grade→credit · github-push + merge-lock + conflict-resolve + publish-reconciler. The LAST, most-coupled carve; registers the `lifecycle` kernel port (createTask, classifyTaskKind, tallyPeerVotes, work-tracking reads). CLAUDE.md, module.json, routes/{tasks,claims,versions,done-when,goals,dependencies,gate-approvals,analytics}.js, lifecycle.js, github-push.js, merge-lock.js, conflict-resolve.js, publish-reconciler.js, task-visuals.js + task-visual-db.js + routes/visuals.js (the optional ship-time visual, task 1003109 — the route file is NOT named task-*.js on purpose; see the module CLAUDE.md).
139
139
  │ ├── copy-desk/ ← CORE-DOMAIN module (task 1003113 / R02 of goal 1000074, default-on): the COPY half of the design contract — ADR 0081 gave design TOKENS a repo-owned source of truth, text had none. Owns the FLAG (anyone in any role marks a string or a whole surface as needing an artist's attention, with a reason required in BOTH the route and a CHECK constraint) and the QUEUE an artist reads it from. READS R01's committed registry (docs/copy-registry.json, generated by scripts/gds/copy-inventory.js) and never writes it. NO LIVE CMS is the hard non-goal: no column here could hold replacement text, and copy_no_cms.mjs pins that. Key is `copy-desk`, not `copy` — the branding contract already owns a `copy` block, so the bare word reds the "core carries no module code" fitness check. R03 (task 1003114, ADR 0233) added the PROPOSAL: an artist writes the replacement wording and it becomes a Bongos task carrying a fenced copy-proposal patch — no row, NO second migration (a proposals table is the forbidden column with extra steps), and scripts/gds/copy-apply.js lands it as a real diff under a claim. CLAUDE.md, module.json, registry.js, flags.js, proposals.js, routes/copy-desk.js, migrations/copy_desk_001_flags.sql, tests/{copy_flags,copy_queue,copy_no_cms,copy_proposals}.mjs. Its hall surface lives with hall-ui (public/copy-desk.{html,js,css}), per the one-key-per-web-surface precedent.
140
140
  │ ├── ui-design/ ← CORE-DOMAIN module (task 1003324 / ADR 0197, default-on): the design capability every builder on every instance gets — ships METHOD, never a world. Absorbs ADR 0081's layer: adapters/{claude-design,figma}/index.js (moved from src/ui/adapters/), scripts/{design-sync,figma-design-sync,validate-design}.js (moved from scripts/gds/, which keeps thin shims), docs/design-contract.md (moved from docs/). Declaration-only: contributes.skills design (the /design playbook, new) + design-sync + figma-design-sync; no routes/port/migrations, so disabling it touches no served surface. CLAUDE.md separates the platform FLOORS (the Fifteen Rule, the dark twins, no page :root, the 24px floor, AA in both modes, the kill switch) from the instance's WORLD (its packs + DESIGN.md). kit/ (task 1003320) is the look-before-you-ship kit: lib.js (the floors, the states/probes contracts, the action + expectation vocabularies, the WCAG maths, the stub spawner), serve.js (any surface through the doorway's real transforms + fixtures/), render.js (states × 1440/390/320 × dark/light, audited), probe.js (PASS/FAIL contracts), check-mock.js (platform rules + the instance's DESIGN.md taste bans, then the detector), tells.js (task 1003329 / ADR 0223: the anti-pattern detector as two tiers — floors FAIL, craft tells WARN, kit-ignore waivers per file; the rendered twins live in lib.js factsInPage), contrast.js + png.js; a page's <page>.states.json / <page>.probes.json sit BESIDE the surface (modules/public-landing/public/, modules/hall-ui/public/). Recipe: docs/recipes/ui-look-before-you-ship.md. skills/ (task 1003321 / ADR 0198) is the vendoring policy: policy.json (licence allowlist, verdicts that may land, sidecar fields, preamble markers), PREAMBLE.md (the platform preamble every vendored SKILL.md opens with), README.md (the roster — both origins scanned dangerous on 2026-08-28, landed as rebuild specs; nothing vendored — and the landing recipe); a landable copy goes under skills/vendor/<name>/ with PROVENANCE.md + LICENSE and is materialised into an instance's .claude/skills/ by claude-materialize.js step 1b. skills/<name>/ (task 1003325 / ADR 0220) are the in-house rebuilds from the specs, first-party and counted: design-taste-frontend (the default taste skill), design-taste-frontend-v1 (the earlier generation, kept distinct), high-end-visual-design (the polish pass), redesign-existing-projects (the in-place upgrade); each opens with the same preamble and carries a "Rebuilt from" section instead of a sidecar. impeccable/ (task 1003326 / ADR 0221) is the design-craft method as ONE skill with sub-commands: SKILL.md (the router, the menu, the craft floor, the bounded finish) + reference/<sub-command>.md (eighteen playbooks, one loaded per request); no hooks, no bypass agent, no telemetry, no live server. minimalist-ui/, industrial-brutalist-ui/, gpt-taste/, stitch-design-taste/ (task 1003327 / ADR 0230) are the four looks, composition grammars with no colours of their own: the palette is the instance's pack and the texture is a named entry in styles/; a substrate is an archetype that still ships both modes, gpt-taste's selection is derived from the route rather than rolled, and stitch-design-taste writes a DESIGN.md-shaped contract document whose thirteen are transcribed from the pack. image-to-code/, imagegen-frontend-web/, imagegen-frontend-mobile/, brandkit/ (task 1003328 / ADR 0222) are the image family under the hero-only rule: plates and hero objects only, the pair (JPEG dark plate + WebP alpha cutout) with a <file>.json sidecar beside each, through the instance's art pipeline key; the grove specimen's styles/grove/assets/ is the worked example. style/ (task 1003475 / ADR 0231) is the module's first FIRST-PARTY skill (no upstream, so a `## First party` section instead of `## Rebuilt from`): the /style session in which an owner authors their own look in four bounded steps, rendering the nearest library entries before asking, drafting inside the contract, retuning by measurement, and handing over the one-step adoption without ever writing config/branding.json. styles/ (task 1003323 / ADR 0219) is the style library: <name>/pack.json (the theme.ui overlay, exactly the fifteen) + DESIGN.md (the look's derived recipes, thirteen in lockstep with the pack) + mock.html (the specimen); chrome-world (pinned to the neutral pack), expedition, grove, blueprint (the first cool look, authored through /style at task 1003475); STYLE=<name> on the kit lays a look over the instance's pack through GDS_BRANDING_FILE; tests/ui_design_styles.mjs runs the world/cosmos/hall token suites once per alternate (UI_DESIGN_PACK). config/design-tokens.* + design-sources.json STAY in config/ as the host boundary; public-landing keeps its own key (first customer, not owner).
@@ -2328,5 +2328,9 @@ is load-bearing: the script throws rather than guess if it is missing, and
2328
2328
  landed since 1.19.925 with no explicit bump. run 35543911646. (task 1002620)
2329
2329
  1.19.927 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
2330
2330
  landed since 1.19.926 with no explicit bump. run 35545006099. (task 1002620)
2331
+ 1.19.928 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
2332
+ landed since 1.19.927 with no explicit bump. run 35547446984. (task 1002620)
2333
+ 1.19.929 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
2334
+ landed since 1.19.928 with no explicit bump. run 35548065983. (task 1002620)
2331
2335
  ---------------------------------------------------------------------------
2332
2336
  ```
@@ -91,7 +91,7 @@
91
91
 
92
92
  <div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
93
93
 
94
- <script src="/builders/shell.js?v=2026-09-20-coreupdate1"></script>
94
+ <script src="/builders/shell.js?v=2026-09-20-room1"></script>
95
95
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
96
96
  <script src="/builders/palette.js" defer></script>
97
97
  <script src="/builders/atlas.js?v=2026-09-02-index" defer></script>
@@ -50,7 +50,7 @@
50
50
 
51
51
  <!-- The app shell (sidebar + top bar). Dependency-free; loaded FIRST so the
52
52
  chrome exists before the page script runs. -->
53
- <script src="/builders/shell.js?v=2026-09-20-coreupdate1"></script>
53
+ <script src="/builders/shell.js?v=2026-09-20-room1"></script>
54
54
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
55
55
  <script src="/builders/palette.js" defer></script>
56
56
  <!-- shared frontend toolkit (window.OTB — rank labels, number formats) + the
@@ -60,7 +60,7 @@
60
60
 
61
61
  <div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
62
62
 
63
- <script src="/builders/shell.js?v=2026-09-20-coreupdate1"></script>
63
+ <script src="/builders/shell.js?v=2026-09-20-room1"></script>
64
64
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
65
65
  <script src="/builders/palette.js" defer></script>
66
66
  <script src="/builders/dom-utils.js?v=2026-06-16-board"></script>
@@ -105,7 +105,7 @@
105
105
 
106
106
  <div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
107
107
 
108
- <script src="/builders/shell.js?v=2026-09-20-coreupdate1"></script>
108
+ <script src="/builders/shell.js?v=2026-09-20-room1"></script>
109
109
  <script src="/builders/palette.js" defer></script>
110
110
  <script src="/builders/dom-utils.js?v=2026-06-23-contrib"></script>
111
111
  <script src="/builders/collab-lib.js?v=2026-09-19-agewords"></script>
@@ -177,7 +177,7 @@
177
177
 
178
178
  <div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
179
179
 
180
- <script src="/builders/shell.js?v=2026-09-20-coreupdate1"></script>
180
+ <script src="/builders/shell.js?v=2026-09-20-room1"></script>
181
181
  <script src="/builders/palette.js" defer></script>
182
182
  <script src="/builders/dom-utils.js?v=2026-06-23-contrib"></script>
183
183
  <script src="/builders/hall-kit.js"></script>
@@ -55,7 +55,7 @@
55
55
 
56
56
  <div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
57
57
 
58
- <script src="/builders/shell.js?v=2026-09-20-coreupdate1"></script>
58
+ <script src="/builders/shell.js?v=2026-09-20-room1"></script>
59
59
  <script src="/builders/palette.js" defer></script>
60
60
  <script src="/builders/dom-utils.js?v=2026-06-16-gate"></script>
61
61
  <script src="/builders/hall-kit.js"></script>
@@ -97,7 +97,7 @@
97
97
 
98
98
  <!-- The app shell (sidebar + top bar + footer). Dependency-free; runs at parse
99
99
  time so the chrome exists before the deferred page scripts execute. -->
100
- <script src="/builders/shell.js?v=2026-09-20-coreupdate1"></script>
100
+ <script src="/builders/shell.js?v=2026-09-20-room1"></script>
101
101
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
102
102
  <script src="/builders/palette.js" defer></script>
103
103
  <script src="/builders/diagram-viewer.js?v=2026-06-14-diagviewer-1" defer></script>
@@ -98,7 +98,7 @@
98
98
 
99
99
  <div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
100
100
 
101
- <script src="/builders/shell.js?v=2026-09-20-coreupdate1"></script>
101
+ <script src="/builders/shell.js?v=2026-09-20-room1"></script>
102
102
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
103
103
  <script src="/builders/palette.js" defer></script>
104
104
  <script src="/builders/md-reader.js?v=2026-09-02-mdreader-2"></script>
@@ -76,7 +76,7 @@
76
76
  <div id="gate-modal-root"></div>
77
77
  <div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
78
78
 
79
- <script src="/builders/shell.js?v=2026-09-20-coreupdate1"></script>
79
+ <script src="/builders/shell.js?v=2026-09-20-room1"></script>
80
80
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
81
81
  <script src="/builders/palette.js" defer></script>
82
82
  <script src="/builders/dom-utils.js?v=2026-06-16-gate"></script>
@@ -220,7 +220,7 @@
220
220
 
221
221
  <div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
222
222
 
223
- <script src="/builders/shell.js?v=2026-09-20-coreupdate1"></script>
223
+ <script src="/builders/shell.js?v=2026-09-20-room1"></script>
224
224
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
225
225
  <script src="/builders/palette.js" defer></script>
226
226
  <script src="/builders/dom-utils.js?v=2026-06-14-domutils"></script>
@@ -134,7 +134,7 @@
134
134
 
135
135
  <div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
136
136
 
137
- <script src="/builders/shell.js?v=2026-09-20-coreupdate1"></script>
137
+ <script src="/builders/shell.js?v=2026-09-20-room1"></script>
138
138
  <!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
139
139
  <script src="/builders/palette.js" defer></script>
140
140
  <script src="/builders/dom-utils.js?v=2026-06-16-gate"></script>