@bongos/core 1.24.87 → 1.24.89
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 +29 -24
- package/docs/adr/0403-in-game-mode-the-visor-is-the-control-and-the-scene-is-the-view.md +37 -0
- package/docs/adr/README.md +1 -0
- package/docs/copy-inventory.md +2 -2
- package/docs/copy-registry.json +2 -2
- package/docs/module-api-changelog.md +4 -0
- package/docs/page-readings.json +195 -195
- package/modules/hall-ui/public/style.css +1 -1
- package/modules/hall-ui/public/thinking.css +5 -4
- package/modules/hall-ui/public/visor.css +22 -4
- package/modules/hall-ui/public/visor.js +47 -0
- package/modules/hall-ui/records/game-mode.md +1 -0
- package/modules/hall-ui/records/visor.md +7 -2
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +12 -0
- package/src/module-api.js +1 -1
- package/tests/hall_city_living.mjs +3 -1
- package/tests/hall_visor.mjs +27 -0
package/.bongos-core.json
CHANGED
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
"artifact": "bongos-core",
|
|
3
3
|
"manifest_schema": 1,
|
|
4
4
|
"generator": "scripts/bongos/package-core.js",
|
|
5
|
-
"core_version": "1.24.
|
|
6
|
-
"core_contract": "1.24.
|
|
7
|
-
"source_commit": "
|
|
5
|
+
"core_version": "1.24.89",
|
|
6
|
+
"core_contract": "1.24.89",
|
|
7
|
+
"source_commit": "5379d8d8c473f29a6a69c4a6cd8458725b28826a",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-11-
|
|
9
|
+
"built_at": "2026-11-12T11:58:41.405Z",
|
|
10
10
|
"redaction": {
|
|
11
11
|
"model": "docs-redacted+functional-verbatim",
|
|
12
|
-
"docs_redacted":
|
|
12
|
+
"docs_redacted": 650,
|
|
13
13
|
"agent_docs_stubbed": 32,
|
|
14
14
|
"functional_verbatim": 3963,
|
|
15
15
|
"rules": 3,
|
|
16
16
|
"gate_literals": 3,
|
|
17
17
|
"gate": "passed"
|
|
18
18
|
},
|
|
19
|
-
"file_count":
|
|
20
|
-
"tree_sha256": "
|
|
19
|
+
"file_count": 4646,
|
|
20
|
+
"tree_sha256": "5a23648bc1d06d4c1415182578d2dcfad9ec48293b2e8a30820fac4f3d35b5c4",
|
|
21
21
|
"files": [
|
|
22
22
|
{
|
|
23
23
|
"path": ".claude/skills/ask-for-help/SKILL.md",
|
|
@@ -2474,10 +2474,15 @@
|
|
|
2474
2474
|
"mode": "0000644",
|
|
2475
2475
|
"sha256": "2b1d542cca6f0766d214c9b42b38094fa5aeeb3926f66f1cd88ae62bcb3d06e4"
|
|
2476
2476
|
},
|
|
2477
|
+
{
|
|
2478
|
+
"path": "docs/adr/0403-in-game-mode-the-visor-is-the-control-and-the-scene-is-the-view.md",
|
|
2479
|
+
"mode": "0000644",
|
|
2480
|
+
"sha256": "d98e0ea9a8a9b541bb58361bb124a4884c8165758aa8e3243e743368467e79ed"
|
|
2481
|
+
},
|
|
2477
2482
|
{
|
|
2478
2483
|
"path": "docs/adr/README.md",
|
|
2479
2484
|
"mode": "0000644",
|
|
2480
|
-
"sha256": "
|
|
2485
|
+
"sha256": "ca848f718bbc048e492417b7b92b00359d691473891950302d5d7d232da2a1ad"
|
|
2481
2486
|
},
|
|
2482
2487
|
{
|
|
2483
2488
|
"path": "docs/api-reference.md",
|
|
@@ -2512,12 +2517,12 @@
|
|
|
2512
2517
|
{
|
|
2513
2518
|
"path": "docs/copy-inventory.md",
|
|
2514
2519
|
"mode": "0000644",
|
|
2515
|
-
"sha256": "
|
|
2520
|
+
"sha256": "c37bd90219c6e760347c3cc48f3647a0f255b4ae084edbb010ec5a33f7ea04dc"
|
|
2516
2521
|
},
|
|
2517
2522
|
{
|
|
2518
2523
|
"path": "docs/copy-registry.json",
|
|
2519
2524
|
"mode": "0000644",
|
|
2520
|
-
"sha256": "
|
|
2525
|
+
"sha256": "f493610562231d36902d6f4b8c0842574ac19f960a58a59812cec7bd04048073"
|
|
2521
2526
|
},
|
|
2522
2527
|
{
|
|
2523
2528
|
"path": "docs/design/apex-pass-2-direction.md",
|
|
@@ -3032,7 +3037,7 @@
|
|
|
3032
3037
|
{
|
|
3033
3038
|
"path": "docs/module-api-changelog.md",
|
|
3034
3039
|
"mode": "0000644",
|
|
3035
|
-
"sha256": "
|
|
3040
|
+
"sha256": "3a8d76921a19be8f9af2059d585146e394a336acac1946b4cd50be25d5fa98ea"
|
|
3036
3041
|
},
|
|
3037
3042
|
{
|
|
3038
3043
|
"path": "docs/modules-contract.md",
|
|
@@ -3117,7 +3122,7 @@
|
|
|
3117
3122
|
{
|
|
3118
3123
|
"path": "docs/page-readings.json",
|
|
3119
3124
|
"mode": "0000644",
|
|
3120
|
-
"sha256": "
|
|
3125
|
+
"sha256": "8581eedd1c9d8abe50d77c03342e77f2a73bf2d0c6be2ded59e3a72e5cf66d9a"
|
|
3121
3126
|
},
|
|
3122
3127
|
{
|
|
3123
3128
|
"path": "docs/project-context.template.md",
|
|
@@ -7342,7 +7347,7 @@
|
|
|
7342
7347
|
{
|
|
7343
7348
|
"path": "modules/hall-ui/public/style.css",
|
|
7344
7349
|
"mode": "0000644",
|
|
7345
|
-
"sha256": "
|
|
7350
|
+
"sha256": "d42939b4e5777cd304c272caa057f6723b8cff8a372b4275a7caa6dade7200b4"
|
|
7346
7351
|
},
|
|
7347
7352
|
{
|
|
7348
7353
|
"path": "modules/hall-ui/public/task-detail.js",
|
|
@@ -7382,7 +7387,7 @@
|
|
|
7382
7387
|
{
|
|
7383
7388
|
"path": "modules/hall-ui/public/thinking.css",
|
|
7384
7389
|
"mode": "0000644",
|
|
7385
|
-
"sha256": "
|
|
7390
|
+
"sha256": "99df2ce6bb017b78d0fd4f3f4f4607cecfea3e3a9275aaded09c4a66bdfe5a9f"
|
|
7386
7391
|
},
|
|
7387
7392
|
{
|
|
7388
7393
|
"path": "modules/hall-ui/public/thinking.html",
|
|
@@ -7432,12 +7437,12 @@
|
|
|
7432
7437
|
{
|
|
7433
7438
|
"path": "modules/hall-ui/public/visor.css",
|
|
7434
7439
|
"mode": "0000644",
|
|
7435
|
-
"sha256": "
|
|
7440
|
+
"sha256": "8c7c3088fb756d2e6fddc6d9d9df81fb67ada498628dc3a9ff67a8cbb97ab3e6"
|
|
7436
7441
|
},
|
|
7437
7442
|
{
|
|
7438
7443
|
"path": "modules/hall-ui/public/visor.js",
|
|
7439
7444
|
"mode": "0000644",
|
|
7440
|
-
"sha256": "
|
|
7445
|
+
"sha256": "7c3dec2c81435516e15a35d4245557215c84d809f76ac9b49f95529a935518ec"
|
|
7441
7446
|
},
|
|
7442
7447
|
{
|
|
7443
7448
|
"path": "modules/hall-ui/public/vote-control.js",
|
|
@@ -7582,7 +7587,7 @@
|
|
|
7582
7587
|
{
|
|
7583
7588
|
"path": "modules/hall-ui/records/game-mode.md",
|
|
7584
7589
|
"mode": "0000644",
|
|
7585
|
-
"sha256": "
|
|
7590
|
+
"sha256": "bcf581da178354e3c366668b2b6b3641181ea6691bba754ad43876f0cacee0a0"
|
|
7586
7591
|
},
|
|
7587
7592
|
{
|
|
7588
7593
|
"path": "modules/hall-ui/records/genesis-home.md",
|
|
@@ -7747,7 +7752,7 @@
|
|
|
7747
7752
|
{
|
|
7748
7753
|
"path": "modules/hall-ui/records/visor.md",
|
|
7749
7754
|
"mode": "0000644",
|
|
7750
|
-
"sha256": "
|
|
7755
|
+
"sha256": "515c6e31880265d11477e723fd0307d49409b6c04d5e53aa6579ef809c88269b"
|
|
7751
7756
|
},
|
|
7752
7757
|
{
|
|
7753
7758
|
"path": "modules/hall-ui/records/welcome-tower.md",
|
|
@@ -12097,12 +12102,12 @@
|
|
|
12097
12102
|
{
|
|
12098
12103
|
"path": "package-lock.json",
|
|
12099
12104
|
"mode": "0000644",
|
|
12100
|
-
"sha256": "
|
|
12105
|
+
"sha256": "dfcd92429bb72ee47cc5783fd56148f2a00b02a8a2dea8d750687fa27d3ddf3f"
|
|
12101
12106
|
},
|
|
12102
12107
|
{
|
|
12103
12108
|
"path": "package.json",
|
|
12104
12109
|
"mode": "0000644",
|
|
12105
|
-
"sha256": "
|
|
12110
|
+
"sha256": "35173cdd89c199b1307a5cbb2caaa3c60568c4243bc6f562c93d0b9d7fcfebf5"
|
|
12106
12111
|
},
|
|
12107
12112
|
{
|
|
12108
12113
|
"path": "public-docs/index.html",
|
|
@@ -12122,7 +12127,7 @@
|
|
|
12122
12127
|
{
|
|
12123
12128
|
"path": "release-notes.json",
|
|
12124
12129
|
"mode": "0000644",
|
|
12125
|
-
"sha256": "
|
|
12130
|
+
"sha256": "d5d3cf8f58f096b887edea5841198e927ed5fe7be4135845eb5510b2ed6648e8"
|
|
12126
12131
|
},
|
|
12127
12132
|
{
|
|
12128
12133
|
"path": "scripts/bongos/CLAUDE.md",
|
|
@@ -16127,7 +16132,7 @@
|
|
|
16127
16132
|
{
|
|
16128
16133
|
"path": "src/module-api.js",
|
|
16129
16134
|
"mode": "0000644",
|
|
16130
|
-
"sha256": "
|
|
16135
|
+
"sha256": "6f1af2279eb6a432adddf60b50baebdcac4700035c5e65b87fb5ade7736de92e"
|
|
16131
16136
|
},
|
|
16132
16137
|
{
|
|
16133
16138
|
"path": "src/module-loader/catalog.js",
|
|
@@ -19032,7 +19037,7 @@
|
|
|
19032
19037
|
{
|
|
19033
19038
|
"path": "tests/hall_city_living.mjs",
|
|
19034
19039
|
"mode": "0000644",
|
|
19035
|
-
"sha256": "
|
|
19040
|
+
"sha256": "1b6744e38a44f486978a1f3ecf275fa260a6d79b0779242fdd4827980b14593d"
|
|
19036
19041
|
},
|
|
19037
19042
|
{
|
|
19038
19043
|
"path": "tests/hall_city_rewording.mjs",
|
|
@@ -19377,7 +19382,7 @@
|
|
|
19377
19382
|
{
|
|
19378
19383
|
"path": "tests/hall_visor.mjs",
|
|
19379
19384
|
"mode": "0000644",
|
|
19380
|
-
"sha256": "
|
|
19385
|
+
"sha256": "055de4ac3afe4e7883be6cb462e00879bafc4c7593186ae7d728dbd5ee13f6f6"
|
|
19381
19386
|
},
|
|
19382
19387
|
{
|
|
19383
19388
|
"path": "tests/hall_work_history_id.mjs",
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# 0403 — In game mode the visor is the control and the scene is the view
|
|
2
|
+
|
|
3
|
+
- **Status:** Accepted
|
|
4
|
+
- **Date:** 2026-11-11
|
|
5
|
+
- **Decided by:** the owner, while reviewing [task 1005203](https://cloudbongos.com/builders#/task/1005203) (the visor's progress segments).
|
|
6
|
+
- **Goal:** [goal 1000142](https://cloudbongos.com/builders#/goal/1000142) — the V3 game conversion.
|
|
7
|
+
- **Builds on:** [ADR 0399](0399-the-visor-is-glass-over-the-scene-and-owns-no-camera.md) (the visor is glass over the scene), [ADR 0402](0402-helm-is-the-halls-look-and-the-hall-is-dark-only.md) (the Helm look).
|
|
8
|
+
|
|
9
|
+
## 1. The decision
|
|
10
|
+
|
|
11
|
+
In game mode the screen has two jobs, and each has one place:
|
|
12
|
+
|
|
13
|
+
- **The visor is the control.** Every main call to action you can see (a button that starts something: claim, decide, file, review, open a place) lives on the visor's glass: the one accent button, the key hints, or the Actions sheet.
|
|
14
|
+
- **The scene is the view.** The city, the sky and Home show the project. They can be looked at and moved through (pan, zoom, pick a star or a building to see it), but they carry no call-to-action buttons of their own.
|
|
15
|
+
|
|
16
|
+
A scene that has something to be done offers it to the visor: it registers the action with `OTBVisor.scene({ actions, keys })` (ADR 0399 §2.2), and the visor draws it. What you picked in the scene can change what the visor offers, but the button is still on the glass.
|
|
17
|
+
|
|
18
|
+
This holds for every game place (`shell-game.js` `PLACES`) and every scene built later. Classic mode is unchanged.
|
|
19
|
+
|
|
20
|
+
## 2. Why
|
|
21
|
+
|
|
22
|
+
One place for every control means a player always knows where to look to act, and the world stays a picture of the project rather than a page of buttons. It is the reason the visor exists.
|
|
23
|
+
|
|
24
|
+
## 3. What does not yet keep it (found 2026-11-11)
|
|
25
|
+
|
|
26
|
+
Each is its own task; none is changed by this record.
|
|
27
|
+
|
|
28
|
+
- **The Governor City:** the "decide N in a row" button and the city door sit in the scene. ([task 1005209](https://cloudbongos.com/builders#/task/1005209))
|
|
29
|
+
- **The sky:** the thought composer and its file button, the list / explore / my ideas buttons and the jump field are the sky's own top row. ([task 1005210](https://cloudbongos.com/builders#/task/1005210))
|
|
30
|
+
- **Home:** the gallery's tabs and links (Most popular, Latest, The full gallery, Your studio). ([task 1005211](https://cloudbongos.com/builders#/task/1005211))
|
|
31
|
+
- **The Artist's feedback tab** (`page-notes.js` `.pn__tab`) stays parked on the right edge; a session is already hiding it in game mode.
|
|
32
|
+
|
|
33
|
+
## 4. Consequences
|
|
34
|
+
|
|
35
|
+
- A new game scene is reviewed against this first: a button in the scene is a defect, not a style choice.
|
|
36
|
+
- The visor will need room for more than one main action per place (a scene's actions already go in the sheet's "This place" list); how a scene's lead action reaches the accent button is the visor's next design question.
|
|
37
|
+
- Records: `modules/hall-ui/records/game-mode.md` and `records/visor.md` carry the rule for anyone editing a game page.
|
package/docs/adr/README.md
CHANGED
|
@@ -518,3 +518,4 @@ These 20 numbers are each shared by exactly two files. They are **accepted histo
|
|
|
518
518
|
| 0401 | [**One options menu opens every settings screen in a frame** ([task 1005144](https://cloudbongos.com/builders#/task/1005144), goal 1000141). `/settings` is the options menu: a search box over a grouped list. Settings' own panels stay native; My agents, Project settings, Modules, Permissions and Market Watch's settings and rules open inside it in an `<iframe>` of the old address with `?embed=1`, which `shell-game.js` reads only inside a frame to drop the page's chrome, send an unused Escape to the menu and open links to other pages in the whole window. A plain visit to an old address 302s to `/settings?open=<entry>` (the old #anchor rides along); the framed request keeps its own page gate and routes. In game mode the last Escape opens the menu and closes it again. Rejected: merging seven pages' scripts into one, a second /options page, links out of the menu.](0401-one-options-menu-opens-every-settings-screen-in-a-frame.md) | hall / game frame |
|
|
519
519
|
| 0400 | [**A chain reserves work; each sub-quest is still claimed on its own** ([task 1005158](https://cloudbongos.com/builders#/task/1005158), spike V3G.R18, goal 1000144). C5 of the game conversion: work is claimed as a chain, not picked from a flat table. Owner ruling (interview answer 3): a chain RESERVES, tasks are still claimed one at a time. **Decision:** three new tables (`chains` inside one goal, `chain_tasks` with a task in at most one open chain, `chain_party`), none of them a claim — no `claims` row, no session binding, no worktree — so `gateOneActiveClaimPerSession` (ADR 0097) and its unique index never see a chain. **Order is derived, never stored** (ADR 0153's rejection holds): the topological order of `task_dependencies` over the chain's members, ties by priority/estimate/id — `sequence.js`'s `topoOrder`, moved into one shared module. Every sub-quest claims through the unchanged `POST /claims` ladder. **The one addition** is a narrowing-only `CHAIN_RESERVED` check placed AFTER the last existing rung on both insert sites + the dry run + the feed: an outsider can't claim a reserved chain's sub-quest, while every existing refusal keeps its code, message and precedence. Party size (raid quorum vs routine) is refused at the chain's own join door, never in the claim ladder; character counts seats and is never read by a claim rung. A reservation lapses after days with no claim or ship, reported before it acts (ADR 0226). Rejected: a chain as N claims, loosening the session guard, chain = goal, a stored order, an early-ladder check (would mask rank/deps refusals), a feed-only reservation.](0400-a-chain-reserves-work-and-each-sub-quest-is-still-claimed-alone.md) | lifecycle / claims / game conversion |
|
|
520
520
|
| 0402 | [**Helm is the hall's look, and the hall is dark only** ([task 1005192](https://cloudbongos.com/builders#/task/1005192)). The game (the hall, everything after sign-in) wears Helm; the landing, the hub and the status page keep the chrome world. The kit: two voices (Barlow Condensed in wide capitals names a thing, Barlow says everything else), four colours with one job each (Night the ground, Ice what you read, White names and numbers, the accent only what you can act on), three shapes (the cut corner for anything pressable, the segment for progress, the arc for the visor). The values live in the hall's token block; `src/hall-helm.js` recognises a hall page by the sheet it links, pins it dark and hands it the Helm faces unless its pack chose its own. The light/dark switch is gone; the light tier stays until its own removal. The shared button spends every Helm token with the old pill as the fallback, so the status page does not move.](0402-helm-is-the-halls-look-and-the-hall-is-dark-only.md) | design system / hall |
|
|
521
|
+
| 0403 | [**In game mode the visor is the control and the scene is the view** ([task 1005203](https://cloudbongos.com/builders#/task/1005203), goal 1000142; owner 2026-11-11). Every main call to action you can see in game mode lives on the visor (the accent button, the key hints, the Actions sheet); the city, the sky and Home only show the project and can be moved through, never carry buttons of their own. A scene offers its actions to the visor through `OTBVisor.scene`. Found not yet keeping it: the city's decide button and door, the sky's top row and composer, Home's gallery links, the Artist's feedback tab.](0403-in-game-mode-the-visor-is-the-control-and-the-scene-is-the-view.md) | hall / game frame |
|
package/docs/copy-inventory.md
CHANGED
|
@@ -316,7 +316,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
316
316
|
| `4df46e2be815` | certain | Clear the key? | `modules/hall-ui/public/market-watch-settings.js:218` |
|
|
317
317
|
| `593dda3178eb` | certain | Click to copy | `modules/hall-ui/public/copy-on-click.js:137` |
|
|
318
318
|
| `34624d39ff29` | certain | Clone the project to your machine and run | `modules/hall-ui/public/setup-gate.js:34` |
|
|
319
|
-
| `3a426bad2c49` | certain | Close actions | `modules/hall-ui/public/visor.js:
|
|
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
321
|
| `053e576ba9a3` | certain | Close options | `modules/hall-ui/public/shell-game.js:453` |
|
|
322
322
|
| `d12a2fb5730d` | certain | Close this flag | `modules/hall-ui/public/copy-desk.html:116` |
|
|
@@ -1486,7 +1486,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
|
|
|
1486
1486
|
| `9a685b01e2c6` | certain | This page opens at a higher rank. | `modules/hall-ui/public/watch.html:237` |
|
|
1487
1487
|
| `e7a289134dc3` | certain | This page shows no words the reader could find. | `modules/hall-ui/public/tweak-editor.js:246` |
|
|
1488
1488
|
| `d4b3b5556986` | certain | This page's reference docs | `modules/hall-ui/public/page-notes.js:166` |
|
|
1489
|
-
| `79e4a934b434` | certain | This place | `modules/hall-ui/public/visor.js:
|
|
1489
|
+
| `79e4a934b434` | certain | This place | `modules/hall-ui/public/visor.js:224` |
|
|
1490
1490
|
| `5bdcbec770dd` | certain | This project has no slash commands yet. | `modules/hall-ui/public/commands.js:37` |
|
|
1491
1491
|
| `f53b83bfbe54` | certain | This project has no watch rules yet. | `modules/hall-ui/public/market-watch-rules.js:62` |
|
|
1492
1492
|
| `e97b2d549f10` | certain | This project is hosted on {…}, and that is where it is taken offline or removed. Both links below open this pr | `modules/hall-ui/public/project-settings.js:412` |
|
package/docs/copy-registry.json
CHANGED
|
@@ -5208,7 +5208,7 @@
|
|
|
5208
5208
|
"surface": "builders-hall",
|
|
5209
5209
|
"text": "Close actions",
|
|
5210
5210
|
"file": "modules/hall-ui/public/visor.js",
|
|
5211
|
-
"line":
|
|
5211
|
+
"line": 222,
|
|
5212
5212
|
"origin": "js-markup",
|
|
5213
5213
|
"confidence": "certain"
|
|
5214
5214
|
},
|
|
@@ -15738,7 +15738,7 @@
|
|
|
15738
15738
|
"surface": "builders-hall",
|
|
15739
15739
|
"text": "This place",
|
|
15740
15740
|
"file": "modules/hall-ui/public/visor.js",
|
|
15741
|
-
"line":
|
|
15741
|
+
"line": 224,
|
|
15742
15742
|
"origin": "js-markup",
|
|
15743
15743
|
"confidence": "certain"
|
|
15744
15744
|
},
|
|
@@ -3424,5 +3424,9 @@ is load-bearing: the script throws rather than guess if it is missing, and
|
|
|
3424
3424
|
landed since 1.24.85 with no explicit bump. run 43115337105. (task 1002620)
|
|
3425
3425
|
1.24.87 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
3426
3426
|
landed since 1.24.86 with no explicit bump. run 43147929315. (task 1002620)
|
|
3427
|
+
1.24.88 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
3428
|
+
landed since 1.24.87 with no explicit bump. run 43210223245. (task 1002620)
|
|
3429
|
+
1.24.89 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
3430
|
+
landed since 1.24.88 with no explicit bump. run 43213545598. (task 1002620)
|
|
3427
3431
|
---------------------------------------------------------------------------
|
|
3428
3432
|
```
|