@bongos/core 1.19.503 → 1.19.505

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,22 +2,22 @@
2
2
  "artifact": "bongos-core",
3
3
  "manifest_schema": 1,
4
4
  "generator": "scripts/gds/package-core.js",
5
- "core_version": "1.19.503",
6
- "core_contract": "1.19.503",
7
- "source_commit": "df473e8241e4225ae20d599c3158e244199d4e16",
5
+ "core_version": "1.19.505",
6
+ "core_contract": "1.19.505",
7
+ "source_commit": "3ab4e5ad43e20da1374af1e120d51911fd799680",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-09-03T17:20:56.366Z",
9
+ "built_at": "2026-09-03T17:32:35.678Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
12
  "docs_redacted": 427,
13
13
  "agent_docs_stubbed": 24,
14
- "functional_verbatim": 1943,
14
+ "functional_verbatim": 1944,
15
15
  "rules": 3,
16
16
  "gate_literals": 3,
17
17
  "gate": "passed"
18
18
  },
19
- "file_count": 2394,
20
- "tree_sha256": "d2fa5b6500a8ab75eb8c81b3ce9e8b56dfe858dad8ac0ac161f7b9653f0b83d9",
19
+ "file_count": 2395,
20
+ "tree_sha256": "1bc57733b6267db17eb8b78650effda973d902370c46f3be51c0764e1858de00",
21
21
  "files": [
22
22
  {
23
23
  "path": ".claude/skills/blocker-review/SKILL.md",
@@ -1727,12 +1727,12 @@
1727
1727
  {
1728
1728
  "path": "docs/copy-inventory.md",
1729
1729
  "mode": "0000644",
1730
- "sha256": "a58679c1cbf659e334938c752ff1c5dd56800057fe590b74a65ac6c5799900ab"
1730
+ "sha256": "276273f5edb4e920ce7ffdf33707b3e08c259ab22a45427ebde2f4f1bfdc2831"
1731
1731
  },
1732
1732
  {
1733
1733
  "path": "docs/copy-registry.json",
1734
1734
  "mode": "0000644",
1735
- "sha256": "acb0ebb7c6c6204c482a4f7e57ee8e7187b1b03441abe5110a36dd7a159f17d5"
1735
+ "sha256": "b6bf1dcc9d8b2bbef68d5ff7b8f2e2b9a3e5d2d504562c21cacd0e3b9a0e9905"
1736
1736
  },
1737
1737
  {
1738
1738
  "path": "docs/design/apex-pass-2-direction.md",
@@ -2577,7 +2577,7 @@
2577
2577
  {
2578
2578
  "path": "docs/module-api-changelog.md",
2579
2579
  "mode": "0000644",
2580
- "sha256": "617f270d120002ae0d222e6454744f946f25c7f531557365389f199bf0d2555c"
2580
+ "sha256": "6e57f6714292cf1ab9df6ec0c481390848d08ee35f399719ec5833d2699ed8bd"
2581
2581
  },
2582
2582
  {
2583
2583
  "path": "docs/modules-contract.md",
@@ -5037,7 +5037,7 @@
5037
5037
  {
5038
5038
  "path": "modules/hall-ui/public/shell.js",
5039
5039
  "mode": "0000644",
5040
- "sha256": "1779bddc395a97fa0a5934838c483cfa8cc1b331dc354407521fa12c1a815727"
5040
+ "sha256": "3dc94ce92e6131a632a9c0749edb86efebe3e35077528668b2340c931f138448"
5041
5041
  },
5042
5042
  {
5043
5043
  "path": "modules/hall-ui/public/ship.wav",
@@ -5052,7 +5052,7 @@
5052
5052
  {
5053
5053
  "path": "modules/hall-ui/public/task-detail.js",
5054
5054
  "mode": "0000644",
5055
- "sha256": "911cd948103fcebe94c0388bea01675b2dbb796b63a7d5ce176f70e0062912a2"
5055
+ "sha256": "5a88cd76fb6da7058ba109c3467f11c20c973daff8b03f4ed1b4be67b8807a87"
5056
5056
  },
5057
5057
  {
5058
5058
  "path": "modules/hall-ui/public/task-lib.js",
@@ -7227,12 +7227,12 @@
7227
7227
  {
7228
7228
  "path": "package-lock.json",
7229
7229
  "mode": "0000644",
7230
- "sha256": "74063906121c7bd41daa897aa6710baff1f0737e954fb570e86f3374194cce85"
7230
+ "sha256": "5b46ca655ee12c47c36c6d2e05baea5d10bdf139404a931c041225e7e0343426"
7231
7231
  },
7232
7232
  {
7233
7233
  "path": "package.json",
7234
7234
  "mode": "0000644",
7235
- "sha256": "a56c6e485d5d87daba754dce001fc77ee52e566801e333a5e03221d161bc3682"
7235
+ "sha256": "54330892dd305c453d6e4f8b18051ba2116277c101651f912da36c07b15e314c"
7236
7236
  },
7237
7237
  {
7238
7238
  "path": "public-docs/index.html",
@@ -8902,7 +8902,7 @@
8902
8902
  {
8903
8903
  "path": "src/module-api.js",
8904
8904
  "mode": "0000644",
8905
- "sha256": "24b41b0c2d49f19e302831644599b853f1f10ded65aeb56b3024b9de6a9d4cf7"
8905
+ "sha256": "da3ceeaa7c239b0ec879e2724b32c30d3efae1ef2440d5d8defa0a729f18c69d"
8906
8906
  },
8907
8907
  {
8908
8908
  "path": "src/module-loader/catalog.js",
@@ -10307,7 +10307,7 @@
10307
10307
  {
10308
10308
  "path": "tests/hall_nav.mjs",
10309
10309
  "mode": "0000644",
10310
- "sha256": "05ed6e312636cd1f4af9a26daf8c030c5892e2dc9f24ec6969fa224db5cf0525"
10310
+ "sha256": "f621410c18a7f4c69108ddad5cd4047e303df4f774503d13cc650a5e255f8d52"
10311
10311
  },
10312
10312
  {
10313
10313
  "path": "tests/hall_oversight_world.mjs",
@@ -11097,7 +11097,7 @@
11097
11097
  {
11098
11098
  "path": "tests/promote_goal_id.mjs",
11099
11099
  "mode": "0000644",
11100
- "sha256": "24471b652054a82e985b86fdbbe2dc281114cf9829aed6c9b91348217e7f2460"
11100
+ "sha256": "29d69119eb019e74e5f5407855080c908820f06fca70b93146694d4b57d1e25d"
11101
11101
  },
11102
11102
  {
11103
11103
  "path": "tests/prose_edits.mjs",
@@ -11794,6 +11794,11 @@
11794
11794
  "mode": "0000644",
11795
11795
  "sha256": "1e4d480e64d915be750d5bb9581f2da83767800daa7769a551103bc00ca79497"
11796
11796
  },
11797
+ {
11798
+ "path": "tests/task_detail_ui.mjs",
11799
+ "mode": "0000644",
11800
+ "sha256": "5e7150f8651a3c147b17f51800f5f8afa1e9534b3ec545584e5c37792475b2aa"
11801
+ },
11797
11802
  {
11798
11803
  "path": "tests/task_goal_link.mjs",
11799
11804
  "mode": "0000644",
@@ -337,7 +337,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
337
337
  | `28ec06f6060a` | certain | Counted, not judged: each question is worth the same, and earns its share in proportion to how much real text | `modules/hall-ui/public/ideas.html:167` |
338
338
  | `38827a954f3b` | certain | Create a custom rank first. | `modules/hall-ui/public/government.js:466` |
339
339
  | `dd8ead7adc9a` | certain | Create rank | `modules/hall-ui/public/government.html:94` |
340
- | `d7beb841395e` | certain | Create task | `modules/hall-ui/public/task-detail.js:367` |
340
+ | `d7beb841395e` | certain | Create task | `modules/hall-ui/public/task-detail.js:372` |
341
341
  | `533f24219487` | certain | Create your | `modules/hall-ui/public/hall-render.js:744` |
342
342
  | `e91a4d2e3e1c` | certain | Created rank {…}. | `modules/hall-ui/public/government.js:449` |
343
343
  | `a55e423263f0` | certain | Cross-project record | `modules/hall-ui/public/profile.html:94` |
@@ -382,7 +382,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
382
382
  | `8d2b4f119ee3` | certain | End session | `modules/hall-ui/public/settings-sessions.js:46` |
383
383
  | `8e82771e5b63` | certain | Ending a session takes effect immediately; the token stops working on its very next request. | `modules/hall-ui/public/settings.html:174` |
384
384
  | `58d381535285` | certain | Engagement reports | `modules/hall-ui/public/watch.html:133` |
385
- | `bd7a40639a1c` | certain | Estimate (min) | `modules/hall-ui/public/task-detail.js:362` |
385
+ | `bd7a40639a1c` | certain | Estimate (min) | `modules/hall-ui/public/task-detail.js:367` |
386
386
  | `c15d1f0ddfb6` | certain | Estimation accuracy | `modules/hall-ui/public/watch.html:151` |
387
387
  | `44f928d13699` | certain | Event sounds | `modules/hall-ui/public/settings.html:328` |
388
388
  | `8690c6424585` | certain | Every builder in {{worldName}} — rank, {{currency}}, karma, and active claims. | `modules/hall-ui/public/watch.html:69` |
@@ -418,7 +418,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
418
418
  | `448d00771dc8` | certain | Flagged. It is in the queue. | `modules/hall-ui/public/copy-desk.js:391` |
419
419
  | `6149e9ca69f7` | certain | Fleet summary | `modules/hall-ui/public/harbor.html:44` |
420
420
  | `617f13fa3fdb` | certain | Flip the switch. | `modules/hall-ui/public/hall-render.js:744` |
421
- | `42cee5cb3584` | certain | Fold this idea into # | `modules/hall-ui/public/task-detail.js:457` |
421
+ | `42cee5cb3584` | certain | Fold this idea into # | `modules/hall-ui/public/task-detail.js:462` |
422
422
  | `647bcfcfdb03` | certain | Fresh CLI token issued. Paste it in your terminal: | `modules/hall-ui/public/settings.js:988` |
423
423
  | `55c71d76a94c` | certain | From creation to production — and the exact step where {{currency}} are awarded (at | `modules/hall-ui/public/diagrams.html:52` |
424
424
  | `d32c5e058d1e` | certain | From the system | `modules/hall-ui/public/hall-render.js:623` |
@@ -498,8 +498,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
498
498
  | `7ee76a958445` | certain | Join requests | `modules/hall-ui/public/goals-render.js:1113` |
499
499
  | `b7ab5922126b` | certain | Join-requests to approve | `modules/hall-ui/public/goal-inbox.js:117` |
500
500
  | `d305f0df6f25` | certain | Jump to | `modules/hall-ui/public/palette.js:223` |
501
- | `2bfc5a50ce88` | certain | Jump to a page or record | `modules/hall-ui/public/shell.js:344` |
502
- | `eba610d25523` | certain | Jump to… | `modules/hall-ui/public/shell.js:346` |
501
+ | `2bfc5a50ce88` | certain | Jump to a page or record | `modules/hall-ui/public/shell.js:363` |
502
+ | `eba610d25523` | certain | Jump to… | `modules/hall-ui/public/shell.js:365` |
503
503
  | `bc779353aa0c` | certain | Karma — peer recognition and approvals, a separate counter from {…}. | `modules/hall-ui/public/profile.js:65` |
504
504
  | `de0e1590667f` | certain | Keep all {…} {…} — they are the values the code drops in, and the change cannot land without them. | `modules/hall-ui/public/copy-desk.js:442` |
505
505
  | `32d25ef2182d` | certain | Keep box | `modules/hall-ui/public/box-panel.js:164` |
@@ -538,7 +538,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
538
538
  | `ceec2218efe3` | certain | Loading the roadmap… | `modules/hall-ui/public/roadmap.html:33` |
539
539
  | `db04803d9e72` | certain | Loading the roster… | `modules/hall-ui/public/roster.html:39` |
540
540
  | `0cdad42009e6` | certain | Loading the task | `modules/hall-ui/public/task.html:46` |
541
- | `d28d321e8a1e` | certain | Loading versions… | `modules/hall-ui/public/task-detail.js:320` |
541
+ | `d28d321e8a1e` | certain | Loading versions… | `modules/hall-ui/public/task-detail.js:325` |
542
542
  | `3c43f157035e` | certain | Loading your goals… | `modules/hall-ui/public/goals.js:95` |
543
543
  | `7a239a17afc8` | certain | Loading your preferences… | `modules/hall-ui/public/settings.html:32` |
544
544
  | `04df1bd30129` | certain | Loading your rank… | `modules/hall-ui/public/ranks.html:30` |
@@ -609,7 +609,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
609
609
  | `2c19f41704b9` | certain | Not yet available — {{worldName}} | `modules/hall-ui/public/not-ready.html:6` |
610
610
  | `2c19f41704b9` | certain | Not yet available — {{worldName}} | `modules/hall-ui/public/not-ready.html:6` |
611
611
  | `571b9b22dbda` | certain | Not yet ready — blocked by dependencies or awaiting promotion. These become claimable when their blockers ship | `modules/hall-ui/public/work.html:98` |
612
- | `0c59d118db9b` | certain | Note (optional) | `modules/hall-ui/public/task-detail.js:460` |
612
+ | `0c59d118db9b` | certain | Note (optional) | `modules/hall-ui/public/task-detail.js:465` |
613
613
  | `cd652d04d616` | certain | Nothing changes yet. This files a task carrying your wording; whoever claims it lands the diff, and it ships g | `modules/hall-ui/public/copy-desk.html:168` |
614
614
  | `fec5d78497e8` | certain | Nothing in the backlog right now. | `modules/hall-ui/public/work.js:1055` |
615
615
  | `2c6e0dfbd781` | certain | Nothing is waiting on you. Requests reach you by your craft — set yours in | `modules/hall-ui/public/collab.html:44` |
@@ -633,7 +633,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
633
633
  | `0c471e06cfc1` | certain | Only you can settle your own request — mark it answered when someone helped, or withdraw it when you no longer | `modules/hall-ui/public/collab.html:51` |
634
634
  | `261d123970e8` | certain | Open goal #{…} | `modules/hall-ui/public/roadmap.js:100` |
635
635
  | `5f3e0b179839` | certain | Open in Sessions | `modules/hall-ui/public/task.js:443` |
636
- | `3366b115217b` | certain | Open navigation | `modules/hall-ui/public/shell.js:335` |
636
+ | `3366b115217b` | certain | Open navigation | `modules/hall-ui/public/shell.js:354` |
637
637
  | `0f0b1e62148d` | certain | Open online environment | `modules/hall-ui/public/box-panel.js:421` |
638
638
  | `855277dff074` | certain | Open task #{…} | `modules/hall-ui/public/goals-render.js:392` |
639
639
  | `855277dff074` | certain | Open task #{…} | `modules/hall-ui/public/work.js:1065` |
@@ -699,7 +699,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
699
699
  | `26e6c9879035` | certain | Reading the diagrams | `modules/hall-ui/public/diagrams.html:39` |
700
700
  | `81cd2cdf954d` | certain | Reading the request… | `modules/hall-ui/public/pair.html:28` |
701
701
  | `5b581cca590f` | certain | Ready — tasks to do | `modules/hall-ui/public/work.html:64` |
702
- | `9ea556e7b78b` | certain | Reason (optional) | `modules/hall-ui/public/task-detail.js:511` |
702
+ | `9ea556e7b78b` | certain | Reason (optional) | `modules/hall-ui/public/task-detail.js:516` |
703
703
  | `7df3fd4ebf41` | certain | Reason (shown to the builder) | `modules/hall-ui/public/harbor.js:148` |
704
704
  | `4f619c19a8e7` | certain | Rebase owed | `modules/hall-ui/public/hall-render.js:603` |
705
705
  | `06cbba1440b1` | certain | Rebase owed — new claims paused | `modules/hall-ui/public/hall-render.js:488` |
@@ -801,12 +801,12 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
801
801
  | `e57ec24e13ef` | certain | Sign in with GitHub | `modules/hall-ui/public/hall-render.js:259` |
802
802
  | `e57ec24e13ef` | certain | Sign in with GitHub | `modules/hall-ui/public/hall-render.js:330` |
803
803
  | `e57ec24e13ef` | certain | Sign in with GitHub | `modules/hall-ui/public/hall-render.js:399` |
804
- | `e57ec24e13ef` | certain | Sign in with GitHub | `modules/hall-ui/public/shell.js:305` |
805
- | `1883ad7f07fc` | certain | Sign out | `modules/hall-ui/public/shell.js:323` |
806
- | `1883ad7f07fc` | certain | Sign out | `modules/hall-ui/public/shell.js:480` |
804
+ | `e57ec24e13ef` | certain | Sign in with GitHub | `modules/hall-ui/public/shell.js:324` |
805
+ | `1883ad7f07fc` | certain | Sign out | `modules/hall-ui/public/shell.js:342` |
806
+ | `1883ad7f07fc` | certain | Sign out | `modules/hall-ui/public/shell.js:499` |
807
807
  | `8ad669ab2565` | certain | Sign out everywhere | `modules/hall-ui/public/settings.html:171` |
808
808
  | `ecc12c1dd4de` | certain | Skill voices | `modules/hall-ui/public/settings.html:291` |
809
- | `87cee78ca134` | certain | Skip to content | `modules/hall-ui/public/shell.js:471` |
809
+ | `87cee78ca134` | certain | Skip to content | `modules/hall-ui/public/shell.js:490` |
810
810
  | `688ca7b6e30f` | certain | Slop — reads as machine-written | `modules/hall-ui/public/copy-desk.html:90` |
811
811
  | `82df09a08476` | certain | So the Archon knows who you are | `modules/hall-ui/public/hall-render.js:278` |
812
812
  | `7da6a848cd26` | certain | Someone helped | `modules/hall-ui/public/collab.js:90` |
@@ -822,7 +822,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
822
822
  | `4e09b7f4288b` | certain | Stops and deletes your box. Provision a fresh one anytime. | `modules/hall-ui/public/box-panel.js:150` |
823
823
  | `6c6544f5c011` | certain | Stored encrypted; never shown again after saving — only its last four digits. | `modules/hall-ui/public/settings.html:193` |
824
824
  | `f79e1fb8ebd4` | certain | Suggested as you type; leave it on "no goal" and it waits for triage. | `modules/hall-ui/public/ideas.html:91` |
825
- | `1e40f33483eb` | certain | Switch theme | `modules/hall-ui/public/shell.js:350` |
825
+ | `1e40f33483eb` | certain | Switch theme | `modules/hall-ui/public/shell.js:369` |
826
826
  | `93fa2e97dd35` | certain | System default for this skill | `modules/hall-ui/public/settings.js:74` |
827
827
  | `4894b1d9b0de` | certain | System oversight: people, operations and security. | `modules/hall-ui/public/watch.js:1024` |
828
828
  | `dfc967a63d57` | certain | Task lifecycle from backlog to shipped, showing states and transitions and the edge where credits are awarded. | `modules/hall-ui/public/diagrams.html:51` |
@@ -840,7 +840,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
840
840
  | `2fc66e722e33` | certain | Tasks open once you have read the builder primer. | `modules/hall-ui/public/work.html:43` |
841
841
  | `44579eef0c8d` | certain | Tasks — {{worldName}} | `modules/hall-ui/public/work.html:6` |
842
842
  | `44579eef0c8d` | certain | Tasks — {{worldName}} | `modules/hall-ui/public/work.html:6` |
843
- | `2f4f047dc1b4` | certain | Text size | `modules/hall-ui/public/shell.js:349` |
843
+ | `2f4f047dc1b4` | certain | Text size | `modules/hall-ui/public/shell.js:368` |
844
844
  | `545c59c1deb7` | certain | That is the session you are using right now. Ending it signs you out of this page. | `modules/hall-ui/public/settings-sessions.js:74` |
845
845
  | `282c3fa2d456` | certain | That is the wording it already has. Change something, or file a flag instead if you only want to mark it. | `modules/hall-ui/public/copy-desk.js:438` |
846
846
  | `c0e28f30524d` | certain | That project's own standing, as reported by that project. | `modules/hall-ui/public/profile.js:285` |
@@ -1074,7 +1074,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1074
1074
  | `06aab18fc3b5` | certain | holds the repo. Follow the numbered path to see how a credential-less box gets its work to prod. This is the l | `modules/hall-ui/public/diagrams.html:74` |
1075
1075
  | `17ab8db79e1f` | certain | holds the worker, the code, and your local memory; the | `modules/hall-ui/public/diagrams.html:74` |
1076
1076
  | `7d5cbe3d81e4` | certain | how long a vote stays open | `modules/hall-ui/public/government.html:55` |
1077
- | `dacb901c4f10` | certain | idea number | `modules/hall-ui/public/task-detail.js:458` |
1077
+ | `dacb901c4f10` | certain | idea number | `modules/hall-ui/public/task-detail.js:463` |
1078
1078
  | `7df22e74c87a` | certain | idea {…} | `modules/hall-ui/public/idea.js:210` |
1079
1079
  | `7df22e74c87a` | certain | idea {…} | `modules/hall-ui/public/ideas.js:348` |
1080
1080
  | `2123a62d69e3` | certain | if this stays empty. | `modules/hall-ui/public/collab.html:45` |
@@ -1090,7 +1090,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1090
1090
  | `c767b3e07826` | certain | is only the screen; the | `modules/hall-ui/public/diagrams.html:74` |
1091
1091
  | `aa530bd15088` | certain | itself). The registry stays the single source of truth for what the hall shows; a fitness check (scripts/gds/f | `modules/hall-ui/public/index.html:53` |
1092
1092
  | `9018bf6e99eb` | certain | last used {…} · signed in {…} | `modules/hall-ui/public/settings-sessions.js:46` |
1093
- | `2ce7738b1eb0` | certain | loading goals… | `modules/hall-ui/public/task-detail.js:384` |
1093
+ | `2ce7738b1eb0` | certain | loading goals… | `modules/hall-ui/public/task-detail.js:389` |
1094
1094
  | `754bdec368ed` | certain | lowest credits | `modules/hall-ui/public/hall-widgets.js:136` |
1095
1095
  | `cffba8409070` | certain | manage its visibility in Settings → Cross-project record | `modules/hall-ui/public/profile.js:261` |
1096
1096
  | `5c3fdd34cd02` | certain | means expressible through the real configuration — a rank-based membership plus a pass rule — with no new code | `modules/hall-ui/public/government.js:721` |
@@ -1173,8 +1173,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1173
1173
  | `e72c90163726` | certain | what's blocking | `modules/hall-ui/public/goals-render.js:161` |
1174
1174
  | `81f05d9b2bbf` | certain | what's wrong, or what you'd like to see | `modules/hall-ui/public/ideas.html:69` |
1175
1175
  | `1651cb1876f5` | certain | who sits on the board | `modules/hall-ui/public/government.html:55` |
1176
- | `143f77e2b782` | certain | why these are the same | `modules/hall-ui/public/task-detail.js:461` |
1177
- | `ec7c228cb4ce` | certain | why this isn’t worth doing | `modules/hall-ui/public/task-detail.js:512` |
1176
+ | `143f77e2b782` | certain | why these are the same | `modules/hall-ui/public/task-detail.js:466` |
1177
+ | `ec7c228cb4ce` | certain | why this isn’t worth doing | `modules/hall-ui/public/task-detail.js:517` |
1178
1178
  | `66d979d0db89` | certain | your vote | `modules/hall-ui/public/government.js:819` |
1179
1179
  | `50d4a70a2eb2` | certain | {…} Access is invite-based: an Archon approves each new builder. To begin, request access below. | `modules/hall-ui/public/hall-render.js:278` |
1180
1180
  | `9aac280c89ec` | certain | {…} Anyone with a GitHub account can join: sign in and you're in, starting at the newcomer rank. | `modules/hall-ui/public/hall-render.js:261` |
@@ -1236,7 +1236,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1236
1236
  | `4a5ff4f662df` | certain | — ${…} of ${…} this month ({…}%). {…} | `modules/hall-ui/public/hall-render.js:455` |
1237
1237
  | `a6ae9cbdee30` | certain | — all builders — | `modules/hall-ui/public/builders.js:671` |
1238
1238
  | `729d4ce22b99` | certain | — any — | `modules/hall-ui/public/hall-widgets.js:132` |
1239
- | `9ac518dfa95e` | certain | — none (the version's general bucket) — | `modules/hall-ui/public/task-detail.js:315` |
1239
+ | `9ac518dfa95e` | certain | — none (the version's general bucket) — | `modules/hall-ui/public/task-detail.js:320` |
1240
1240
  | `da9962dc1729` | certain | — or open any diagram fullscreen. | `modules/hall-ui/public/diagrams.html:33` |
1241
1241
  | `d4ff85363f89` | certain | — so if Claude Desktop then says | `modules/hall-ui/public/box-panel.js:160` |
1242
1242
  | `e5c5e94152b3` | certain | — that's all the tooling you need up front. | `modules/hall-ui/public/hall-render.js:811` |
@@ -1254,7 +1254,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1254
1254
  | `7926e30955d2` | certain | ← Back to goal | `modules/hall-ui/public/goals.html:195` |
1255
1255
  | `7926e30955d2` | certain | ← Back to goal | `modules/hall-ui/public/goals.html:207` |
1256
1256
  | `1e7cf7b1e64e` | certain | ← Newer | `modules/hall-ui/public/sessions.html:68` |
1257
- | `2180e0ecf138` | certain | → no idea # | `modules/hall-ui/public/task-detail.js:479` |
1257
+ | `2180e0ecf138` | certain | → no idea # | `modules/hall-ui/public/task-detail.js:484` |
1258
1258
  | `d5d76f1c0dfe` | certain | ○ reserved | `modules/hall-ui/public/diagrams.html:44` |
1259
1259
  | `97b0773e72a5` | certain | ● LIVE | `modules/hall-ui/public/diagrams.html:42` |
1260
1260
  | `1375334c77f6` | certain | ⚠ This box is running | `modules/hall-ui/public/box-panel.js:202` |
@@ -226,7 +226,7 @@
226
226
  "modules/hall-ui/public/hall-render.js:259",
227
227
  "modules/hall-ui/public/hall-render.js:330",
228
228
  "modules/hall-ui/public/hall-render.js:399",
229
- "modules/hall-ui/public/shell.js:305"
229
+ "modules/hall-ui/public/shell.js:324"
230
230
  ]
231
231
  },
232
232
  {
@@ -1214,8 +1214,8 @@
1214
1214
  "text": "Sign out",
1215
1215
  "occurrences": 2,
1216
1216
  "at": [
1217
- "modules/hall-ui/public/shell.js:323",
1218
- "modules/hall-ui/public/shell.js:480"
1217
+ "modules/hall-ui/public/shell.js:342",
1218
+ "modules/hall-ui/public/shell.js:499"
1219
1219
  ]
1220
1220
  },
1221
1221
  {
@@ -3900,7 +3900,7 @@
3900
3900
  "surface": "builders-hall",
3901
3901
  "text": "Create task",
3902
3902
  "file": "modules/hall-ui/public/task-detail.js",
3903
- "line": 367,
3903
+ "line": 372,
3904
3904
  "origin": "js-markup",
3905
3905
  "confidence": "certain"
3906
3906
  },
@@ -4305,7 +4305,7 @@
4305
4305
  "surface": "builders-hall",
4306
4306
  "text": "Estimate (min)",
4307
4307
  "file": "modules/hall-ui/public/task-detail.js",
4308
- "line": 362,
4308
+ "line": 367,
4309
4309
  "origin": "js-markup",
4310
4310
  "confidence": "certain"
4311
4311
  },
@@ -4629,7 +4629,7 @@
4629
4629
  "surface": "builders-hall",
4630
4630
  "text": "Fold this idea into #",
4631
4631
  "file": "modules/hall-ui/public/task-detail.js",
4632
- "line": 457,
4632
+ "line": 462,
4633
4633
  "origin": "js-markup",
4634
4634
  "confidence": "certain"
4635
4635
  },
@@ -5349,7 +5349,7 @@
5349
5349
  "surface": "builders-hall",
5350
5350
  "text": "Jump to a page or record",
5351
5351
  "file": "modules/hall-ui/public/shell.js",
5352
- "line": 344,
5352
+ "line": 363,
5353
5353
  "origin": "js-markup",
5354
5354
  "confidence": "certain"
5355
5355
  },
@@ -5358,7 +5358,7 @@
5358
5358
  "surface": "builders-hall",
5359
5359
  "text": "Jump to…",
5360
5360
  "file": "modules/hall-ui/public/shell.js",
5361
- "line": 346,
5361
+ "line": 365,
5362
5362
  "origin": "js-markup",
5363
5363
  "confidence": "certain"
5364
5364
  },
@@ -5709,7 +5709,7 @@
5709
5709
  "surface": "builders-hall",
5710
5710
  "text": "Loading versions…",
5711
5711
  "file": "modules/hall-ui/public/task-detail.js",
5712
- "line": 320,
5712
+ "line": 325,
5713
5713
  "origin": "js-markup",
5714
5714
  "confidence": "certain"
5715
5715
  },
@@ -6348,7 +6348,7 @@
6348
6348
  "surface": "builders-hall",
6349
6349
  "text": "Note (optional)",
6350
6350
  "file": "modules/hall-ui/public/task-detail.js",
6351
- "line": 460,
6351
+ "line": 465,
6352
6352
  "origin": "js-markup",
6353
6353
  "confidence": "certain"
6354
6354
  },
@@ -6564,7 +6564,7 @@
6564
6564
  "surface": "builders-hall",
6565
6565
  "text": "Open navigation",
6566
6566
  "file": "modules/hall-ui/public/shell.js",
6567
- "line": 335,
6567
+ "line": 354,
6568
6568
  "origin": "js-markup",
6569
6569
  "confidence": "certain"
6570
6570
  },
@@ -7158,7 +7158,7 @@
7158
7158
  "surface": "builders-hall",
7159
7159
  "text": "Reason (optional)",
7160
7160
  "file": "modules/hall-ui/public/task-detail.js",
7161
- "line": 511,
7161
+ "line": 516,
7162
7162
  "origin": "js-markup",
7163
7163
  "confidence": "certain"
7164
7164
  },
@@ -8076,7 +8076,7 @@
8076
8076
  "surface": "builders-hall",
8077
8077
  "text": "Sign in with GitHub",
8078
8078
  "file": "modules/hall-ui/public/shell.js",
8079
- "line": 305,
8079
+ "line": 324,
8080
8080
  "origin": "js-markup",
8081
8081
  "confidence": "certain"
8082
8082
  },
@@ -8085,7 +8085,7 @@
8085
8085
  "surface": "builders-hall",
8086
8086
  "text": "Sign out",
8087
8087
  "file": "modules/hall-ui/public/shell.js",
8088
- "line": 323,
8088
+ "line": 342,
8089
8089
  "origin": "js-markup",
8090
8090
  "confidence": "certain"
8091
8091
  },
@@ -8094,7 +8094,7 @@
8094
8094
  "surface": "builders-hall",
8095
8095
  "text": "Sign out",
8096
8096
  "file": "modules/hall-ui/public/shell.js",
8097
- "line": 480,
8097
+ "line": 499,
8098
8098
  "origin": "js-markup",
8099
8099
  "confidence": "certain"
8100
8100
  },
@@ -8121,7 +8121,7 @@
8121
8121
  "surface": "builders-hall",
8122
8122
  "text": "Skip to content",
8123
8123
  "file": "modules/hall-ui/public/shell.js",
8124
- "line": 471,
8124
+ "line": 490,
8125
8125
  "origin": "js-text-assign",
8126
8126
  "confidence": "certain"
8127
8127
  },
@@ -8265,7 +8265,7 @@
8265
8265
  "surface": "builders-hall",
8266
8266
  "text": "Switch theme",
8267
8267
  "file": "modules/hall-ui/public/shell.js",
8268
- "line": 350,
8268
+ "line": 369,
8269
8269
  "origin": "js-markup",
8270
8270
  "confidence": "certain"
8271
8271
  },
@@ -8427,7 +8427,7 @@
8427
8427
  "surface": "builders-hall",
8428
8428
  "text": "Text size",
8429
8429
  "file": "modules/hall-ui/public/shell.js",
8430
- "line": 349,
8430
+ "line": 368,
8431
8431
  "origin": "js-markup",
8432
8432
  "confidence": "certain"
8433
8433
  },
@@ -10533,7 +10533,7 @@
10533
10533
  "surface": "builders-hall",
10534
10534
  "text": "idea number",
10535
10535
  "file": "modules/hall-ui/public/task-detail.js",
10536
- "line": 458,
10536
+ "line": 463,
10537
10537
  "origin": "js-markup",
10538
10538
  "confidence": "certain"
10539
10539
  },
@@ -10677,7 +10677,7 @@
10677
10677
  "surface": "builders-hall",
10678
10678
  "text": "loading goals…",
10679
10679
  "file": "modules/hall-ui/public/task-detail.js",
10680
- "line": 384,
10680
+ "line": 389,
10681
10681
  "origin": "js-markup",
10682
10682
  "confidence": "certain"
10683
10683
  },
@@ -11424,7 +11424,7 @@
11424
11424
  "surface": "builders-hall",
11425
11425
  "text": "why these are the same",
11426
11426
  "file": "modules/hall-ui/public/task-detail.js",
11427
- "line": 461,
11427
+ "line": 466,
11428
11428
  "origin": "js-markup",
11429
11429
  "confidence": "certain"
11430
11430
  },
@@ -11433,7 +11433,7 @@
11433
11433
  "surface": "builders-hall",
11434
11434
  "text": "why this isn’t worth doing",
11435
11435
  "file": "modules/hall-ui/public/task-detail.js",
11436
- "line": 512,
11436
+ "line": 517,
11437
11437
  "origin": "js-markup",
11438
11438
  "confidence": "certain"
11439
11439
  },
@@ -11991,7 +11991,7 @@
11991
11991
  "surface": "builders-hall",
11992
11992
  "text": "— none (the version's general bucket) —",
11993
11993
  "file": "modules/hall-ui/public/task-detail.js",
11994
- "line": 315,
11994
+ "line": 320,
11995
11995
  "origin": "js-markup",
11996
11996
  "confidence": "certain"
11997
11997
  },
@@ -12153,7 +12153,7 @@
12153
12153
  "surface": "builders-hall",
12154
12154
  "text": "→ no idea #",
12155
12155
  "file": "modules/hall-ui/public/task-detail.js",
12156
- "line": 479,
12156
+ "line": 484,
12157
12157
  "origin": "js-text-assign",
12158
12158
  "confidence": "certain"
12159
12159
  },
@@ -1443,5 +1443,9 @@ is load-bearing: the script throws rather than guess if it is missing, and
1443
1443
  landed since 1.19.501 with no explicit bump. run 33777587058. (task 1002620)
1444
1444
  1.19.503 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
1445
1445
  landed since 1.19.502 with no explicit bump. run 33783963947. (task 1002620)
1446
+ 1.19.504 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
1447
+ landed since 1.19.503 with no explicit bump. run 33784387586. (task 1002620)
1448
+ 1.19.505 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
1449
+ landed since 1.19.504 with no explicit bump. run 33785121177. (task 1002620)
1446
1450
  ---------------------------------------------------------------------------
1447
1451
  ```
@@ -166,16 +166,35 @@
166
166
  // profile' shortcut once you're signed in".
167
167
  { id: 'profile', label: 'Profile', icon: 'profile', href: '/profile', gate: 'signed' },
168
168
  ] },
169
- { group: 'Community', gate: 'member', items: [
169
+ // task 1003442 (goal 1000075): Community is Collab + Builders, and NEITHER
170
+ // carries a rank flag any more. Both items and this head read 'member'
171
+ // (authed && rank !== 'xenos') until now, which hid them from the newcomer
172
+ // the pages are most useful to — while the walls themselves were already
173
+ // open: /builders/collab dispatches to requireBuilderPage (any signed-in
174
+ // builder, NO rank floor) and /builders/roster is `null` in the page-gate
175
+ // ORACLE, fronting a deliberately unauthenticated GET /leaderboard. So the
176
+ // rank gate lived only in this list — hiding a link to data anyone can
177
+ // already curl, which tests/hall_page_gate_map.mjs calls "a wall that exists
178
+ // only in the reviewer's head". Removing it is a correction, not a policy
179
+ // change: no page gate, permission or API floor moves with it.
180
+ //
181
+ // 'signed', not 'always', on purpose. The complaint is the RANK flag, and
182
+ // 'signed' carries none. /roster's PAGE stays public — a stranger may still
183
+ // open it by URL, exactly as the ORACLE intends — but the nav entry is a
184
+ // shortcut for someone who is signed in, the same cosmetic call /profile
185
+ // already makes for its own public page. It also keeps the group honest:
186
+ // Collab genuinely needs a session, so an 'always' head would show a
187
+ // Community group that is one item for a stranger and two for everyone else.
188
+ { group: 'Community', gate: 'signed', items: [
170
189
  // task 1003172 (C02, goal 1000075): help requests addressed to you. In
171
190
  // Community because the group is picked by WHOSE data it is, and this is
172
191
  // other builders reaching you — not your own numbers (that is You).
173
- { id: 'collab', label: 'Collab', icon: 'leaderboard', href: '/collab', gate: 'member' },
192
+ { id: 'collab', label: 'Collab', icon: 'leaderboard', href: '/collab', gate: 'signed' },
174
193
  // task 1003441: was the #leaderboard hash view on the home page, which is
175
194
  // why this group read as one real page plus a link into index.html. Now a
176
195
  // page, so no `view` key. Labelled Builders — 'roster' is the word
177
196
  // modules/hall-ui/CLAUDE.md uses, but Builders is what a reader scans for.
178
- { id: 'roster', label: 'Builders', icon: 'leaderboard', href: '/roster', gate: 'member' },
197
+ { id: 'roster', label: 'Builders', icon: 'leaderboard', href: '/roster', gate: 'signed' },
179
198
  // task 1002577: the cross-project builder directory (/scouting graduated
180
199
  // into the hall). Gated to MATCH its data — /api/gds/scouting checks
181
200
  // `project.curate`, whose catalog floor is METIC. This read 'archon' until
@@ -271,11 +271,16 @@
271
271
  // triage path: the STORED hint (idea.suggested_goal_id, written by
272
272
  // inbox.captureIdea precisely so triage inherits the guess) wins; the R07
273
273
  // suggester only fills in when there is no hint. Returns option HTML.
274
- async function goalOptionsFor(versionId) {
274
+ // `allowHint` scopes the stored hint to the version it was filed against. A
275
+ // goal belongs to exactly ONE version and POST /tasks 400s `bad_goal_id` on a
276
+ // goal from another one, so carrying the hint across a version change offered
277
+ // — pre-selected — the single option guaranteed to fail (found by
278
+ // tests/task_detail_ui.mjs, task 1003516).
279
+ async function goalOptionsFor(versionId, allowHint) {
275
280
  // Number() so a junk stored value cannot reach the DOM as value="NaN" and
276
281
  // then be POSTed as a goal id.
277
282
  var raw = Number(idea.suggested_goal_id);
278
- var hint = Number.isFinite(raw) && raw > 0 ? raw : null;
283
+ var hint = allowHint && Number.isFinite(raw) && raw > 0 ? raw : null;
279
284
  var suggestions = [];
280
285
  // The suggester is a convenience, so an outage degrades to "no suggestions"
281
286
  // and must not stop a triage verdict — the hint and the opt-out below are
@@ -348,7 +353,7 @@
348
353
  // Fetched for the PREFERRED version; the change listener below re-fetches,
349
354
  // because goals belong to a version and showing another version's goals
350
355
  // would offer a home the server would reject.
351
- var goalOptions = await goalOptionsFor(preferred);
356
+ var goalOptions = await goalOptionsFor(preferred, true);
352
357
  var priOptions = [1, 2, 3, 4, 5].map(function (p) {
353
358
  return '<option value="' + p + '"' + (p === pri ? ' selected' : '') + '>P' + p + '</option>';
354
359
  }).join('');
@@ -382,7 +387,7 @@
382
387
  var mine = ++goalFetch;
383
388
  gsel.disabled = true;
384
389
  gsel.innerHTML = '<option value="">loading goals…</option>';
385
- var html = await goalOptionsFor(vsel.value);
390
+ var html = await goalOptionsFor(vsel.value, vsel.value === preferred);
386
391
  if (mine !== goalFetch) return;
387
392
  gsel.innerHTML = html;
388
393
  gsel.disabled = false;
package/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@bongos/core",
3
- "version": "1.19.503",
3
+ "version": "1.19.505",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@bongos/core",
9
- "version": "1.19.503",
9
+ "version": "1.19.505",
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.19.503",
3
+ "version": "1.19.505",
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",
package/src/module-api.js CHANGED
@@ -45,7 +45,7 @@ const { validateOrRespond, LIMITS, parseId, asyncHandler, corsPublicGet, parsePa
45
45
  // there. scripts/gds/bump-version.js still rewrites the literal below; it appends
46
46
  // the entry to that file. Look for a version's history there, not here.
47
47
  // ---------------------------------------------------------------------------
48
- const CORE_VERSION = '1.19.503'; // CI auto-patch carrier (ADR 0161); changelog: docs/module-api-changelog.md
48
+ const CORE_VERSION = '1.19.505'; // CI auto-patch carrier (ADR 0161); changelog: docs/module-api-changelog.md
49
49
 
50
50
  // A namespaced logger so a module's log lines are attributable + consistent.
51
51
  // Usage: const log = api.logger('dev-box'); log.info('mounted');