@bongos/core 1.24.90 → 1.24.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.bongos-core.json CHANGED
@@ -2,11 +2,11 @@
2
2
  "artifact": "bongos-core",
3
3
  "manifest_schema": 1,
4
4
  "generator": "scripts/bongos/package-core.js",
5
- "core_version": "1.24.90",
6
- "core_contract": "1.24.90",
7
- "source_commit": "8b084c190e038c91f0cd34788d09ef2aaaf11a22",
5
+ "core_version": "1.24.91",
6
+ "core_contract": "1.24.91",
7
+ "source_commit": "a22021565f291899e091258dc39071e4b3261e2e",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-11-12T12:22:11.337Z",
9
+ "built_at": "2026-11-12T12:41:58.407Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
12
  "docs_redacted": 650,
@@ -17,7 +17,7 @@
17
17
  "gate": "passed"
18
18
  },
19
19
  "file_count": 4647,
20
- "tree_sha256": "904d7883071b44b177146ffb3f7ac3b50033d6f3a86d5b162f91c48e1f5e397b",
20
+ "tree_sha256": "195792ff38f7ebbfcfcb39423492588ebbf36563eccdbadb90f4207164f06fad",
21
21
  "files": [
22
22
  {
23
23
  "path": ".claude/skills/ask-for-help/SKILL.md",
@@ -2517,12 +2517,12 @@
2517
2517
  {
2518
2518
  "path": "docs/copy-inventory.md",
2519
2519
  "mode": "0000644",
2520
- "sha256": "c37bd90219c6e760347c3cc48f3647a0f255b4ae084edbb010ec5a33f7ea04dc"
2520
+ "sha256": "290386a7922531e1b30de4adcd4fb541880a94b3ff7db78d72ac10f6bcff314b"
2521
2521
  },
2522
2522
  {
2523
2523
  "path": "docs/copy-registry.json",
2524
2524
  "mode": "0000644",
2525
- "sha256": "f493610562231d36902d6f4b8c0842574ac19f960a58a59812cec7bd04048073"
2525
+ "sha256": "611c4618f066d69b80124ad51138927337aa64401fe566eddbd5f2f7f329591d"
2526
2526
  },
2527
2527
  {
2528
2528
  "path": "docs/design/apex-pass-2-direction.md",
@@ -3037,7 +3037,7 @@
3037
3037
  {
3038
3038
  "path": "docs/module-api-changelog.md",
3039
3039
  "mode": "0000644",
3040
- "sha256": "40c2f5de03f98c8bcbf0f169f0bb1d6066803f6ab96171ddf29b9cf4491abad6"
3040
+ "sha256": "cd252fd841709bd269f9925c659e02876523dbf626959f4e3bd3feb1c88745d4"
3041
3041
  },
3042
3042
  {
3043
3043
  "path": "docs/modules-contract.md",
@@ -3122,7 +3122,7 @@
3122
3122
  {
3123
3123
  "path": "docs/page-readings.json",
3124
3124
  "mode": "0000644",
3125
- "sha256": "10f19956b0f3c1b7e14f5433b40f417ce54a8f4291f4194fb98163522f9a83fd"
3125
+ "sha256": "e793384169510479355b6d08b5d937d3d3b907a244c37bb2af6f03d1615d57bb"
3126
3126
  },
3127
3127
  {
3128
3128
  "path": "docs/project-context.template.md",
@@ -7172,12 +7172,12 @@
7172
7172
  {
7173
7173
  "path": "modules/hall-ui/public/shell-game.css",
7174
7174
  "mode": "0000644",
7175
- "sha256": "b6f73cbe50b30b8660ca61f4cc837d2ce14b621591d5fff1363361120cb638df"
7175
+ "sha256": "72c68b09d2736d3d7c844eca2766dee3fa22e65531c6ad2d9ebb5e10fc74c307"
7176
7176
  },
7177
7177
  {
7178
7178
  "path": "modules/hall-ui/public/shell-game.js",
7179
7179
  "mode": "0000644",
7180
- "sha256": "560f0a68b1b88e5e12170bf1b222022617d678c523a76859acffc6f383d167f8"
7180
+ "sha256": "8bdeb71a631a2e303608dfa45a7d38ed083c6b25aad14e55024e6b8ba534897f"
7181
7181
  },
7182
7182
  {
7183
7183
  "path": "modules/hall-ui/public/shell-trail.js",
@@ -7732,7 +7732,7 @@
7732
7732
  {
7733
7733
  "path": "modules/hall-ui/records/start-screen.md",
7734
7734
  "mode": "0000644",
7735
- "sha256": "8153647e56554759a233900191c1772ae42aef8578ebc626b34280b0b91ae1ea"
7735
+ "sha256": "974f95a4486cfa02b77d59c537332759bb3beea9facd208ab7b0f565f3c731b4"
7736
7736
  },
7737
7737
  {
7738
7738
  "path": "modules/hall-ui/records/studio.md",
@@ -12102,12 +12102,12 @@
12102
12102
  {
12103
12103
  "path": "package-lock.json",
12104
12104
  "mode": "0000644",
12105
- "sha256": "7cd685f627a16c373b7c02c103aa377c1978526abdd4551c1dfe2b4e73b7eed4"
12105
+ "sha256": "ab7441e6cc38edc40acce9d7090d25016f42420246eaf6ed7e2f37eab0200024"
12106
12106
  },
12107
12107
  {
12108
12108
  "path": "package.json",
12109
12109
  "mode": "0000644",
12110
- "sha256": "b1a500b3e515779422782bf3f0e36f3c33ec5616170ceecdcb1b58650ab43aee"
12110
+ "sha256": "eb582572ac4dd9fa60fe3275a450b9aa4599edc45600a1f8bf066e15d9a341b3"
12111
12111
  },
12112
12112
  {
12113
12113
  "path": "public-docs/index.html",
@@ -12127,7 +12127,7 @@
12127
12127
  {
12128
12128
  "path": "release-notes.json",
12129
12129
  "mode": "0000644",
12130
- "sha256": "9c99264a25217b3386e20b6a4151551200345eb1b7d3d9bb55a03dd0c259bef7"
12130
+ "sha256": "c44e40bf773cc25fdb58b9bae2081fb6fa18132e915649a6acf05a18a74412d6"
12131
12131
  },
12132
12132
  {
12133
12133
  "path": "scripts/bongos/CLAUDE.md",
@@ -16132,7 +16132,7 @@
16132
16132
  {
16133
16133
  "path": "src/module-api.js",
16134
16134
  "mode": "0000644",
16135
- "sha256": "3f89e6652915fa721adbcd8cdb5d45d62aa319df8928f03f8684d01c303a3064"
16135
+ "sha256": "95d86d1e9db626680711ac8e0f79e6458c5e20b0af7343640c6cf0d4e5e6cadd"
16136
16136
  },
16137
16137
  {
16138
16138
  "path": "src/module-loader/catalog.js",
@@ -19307,7 +19307,7 @@
19307
19307
  {
19308
19308
  "path": "tests/hall_start_screen.mjs",
19309
19309
  "mode": "0000644",
19310
- "sha256": "de4af84ee48502b60a05e8a86c6052d88032278499b47c1838d65269036272c8"
19310
+ "sha256": "2bd3eb149849acd71eb004177e6afd0541157e274453951c4903b21e9d61f5b5"
19311
19311
  },
19312
19312
  {
19313
19313
  "path": "tests/hall_states_regex_escapes.mjs",
@@ -318,7 +318,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
318
318
  | `34624d39ff29` | certain | Clone the project to your machine and run | `modules/hall-ui/public/setup-gate.js:34` |
319
319
  | `3a426bad2c49` | certain | Close actions | `modules/hall-ui/public/visor.js:222` |
320
320
  | `70f6a704d504` | certain | Close it | `modules/hall-ui/public/copy-desk.html:140` |
321
- | `053e576ba9a3` | certain | Close options | `modules/hall-ui/public/shell-game.js:453` |
321
+ | `053e576ba9a3` | certain | Close options | `modules/hall-ui/public/shell-game.js:454` |
322
322
  | `d12a2fb5730d` | certain | Close this flag | `modules/hall-ui/public/copy-desk.html:116` |
323
323
  | `9b9c2abeae90` | certain | Close this stage | `modules/hall-ui/public/genesis-home.js:220` |
324
324
  | `e6f1842afde1` | certain | Close transcript | `modules/hall-ui/public/watch.html:222` |
@@ -603,7 +603,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
603
603
  | `6dd3c797943b` | certain | How Claude should engage you in it | `modules/hall-ui/public/speciality-tools.js:614` |
604
604
  | `d50901b479f6` | certain | How Claude talks to you, wandering, session cards and your specialities are set on | `modules/hall-ui/public/settings.html:304` |
605
605
  | `5c442fe0f174` | certain | How do you want to pay? | `modules/hall-ui/public/ai-studio.js:351` |
606
- | `1e8da0baf421` | certain | How do you want to see it? | `modules/hall-ui/public/shell-game.js:164` |
606
+ | `1e8da0baf421` | certain | How do you want to see it? | `modules/hall-ui/public/shell-game.js:165` |
607
607
  | `0bab9286ea38` | certain | How each builder's shipped work has been graded over the past thirty days. | `modules/hall-ui/public/watch.html:75` |
608
608
  | `fb7489e8b67c` | certain | How it has changed | `modules/hall-ui/public/government.js:1017` |
609
609
  | `1afadcefd6ea` | certain | How many passes | `modules/hall-ui/public/genesis-home.js:116` |
@@ -699,7 +699,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
699
699
  | `7d6eaa8d4514` | certain | Kinds of work shipped | `modules/hall-ui/public/profile-own.js:366` |
700
700
  | `81f62e066dbf` | certain | Last 14 days: {…} / 10 average across {…} graded work{…} ({…} passed). | `modules/hall-ui/public/profile-own.js:186` |
701
701
  | `13bae4dfb28e` | certain | Last claimed by | `modules/hall-ui/public/task.js:694` |
702
- | `352e1a9eb78e` | certain | Last time | `modules/hall-ui/public/shell-game.js:146` |
702
+ | `352e1a9eb78e` | certain | Last time | `modules/hall-ui/public/shell-game.js:147` |
703
703
  | `165c5f26ef60` | certain | Last try | `modules/hall-ui/public/money.js:90` |
704
704
  | `9e8828d602bc` | certain | Lay your thoughts over the project map. | `modules/hall-ui/public/goal-map.html:76` |
705
705
  | `0f467c1359d7` | certain | Leaderboard place | `modules/hall-ui/public/hall-render.js:470` |
@@ -1410,7 +1410,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1410
1410
  | `74bc22f38140` | certain | The platform confirmed this request came from the account it names. | `modules/hall-ui/public/watch.js:411` |
1411
1411
  | `6c3d88de42de` | certain | The primer | `modules/hall-ui/public/primer.html:37` |
1412
1412
  | `dea378cd4837` | certain | The primer did not load | `modules/hall-ui/public/primer.html:83` |
1413
- | `08ec02eb31fb` | certain | The project city building up, week by week | `modules/hall-ui/public/shell-game.js:180` |
1413
+ | `08ec02eb31fb` | certain | The project city building up, week by week | `modules/hall-ui/public/shell-game.js:181` |
1414
1414
  | `ca10fbab561e` | certain | The project this week | `modules/hall-ui/public/home-city.js:324` |
1415
1415
  | `dc2d6fd0350a` | certain | The project’s life so far | `modules/hall-ui/public/genesis-home.js:156` |
1416
1416
  | `169a03d777a1` | certain | The rank above yours is {…}. | `modules/hall-ui/public/profile-own.js:101` |
@@ -1689,7 +1689,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1689
1689
  | `beba7e576ea8` | certain | Your agents | `modules/hall-ui/public/settings.html:303` |
1690
1690
  | `7d26333b5fb0` | certain | Your asks | `modules/hall-ui/public/collab.html:79` |
1691
1691
  | `2e699f8709b5` | certain | Your balance is under {…}. | `modules/hall-ui/public/ai-studio.js:348` |
1692
- | `a1f290d92800` | certain | Your browser kept this tab open. Close it to quit. | `modules/hall-ui/public/shell-game.js:294` |
1692
+ | `a1f290d92800` | certain | Your browser kept this tab open. Close it to quit. | `modules/hall-ui/public/shell-game.js:295` |
1693
1693
  | `3812b4d8106f` | certain | Your changes to this page | `modules/hall-ui/public/paintbrush.js:150` |
1694
1694
  | `7e5697ffbfc4` | certain | Your character | `modules/hall-ui/public/craft-mode.js:660` |
1695
1695
  | `791f72bb7b35` | certain | Your character could not be saved. Reload and try again. | `modules/hall-ui/public/craft-mode.js:928` |
@@ -5226,7 +5226,7 @@
5226
5226
  "surface": "builders-hall",
5227
5227
  "text": "Close options",
5228
5228
  "file": "modules/hall-ui/public/shell-game.js",
5229
- "line": 453,
5229
+ "line": 454,
5230
5230
  "origin": "js-markup",
5231
5231
  "confidence": "certain"
5232
5232
  },
@@ -7791,7 +7791,7 @@
7791
7791
  "surface": "builders-hall",
7792
7792
  "text": "How do you want to see it?",
7793
7793
  "file": "modules/hall-ui/public/shell-game.js",
7794
- "line": 164,
7794
+ "line": 165,
7795
7795
  "origin": "js-markup",
7796
7796
  "confidence": "certain"
7797
7797
  },
@@ -8655,7 +8655,7 @@
8655
8655
  "surface": "builders-hall",
8656
8656
  "text": "Last time",
8657
8657
  "file": "modules/hall-ui/public/shell-game.js",
8658
- "line": 146,
8658
+ "line": 147,
8659
8659
  "origin": "js-markup",
8660
8660
  "confidence": "certain"
8661
8661
  },
@@ -15054,7 +15054,7 @@
15054
15054
  "surface": "builders-hall",
15055
15055
  "text": "The project city building up, week by week",
15056
15056
  "file": "modules/hall-ui/public/shell-game.js",
15057
- "line": 180,
15057
+ "line": 181,
15058
15058
  "origin": "js-markup",
15059
15059
  "confidence": "certain"
15060
15060
  },
@@ -17565,7 +17565,7 @@
17565
17565
  "surface": "builders-hall",
17566
17566
  "text": "Your browser kept this tab open. Close it to quit.",
17567
17567
  "file": "modules/hall-ui/public/shell-game.js",
17568
- "line": 294,
17568
+ "line": 295,
17569
17569
  "origin": "js-text-assign",
17570
17570
  "confidence": "certain"
17571
17571
  },
@@ -3430,5 +3430,7 @@ is load-bearing: the script throws rather than guess if it is missing, and
3430
3430
  landed since 1.24.88 with no explicit bump. run 43213545598. (task 1002620)
3431
3431
  1.24.90 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
3432
3432
  landed since 1.24.89 with no explicit bump. run 43217068783. (task 1002620)
3433
+ 1.24.91 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
3434
+ landed since 1.24.90 with no explicit bump. run 43220126363. (task 1002620)
3433
3435
  ---------------------------------------------------------------------------
3434
3436
  ```
@@ -12,7 +12,7 @@
12
12
  "surface": "builders",
13
13
  "title": "Studio",
14
14
  "states_read": ["pick","describe","make","waiting","result","result-own","failed","balance","balance-all","out"],
15
- "files_hash": "23f9e59301672d58",
15
+ "files_hash": "4d3ddcf70c72e2d8",
16
16
  "reading_hash": "d9e0e85bcee4aff4",
17
17
  "counts": {"lines":106,"placed":41,"shared":7,"unplaced":58},
18
18
  "omitted": {"data":17},
@@ -131,7 +131,7 @@
131
131
  "surface": "builders",
132
132
  "title": "Repo Atlas",
133
133
  "states_read": ["map","truth","detail","index","out"],
134
- "files_hash": "79e0951cb18465bb",
134
+ "files_hash": "5ccfecad1f11842c",
135
135
  "reading_hash": "6934dead335b2507",
136
136
  "counts": {"lines":25,"placed":14,"shared":7,"unplaced":4},
137
137
  "omitted": {"data":5},
@@ -169,7 +169,7 @@
169
169
  "surface": "builders",
170
170
  "title": "Blockers",
171
171
  "states_read": ["default"],
172
- "files_hash": "19846a8c445f37ea",
172
+ "files_hash": "3edd4c9a8287965e",
173
173
  "reading_hash": "60d73d854ced958a",
174
174
  "counts": {"lines":36,"placed":17,"shared":7,"unplaced":12},
175
175
  "omitted": {"data":51},
@@ -218,7 +218,7 @@
218
218
  "surface": "builders",
219
219
  "title": "Board Room",
220
220
  "states_read": ["room","out","sitting-meta","objection-form"],
221
- "files_hash": "291a782052c75cdf",
221
+ "files_hash": "797b50d46b74f122",
222
222
  "reading_hash": "0260b797b8dc1526",
223
223
  "counts": {"lines":52,"placed":21,"shared":7,"unplaced":24},
224
224
  "omitted": {"data":17},
@@ -283,7 +283,7 @@
283
283
  "surface": "builders",
284
284
  "title": "The city",
285
285
  "states_read": ["city","fullscreen","focus","pins","living","card","card-ask"],
286
- "files_hash": "909fdbd80b138fd3",
286
+ "files_hash": "43c2a3f5444895d6",
287
287
  "reading_hash": "277096d903879a57",
288
288
  "counts": {"lines":26,"placed":9,"shared":6,"unplaced":11},
289
289
  "omitted": {"data":7},
@@ -322,7 +322,7 @@
322
322
  "surface": "builders",
323
323
  "title": "Collab",
324
324
  "states_read": ["board","out"],
325
- "files_hash": "e2742d78f9cccca8",
325
+ "files_hash": "6bd34870e07488b0",
326
326
  "reading_hash": "e6452bf92231656f",
327
327
  "counts": {"lines":82,"placed":36,"shared":6,"unplaced":40},
328
328
  "omitted": {"data":23},
@@ -417,7 +417,7 @@
417
417
  "surface": "builders",
418
418
  "title": "Commands",
419
419
  "states_read": ["in","out"],
420
- "files_hash": "40d23c5b0a81a29a",
420
+ "files_hash": "19b25bb84e65c93a",
421
421
  "reading_hash": "ecc452689a8ee9d7",
422
422
  "counts": {"lines":71,"placed":49,"shared":7,"unplaced":15},
423
423
  "omitted": {"data":177},
@@ -501,7 +501,7 @@
501
501
  "surface": "builders",
502
502
  "title": "Copy desk",
503
503
  "states_read": ["queue","out","search","composer","closer","proposer"],
504
- "files_hash": "f3cf83236fe02237",
504
+ "files_hash": "3598688fde8da13f",
505
505
  "reading_hash": "3819ef6fa8f6fb7c",
506
506
  "counts": {"lines":72,"placed":36,"shared":7,"unplaced":29},
507
507
  "omitted": {"data":94},
@@ -586,7 +586,7 @@
586
586
  "surface": "builders",
587
587
  "title": "Deploy",
588
588
  "states_read": ["work","out"],
589
- "files_hash": "fd49d5d95913e541",
589
+ "files_hash": "f66bb9f77832d5fe",
590
590
  "reading_hash": "3770e8b2fa56bee1",
591
591
  "counts": {"lines":14,"placed":5,"shared":7,"unplaced":2},
592
592
  "omitted": {"data":5},
@@ -613,7 +613,7 @@
613
613
  "surface": "builders",
614
614
  "title": "The sky",
615
615
  "states_read": ["tour","sky","wells","ledger","full","full-back","out"],
616
- "files_hash": "48204568b1300984",
616
+ "files_hash": "ca4e9b0498d510b8",
617
617
  "reading_hash": "4a879397a84631e3",
618
618
  "counts": {"lines":50,"placed":25,"shared":6,"unplaced":19},
619
619
  "omitted": {"data":10},
@@ -676,7 +676,7 @@
676
676
  "surface": "builders",
677
677
  "title": "Goals",
678
678
  "states_read": ["list","filters","cards","detail","dependencies","out","uat","uat-panel","author"],
679
- "files_hash": "5bf411f2510edcc9",
679
+ "files_hash": "e0237363305a997e",
680
680
  "reading_hash": "13a5d07b3804b627",
681
681
  "counts": {"lines":187,"placed":61,"shared":7,"unplaced":119},
682
682
  "omitted": {"data":315},
@@ -876,7 +876,7 @@
876
876
  "surface": "builders",
877
877
  "title": "Government",
878
878
  "states_read": ["constitution","out","permissions","board","constitution-tab"],
879
- "files_hash": "7de9a6b413426928",
879
+ "files_hash": "cee3223b05313772",
880
880
  "reading_hash": "37c6878d60447fd6",
881
881
  "counts": {"lines":65,"placed":27,"shared":7,"unplaced":31},
882
882
  "omitted": {"data":276},
@@ -954,8 +954,8 @@
954
954
  "surface": "builders",
955
955
  "title": "Builders' Hall",
956
956
  "states_read": ["home","out","founding","genesis","decide","demo"],
957
- "files_hash": "72688333d07fc19e",
958
- "reading_hash": "583ba51e45463d65",
957
+ "files_hash": "0091ac704ef9996f",
958
+ "reading_hash": "67b29854aad1bffe",
959
959
  "counts": {"lines":32,"placed":12,"shared":8,"unplaced":12},
960
960
  "omitted": {"data":5},
961
961
  "notes": ["founding: an action failed (page.focus: Timeout 6000ms exceeded.); read as it stood"],
@@ -977,7 +977,7 @@
977
977
  {"key":"L0015","section":"Needs your attention13","text":"Ideas awaiting triage","placement":"placed","file":"modules/hall-ui/public/builders.js","line":320,"string_id":"e181637c5a5e"},
978
978
  {"key":"L0016","section":"Needs your attention13","text":"Requires project {…} fix","placement":"unplaced"},
979
979
  {"key":"L0017","section":"footer","text":"Sign out","placement":"shared","file":"modules/hall-ui/public/shell.js","line":514,"string_id":"1883ad7f07fc"},
980
- {"key":"L0018","section":"Needs your attention13","text":"core 1.24.88","placement":"unplaced"},
980
+ {"key":"L0018","section":"Needs your attention13","text":"core 1.24.89","placement":"unplaced"},
981
981
  {"key":"L0019","section":"Needs your attention13","text":"Skip","placement":"unplaced"},
982
982
  {"key":"L0020","section":"Needs your attention13","text":"Built on","placement":"placed","file":"modules/hall-ui/public/welcome-boot.js","line":183,"string_id":"fef59346ffee"},
983
983
  {"key":"L0021","section":"Needs your attention13","text":"cloudbongos.com","placement":"unplaced"},
@@ -999,7 +999,7 @@
999
999
  "surface": "builders",
1000
1000
  "title": "Idea",
1001
1001
  "states_read": ["record","missing"],
1002
- "files_hash": "387333f4d59fe55e",
1002
+ "files_hash": "d657a33a67bc8f3b",
1003
1003
  "reading_hash": "f7d644748c87e426",
1004
1004
  "counts": {"lines":52,"placed":25,"shared":8,"unplaced":19},
1005
1005
  "omitted": {"data":25},
@@ -1064,7 +1064,7 @@
1064
1064
  "surface": "builders",
1065
1065
  "title": "Ideas",
1066
1066
  "states_read": ["compose","full","develop"],
1067
- "files_hash": "e0cd78a4a3e96ead",
1067
+ "files_hash": "64316b241e5de273",
1068
1068
  "reading_hash": "a62c05dcef3bf87f",
1069
1069
  "counts": {"lines":68,"placed":34,"shared":7,"unplaced":27},
1070
1070
  "omitted": {"data":118},
@@ -1145,7 +1145,7 @@
1145
1145
  "surface": "builders",
1146
1146
  "title": "Market Watch",
1147
1147
  "states_read": ["desk","settings","out"],
1148
- "files_hash": "5edfd91add4496ef",
1148
+ "files_hash": "c19fa516071448c1",
1149
1149
  "reading_hash": "30512dda207b5ea6",
1150
1150
  "counts": {"lines":23,"placed":11,"shared":7,"unplaced":5},
1151
1151
  "omitted": {"data":5},
@@ -1181,7 +1181,7 @@
1181
1181
  "surface": "builders",
1182
1182
  "title": "Market Watch",
1183
1183
  "states_read": ["dossier","out","propose","correct","filtered"],
1184
- "files_hash": "e7612a858ce69c69",
1184
+ "files_hash": "9f574f36d050ecb4",
1185
1185
  "reading_hash": "129bff28c4e4ed6d",
1186
1186
  "counts": {"lines":24,"placed":12,"shared":7,"unplaced":5},
1187
1187
  "omitted": {"data":5},
@@ -1218,7 +1218,7 @@
1218
1218
  "surface": "builders",
1219
1219
  "title": "Market Watch rules",
1220
1220
  "states_read": ["in","scoring","names","propose","out"],
1221
- "files_hash": "30ee116ca9f2faa1",
1221
+ "files_hash": "04757fe324f6331f",
1222
1222
  "reading_hash": "ca0c62e8dce51c8b",
1223
1223
  "counts": {"lines":36,"placed":12,"shared":7,"unplaced":17},
1224
1224
  "omitted": {"data":20},
@@ -1267,7 +1267,7 @@
1267
1267
  "surface": "builders",
1268
1268
  "title": "Modules",
1269
1269
  "states_read": ["browse","search-empty","lens","details","out"],
1270
- "files_hash": "4c650bba10ed03f6",
1270
+ "files_hash": "bb880eb91b5bffa2",
1271
1271
  "reading_hash": "6a12e9306bba5622",
1272
1272
  "counts": {"lines":59,"placed":29,"shared":7,"unplaced":23},
1273
1273
  "omitted": {"data":107},
@@ -1339,7 +1339,7 @@
1339
1339
  "surface": "builders",
1340
1340
  "title": "Money",
1341
1341
  "states_read": ["money","hosting","out"],
1342
- "files_hash": "07e5b1082ee23839",
1342
+ "files_hash": "eab833a98ae63570",
1343
1343
  "reading_hash": "e355d5466b123e07",
1344
1344
  "counts": {"lines":83,"placed":28,"shared":7,"unplaced":48},
1345
1345
  "omitted": {"data":27},
@@ -1435,7 +1435,7 @@
1435
1435
  "surface": "builders",
1436
1436
  "title": "My agents",
1437
1437
  "states_read": ["desk","factory","saved","what-it-knows","speciality-walk","speciality-forms","nobody"],
1438
- "files_hash": "1f5fa9dcd66e0b32",
1438
+ "files_hash": "f9fd9939a04db900",
1439
1439
  "reading_hash": "5347e0496b38727d",
1440
1440
  "counts": {"lines":100,"placed":33,"shared":7,"unplaced":60},
1441
1441
  "omitted": {"data":38},
@@ -1548,7 +1548,7 @@
1548
1548
  "surface": "builders",
1549
1549
  "title": "Primer",
1550
1550
  "states_read": ["in","toc-open","jump","out"],
1551
- "files_hash": "778c4ef963b2de8f",
1551
+ "files_hash": "bab434369863a9c0",
1552
1552
  "reading_hash": "85790bd421e5c387",
1553
1553
  "counts": {"lines":487,"placed":57,"shared":7,"unplaced":423},
1554
1554
  "omitted": {"data":18},
@@ -2048,7 +2048,7 @@
2048
2048
  "surface": "builders",
2049
2049
  "title": "Profile",
2050
2050
  "states_read": ["own","works","activity","yours","activity-artist","activity-artist-ideas","other","artist","artist-ideas","out"],
2051
- "files_hash": "3eddfd923b8a83b4",
2051
+ "files_hash": "a1e1acb3badc9e27",
2052
2052
  "reading_hash": "3ff8d703d17e8c2a",
2053
2053
  "counts": {"lines":232,"placed":84,"shared":7,"unplaced":141},
2054
2054
  "omitted": {"data":263},
@@ -2293,7 +2293,7 @@
2293
2293
  "surface": "builders",
2294
2294
  "title": "Project settings",
2295
2295
  "states_read": ["default"],
2296
- "files_hash": "7daa1c29c3b880ee",
2296
+ "files_hash": "bf4ce03972123088",
2297
2297
  "reading_hash": "283df27d0d5bfc1b",
2298
2298
  "counts": {"lines":43,"placed":25,"shared":7,"unplaced":11},
2299
2299
  "omitted": {"data":33},
@@ -2349,7 +2349,7 @@
2349
2349
  "surface": "builders",
2350
2350
  "title": "Builders",
2351
2351
  "states_read": ["roster","artists","search","out"],
2352
- "files_hash": "17eca3360848c786",
2352
+ "files_hash": "c4f41160afeaf87f",
2353
2353
  "reading_hash": "665ac2e36339f5d3",
2354
2354
  "counts": {"lines":56,"placed":17,"shared":7,"unplaced":32},
2355
2355
  "omitted": {"data":137},
@@ -2418,7 +2418,7 @@
2418
2418
  "surface": "builders",
2419
2419
  "title": "Options",
2420
2420
  "states_read": ["account","access","preferences","install-reports","sound","update"],
2421
- "files_hash": "edfa4c2b264538a8",
2421
+ "files_hash": "0f1849a1dab98d9a",
2422
2422
  "reading_hash": "898a13fda24c3c90",
2423
2423
  "counts": {"lines":162,"placed":104,"shared":7,"unplaced":51},
2424
2424
  "omitted": {"data":23},
@@ -2593,7 +2593,7 @@
2593
2593
  "surface": "builders",
2594
2594
  "title": "The street",
2595
2595
  "states_read": ["street","fullscreen","card","focus","here","inside-rules","inside-disputes","inside-people","inside-planning","inside-automation","inside-review","inside-release","inside-treasury","floor","amend","district","desk","desk-facts","desk-quiet","desk-people-builders","desk-people-tier","desk-disputes","desk-automation-goals","desk-release-core","desk-rules","desk-rules-category","desk-planning-priorities","desk-planning-ideas","desk-planning-blockers","pins","pins-pager","living","deck","deck-treasury","sitting","object","voted","admission","settled","blocker","blocker-more","report","report-more","core","core-more","recheck","recheck-more","idea","idea-more","queue","queue-more","automation","automation-more"],
2596
- "files_hash": "f9f49021adf5c83f",
2596
+ "files_hash": "6768ffb4c12c21ac",
2597
2597
  "reading_hash": "e788e6bf4be8d68c",
2598
2598
  "counts": {"lines":325,"placed":54,"shared":6,"unplaced":265},
2599
2599
  "omitted": {"data":240},
@@ -2931,7 +2931,7 @@
2931
2931
  "surface": "builders",
2932
2932
  "title": "Studio",
2933
2933
  "states_read": ["home","out","flow","flow-pick","status","words-offer","words-edit","reviews","full","full-back","approvals","approvals-before","approvals-phone","approvals-note","approved","sent-back","approvals-page"],
2934
- "files_hash": "1c9edb7ed9addf39",
2934
+ "files_hash": "8afa7e332b24559f",
2935
2935
  "reading_hash": "c4e3b4188c1db755",
2936
2936
  "counts": {"lines":51,"placed":29,"shared":7,"unplaced":15},
2937
2937
  "omitted": {"data":23},
@@ -2995,7 +2995,7 @@
2995
2995
  "surface": "builders",
2996
2996
  "title": "Task",
2997
2997
  "states_read": ["record","from-goal","missing"],
2998
- "files_hash": "34cc9d19049cbc81",
2998
+ "files_hash": "b839c7b452afbfbe",
2999
2999
  "reading_hash": "8dd803b6934e6388",
3000
3000
  "counts": {"lines":151,"placed":46,"shared":9,"unplaced":96},
3001
3001
  "omitted": {"data":111},
@@ -3159,7 +3159,7 @@
3159
3159
  "surface": "builders",
3160
3160
  "title": "Your thinking",
3161
3161
  "states_read": ["tour","sky","list","simple","full-idea","full","full-list","full-back","out"],
3162
- "files_hash": "b8b404b0285a8e4d",
3162
+ "files_hash": "3e3d0ce3f938dfc4",
3163
3163
  "reading_hash": "b73f848b46b0f9b8",
3164
3164
  "counts": {"lines":50,"placed":25,"shared":6,"unplaced":19},
3165
3165
  "omitted": {"data":10},
@@ -3222,7 +3222,7 @@
3222
3222
  "surface": "builders",
3223
3223
  "title": "Tweak a page",
3224
3224
  "states_read": ["doc","typed","chrome","submitted","picking","out"],
3225
- "files_hash": "cb5f7a46c069e9d2",
3225
+ "files_hash": "6fc3e45b7cc82f9f",
3226
3226
  "reading_hash": "f521f8d9a7147557",
3227
3227
  "counts": {"lines":26,"placed":18,"shared":2,"unplaced":6},
3228
3228
  "omitted": {"data":19},
@@ -3261,7 +3261,7 @@
3261
3261
  "surface": "builders",
3262
3262
  "title": "Watch",
3263
3263
  "states_read": ["board","out","operations","security","sessions","autobongos"],
3264
- "files_hash": "f671ac6ffb1abbbb",
3264
+ "files_hash": "4e769b3c76d5f3b8",
3265
3265
  "reading_hash": "1961a0c06b9d8477",
3266
3266
  "counts": {"lines":72,"placed":33,"shared":7,"unplaced":32},
3267
3267
  "omitted": {"data":52},
@@ -3346,7 +3346,7 @@
3346
3346
  "surface": "builders",
3347
3347
  "title": "Tasks",
3348
3348
  "states_read": ["ready","in-progress","backlog","completed","filters-open","out","founding"],
3349
- "files_hash": "88429188a01e8339",
3349
+ "files_hash": "cb9ac65fd6baed84",
3350
3350
  "reading_hash": "e9b412d1ec59ceee",
3351
3351
  "counts": {"lines":122,"placed":49,"shared":7,"unplaced":66},
3352
3352
  "omitted": {"data":323},
@@ -63,14 +63,15 @@ html.gs-open { overflow: hidden; }
63
63
  /* the ring sits inside the row: the focus colour on the edge, a band of the night inside it, so
64
64
  one of the two reads on the accent bar as well as on the panel */
65
65
  .gs__item:focus-visible { outline: 0; border-radius: var(--press-radius); box-shadow: var(--press-focus); }
66
- /* Start is the one thing lit: the accent bar under its dark ink, with the key that takes it */
67
- .gs__item[data-gs="start"] {
66
+ /* One thing is lit: Start on the menu, the view Enter takes on the chooser (task 1005206).
67
+ The accent bar under its dark ink, with the key that takes it */
68
+ .gs__item[data-gs="start"], .gs__item--lit {
68
69
  background: var(--accent); color: var(--accent-on); border-bottom-color: transparent;
69
70
  font-weight: var(--name-weight-lit); box-shadow: var(--accent-glow);
70
71
  }
71
- .gs__item[data-gs="start"]:hover { background: var(--accent-lift); color: var(--accent-on); }
72
- .gs__item[data-gs="start"]:focus-visible { box-shadow: var(--press-focus), var(--accent-glow); }
73
- .gs__item[data-gs="start"]::after {
72
+ .gs__item[data-gs="start"]:hover, .gs__item--lit:hover { background: var(--accent-lift); color: var(--accent-on); }
73
+ .gs__item[data-gs="start"]:focus-visible, .gs__item--lit:focus-visible { box-shadow: var(--press-focus), var(--accent-glow); }
74
+ .gs__item[data-gs="start"]::after, .gs__item--lit::after {
74
75
  content: "Enter"; padding: 0 var(--ds-space-hair);
75
76
  border: var(--line-strong) solid currentColor;
76
77
  font-size: var(--ds-text-md); letter-spacing: var(--label-space);
@@ -85,16 +86,25 @@ html.gs-open { overflow: hidden; }
85
86
  .gs__foot { padding: var(--ds-space-md) var(--ds-space-lg) 0; border-top: var(--line-strong) solid var(--rule); }
86
87
  .gs__line, .gs__note { margin: 0; font-size: var(--ds-text-lg); line-height: 1.5; text-wrap: pretty; color: var(--ink-soft); }
87
88
  .gs__note { margin-top: var(--ds-space-xs); color: var(--ink); }
88
- /* the view chooser in front of the menu (task 1005200): Game or Classic as two rows in the
89
- panel's own voice, each with one line saying what it is; the view chosen last time is lit
90
- with the accent on its edge and says so */
91
- .gs__ask { margin: 0; padding: 0 var(--ds-space-lg) var(--ds-space-sm); font-size: var(--ds-text-lg); color: var(--ink-soft); }
89
+ /* the view chooser in front of the menu (task 1005200), in the start menu's own shape (task
90
+ 1005206, the Helm start-screen mock-up): Game or Classic as two rows, each with one line
91
+ saying what it is. The view Enter takes (last time's, else Game) is the accent bar with its
92
+ key, as Start is; the other is a quiet row on a hairline. Last time's says so. */
93
+ .gs__ask {
94
+ margin: 0; padding: 0 var(--ds-space-lg) var(--ds-space-sm);
95
+ font-family: var(--name-face); font-size: var(--label-size); font-weight: var(--name-weight);
96
+ letter-spacing: var(--label-space); text-transform: var(--name-case); color: var(--ink-soft);
97
+ }
92
98
  .gs__ask[hidden] { display: none; }
93
- .gs__item--view { flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--ds-space-hair); padding-top: var(--ds-space-sm); padding-bottom: var(--ds-space-sm); }
94
- .gs__item--last { box-shadow: inset var(--line-strong) 0 0 var(--accent); }
99
+ .gs__item--view {
100
+ position: relative; flex-direction: column; align-items: flex-start; justify-content: center;
101
+ gap: var(--ds-space-hair); padding-top: var(--ds-space-sm); padding-bottom: var(--ds-space-sm);
102
+ }
103
+ .gs__item--view.gs__item--lit::after { position: absolute; right: var(--ds-space-md); top: 50%; transform: translateY(-50%); }
95
104
  .gs__view { display: inline-flex; align-items: baseline; gap: var(--ds-space-sm); }
96
- .gs__sub { font-family: var(--font-body); font-size: var(--ds-text-md); letter-spacing: 0; text-transform: none; color: var(--ink-soft); }
97
- .gs__last { font-family: var(--font-body); font-size: var(--label-size); letter-spacing: var(--label-space); text-transform: uppercase; color: var(--accent); }
105
+ .gs__sub { font-family: var(--font-body); font-size: var(--ds-text-md); font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--ink-soft); }
106
+ .gs__last { font-family: var(--font-body); font-size: var(--label-size); font-weight: 400; letter-spacing: var(--label-space); text-transform: uppercase; color: var(--accent); }
107
+ .gs__item--lit .gs__sub, .gs__item--lit .gs__last { color: var(--accent-on); }
98
108
  .gs__note[hidden] { display: none; }
99
109
 
100
110
  /* the load screen: the week it is showing, a segment per week, the city, and the tip under it */
@@ -134,15 +134,16 @@
134
134
  return '<li><button type="button"' + inner + (m.id === 'extras' ? ' aria-expanded="false" aria-controls="gs-extras"' : '') + '>' + esc(m.label) + '</button></li>';
135
135
  }
136
136
  // The chooser in front of the start screen (task 1005200): game or classic, the view
137
- // chosen last time marked and focused, so Enter keeps it.
137
+ // chosen last time marked and focused, so Enter keeps it. In the Helm look (task 1005206) the
138
+ // view Enter takes is the lit row, as Start is on the menu: last time's, else Game.
138
139
  var VIEWS = [
139
140
  { id: 'game', label: 'Game', sub: 'The city, full screen' },
140
141
  { id: 'classic', label: 'Classic', sub: 'The hall with its sidebar' },
141
142
  ];
142
143
  function lastView() { var v = read('localStorage', KEY); return v === 'on' ? 'game' : v === 'off' ? 'classic' : null; }
143
144
  function viewHtml(v) {
144
- var last = lastView() === v.id;
145
- return '<li><button type="button" class="gs__item gs__item--view' + (last ? ' gs__item--last' : '') + '" data-gs="view-' + v.id + '">' +
145
+ var last = lastView() === v.id, lit = (lastView() || 'game') === v.id;
146
+ return '<li><button type="button" class="gs__item gs__item--view' + (lit ? ' gs__item--lit' : '') + (last ? ' gs__item--last' : '') + '" data-gs="view-' + v.id + '">' +
146
147
  '<span class="gs__view">' + esc(v.label) + (last ? '<span class="gs__last">Last time</span>' : '') + '</span>' +
147
148
  '<span class="gs__sub">' + esc(v.sub) + '</span></button></li>';
148
149
  }
@@ -360,7 +361,7 @@
360
361
  document.addEventListener('keydown', onKey, true);
361
362
  document.body.appendChild(root);
362
363
  document.documentElement.classList.add('gs-open');
363
- var first = root.querySelector('.gs__item--last') || root.querySelector('.gs__item');
364
+ var first = root.querySelector('.gs__item--lit') || root.querySelector('.gs__item');
364
365
  if (first && first.focus) first.focus();
365
366
  return true;
366
367
  }
@@ -27,3 +27,5 @@ Tests: `tests/hall_start_screen.mjs` (the hand-off and pure parts in a vm; both
27
27
  ## The view chooser (task 1005200, owner 2026-11-11)
28
28
 
29
29
  Every sign-in now opens on a chooser before the start screen: **Game** or **Classic**, each with one line saying what it is. The view chosen last time (the browser's `hall-game` copy) is marked "Last time", lit with the accent on its edge, and focused, so Enter keeps it. Game goes on to the start screen as before; Classic closes the screen and the hall is as it always was. Either choice is saved to the account (`PATCH /api/bongos/me/hall-view`). The Extras list lost The docs: it is not a game place. Tests: `tests/hall_start_screen.mjs`.
30
+
31
+ **In the start menu's shape (task 1005206, owner 2026-11-11, from the V3 Helm start-screen mock-up).** The chooser is drawn like the menu it leads to: "How do you want to see it?" is a small label in the name voice, and the view Enter takes (last time's, else Game) is the accent bar with its "Enter" key, exactly as Start is (`.gs__item--lit` shares Start's rules); the other view is a quiet row on a hairline. Each row keeps its one line; on the lit bar the line and the "Last time" tag take `--accent-on`. Focus starts on the lit row.
package/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@bongos/core",
3
- "version": "1.24.90",
3
+ "version": "1.24.91",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@bongos/core",
9
- "version": "1.24.90",
9
+ "version": "1.24.91",
10
10
  "license": "AGPL-3.0-or-later",
11
11
  "dependencies": {
12
12
  "express": "^4.21.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bongos/core",
3
- "version": "1.24.90",
3
+ "version": "1.24.91",
4
4
  "description": "Cloud Bongos — the AI-first build platform core (GDS + platform surfaces + module system), installed as a versioned dependency (ADR 0108).",
5
5
  "license": "AGPL-3.0-or-later",
6
6
  "main": "src/platform-server.js",
@@ -11643,5 +11643,11 @@
11643
11643
  "id": "1005207",
11644
11644
  "text": "In the game view the Artist's feedback tab no longer sits on the screen; the Artist opens the feedback sheet from the visor, and only the Artist can open it."
11645
11645
  }
11646
+ ],
11647
+ "1.24.91": [
11648
+ {
11649
+ "id": "1005206",
11650
+ "text": "The screen you land on after signing in, where you pick Game or Classic, now looks like the V3 game start menu: your usual choice is the bright salmon bar with its Enter key, the other a quiet row."
11651
+ }
11646
11652
  ]
11647
11653
  }
package/src/module-api.js CHANGED
@@ -81,7 +81,7 @@ const { sleep } = require('./sleep');
81
81
  // MAJOR (see allowBoxScope below): passes the request through untouched.
82
82
  function deprecatedNoopMiddleware(_req, _res, next) { next(); }
83
83
 
84
- const CORE_VERSION = '1.24.90'; // CI auto-patch carrier (ADR 0161); changelog: docs/module-api-changelog.md
84
+ const CORE_VERSION = '1.24.91'; // CI auto-patch carrier (ADR 0161); changelog: docs/module-api-changelog.md
85
85
 
86
86
  // A namespaced logger so a module's log lines are attributable + consistent.
87
87
  // Usage: const log = api.logger('discord'); log.info('mounted');
@@ -128,7 +128,7 @@ test('Home loads the sheet and the script, and the sheet types in no size, corne
128
128
  assert.match(css, /\.gs__title \{[^}]*font-family: var\(--name-face\);[^}]*letter-spacing: var\(--name-space-wide\); text-transform: var\(--name-case\);/, 'the title is the name voice');
129
129
  assert.match(css, /\.gs__item \{[^}]*font-family: var\(--name-face\);[^}]*text-transform: var\(--name-case\);/, 'so is every choice');
130
130
  assert.match(css, /\.gs__menu, \.gs__load \{[^}]*background: var\(--night-glass\);/, 'both panels are the night over the art');
131
- assert.match(css, /\.gs__item\[data-gs="start"\] \{\s*background: var\(--accent\); color: var\(--accent-on\);/, 'Start is the one thing lit, under the dark ink');
131
+ assert.match(css, /\.gs__item\[data-gs="start"\], \.gs__item--lit \{\s*background: var\(--accent\); color: var\(--accent-on\);/, 'Start, and on the chooser the view Enter takes, is the one thing lit, under the dark ink (task 1005206)');
132
132
  assert.match(css, /\.gs__item:focus-visible \{[^}]*box-shadow: var\(--press-focus\);/, 'a row rings inside itself, in two tones');
133
133
  });
134
134
 
@@ -278,6 +278,7 @@ test('choosing Classic at sign-in closes the screen, leaves game mode off, and s
278
278
  await page.evaluate(() => { const me = { authed: true, rank: 'metic', builder: { id: 7, display_name: 'Ada', github_login: 'ada' } }; window.OTBShell.applyAccess(me); window.OTBShell.applyAccess(me); });
279
279
  await page.waitForSelector('#game-start');
280
280
  assert.equal(await page.evaluate(() => document.activeElement.textContent), 'ClassicLast timeThe hall with its sidebar', 'the view chosen last time is focused and marked');
281
+ assert.deepEqual(await page.evaluate(() => [...document.querySelectorAll('.gs__item--lit')].map((e) => e.dataset.gs)), ['view-classic'], 'and it is the lit bar, the only one (task 1005206)');
281
282
  await page.keyboard.press('Enter');
282
283
  await page.waitForSelector('#game-start', { state: 'detached' });
283
284
  assert.equal((await state(page)).game, null);