@bongos/core 1.19.925 → 1.19.927

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.925",
6
- "core_contract": "1.19.925",
7
- "source_commit": "930b42e46feac9ae2474f05b89fc6f34e34411f9",
5
+ "core_version": "1.19.927",
6
+ "core_contract": "1.19.927",
7
+ "source_commit": "8a6b09d4e2f48071fe35cfa4147ffdb779753896",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-09-20T22:35:59.969Z",
9
+ "built_at": "2026-09-20T23:34:18.483Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
12
  "docs_redacted": 511,
13
13
  "agent_docs_stubbed": 26,
14
- "functional_verbatim": 2312,
14
+ "functional_verbatim": 2314,
15
15
  "rules": 3,
16
16
  "gate_literals": 3,
17
17
  "gate": "passed"
18
18
  },
19
- "file_count": 2849,
20
- "tree_sha256": "10cb3a93d6b8e5f9825e7c3be73d087762b6fd943ed12823c7289f19939249f8",
19
+ "file_count": 2851,
20
+ "tree_sha256": "2c2b24754d790a0405bb73c8c5381d97a364f5c4a544b31d471df58b3458cf49",
21
21
  "files": [
22
22
  {
23
23
  "path": ".claude/skills/ask-for-help/SKILL.md",
@@ -2142,12 +2142,12 @@
2142
2142
  {
2143
2143
  "path": "docs/copy-inventory.md",
2144
2144
  "mode": "0000644",
2145
- "sha256": "b0baae493a096ea80d8eb03a2f94b3024b8ccfa252817d12f16ea4fbc9e0bc40"
2145
+ "sha256": "ce10f0fd6658ff9539a891dd93dd2031bbceba7210d282601a1ce31264de9bf0"
2146
2146
  },
2147
2147
  {
2148
2148
  "path": "docs/copy-registry.json",
2149
2149
  "mode": "0000644",
2150
- "sha256": "f1377ec71f59b2e976046d5a382ba8319b201242faf5de6e3760f57c595c40e4"
2150
+ "sha256": "25d1620d1ae5e1cfcbf87531d78306520ebad2ab2d7a3c76e7641e51094ca3ca"
2151
2151
  },
2152
2152
  {
2153
2153
  "path": "docs/design/apex-pass-2-direction.md",
@@ -2677,7 +2677,7 @@
2677
2677
  {
2678
2678
  "path": "docs/module-api-changelog.md",
2679
2679
  "mode": "0000644",
2680
- "sha256": "7ada2ca77bedfca9dd58ce88e09d04a5449c08198adb55619285a95239a88481"
2680
+ "sha256": "3bc7467a01b53a0d28388f5df4f6028fc71a764e8155280e754ff2b17edd5e4e"
2681
2681
  },
2682
2682
  {
2683
2683
  "path": "docs/modules-contract.md",
@@ -4952,7 +4952,7 @@
4952
4952
  {
4953
4953
  "path": "modules/hall-ui/public/idea.css",
4954
4954
  "mode": "0000644",
4955
- "sha256": "478a340e9078aff057658bb30f6ff7655c09c9d4a93ba54e3ce5d33d869fa780"
4955
+ "sha256": "20f76f875216028e7c7afc5618fbe56f764eb59323c5e5e2841435a6b5f44021"
4956
4956
  },
4957
4957
  {
4958
4958
  "path": "modules/hall-ui/public/idea.html",
@@ -4962,7 +4962,7 @@
4962
4962
  {
4963
4963
  "path": "modules/hall-ui/public/idea.js",
4964
4964
  "mode": "0000644",
4965
- "sha256": "64657aff960d7aa9d80ba787c35a69c91d4baa8b86c3af9165fc4ac0d705a28b"
4965
+ "sha256": "8a22a94955bbeac5bc9f9370f5e34d8bb96755300cbc07570bd998bd1b2a41f5"
4966
4966
  },
4967
4967
  {
4968
4968
  "path": "modules/hall-ui/public/idea.states.json",
@@ -5412,7 +5412,7 @@
5412
5412
  {
5413
5413
  "path": "modules/ideas/inbox.js",
5414
5414
  "mode": "0000644",
5415
- "sha256": "85d629f2ac8ad36dd7dfd274a95ac40d9a7dfe3501dbff207dedc7846d981e53"
5415
+ "sha256": "14194ba97438709fbf4628c87760cfc46c2c9a5c4531ef81515296f99cb6edf7"
5416
5416
  },
5417
5417
  {
5418
5418
  "path": "modules/ideas/landing-preview.js",
@@ -5487,7 +5487,7 @@
5487
5487
  {
5488
5488
  "path": "modules/ideas/routes/inbox.js",
5489
5489
  "mode": "0000644",
5490
- "sha256": "c302e5cd180ce9a6253ab30fad24b970d06f33f0916ac5d922323e536da7b213"
5490
+ "sha256": "1caa8ca38d0dc26f3411be63596f6522d1ea4177f6cb74ebc3fa07e3d8f2876a"
5491
5491
  },
5492
5492
  {
5493
5493
  "path": "modules/ideas/routing.js",
@@ -5509,6 +5509,11 @@
5509
5509
  "mode": "0000644",
5510
5510
  "sha256": "2d0693b00dded081b6a0082c450762763d324d54f098a8f42a9aa25ec27370c4"
5511
5511
  },
5512
+ {
5513
+ "path": "modules/ideas/trail-removal.js",
5514
+ "mode": "0000644",
5515
+ "sha256": "ad8756fc789862901c0b414bab51a4e8331c6ea082df48888b31be8d1036c2a7"
5516
+ },
5512
5517
  {
5513
5518
  "path": "modules/ideas/trail-size.js",
5514
5519
  "mode": "0000644",
@@ -5517,7 +5522,7 @@
5517
5522
  {
5518
5523
  "path": "modules/ideas/trail.js",
5519
5524
  "mode": "0000644",
5520
- "sha256": "5ea6bad2296406f56bcf3a00f040ce78a789f24fc0d7d5b933e1526cbbb97cd2"
5525
+ "sha256": "130f024c69f6a2b05e114cacba51155a136e94cbb68f9d06332b846c9062f093"
5521
5526
  },
5522
5527
  {
5523
5528
  "path": "modules/lifecycle/CLAUDE.md",
@@ -6407,12 +6412,12 @@
6407
6412
  {
6408
6413
  "path": "modules/provisioning/control-plane-guard.js",
6409
6414
  "mode": "0000644",
6410
- "sha256": "b70ad687c7699a3023e8be973b67ceeb7ff67afb38ff47665c7089614901c200"
6415
+ "sha256": "e1d060477287884f878748da4c2b7cfe164c782538728ffc7efc473c8b6a4997"
6411
6416
  },
6412
6417
  {
6413
6418
  "path": "modules/provisioning/core-upgrade.js",
6414
6419
  "mode": "0000644",
6415
- "sha256": "284fffcdb5bbeac39e16699428b5c775be45e0fc2b88fe9dab38a41b9daba0df"
6420
+ "sha256": "291a3765197f9429c70dd240fe5cdfa72a245ad3698c822032e71bb88999d533"
6416
6421
  },
6417
6422
  {
6418
6423
  "path": "modules/provisioning/credential-preflight.js",
@@ -7917,12 +7922,12 @@
7917
7922
  {
7918
7923
  "path": "package-lock.json",
7919
7924
  "mode": "0000644",
7920
- "sha256": "37fbca7af4b1aa573094974c42fa895a9eec301c3af4fe8c2ce168753ce47ccc"
7925
+ "sha256": "52b5b2136a302b5f6f0d855f3b6b9b55db2412a60766c05f857a313e52cd451e"
7921
7926
  },
7922
7927
  {
7923
7928
  "path": "package.json",
7924
7929
  "mode": "0000644",
7925
- "sha256": "d667850fddfe0681b9e05312d9558a616f99be4f3eb399a8c6558d7e5745fc5f"
7930
+ "sha256": "33d35abf35aa8693f2b36cf95227a052986b760bd7de71eaee002c7d450f4eaa"
7926
7931
  },
7927
7932
  {
7928
7933
  "path": "public-docs/index.html",
@@ -9922,7 +9927,7 @@
9922
9927
  {
9923
9928
  "path": "src/module-api.js",
9924
9929
  "mode": "0000644",
9925
- "sha256": "d365390e6290c57d21c149731cc048b379887d6f3146ba02dafdf89ee869739d"
9930
+ "sha256": "e0b786da5becfbcb6f79530193b0424db2c1164e26173f9218ff330d9aba079d"
9926
9931
  },
9927
9932
  {
9928
9933
  "path": "src/module-loader/catalog.js",
@@ -10832,7 +10837,7 @@
10832
10837
  {
10833
10838
  "path": "tests/core_upgrade_door.mjs",
10834
10839
  "mode": "0000644",
10835
- "sha256": "c1142dc4a706d33bdef42cff56f4c5be4a7c091bbfd5a9f6ed87af04cd3518c6"
10840
+ "sha256": "bb2a39d645141a15b7391580069bf05b6f812e40f20d10fd55dbc564eb8f00ec"
10836
10841
  },
10837
10842
  {
10838
10843
  "path": "tests/core_upgrade_runner.mjs",
@@ -11867,7 +11872,7 @@
11867
11872
  {
11868
11873
  "path": "tests/helpers.mjs",
11869
11874
  "mode": "0000644",
11870
- "sha256": "40b3377e8f1e69f5f3465297018c9e148582a23aca85d5ea5802c119620562c6"
11875
+ "sha256": "13a3f28c0fdf554d5bf1889aeacfafb99abed6a769e2d1e724514cb0372426f3"
11871
11876
  },
11872
11877
  {
11873
11878
  "path": "tests/hierarchy-config.mjs",
@@ -11964,6 +11969,11 @@
11964
11969
  "mode": "0000644",
11965
11970
  "sha256": "e2bc31f771f80549cf50f9614b5473485f6c9db9b9179f3830a76738e1247ac7"
11966
11971
  },
11972
+ {
11973
+ "path": "tests/idea_descent_surface.mjs",
11974
+ "mode": "0000644",
11975
+ "sha256": "21d53da921eef8dc302b0e78f21ab2029c4858c27c798e51d60ce1244f0b311e"
11976
+ },
11967
11977
  {
11968
11978
  "path": "tests/idea_detail_page.mjs",
11969
11979
  "mode": "0000644",
@@ -4,13 +4,13 @@
4
4
  > Deterministic on a given tree — regenerate and commit rather than hand-editing.
5
5
  > Machine-readable twin: [`copy-registry.json`](copy-registry.json).
6
6
 
7
- **1839 strings** across 3 surfaces · 1596 distinct pieces of copy · 1839 certain, 0 heuristic · 166 shown in more than one place.
7
+ **1840 strings** across 3 surfaces · 1597 distinct pieces of copy · 1840 certain, 0 heuristic · 166 shown in more than one place.
8
8
 
9
9
  ## Surfaces
10
10
 
11
11
  | surface | lives at | files | strings |
12
12
  |---|---|---|---|
13
- | `builders-hall` | `modules/hall-ui/public` | 84 | 1349 |
13
+ | `builders-hall` | `modules/hall-ui/public` | 84 | 1350 |
14
14
  | `status-dashboard` | `modules/status-ui/public` | 4 | 100 |
15
15
  | `landing` | `modules/public-landing/public` | 5 | 390 |
16
16
 
@@ -78,7 +78,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
78
78
  | `996edffc1966` | 2x | Access requests | modules/hall-ui/public/watch.html:46, modules/hall-ui/public/watch.html:61 |
79
79
  | … | | _126 more in the JSON registry_ | |
80
80
 
81
- ## `builders-hall` — 1349 strings
81
+ ## `builders-hall` — 1350 strings
82
82
 
83
83
  | id | conf | text | where |
84
84
  |---|---|---|---|
@@ -123,7 +123,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
123
123
  | `2e17d7e236d9` | certain | A module built here can be submitted upstream for review, so it can join the shared catalog with your name and | `modules/hall-ui/public/modules.html:71` |
124
124
  | `a07c7b335a66` | certain | A protected-scope goal requires a Metic+ member. | `modules/hall-ui/public/goals-render.js:1283` |
125
125
  | `a07c7b335a66` | certain | A protected-scope goal requires a Metic+ member. | `modules/hall-ui/public/goals-render.js:1305` |
126
- | `5723baf26b2d` | certain | A quick idea is a thought filed fast. It is not an unfinished Full Idea — only its author can offer it up for | `modules/hall-ui/public/idea.js:260` |
126
+ | `5723baf26b2d` | certain | A quick idea is a thought filed fast. It is not an unfinished Full Idea — only its author can offer it up for | `modules/hall-ui/public/idea.js:447` |
127
127
  | `23dc5028183a` | certain | A quick report — title, what's going on, and where it belongs. Pick a goal and it lands there as a task the mo | `modules/hall-ui/public/ideas.html:60` |
128
128
  | `a1f06e5c11ae` | certain | A quiet place to tend the words and art the project shows people. | `modules/hall-ui/public/studio.html:38` |
129
129
  | `08c1f66fd572` | certain | A refactor, a move, or work already superseded | `modules/hall-ui/public/goal-inbox.js:336` |
@@ -176,7 +176,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
176
176
  | `206acb4467a2` | certain | Archive this goal? | `modules/hall-ui/public/goals-render.js:1005` |
177
177
  | `d9dd46194f35` | certain | Argue from mechanism, not vibes. Always name the assumption a number rests on. | `modules/hall-ui/public/settings.html:285` |
178
178
  | `5fcfdf8975cf` | certain | As configuration: | `modules/hall-ui/public/government.js:829` |
179
- | `01a0f29ff406` | certain | As first filed | `modules/hall-ui/public/idea.js:252` |
179
+ | `01a0f29ff406` | certain | As first filed | `modules/hall-ui/public/idea.js:439` |
180
180
  | `688cc6dd38ee` | certain | Asked of you | `modules/hall-ui/public/collab.html:48` |
181
181
  | `b2656d0b2402` | certain | Asked {…} | `modules/hall-ui/public/collab.js:66` |
182
182
  | `b2656d0b2402` | certain | Asked {…} | `modules/hall-ui/public/watch.js:488` |
@@ -313,7 +313,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
313
313
  | `a2f2e8babef5` | certain | Could not load that page. Try again. | `modules/hall-ui/public/blockers.js:274` |
314
314
  | `b2147cc90e36` | certain | Could not load the idea template. Reload, or file from the terminal with capture.js. | `modules/hall-ui/public/ideas.js:830` |
315
315
  | `7604af13c40e` | certain | Could not load the profile. | `modules/hall-ui/public/profile.js:873` |
316
- | `8b69e445592a` | certain | Could not load the question labels; showing the answers as stored. | `modules/hall-ui/public/idea.js:244` |
316
+ | `8b69e445592a` | certain | Could not load the question labels; showing the answers as stored. | `modules/hall-ui/public/idea.js:431` |
317
317
  | `edd5bafbe075` | certain | Could not load the queue just now. | `modules/hall-ui/public/ideas.js:769` |
318
318
  | `02bb0570996a` | certain | Could not load the ranks. | `modules/hall-ui/public/ranks.js:197` |
319
319
  | `2878778cf9f3` | certain | Could not load this page. | `modules/hall-ui/public/watch.js:1322` |
@@ -425,6 +425,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
425
425
  | `efafe5ce29ed` | certain | Every task linked to this criterion has shipped — a Metic can confirm it | `modules/hall-ui/public/goals-render.js:705` |
426
426
  | `ddebbccd4b37` | certain | Everyone building across hosted projects, ranked by track record. Descriptive only — cross-project numbers nev | `modules/hall-ui/public/people.html:29` |
427
427
  | `04bbccfe7465` | certain | Everything a new builder needs before claiming their first task. About a ten-minute read. | `modules/hall-ui/public/primer.html:42` |
428
+ | `89d9c0962048` | certain | Everything that fell out of it | `modules/hall-ui/public/idea.js:393` |
428
429
  | `37110f7e2b27` | certain | Everything this builder has shipped. Seen one role at a time, with goals and ideas, under | `modules/hall-ui/public/profile.html:108` |
429
430
  | `efdb46f76b02` | certain | Everything this instance can run: what the core ships, what this project built, and who keeps each one true as | `modules/hall-ui/public/modules.html:32` |
430
431
  | `de62f4cc7d2e` | certain | File a bug or idea | `modules/hall-ui/public/ideas.html:59` |
@@ -515,8 +516,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
515
516
  | `298ff22576ee` | certain | How your output has changed over time — work shipped, cost and time per work, and how reviews held up. | `modules/hall-ui/public/hall-widgets.js:182` |
516
517
  | `08d3bf741a2c` | certain | I have read it | `modules/hall-ui/public/primer.html:102` |
517
518
  | `08d3bf741a2c` | certain | I have read it | `modules/hall-ui/public/primer.js:258` |
518
- | `a4ff1e9c34e3` | certain | Idea {…} | `modules/hall-ui/public/idea.js:231` |
519
- | `a4ff1e9c34e3` | certain | Idea {…} | `modules/hall-ui/public/idea.js:267` |
519
+ | `a4ff1e9c34e3` | certain | Idea {…} | `modules/hall-ui/public/idea.js:418` |
520
+ | `a4ff1e9c34e3` | certain | Idea {…} | `modules/hall-ui/public/idea.js:459` |
520
521
  | `ba82ec56f1e3` | certain | Idea — {{worldName}} | `modules/hall-ui/public/idea.html:6` |
521
522
  | `ba82ec56f1e3` | certain | Idea — {{worldName}} | `modules/hall-ui/public/idea.html:6` |
522
523
  | `e181637c5a5e` | certain | Ideas awaiting triage | `modules/hall-ui/public/builders.js:897` |
@@ -542,7 +543,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
542
543
  | `79791be35018` | certain | It opens this hall in your browser — click one | `modules/hall-ui/public/hall-render.js:825` |
543
544
  | `a28aa368453f` | certain | It shipped and it is live. Say what you see — your review coaches the grader and never blocks what shipped. | `modules/hall-ui/public/studio.js:202` |
544
545
  | `d751fe51e178` | certain | It shipped and it is live. Your review coaches the grader on how it judged the work, then remakes or tweaks th | `modules/hall-ui/public/studio.js:203` |
545
- | `b0bcb3f844ec` | certain | Its author marked this as needing development — anyone can turn it into a Full Idea, and they keep the credit | `modules/hall-ui/public/idea.js:258` |
546
+ | `b0bcb3f844ec` | certain | Its author marked this as needing development — anyone can turn it into a Full Idea, and they keep the credit | `modules/hall-ui/public/idea.js:445` |
546
547
  | `b7719e855009` | certain | Join goal | `modules/hall-ui/public/goals-render.js:950` |
547
548
  | `9f9424a5100b` | certain | Join our Discord | `modules/hall-ui/public/hall-render.js:823` |
548
549
  | `7ee76a958445` | certain | Join requests | `modules/hall-ui/public/goals-render.js:1408` |
@@ -715,7 +716,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
715
716
  | `855277dff074` | certain | Open task #{…} | `modules/hall-ui/public/work.js:1143` |
716
717
  | `99c630009152` | certain | Open tasks whose declared files overlap — sequence these before two builders collide. | `modules/hall-ui/public/goals.html:122` |
717
718
  | `99c630009152` | certain | Open tasks whose declared files overlap — sequence these before two builders collide. | `modules/hall-ui/public/goals.html:187` |
718
- | `676361254d92` | certain | Open the idea composer | `modules/hall-ui/public/idea.js:284` |
719
+ | `676361254d92` | certain | Open the idea composer | `modules/hall-ui/public/idea.js:476` |
719
720
  | `1cb80282de09` | certain | Open this review | `modules/hall-ui/public/studio.js:204` |
720
721
  | `2cad724171e6` | certain | Open your online environment. | `modules/hall-ui/public/hall-render.js:825` |
721
722
  | `f6f68ba322be` | certain | Open {…} | `modules/hall-ui/public/goal-inbox.js:53` |
@@ -1127,7 +1128,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1127
1128
  | `520d139df9eb` | certain | Work is complete but the version is held — no tasks are being claimed here right now. | `modules/hall-ui/public/roadmap.js:236` |
1128
1129
  | `0e6b8e8f26cc` | certain | Works completed | `modules/hall-ui/public/profile.html:140` |
1129
1130
  | `52e5fe3c6075` | certain | Write a Full Idea | `modules/hall-ui/public/ideas.html:126` |
1130
- | `7664f4373d1f` | certain | Write one | `modules/hall-ui/public/idea.js:258` |
1131
+ | `7664f4373d1f` | certain | Write one | `modules/hall-ui/public/idea.js:445` |
1131
1132
  | `47f61e576454` | certain | Write the wording you want instead. | `modules/hall-ui/public/copy-desk.js:436` |
1132
1133
  | `b6b0fcb2bcee` | certain | You already have a pending request or invitation for this goal. | `modules/hall-ui/public/goals-render.js:1365` |
1133
1134
  | `52e93bbc07a6` | certain | You are already a member of this goal. | `modules/hall-ui/public/goals-render.js:1366` |
@@ -3,9 +3,9 @@
3
3
  "generator": "scripts/gds/copy-inventory.js",
4
4
  "goal": 1000074,
5
5
  "counts": {
6
- "strings": 1839,
7
- "unique_ids": 1596,
8
- "certain": 1839,
6
+ "strings": 1840,
7
+ "unique_ids": 1597,
8
+ "certain": 1840,
9
9
  "heuristic": 0,
10
10
  "duplicate_ids": 166
11
11
  },
@@ -13,7 +13,7 @@
13
13
  "builders-hall": {
14
14
  "at": "modules/hall-ui/public",
15
15
  "files": 84,
16
- "strings": 1349
16
+ "strings": 1350
17
17
  },
18
18
  "status-dashboard": {
19
19
  "at": "modules/status-ui/public",
@@ -911,8 +911,8 @@
911
911
  "text": "Idea {…}",
912
912
  "occurrences": 2,
913
913
  "at": [
914
- "modules/hall-ui/public/idea.js:231",
915
- "modules/hall-ui/public/idea.js:267"
914
+ "modules/hall-ui/public/idea.js:418",
915
+ "modules/hall-ui/public/idea.js:459"
916
916
  ]
917
917
  },
918
918
  {
@@ -2151,7 +2151,7 @@
2151
2151
  "surface": "builders-hall",
2152
2152
  "text": "A quick idea is a thought filed fast. It is not an unfinished Full Idea — only its author can offer it up for development.",
2153
2153
  "file": "modules/hall-ui/public/idea.js",
2154
- "line": 260,
2154
+ "line": 447,
2155
2155
  "origin": "js-markup",
2156
2156
  "confidence": "certain"
2157
2157
  },
@@ -2628,7 +2628,7 @@
2628
2628
  "surface": "builders-hall",
2629
2629
  "text": "As first filed",
2630
2630
  "file": "modules/hall-ui/public/idea.js",
2631
- "line": 252,
2631
+ "line": 439,
2632
2632
  "origin": "js-markup",
2633
2633
  "confidence": "certain"
2634
2634
  },
@@ -3861,7 +3861,7 @@
3861
3861
  "surface": "builders-hall",
3862
3862
  "text": "Could not load the question labels; showing the answers as stored.",
3863
3863
  "file": "modules/hall-ui/public/idea.js",
3864
- "line": 244,
3864
+ "line": 431,
3865
3865
  "origin": "js-markup",
3866
3866
  "confidence": "certain"
3867
3867
  },
@@ -4864,6 +4864,15 @@
4864
4864
  "origin": "html-text",
4865
4865
  "confidence": "certain"
4866
4866
  },
4867
+ {
4868
+ "id": "89d9c0962048",
4869
+ "surface": "builders-hall",
4870
+ "text": "Everything that fell out of it",
4871
+ "file": "modules/hall-ui/public/idea.js",
4872
+ "line": 393,
4873
+ "origin": "js-markup",
4874
+ "confidence": "certain"
4875
+ },
4867
4876
  {
4868
4877
  "id": "37110f7e2b27",
4869
4878
  "surface": "builders-hall",
@@ -5679,7 +5688,7 @@
5679
5688
  "surface": "builders-hall",
5680
5689
  "text": "Idea {…}",
5681
5690
  "file": "modules/hall-ui/public/idea.js",
5682
- "line": 231,
5691
+ "line": 418,
5683
5692
  "origin": "js-markup",
5684
5693
  "confidence": "certain"
5685
5694
  },
@@ -5688,7 +5697,7 @@
5688
5697
  "surface": "builders-hall",
5689
5698
  "text": "Idea {…}",
5690
5699
  "file": "modules/hall-ui/public/idea.js",
5691
- "line": 267,
5700
+ "line": 459,
5692
5701
  "origin": "js-text-assign",
5693
5702
  "confidence": "certain"
5694
5703
  },
@@ -5922,7 +5931,7 @@
5922
5931
  "surface": "builders-hall",
5923
5932
  "text": "Its author marked this as needing development — anyone can turn it into a Full Idea, and they keep the credit for having had it.",
5924
5933
  "file": "modules/hall-ui/public/idea.js",
5925
- "line": 258,
5934
+ "line": 445,
5926
5935
  "origin": "js-markup",
5927
5936
  "confidence": "certain"
5928
5937
  },
@@ -7479,7 +7488,7 @@
7479
7488
  "surface": "builders-hall",
7480
7489
  "text": "Open the idea composer",
7481
7490
  "file": "modules/hall-ui/public/idea.js",
7482
- "line": 284,
7491
+ "line": 476,
7483
7492
  "origin": "js-markup",
7484
7493
  "confidence": "certain"
7485
7494
  },
@@ -11187,7 +11196,7 @@
11187
11196
  "surface": "builders-hall",
11188
11197
  "text": "Write one",
11189
11198
  "file": "modules/hall-ui/public/idea.js",
11190
- "line": 258,
11199
+ "line": 445,
11191
11200
  "origin": "js-markup",
11192
11201
  "confidence": "certain"
11193
11202
  },
@@ -2324,5 +2324,9 @@ is load-bearing: the script throws rather than guess if it is missing, and
2324
2324
  landed since 1.19.923 with no explicit bump. run 35541674047. (task 1002620)
2325
2325
  1.19.925 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
2326
2326
  landed since 1.19.924 with no explicit bump. run 35542154729. (task 1002620)
2327
+ 1.19.926 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
2328
+ landed since 1.19.925 with no explicit bump. run 35543911646. (task 1002620)
2329
+ 1.19.927 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
2330
+ landed since 1.19.926 with no explicit bump. run 35545006099. (task 1002620)
2327
2331
  ---------------------------------------------------------------------------
2328
2332
  ```
@@ -155,3 +155,157 @@
155
155
  .ig-mark__lede { margin: 0 0 var(--sp-sm); max-width: var(--measure); font-size: 14px; line-height: 1.55; color: var(--ink-soft); }
156
156
  .ig-mark__err { margin: var(--sp-xs) 0 0; font-size: 13.5px; color: var(--danger); }
157
157
  .ig-mark__err:empty { display: none; }
158
+
159
+ /* ---- the descent (task 1004094 / BV2.R10) --------------------------------
160
+ Everything one thought caused, falling away below it. The whole section is
161
+ built from hairlines and indent — no card, no box shadow, no container
162
+ outline, which is the world's rule and also the only way a list that can run
163
+ to arbitrary depth stays readable: a box per node would draw the nesting
164
+ twice and read as a stack of receipts.
165
+
166
+ THE INDENT IS THE EDGE. `--d` is the node's depth, set per row by the
167
+ renderer and clamped there at 8 — past that the indent would eat the measure
168
+ on a phone and say nothing a reader cannot get from the relation word. It is
169
+ a custom property rather than a class per level because the depth is data and
170
+ there is no upper bound on it to enumerate. */
171
+ .ig-desc { margin-top: var(--sp-lg); padding-top: var(--sp-sm); border-top: var(--line) solid var(--rule); }
172
+ .ig-desc__h {
173
+ margin: 0 0 var(--sp-sm);
174
+ font-family: var(--label-face);
175
+ font-size: var(--label-size);
176
+ font-weight: 400;
177
+ letter-spacing: var(--label-space);
178
+ text-transform: var(--label-case);
179
+ color: var(--ink-faint);
180
+ }
181
+
182
+ /* The figures. Tabular and at display weight, the leader-line grammar without
183
+ the line — these sit over a list, not on art. */
184
+ .ig-desc__figs { display: flex; flex-wrap: wrap; gap: var(--sp-md) var(--sp-lg); margin: 0 0 var(--sp-md); }
185
+ .ig-desc__fig { display: grid; gap: 6px; }
186
+ .ig-desc__n {
187
+ font-size: 30px;
188
+ font-weight: 300;
189
+ line-height: 1;
190
+ letter-spacing: -0.03em;
191
+ font-variant-numeric: tabular-nums;
192
+ color: var(--ink);
193
+ }
194
+ /* The accent on the size figure is the One Warm Thing: size is the live number
195
+ on this page — the thing the descent is FOR — and it is the only warm mark in
196
+ the section. `accent-deep` because this is text on the page ground, never the
197
+ fill (the world bans white on the salmon and paints text with the deep). */
198
+ .ig-desc__fig[data-tone="warm"] .ig-desc__n { color: var(--accent-deep); }
199
+ .ig-desc__fig[data-tone="dim"] .ig-desc__n { color: var(--ink-faint); }
200
+ .ig-desc__flabel {
201
+ font-family: var(--label-face);
202
+ font-size: var(--label-size);
203
+ letter-spacing: var(--label-space);
204
+ text-transform: var(--label-case);
205
+ color: var(--ink-faint);
206
+ }
207
+
208
+ /* ---- the rail ------------------------------------------------------------ */
209
+ .ig-desc__list { list-style: none; margin: 0; padding: 0; }
210
+ .ig-desc__row {
211
+ display: flex;
212
+ align-items: flex-start;
213
+ gap: 12px;
214
+ padding: 13px 0;
215
+ border-top: var(--line) solid var(--rule-soft);
216
+ margin-left: calc(var(--d, 0) * 26px);
217
+ }
218
+ .ig-desc__row:first-child { border-top: 0; }
219
+
220
+ /* The glyph restates the mark the row also states in words, and it says it with
221
+ FILL rather than hue: a solid dot is work that is there, a hollow ring is work
222
+ that is not. That mapping is the readable one — a ring reads as absence at a
223
+ glance, where two greys a shade apart read as nothing at all — and it keeps
224
+ the mark legible for a reader who takes no colour from it.
225
+
226
+ The ring is `ink-faint` and not `rule`: at rule's weight it measured under the
227
+ 3:1 non-text floor on the dark ground, and "this branch died" is the one mark
228
+ on the page a reader must not miss. Dimness belongs to the row's TITLE, which
229
+ drops to `ink-soft` — the record of work that happened is not a mistake to
230
+ cross out. */
231
+ .ig-desc__glyph {
232
+ flex: none;
233
+ width: 9px;
234
+ height: 9px;
235
+ margin-top: 7px;
236
+ border-radius: 50%;
237
+ background: var(--ink-faint);
238
+ }
239
+ /* Alive and shipped is the one live thing in a row, so it takes the accent —
240
+ and only it. A row that has not landed yet is the same solid dot in ink: the
241
+ work exists, it simply has not arrived. */
242
+ .ig-desc__row[data-mark="live"] .ig-desc__glyph { background: var(--accent); }
243
+ .ig-desc__row[data-mark="out"] .ig-desc__glyph {
244
+ width: 11px;
245
+ height: 11px;
246
+ margin-top: 6px;
247
+ background: transparent;
248
+ box-shadow: inset 0 0 0 1.5px var(--ink-faint);
249
+ }
250
+ /* A branch that went out is dimmed as a whole, not struck through: the work
251
+ happened and the record of it is not a mistake to cross out. */
252
+ .ig-desc__row[data-mark="out"] .ig-desc__title { color: var(--ink-soft); }
253
+
254
+ .ig-desc__body { display: grid; gap: 4px; flex: 1 1 auto; min-width: 0; }
255
+ /* Every link in this rail clears the world's 24px control floor the way the
256
+ sheet's other links already do — `inline-block` with vertical padding and a
257
+ held line-height, not a taller row. A 15px line box is 21px, which the kit
258
+ measures and fails; the row's own padding does not count, because the floor
259
+ is about the TARGET, not the space around it. `align-self: start` keeps the
260
+ padded box from stretching across the grid track it sits in. */
261
+ .ig-desc__title {
262
+ display: inline-block;
263
+ align-self: start;
264
+ min-height: 24px;
265
+ padding: 2px 0;
266
+ font-size: 15px;
267
+ line-height: 20px;
268
+ color: var(--ink);
269
+ border-bottom: var(--line) solid transparent;
270
+ }
271
+ .ig-desc__title:hover { border-bottom-color: var(--ink); text-decoration: none; }
272
+ .ig-desc__meta {
273
+ font-size: 13px;
274
+ line-height: 1.45;
275
+ color: var(--ink-faint);
276
+ }
277
+ .ig-desc__meta a {
278
+ display: inline-block;
279
+ min-height: 24px;
280
+ padding: 3px 0;
281
+ line-height: 18px;
282
+ color: var(--ink-soft);
283
+ border-bottom: var(--line) solid var(--rule);
284
+ }
285
+ .ig-desc__meta a:hover { color: var(--ink); border-bottom-color: var(--ink); text-decoration: none; }
286
+ .ig-desc__out { color: var(--ink-faint); }
287
+ .ig-desc__id {
288
+ flex: none;
289
+ font-family: var(--label-face);
290
+ font-size: var(--label-size);
291
+ letter-spacing: var(--label-space);
292
+ font-variant-numeric: tabular-nums;
293
+ color: var(--ink-faint);
294
+ padding-top: 3px;
295
+ }
296
+ .ig-desc__foot {
297
+ margin: var(--sp-md) 0 0;
298
+ max-width: var(--measure);
299
+ font-size: 13.5px;
300
+ line-height: 1.55;
301
+ color: var(--ink-faint);
302
+ }
303
+
304
+ /* Under 560 the indent and the trailing id both cost more than they say: the
305
+ rail collapses to one step of indent and the id moves into the meta run's
306
+ place at the foot of the row. */
307
+ @media (max-width: 560px) {
308
+ .ig-desc__row { margin-left: calc(min(var(--d, 0), 2) * 14px); }
309
+ .ig-desc__id { display: none; }
310
+ .ig-desc__n { font-size: 26px; }
311
+ }