@bongos/core 1.25.10 → 1.25.11
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 +20 -20
- package/docs/module-api-changelog.md +2 -0
- package/docs/page-readings.json +142 -142
- package/modules/government/docket-vocab.js +1 -1
- package/modules/hall-ui/public/street-card.js +4 -0
- package/modules/hall-ui/public/street-desk.js +3 -3
- package/modules/hall-ui/public/street-inside.js +2 -2
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +6 -0
- package/src/bongos/db-kernel.js +6 -2
- package/src/bongos/routes/builders.js +26 -0
- package/src/module-api.js +1 -1
- package/tests/builder_card_requirement.mjs +28 -0
- package/tests/hall_street_desk.mjs +1 -1
- package/tests/hall_street_inside.mjs +1 -1
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.25.
|
|
6
|
-
"core_contract": "1.25.
|
|
7
|
-
"source_commit": "
|
|
5
|
+
"core_version": "1.25.11",
|
|
6
|
+
"core_contract": "1.25.11",
|
|
7
|
+
"source_commit": "194e92717e58d01a532c98aad3a1830af53c9e9b",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-11-
|
|
9
|
+
"built_at": "2026-11-13T14:15:49.907Z",
|
|
10
10
|
"redaction": {
|
|
11
11
|
"model": "docs-redacted+functional-verbatim",
|
|
12
12
|
"docs_redacted": 655,
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"gate": "passed"
|
|
18
18
|
},
|
|
19
19
|
"file_count": 4688,
|
|
20
|
-
"tree_sha256": "
|
|
20
|
+
"tree_sha256": "781d0de253334c2d9bbc539ee9323c04a0a79f299e00efb1f2c3e615f65d9cf8",
|
|
21
21
|
"files": [
|
|
22
22
|
{
|
|
23
23
|
"path": ".claude/skills/ask-for-help/SKILL.md",
|
|
@@ -3087,7 +3087,7 @@
|
|
|
3087
3087
|
{
|
|
3088
3088
|
"path": "docs/module-api-changelog.md",
|
|
3089
3089
|
"mode": "0000644",
|
|
3090
|
-
"sha256": "
|
|
3090
|
+
"sha256": "c91c98112b041d25b65e75103120b2585ab83d864df137dd9c252499323b48f4"
|
|
3091
3091
|
},
|
|
3092
3092
|
{
|
|
3093
3093
|
"path": "docs/modules-contract.md",
|
|
@@ -3172,7 +3172,7 @@
|
|
|
3172
3172
|
{
|
|
3173
3173
|
"path": "docs/page-readings.json",
|
|
3174
3174
|
"mode": "0000644",
|
|
3175
|
-
"sha256": "
|
|
3175
|
+
"sha256": "b4d16b777b6193169be5ea13ce4f076e4878a507a0ed9d247678d4b2a48d4d48"
|
|
3176
3176
|
},
|
|
3177
3177
|
{
|
|
3178
3178
|
"path": "docs/project-context.template.md",
|
|
@@ -5617,7 +5617,7 @@
|
|
|
5617
5617
|
{
|
|
5618
5618
|
"path": "modules/government/docket-vocab.js",
|
|
5619
5619
|
"mode": "0000644",
|
|
5620
|
-
"sha256": "
|
|
5620
|
+
"sha256": "c48578fca796faa5e0ab844933c932860a577144b508793df5a086fde306841f"
|
|
5621
5621
|
},
|
|
5622
5622
|
{
|
|
5623
5623
|
"path": "modules/government/docket.js",
|
|
@@ -7367,7 +7367,7 @@
|
|
|
7367
7367
|
{
|
|
7368
7368
|
"path": "modules/hall-ui/public/street-card.js",
|
|
7369
7369
|
"mode": "0000644",
|
|
7370
|
-
"sha256": "
|
|
7370
|
+
"sha256": "1d037381134cdb49d837823069546af176b3166ad6118e817eaec9e8d12e040b"
|
|
7371
7371
|
},
|
|
7372
7372
|
{
|
|
7373
7373
|
"path": "modules/hall-ui/public/street-card.states.json",
|
|
@@ -7392,7 +7392,7 @@
|
|
|
7392
7392
|
{
|
|
7393
7393
|
"path": "modules/hall-ui/public/street-desk.js",
|
|
7394
7394
|
"mode": "0000644",
|
|
7395
|
-
"sha256": "
|
|
7395
|
+
"sha256": "ae07ebf837bd13e44284043ad827771cf448b3212eb6eb578b2457602147f073"
|
|
7396
7396
|
},
|
|
7397
7397
|
{
|
|
7398
7398
|
"path": "modules/hall-ui/public/street-draw.js",
|
|
@@ -7402,7 +7402,7 @@
|
|
|
7402
7402
|
{
|
|
7403
7403
|
"path": "modules/hall-ui/public/street-inside.js",
|
|
7404
7404
|
"mode": "0000644",
|
|
7405
|
-
"sha256": "
|
|
7405
|
+
"sha256": "9126c8f1a134226965b49394c7ef12f4fd4d16ff7b95c804e8a5fe9a321e62c5"
|
|
7406
7406
|
},
|
|
7407
7407
|
{
|
|
7408
7408
|
"path": "modules/hall-ui/public/street-office.js",
|
|
@@ -12247,12 +12247,12 @@
|
|
|
12247
12247
|
{
|
|
12248
12248
|
"path": "package-lock.json",
|
|
12249
12249
|
"mode": "0000644",
|
|
12250
|
-
"sha256": "
|
|
12250
|
+
"sha256": "4e138ed0a63ae44467b6568659c5a2e210b16c90ec0c866ed74b235f31962d3c"
|
|
12251
12251
|
},
|
|
12252
12252
|
{
|
|
12253
12253
|
"path": "package.json",
|
|
12254
12254
|
"mode": "0000644",
|
|
12255
|
-
"sha256": "
|
|
12255
|
+
"sha256": "90fd7072761eace69417b0db93d0227b963f7c1ed6929b87bd377d47be816231"
|
|
12256
12256
|
},
|
|
12257
12257
|
{
|
|
12258
12258
|
"path": "public-docs/index.html",
|
|
@@ -12272,7 +12272,7 @@
|
|
|
12272
12272
|
{
|
|
12273
12273
|
"path": "release-notes.json",
|
|
12274
12274
|
"mode": "0000644",
|
|
12275
|
-
"sha256": "
|
|
12275
|
+
"sha256": "bec8a9ace282975f751a0806533b89abae33008ca8a26e422f1b481fd51b2c3f"
|
|
12276
12276
|
},
|
|
12277
12277
|
{
|
|
12278
12278
|
"path": "scripts/bongos/CLAUDE.md",
|
|
@@ -15817,7 +15817,7 @@
|
|
|
15817
15817
|
{
|
|
15818
15818
|
"path": "src/bongos/db-kernel.js",
|
|
15819
15819
|
"mode": "0000644",
|
|
15820
|
-
"sha256": "
|
|
15820
|
+
"sha256": "90c22b787a3cf55cebdf299c32b31eff54d0f60777a9cb92006e33e9fdab6480"
|
|
15821
15821
|
},
|
|
15822
15822
|
{
|
|
15823
15823
|
"path": "src/bongos/db.js",
|
|
@@ -16077,7 +16077,7 @@
|
|
|
16077
16077
|
{
|
|
16078
16078
|
"path": "src/bongos/routes/builders.js",
|
|
16079
16079
|
"mode": "0000644",
|
|
16080
|
-
"sha256": "
|
|
16080
|
+
"sha256": "d06680995f5e148de2df660f186ef4586418909ff51867cc03022149d3909a71"
|
|
16081
16081
|
},
|
|
16082
16082
|
{
|
|
16083
16083
|
"path": "src/bongos/routes/cli-commands.js",
|
|
@@ -16282,7 +16282,7 @@
|
|
|
16282
16282
|
{
|
|
16283
16283
|
"path": "src/module-api.js",
|
|
16284
16284
|
"mode": "0000644",
|
|
16285
|
-
"sha256": "
|
|
16285
|
+
"sha256": "e9d40aa4560009177bab1b5aa23788bbf758ce884741267cd7c7fbb9fd83c2ea"
|
|
16286
16286
|
},
|
|
16287
16287
|
{
|
|
16288
16288
|
"path": "src/module-loader/catalog.js",
|
|
@@ -17132,7 +17132,7 @@
|
|
|
17132
17132
|
{
|
|
17133
17133
|
"path": "tests/builder_card_requirement.mjs",
|
|
17134
17134
|
"mode": "0000644",
|
|
17135
|
-
"sha256": "
|
|
17135
|
+
"sha256": "4b8f1c29ce94f9693602121b9871e3500412dfd6a25d913e3e934476aa1b6c65"
|
|
17136
17136
|
},
|
|
17137
17137
|
{
|
|
17138
17138
|
"path": "tests/builder_needs.mjs",
|
|
@@ -19522,12 +19522,12 @@
|
|
|
19522
19522
|
{
|
|
19523
19523
|
"path": "tests/hall_street_desk.mjs",
|
|
19524
19524
|
"mode": "0000644",
|
|
19525
|
-
"sha256": "
|
|
19525
|
+
"sha256": "059dc9b89a7a26098ef732a62963ce9fa60daee53e2350e61210c12550330ce5"
|
|
19526
19526
|
},
|
|
19527
19527
|
{
|
|
19528
19528
|
"path": "tests/hall_street_inside.mjs",
|
|
19529
19529
|
"mode": "0000644",
|
|
19530
|
-
"sha256": "
|
|
19530
|
+
"sha256": "0b38474476c50823c4d0550548a8ef661679b3ce430a7b02ab6c971c1e4d269d"
|
|
19531
19531
|
},
|
|
19532
19532
|
{
|
|
19533
19533
|
"path": "tests/hall_studio_home.mjs",
|
|
@@ -3460,5 +3460,7 @@ is load-bearing: the script throws rather than guess if it is missing, and
|
|
|
3460
3460
|
landed since 1.25.8 with no explicit bump. run 43414302004. (task 1002620)
|
|
3461
3461
|
1.25.10 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
3462
3462
|
landed since 1.25.9 with no explicit bump. run 43417745698. (task 1002620)
|
|
3463
|
+
1.25.11 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
3464
|
+
landed since 1.25.10 with no explicit bump. run 43440873455. (task 1002620)
|
|
3463
3465
|
---------------------------------------------------------------------------
|
|
3464
3466
|
```
|
package/docs/page-readings.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"adr": "0341 D3",
|
|
6
6
|
"reread": "node scripts/bongos/page-reader.js --stale",
|
|
7
7
|
"how": ["Generated by node scripts/bongos/page-reader.js (BV2.TW04, task 1004315; ADR 0341 D3). Do not hand-edit.","One entry per page of docs/page-inventory.json. Lines are in page order: the default state first, and a line only another state shows sits where that state shows it, with its state named.","placement: placed = a docs/copy-registry.json row renders it (file, line, string_id); shared = shell text every page of the surface carries (top bar, sidebar, footer), with its row when the registry has one; unplaced = the registry cannot place it (a rewrite becomes an engineer task, ADR 0341 D4).","text keeps {…} where the registry row has a hole, or where a value the page read from its API was filled in. A string that is only such data is counted under omitted.data, not listed.","reading_hash is over the non-shared lines (key, section, text); files_hash is over the page's inventory files. --check compares files_hash only and never opens a browser.","Rendered through the hall-preview harness (hall) and the ui-design kit stub (landing, status), at 1280x800 with the clock pinned, so a reading is the fixture world's page."],
|
|
8
|
-
"counts": {"pages":45,"lines":4408,"placed":1635,"shared":369,"unplaced":2404,"omitted_data":
|
|
8
|
+
"counts": {"pages":45,"lines":4408,"placed":1635,"shared":369,"unplaced":2404,"omitted_data":2981},
|
|
9
9
|
"pages": [
|
|
10
10
|
{
|
|
11
11
|
"id": "builders:ai-studio",
|
|
@@ -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": "
|
|
286
|
+
"files_hash": "3c25fd8c0304dc17",
|
|
287
287
|
"reading_hash": "277096d903879a57",
|
|
288
288
|
"counts": {"lines":26,"placed":9,"shared":6,"unplaced":11},
|
|
289
289
|
"omitted": {"data":7},
|
|
@@ -2590,10 +2590,10 @@
|
|
|
2590
2590
|
"surface": "builders",
|
|
2591
2591
|
"title": "The street",
|
|
2592
2592
|
"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"],
|
|
2593
|
-
"files_hash": "
|
|
2594
|
-
"reading_hash": "
|
|
2593
|
+
"files_hash": "9f27d4ebab0219e6",
|
|
2594
|
+
"reading_hash": "84dc42e85d9e23a3",
|
|
2595
2595
|
"counts": {"lines":325,"placed":54,"shared":6,"unplaced":265},
|
|
2596
|
-
"omitted": {"data":
|
|
2596
|
+
"omitted": {"data":241},
|
|
2597
2597
|
"notes": ["fullscreen: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","card: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","floor: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","amend: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","desk: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","desk-facts: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","desk-quiet: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","desk-people-builders: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","desk-people-tier: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","desk-disputes: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","desk-automation-goals: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","desk-release-core: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","desk-rules: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","desk-rules-category: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","desk-planning-priorities: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","desk-planning-ideas: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","desk-planning-blockers: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","pins: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","pins-pager: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","living: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","deck: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","deck-treasury: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","sitting: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","object: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","voted: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","admission: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","settled: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","blocker: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","blocker-more: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","report: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","report-more: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","core: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","core-more: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","recheck: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","recheck-more: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","idea: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","idea-more: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","queue: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","queue-more: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","automation: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood","automation-more: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood"],
|
|
2598
2598
|
"lines": [
|
|
2599
2599
|
{"key":"L0001","section":"skip link","text":"Skip to content","placement":"shared","file":"modules/hall-ui/public/shell.js","line":814,"string_id":"87cee78ca134"},
|
|
@@ -2618,7 +2618,7 @@
|
|
|
2618
2618
|
{"key":"L0020","section":"page top","text":"5 need you","placement":"unplaced","state":"inside-disputes"},
|
|
2619
2619
|
{"key":"L0021","section":"page top","text":"{…} in {…}","placement":"unplaced","state":"inside-rules"},
|
|
2620
2620
|
{"key":"L0022","section":"page top","text":"Founding","placement":"unplaced","state":"here"},
|
|
2621
|
-
{"key":"L0023","section":"page top","text":"{…} of {…}","placement":"placed","file":"modules/hall-ui/public/sky-panel.js","line":120,"string_id":"73c1372b43d9","state":"here","occurrences":
|
|
2621
|
+
{"key":"L0023","section":"page top","text":"{…} of {…}","placement":"placed","file":"modules/hall-ui/public/sky-panel.js","line":120,"string_id":"73c1372b43d9","state":"here","occurrences":5},
|
|
2622
2622
|
{"key":"L0024","section":"page top","text":"AI {…}","placement":"unplaced","state":"inside-treasury"},
|
|
2623
2623
|
{"key":"L0025","section":"page top","text":"{…} to ratify","placement":"unplaced","state":"inside-planning"},
|
|
2624
2624
|
{"key":"L0026","section":"page top","text":"New {…}","placement":"unplaced","state":"inside-rules"},
|
|
@@ -2658,142 +2658,142 @@
|
|
|
2658
2658
|
{"key":"L0060","section":"page top","text":"Ranks","placement":"unplaced","state":"inside-people"},
|
|
2659
2659
|
{"key":"L0061","section":"page top","text":"§5 Money","placement":"unplaced","state":"here"},
|
|
2660
2660
|
{"key":"L0062","section":"page top","text":"{…} · decides a…","placement":"unplaced","state":"here"},
|
|
2661
|
-
{"key":"L0063","section":"page top","text":"
|
|
2662
|
-
{"key":"L0064","section":"page top","text":"
|
|
2663
|
-
{"key":"L0065","section":"page top","text":"
|
|
2664
|
-
{"key":"L0066","section":"page top","text":"
|
|
2665
|
-
{"key":"L0067","section":"page top","text":"
|
|
2666
|
-
{"key":"L0068","section":"page top","text":"
|
|
2667
|
-
{"key":"L0069","section":"
|
|
2668
|
-
{"key":"L0070","section":"{…}","text":"
|
|
2669
|
-
{"key":"L0071","section":"{…}","text":"
|
|
2670
|
-
{"key":"L0072","section":"{…}","text":"
|
|
2671
|
-
{"key":"L0073","section":"{…}","text":"
|
|
2672
|
-
{"key":"L0074","section":"{…}","text":"
|
|
2673
|
-
{"key":"L0075","section":"{…}","text":"{…}
|
|
2674
|
-
{"key":"L0076","section":"{…}","text":"
|
|
2675
|
-
{"key":"L0077","section":"{…}","text":"
|
|
2676
|
-
{"key":"L0078","section":"{…}","text":"
|
|
2677
|
-
{"key":"L0079","section":"{…}","text":"
|
|
2678
|
-
{"key":"L0080","section":"{…}","text":"
|
|
2679
|
-
{"key":"L0081","section":"{…}","text":"
|
|
2680
|
-
{"key":"L0082","section":"{…}","text":"
|
|
2681
|
-
{"key":"L0083","section":"{…}","text":"
|
|
2682
|
-
{"key":"L0084","section":"{…}","text":"
|
|
2683
|
-
{"key":"L0085","section":"{…}","text":"
|
|
2684
|
-
{"key":"L0086","section":"{…}","text":"
|
|
2685
|
-
{"key":"L0087","section":"{…}","text":"
|
|
2686
|
-
{"key":"L0088","section":"{…}","text":"
|
|
2687
|
-
{"key":"L0089","section":"{…}","text":"
|
|
2688
|
-
{"key":"L0090","section":"{…}","text":"
|
|
2689
|
-
{"key":"L0091","section":"{…}","text":"
|
|
2690
|
-
{"key":"L0092","section":"{…}","text":"
|
|
2691
|
-
{"key":"L0093","section":"
|
|
2692
|
-
{"key":"L0094","section":"Spending matters","text":"
|
|
2693
|
-
{"key":"L0095","section":"Spending matters","text":"
|
|
2694
|
-
{"key":"L0096","section":"Spending matters","text":"
|
|
2695
|
-
{"key":"L0097","section":"Spending matters","text":"
|
|
2696
|
-
{"key":"L0098","section":"Spending matters","text":"
|
|
2697
|
-
{"key":"L0099","section":"Spending matters","text":"{…}
|
|
2698
|
-
{"key":"L0100","section":"Spending matters","text":"{…}
|
|
2699
|
-
{"key":"L0101","section":"Spending matters","text":"
|
|
2700
|
-
{"key":"L0102","section":"Spending matters","text":"
|
|
2701
|
-
{"key":"L0103","section":"Spending matters","text":"
|
|
2702
|
-
{"key":"L0104","section":"Spending matters","text":"
|
|
2703
|
-
{"key":"L0105","section":"Spending matters","text":"
|
|
2704
|
-
{"key":"L0106","section":"Spending matters","text":"
|
|
2705
|
-
{"key":"L0107","section":"Spending matters","text":"
|
|
2706
|
-
{"key":"L0108","section":"Spending matters","text":"
|
|
2707
|
-
{"key":"L0109","section":"Spending matters","text":"
|
|
2708
|
-
{"key":"L0110","section":"Spending matters","text":"
|
|
2709
|
-
{"key":"L0111","section":"Spending matters","text":"
|
|
2710
|
-
{"key":"L0112","section":"Spending matters","text":"
|
|
2711
|
-
{"key":"L0113","section":"
|
|
2712
|
-
{"key":"L0114","section":"
|
|
2713
|
-
{"key":"L0115","section":"Overrides","text":"
|
|
2714
|
-
{"key":"L0116","section":"Overrides","text":"
|
|
2715
|
-
{"key":"L0117","section":"Overrides","text":"
|
|
2716
|
-
{"key":"L0118","section":"Overrides","text":"
|
|
2717
|
-
{"key":"L0119","section":"Overrides","text":"{…}
|
|
2718
|
-
{"key":"L0120","section":"Overrides","text":"
|
|
2719
|
-
{"key":"L0121","section":"Overrides","text":"
|
|
2720
|
-
{"key":"L0122","section":"Overrides","text":"
|
|
2721
|
-
{"key":"L0123","section":"Overrides","text":"
|
|
2722
|
-
{"key":"L0124","section":"Overrides","text":"
|
|
2723
|
-
{"key":"L0125","section":"Overrides","text":"
|
|
2724
|
-
{"key":"L0126","section":"Overrides","text":"
|
|
2725
|
-
{"key":"L0127","section":"Overrides","text":"
|
|
2726
|
-
{"key":"L0128","section":"Overrides","text":"
|
|
2727
|
-
{"key":"L0129","section":"Overrides","text":"
|
|
2728
|
-
{"key":"L0130","section":"Overrides","text":"{…}
|
|
2729
|
-
{"key":"L0131","section":"Overrides","text":"
|
|
2730
|
-
{"key":"L0132","section":"Overrides","text":"
|
|
2731
|
-
{"key":"L0133","section":"
|
|
2732
|
-
{"key":"L0134","section":"Reports","text":"
|
|
2733
|
-
{"key":"L0135","section":"Reports","text":"
|
|
2734
|
-
{"key":"L0136","section":"Reports","text":"
|
|
2735
|
-
{"key":"L0137","section":"Reports","text":"
|
|
2736
|
-
{"key":"L0138","section":"Reports","text":"
|
|
2737
|
-
{"key":"L0139","section":"Reports","text":"
|
|
2738
|
-
{"key":"L0140","section":"Reports","text":"
|
|
2739
|
-
{"key":"L0141","section":"Reports","text":"
|
|
2740
|
-
{"key":"L0142","section":"
|
|
2741
|
-
{"key":"L0143","section":"
|
|
2742
|
-
{"key":"L0144","section":"Goal {…}","text":"
|
|
2743
|
-
{"key":"L0145","section":"Goal {…}","text":"
|
|
2744
|
-
{"key":"L0146","section":"Goal {…}","text":"nothing
|
|
2745
|
-
{"key":"L0147","section":"Goal {…}","text":"
|
|
2746
|
-
{"key":"L0148","section":"Goal {…}","text":"
|
|
2747
|
-
{"key":"L0149","section":"{…}","text":"
|
|
2748
|
-
{"key":"L0150","section":"{…}
|
|
2749
|
-
{"key":"L0151","section":"{…} reports","text":"{…}
|
|
2750
|
-
{"key":"L0152","section":"{…} reports","text":"
|
|
2751
|
-
{"key":"L0153","section":"{…} reports","text":"
|
|
2752
|
-
{"key":"L0154","section":"{…} reports","text":"
|
|
2753
|
-
{"key":"L0155","section":"{…} reports","text":"
|
|
2754
|
-
{"key":"L0156","section":"{…} reports","text":"
|
|
2755
|
-
{"key":"L0157","section":"{…} reports","text":"{…} ·
|
|
2756
|
-
{"key":"L0158","section":"{…} reports","text":"{…} ·
|
|
2757
|
-
{"key":"L0159","section":"{…} reports","text":"{…} ·
|
|
2758
|
-
{"key":"L0160","section":"{…} reports","text":"{…} ·
|
|
2759
|
-
{"key":"L0161","section":"{…} reports","text":"{…}
|
|
2760
|
-
{"key":"L0162","section":"{…} reports","text":"{…} report — detail… ·
|
|
2761
|
-
{"key":"L0163","section":"{…} reports","text":"{…} report —
|
|
2762
|
-
{"key":"L0164","section":"{…} reports","text":"
|
|
2763
|
-
{"key":"L0165","section":"{…} reports","text":"
|
|
2764
|
-
{"key":"L0166","section":"{…} reports","text":"
|
|
2765
|
-
{"key":"L0167","section":"{…} reports","text":"
|
|
2766
|
-
{"key":"L0168","section":"{…} reports","text":"
|
|
2767
|
-
{"key":"L0169","section":"{…} reports","text":"
|
|
2768
|
-
{"key":"L0170","section":"{…} reports","text":"
|
|
2769
|
-
{"key":"L0171","section":"{…}","text":"
|
|
2770
|
-
{"key":"L0172","section":"{…}","text":"
|
|
2771
|
-
{"key":"L0173","section":"{…}","text":"
|
|
2772
|
-
{"key":"L0174","section":"{…}","text":"
|
|
2773
|
-
{"key":"L0175","section":"{…}","text":"the
|
|
2774
|
-
{"key":"L0176","section":"{…}","text":"
|
|
2775
|
-
{"key":"L0177","section":"{…}","text":"
|
|
2776
|
-
{"key":"L0178","section":"{…}","text":"
|
|
2777
|
-
{"key":"L0179","section":"{…}","text":"
|
|
2778
|
-
{"key":"L0180","section":"{…}","text":"
|
|
2779
|
-
{"key":"L0181","section":"{…}","text":"
|
|
2780
|
-
{"key":"L0182","section":"
|
|
2781
|
-
{"key":"L0183","section":"New {…}","text":"
|
|
2782
|
-
{"key":"L0184","section":"New {…}","text":"
|
|
2783
|
-
{"key":"L0185","section":"New {…}","text":"
|
|
2784
|
-
{"key":"L0186","section":"New {…}","text":"
|
|
2785
|
-
{"key":"L0187","section":"New {…}","text":"
|
|
2786
|
-
{"key":"L0188","section":"New {…}","text":"The landing {…}
|
|
2787
|
-
{"key":"L0189","section":"New {…}","text":"
|
|
2788
|
-
{"key":"L0190","section":"New {…}","text":"
|
|
2789
|
-
{"key":"L0191","section":"New {…}","text":"
|
|
2790
|
-
{"key":"L0192","section":"New {…}","text":"
|
|
2791
|
-
{"key":"L0193","section":"New {…}","text":"
|
|
2792
|
-
{"key":"L0194","section":"{…}","text":"
|
|
2793
|
-
{"key":"L0195","section":"{…}","text":"
|
|
2794
|
-
{"key":"L0196","section":"{…}","text":"
|
|
2795
|
-
{"key":"L0197","section":"{…}","text":"
|
|
2796
|
-
{"key":"L0198","section":"{…}","text":"
|
|
2661
|
+
{"key":"L0063","section":"page top","text":"Cards","placement":"unplaced","state":"inside-people"},
|
|
2662
|
+
{"key":"L0064","section":"page top","text":"Goal {…}","placement":"placed","file":"modules/hall-ui/public/gate.js","line":202,"string_id":"ec88b946ad16","state":"inside-people"},
|
|
2663
|
+
{"key":"L0065","section":"page top","text":"Live this month","placement":"unplaced","state":"inside-release"},
|
|
2664
|
+
{"key":"L0066","section":"page top","text":"{…} · decides al…","placement":"unplaced","state":"here"},
|
|
2665
|
+
{"key":"L0067","section":"page top","text":"empty floor","placement":"unplaced","state":"here","occurrences":6},
|
|
2666
|
+
{"key":"L0068","section":"page top","text":"{…}'s office","placement":"unplaced","state":"here"},
|
|
2667
|
+
{"key":"L0069","section":"page top","text":"no {…} · {…} holds it","placement":"unplaced","state":"here"},
|
|
2668
|
+
{"key":"L0070","section":"{…}","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","state":"inside-treasury","occurrences":25},
|
|
2669
|
+
{"key":"L0071","section":"{…}","text":"B","placement":"unplaced","state":"inside-treasury","occurrences":36},
|
|
2670
|
+
{"key":"L0072","section":"{…}","text":"you","placement":"unplaced","state":"inside-treasury","occurrences":9},
|
|
2671
|
+
{"key":"L0073","section":"{…}","text":"change how this works","placement":"placed","file":"modules/hall-ui/public/street.html","line":171,"string_id":"3c593c73628a","state":"inside-treasury","occurrences":9},
|
|
2672
|
+
{"key":"L0074","section":"{…}","text":"{…} of {…}","placement":"placed","file":"modules/hall-ui/public/sky-panel.js","line":120,"string_id":"73c1372b43d9","state":"inside-treasury","occurrences":16},
|
|
2673
|
+
{"key":"L0075","section":"{…}","text":"No {…} yet","placement":"unplaced","state":"inside-treasury","occurrences":9},
|
|
2674
|
+
{"key":"L0076","section":"{…}","text":"{…} holds {…}","placement":"unplaced","state":"inside-treasury","occurrences":9},
|
|
2675
|
+
{"key":"L0077","section":"{…}","text":"the office","placement":"unplaced","state":"inside-treasury","occurrences":9},
|
|
2676
|
+
{"key":"L0078","section":"{…}","text":"to {…} here","placement":"unplaced","state":"inside-treasury","occurrences":5},
|
|
2677
|
+
{"key":"L0079","section":"{…}","text":"1 to do","placement":"unplaced","state":"inside-treasury","occurrences":2},
|
|
2678
|
+
{"key":"L0080","section":"{…}","text":"{…} in a row","placement":"unplaced","state":"inside-treasury","occurrences":5},
|
|
2679
|
+
{"key":"L0081","section":"{…}","text":"the {…}","placement":"unplaced","state":"inside-treasury"},
|
|
2680
|
+
{"key":"L0082","section":"{…}","text":"this month","placement":"unplaced","state":"inside-treasury"},
|
|
2681
|
+
{"key":"L0083","section":"{…}","text":"in reserve","placement":"unplaced","state":"inside-treasury"},
|
|
2682
|
+
{"key":"L0084","section":"{…}","text":"Spend cap","placement":"unplaced","state":"inside-treasury"},
|
|
2683
|
+
{"key":"L0085","section":"{…}","text":"off · no spend limit, the {…}","placement":"unplaced","state":"inside-treasury"},
|
|
2684
|
+
{"key":"L0086","section":"{…}","text":"pots per {…}","placement":"unplaced","state":"inside-treasury"},
|
|
2685
|
+
{"key":"L0087","section":"{…}","text":"Governor / Builder /…","placement":"unplaced","state":"inside-treasury"},
|
|
2686
|
+
{"key":"L0088","section":"{…}","text":"maintenance","placement":"unplaced","state":"inside-treasury"},
|
|
2687
|
+
{"key":"L0089","section":"{…}","text":"Bongos Core distribution","placement":"unplaced","state":"inside-treasury"},
|
|
2688
|
+
{"key":"L0090","section":"{…}","text":"Account creation, managem…","placement":"unplaced","state":"inside-treasury"},
|
|
2689
|
+
{"key":"L0091","section":"{…}","text":"Government","placement":"unplaced","state":"inside-treasury"},
|
|
2690
|
+
{"key":"L0092","section":"{…}","text":"and 9 smaller pots","placement":"unplaced","state":"inside-treasury"},
|
|
2691
|
+
{"key":"L0093","section":"{…}","text":"floor 5","placement":"unplaced","state":"inside-treasury","occurrences":2},
|
|
2692
|
+
{"key":"L0094","section":"Spending matters","text":"Spending matters","placement":"unplaced","state":"inside-treasury"},
|
|
2693
|
+
{"key":"L0095","section":"Spending matters","text":"1 {…} · oldest 1 min","placement":"unplaced","state":"inside-treasury"},
|
|
2694
|
+
{"key":"L0096","section":"Spending matters","text":"open","placement":"placed","file":"modules/hall-ui/public/approval-queue.js","line":173,"string_id":"9a803563c948","state":"inside-treasury"},
|
|
2695
|
+
{"key":"L0097","section":"Spending matters","text":"on {…}","placement":"unplaced","state":"inside-treasury"},
|
|
2696
|
+
{"key":"L0098","section":"Spending matters","text":"WA","placement":"unplaced","state":"inside-treasury"},
|
|
2697
|
+
{"key":"L0099","section":"Spending matters","text":"{…} of {…}","placement":"placed","file":"modules/hall-ui/public/sky-panel.js","line":120,"string_id":"73c1372b43d9","state":"inside-treasury"},
|
|
2698
|
+
{"key":"L0100","section":"Spending matters","text":"{…} from the reserve?","placement":"unplaced","state":"inside-treasury"},
|
|
2699
|
+
{"key":"L0101","section":"Spending matters","text":"{…} · today","placement":"unplaced","state":"inside-treasury"},
|
|
2700
|
+
{"key":"L0102","section":"Spending matters","text":"7 builders earned 5,5… · today","placement":"unplaced","state":"inside-treasury"},
|
|
2701
|
+
{"key":"L0103","section":"Spending matters","text":"{…} · 4w","placement":"unplaced","state":"inside-treasury","occurrences":2},
|
|
2702
|
+
{"key":"L0104","section":"Spending matters","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":188,"string_id":"4bde7b562cf4","state":"inside-treasury"},
|
|
2703
|
+
{"key":"L0105","section":"Spending matters","text":"1 matter on the docket · 16 on the {…}","placement":"unplaced","state":"inside-treasury"},
|
|
2704
|
+
{"key":"L0106","section":"Spending matters","text":"oct","placement":"unplaced","state":"inside-treasury"},
|
|
2705
|
+
{"key":"L0107","section":"Spending matters","text":"sep","placement":"unplaced","state":"inside-treasury"},
|
|
2706
|
+
{"key":"L0108","section":"Spending matters","text":"aug","placement":"unplaced","state":"inside-treasury"},
|
|
2707
|
+
{"key":"L0109","section":"Spending matters","text":"jul","placement":"unplaced","state":"inside-treasury"},
|
|
2708
|
+
{"key":"L0110","section":"Spending matters","text":"jun","placement":"unplaced","state":"inside-treasury"},
|
|
2709
|
+
{"key":"L0111","section":"Spending matters","text":"may","placement":"unplaced","state":"inside-treasury"},
|
|
2710
|
+
{"key":"L0112","section":"Spending matters","text":"{…} you","placement":"unplaced","state":"inside-treasury"},
|
|
2711
|
+
{"key":"L0113","section":"Spending matters","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":746,"string_id":"fd1903586e8e","state":"inside-treasury"},
|
|
2712
|
+
{"key":"L0114","section":"{…}","text":"floor 1","placement":"unplaced","state":"inside-release","occurrences":2},
|
|
2713
|
+
{"key":"L0115","section":"Overrides","text":"Overrides","placement":"unplaced","state":"inside-release"},
|
|
2714
|
+
{"key":"L0116","section":"Overrides","text":"1 {…} · oldest 3 weeks","placement":"unplaced","state":"inside-release"},
|
|
2715
|
+
{"key":"L0117","section":"Overrides","text":"on {…}","placement":"unplaced","state":"inside-release"},
|
|
2716
|
+
{"key":"L0118","section":"Overrides","text":"OR","placement":"unplaced","state":"inside-release"},
|
|
2717
|
+
{"key":"L0119","section":"Overrides","text":"Override: Reconstruct the {…}-plus {…} {…} lost to the Windows transcript-encodi…","placement":"unplaced","state":"inside-release"},
|
|
2718
|
+
{"key":"L0120","section":"Overrides","text":"{…} · 3 weeks","placement":"unplaced","state":"inside-release"},
|
|
2719
|
+
{"key":"L0121","section":"Overrides","text":"hold","placement":"unplaced","state":"inside-release"},
|
|
2720
|
+
{"key":"L0122","section":"Overrides","text":"mergeBlockReason coun… · today","placement":"unplaced","state":"inside-release"},
|
|
2721
|
+
{"key":"L0123","section":"Overrides","text":"ship.js --regrade sil… · today","placement":"unplaced","state":"inside-release"},
|
|
2722
|
+
{"key":"L0124","section":"Overrides","text":"Fix the failing cases… · today","placement":"unplaced","state":"inside-release"},
|
|
2723
|
+
{"key":"L0125","section":"Overrides","text":"Ship reports say plai… · today","placement":"unplaced","state":"inside-release"},
|
|
2724
|
+
{"key":"L0126","section":"Overrides","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":188,"string_id":"4bde7b562cf4","state":"inside-release"},
|
|
2725
|
+
{"key":"L0127","section":"Overrides","text":"1 matter on the docket · 60 on the {…}","placement":"unplaced","state":"inside-release"},
|
|
2726
|
+
{"key":"L0128","section":"Overrides","text":"oct","placement":"unplaced","state":"inside-release"},
|
|
2727
|
+
{"key":"L0129","section":"Overrides","text":"sep","placement":"unplaced","state":"inside-release"},
|
|
2728
|
+
{"key":"L0130","section":"Overrides","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","state":"inside-release","occurrences":3},
|
|
2729
|
+
{"key":"L0131","section":"Overrides","text":"{…} of {…}","placement":"placed","file":"modules/hall-ui/public/sky-panel.js","line":120,"string_id":"73c1372b43d9","state":"inside-release"},
|
|
2730
|
+
{"key":"L0132","section":"Overrides","text":"and 48 more","placement":"unplaced","state":"inside-release"},
|
|
2731
|
+
{"key":"L0133","section":"Overrides","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":746,"string_id":"fd1903586e8e","state":"inside-release"},
|
|
2732
|
+
{"key":"L0134","section":"Reports","text":"Reports","placement":"unplaced","state":"inside-automation"},
|
|
2733
|
+
{"key":"L0135","section":"Reports","text":"nothing {…} you · {…}","placement":"unplaced","state":"inside-automation"},
|
|
2734
|
+
{"key":"L0136","section":"Reports","text":"on {…}","placement":"unplaced","state":"inside-automation"},
|
|
2735
|
+
{"key":"L0137","section":"Reports","text":"Nothing {…} you here","placement":"unplaced","state":"inside-automation"},
|
|
2736
|
+
{"key":"L0138","section":"Reports","text":"Unattended building s… · today","placement":"unplaced","state":"inside-automation"},
|
|
2737
|
+
{"key":"L0139","section":"Reports","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":188,"string_id":"4bde7b562cf4","state":"inside-automation"},
|
|
2738
|
+
{"key":"L0140","section":"Reports","text":"1 matter on the docket · 1 on the {…}","placement":"unplaced","state":"inside-automation"},
|
|
2739
|
+
{"key":"L0141","section":"Reports","text":"oct","placement":"unplaced","state":"inside-automation"},
|
|
2740
|
+
{"key":"L0142","section":"Reports","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":746,"string_id":"fd1903586e8e","state":"inside-automation"},
|
|
2741
|
+
{"key":"L0143","section":"{…}","text":"floor 8","placement":"unplaced","state":"inside-people","occurrences":2},
|
|
2742
|
+
{"key":"L0144","section":"Goal {…}","text":"nothing {…} you · nothing {…}","placement":"unplaced","state":"inside-people"},
|
|
2743
|
+
{"key":"L0145","section":"Goal {…}","text":"Nothing {…} you here","placement":"unplaced","state":"inside-people"},
|
|
2744
|
+
{"key":"L0146","section":"Goal {…}","text":"nothing {…}","placement":"unplaced","state":"inside-people"},
|
|
2745
|
+
{"key":"L0147","section":"Goal {…}","text":"nothing yet","placement":"unplaced","state":"inside-people"},
|
|
2746
|
+
{"key":"L0148","section":"Goal {…}","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":188,"string_id":"4bde7b562cf4","state":"inside-people"},
|
|
2747
|
+
{"key":"L0149","section":"Goal {…}","text":"nothing on file yet","placement":"unplaced","state":"inside-people"},
|
|
2748
|
+
{"key":"L0150","section":"{…}","text":"5 to do","placement":"unplaced","state":"inside-disputes"},
|
|
2749
|
+
{"key":"L0151","section":"{…} reports","text":"{…} reports","placement":"unplaced","state":"inside-disputes"},
|
|
2750
|
+
{"key":"L0152","section":"{…} reports","text":"{…} · oldest 16 weeks","placement":"unplaced","state":"inside-disputes"},
|
|
2751
|
+
{"key":"L0153","section":"{…} reports","text":"open","placement":"placed","file":"modules/hall-ui/public/approval-queue.js","line":173,"string_id":"9a803563c948","state":"inside-disputes"},
|
|
2752
|
+
{"key":"L0154","section":"{…} reports","text":"to fix","placement":"unplaced","state":"inside-disputes"},
|
|
2753
|
+
{"key":"L0155","section":"{…} reports","text":"on {…}","placement":"unplaced","state":"inside-disputes"},
|
|
2754
|
+
{"key":"L0156","section":"{…} reports","text":"SR","placement":"unplaced","state":"inside-disputes","occurrences":6},
|
|
2755
|
+
{"key":"L0157","section":"{…} reports","text":"{…} · 16 weeks","placement":"unplaced","state":"inside-disputes"},
|
|
2756
|
+
{"key":"L0158","section":"{…} reports","text":"{…} · 13 weeks","placement":"unplaced","state":"inside-disputes"},
|
|
2757
|
+
{"key":"L0159","section":"{…} reports","text":"{…} · 7 weeks","placement":"unplaced","state":"inside-disputes"},
|
|
2758
|
+
{"key":"L0160","section":"{…} reports","text":"{…} · 5 weeks","placement":"unplaced","state":"inside-disputes"},
|
|
2759
|
+
{"key":"L0161","section":"{…} reports","text":"{…} · 4 weeks","placement":"unplaced","state":"inside-disputes"},
|
|
2760
|
+
{"key":"L0162","section":"{…} reports","text":"{…} report — detail… · 4w","placement":"unplaced","state":"inside-disputes"},
|
|
2761
|
+
{"key":"L0163","section":"{…} reports","text":"{…} report — detail… · 5w","placement":"unplaced","state":"inside-disputes"},
|
|
2762
|
+
{"key":"L0164","section":"{…} reports","text":"{…} report — detai… · 4mo","placement":"unplaced","state":"inside-disputes","occurrences":2},
|
|
2763
|
+
{"key":"L0165","section":"{…} reports","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":188,"string_id":"4bde7b562cf4","state":"inside-disputes"},
|
|
2764
|
+
{"key":"L0166","section":"{…} reports","text":"5 matters on the docket · 20 on the {…}","placement":"unplaced","state":"inside-disputes"},
|
|
2765
|
+
{"key":"L0167","section":"{…} reports","text":"aug","placement":"unplaced","state":"inside-disputes"},
|
|
2766
|
+
{"key":"L0168","section":"{…} reports","text":"jun","placement":"unplaced","state":"inside-disputes"},
|
|
2767
|
+
{"key":"L0169","section":"{…} reports","text":"confirmed","placement":"placed","file":"modules/hall-ui/public/hall-render.js","line":465,"string_id":"d427d9dab01c","state":"inside-disputes"},
|
|
2768
|
+
{"key":"L0170","section":"{…} reports","text":"{…} you","placement":"unplaced","state":"inside-disputes","occurrences":3},
|
|
2769
|
+
{"key":"L0171","section":"{…} reports","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":746,"string_id":"fd1903586e8e","state":"inside-disputes"},
|
|
2770
|
+
{"key":"L0172","section":"{…}","text":"the law book","placement":"unplaced","state":"inside-rules"},
|
|
2771
|
+
{"key":"L0173","section":"{…}","text":"1 in {…}","placement":"unplaced","state":"inside-rules"},
|
|
2772
|
+
{"key":"L0174","section":"{…}","text":"The landing {…}","placement":"unplaced","state":"inside-rules"},
|
|
2773
|
+
{"key":"L0175","section":"{…}","text":"the docket · standing","placement":"unplaced","state":"inside-rules"},
|
|
2774
|
+
{"key":"L0176","section":"{…}","text":"the AI","placement":"unplaced","state":"inside-rules"},
|
|
2775
|
+
{"key":"L0177","section":"{…}","text":"what every agent reads at the start","placement":"unplaced","state":"inside-rules"},
|
|
2776
|
+
{"key":"L0178","section":"{…}","text":"how it talks to you","placement":"unplaced","state":"inside-rules"},
|
|
2777
|
+
{"key":"L0179","section":"{…}","text":"Interaction profile for this {…} — pitch replies accordingly:","placement":"unplaced","state":"inside-rules"},
|
|
2778
|
+
{"key":"L0180","section":"{…}","text":"the {…}'s laws","placement":"unplaced","state":"inside-rules"},
|
|
2779
|
+
{"key":"L0181","section":"{…}","text":"1. The landing {…} — {…}","placement":"unplaced","state":"inside-rules"},
|
|
2780
|
+
{"key":"L0182","section":"{…}","text":"floor 2","placement":"unplaced","state":"inside-rules","occurrences":2},
|
|
2781
|
+
{"key":"L0183","section":"New {…}","text":"New {…}","placement":"unplaced","state":"inside-rules"},
|
|
2782
|
+
{"key":"L0184","section":"New {…}","text":"nothing {…} you · a {…} put to the counc…","placement":"unplaced","state":"inside-rules"},
|
|
2783
|
+
{"key":"L0185","section":"New {…}","text":"on {…}","placement":"unplaced","state":"inside-rules"},
|
|
2784
|
+
{"key":"L0186","section":"New {…}","text":"Nothing {…} you here","placement":"unplaced","state":"inside-rules"},
|
|
2785
|
+
{"key":"L0187","section":"New {…}","text":"a {…} put to the {…}","placement":"unplaced","state":"inside-rules"},
|
|
2786
|
+
{"key":"L0188","section":"New {…}","text":"The landing {…} sett… · today","placement":"unplaced","state":"inside-rules"},
|
|
2787
|
+
{"key":"L0189","section":"New {…}","text":"The landing {…} {…}… · 4w","placement":"unplaced","state":"inside-rules"},
|
|
2788
|
+
{"key":"L0190","section":"New {…}","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":188,"string_id":"4bde7b562cf4","state":"inside-rules"},
|
|
2789
|
+
{"key":"L0191","section":"New {…}","text":"2 on the {…}","placement":"unplaced","state":"inside-rules"},
|
|
2790
|
+
{"key":"L0192","section":"New {…}","text":"oct","placement":"unplaced","state":"inside-rules"},
|
|
2791
|
+
{"key":"L0193","section":"New {…}","text":"sep","placement":"unplaced","state":"inside-rules"},
|
|
2792
|
+
{"key":"L0194","section":"New {…}","text":"Builders hall · this session","placement":"placed","file":"modules/hall-ui/public/craft-mode.js","line":746,"string_id":"fd1903586e8e","state":"inside-rules"},
|
|
2793
|
+
{"key":"L0195","section":"{…}","text":"how {…} the {…} run","placement":"unplaced","state":"here"},
|
|
2794
|
+
{"key":"L0196","section":"{…}","text":"no preset yet","placement":"unplaced","state":"here"},
|
|
2795
|
+
{"key":"L0197","section":"{…}","text":"Open {…}","placement":"placed","file":"modules/hall-ui/public/goals.js","line":84,"string_id":"f6f68ba322be","state":"here"},
|
|
2796
|
+
{"key":"L0198","section":"{…}","text":"Laws are {…} one at a time.","placement":"unplaced","state":"here"},
|
|
2797
2797
|
{"key":"L0199","section":"§7 {…}","text":"nothing {…} you · whoever may put a relea…","placement":"unplaced","state":"here"},
|
|
2798
2798
|
{"key":"L0200","section":"§7 {…}","text":"on {…}","placement":"unplaced","state":"here"},
|
|
2799
2799
|
{"key":"L0201","section":"§7 {…}","text":"Nothing {…} you here","placement":"unplaced","state":"here"},
|
|
@@ -96,7 +96,7 @@ const FLOORS = Object.freeze([
|
|
|
96
96
|
// module that owns its write route, under that route's atom; a desk whose module
|
|
97
97
|
// is off reports `off` and the floor shows its quiet line.
|
|
98
98
|
const DESKS = Object.freeze([
|
|
99
|
-
['people.builders', 'people'], ['people.ranks', 'people'],
|
|
99
|
+
['people.builders', 'people'], ['people.ranks', 'people'], ['people.cards', 'people'],
|
|
100
100
|
['disputes.confirmed', 'disputes'],
|
|
101
101
|
['automation.switch', 'automation'], ['automation.goals', 'automation'], ['automation.runners', 'automation'],
|
|
102
102
|
['people.invite', 'people'], ['release.core', 'release'],
|
|
@@ -690,6 +690,10 @@
|
|
|
690
690
|
// task 1004561: a builder's monthly limit (PATCH /builders/:id/budget; the
|
|
691
691
|
// 'none' chip clears it), and a sign-off undone (POST /done-when/:id/unsatisfy,
|
|
692
692
|
// the chip's words as the reason it logs).
|
|
693
|
+
// the Cards desk (task 1005268): switch the hardware-card requirement on or off for one builder
|
|
694
|
+
ACT_ROUTES.builder_card = {
|
|
695
|
+
card: function (id, inp) { return inp.option ? call('PATCH', '/builders/' + id + '/card-requirement', { require_card: str(inp.option) === 'on' }) : null; },
|
|
696
|
+
};
|
|
693
697
|
ACT_ROUTES.builder_budget = {
|
|
694
698
|
budget: function (id, inp) { return inp.option ? call('PATCH', '/builders/' + id + '/budget', { monthly_budget_usd: inp.option === 'none' ? null : Number(inp.option) }) : null; },
|
|
695
699
|
};
|
|
@@ -172,7 +172,7 @@
|
|
|
172
172
|
confirm: 'confirm', dispute: 'dispute', fix: 'fixed', remove: 'remove', keep: 'keep',
|
|
173
173
|
signoff: 'sign off', record: 'record it', force: 'sign off anyway',
|
|
174
174
|
switch_on: 'switch on', switch_off: 'switch off', allow: 'allow', disallow: 'disallow', first: 'first',
|
|
175
|
-
pause: 'pause', resume: 'resume', tier: 'tier', deactivate: 'deactivate', give: 'give', take: 'take back',
|
|
175
|
+
pause: 'pause', resume: 'resume', tier: 'tier', card: 'card', deactivate: 'deactivate', give: 'give', take: 'take back',
|
|
176
176
|
check: 'check', take_core: 'take it', rot: 'set', module_on: 'turn on', module_off: 'turn off', backup: 'back up', invite: 'invite', open: 'open',
|
|
177
177
|
// the Planning desks (task 1004560)
|
|
178
178
|
decide: 'decide', ratify: 'ratify', ratify_goal: 'make goal', up: 'move up', down: 'move down',
|
|
@@ -188,10 +188,10 @@
|
|
|
188
188
|
answer: 'answer',
|
|
189
189
|
});
|
|
190
190
|
// What a row's chips ask, per act (a reason or an option is one tap, never text).
|
|
191
|
-
const ASKS = Object.freeze({ recheck: 'why', budget: 'monthly limit', unsign: 'why', decide: 'pick one', ratify_goal: 'which version', check: 'check', take_core: 'move to', rot: 'stale after', module_off: 'sure', invite: 'their GitHub name', object: 'why', force: 'why', switch_off: 'why', pause: 'why', deactivate: 'why', signoff: 'confirm', record: 'the recording', allow: 'which goal', tier: 'which tier', give: 'to whom', take: 'from whom', rename: 'new name', add: 'its name', answer: 'lend from the reserve?' });
|
|
191
|
+
const ASKS = Object.freeze({ recheck: 'why', budget: 'monthly limit', unsign: 'why', decide: 'pick one', ratify_goal: 'which version', check: 'check', take_core: 'move to', rot: 'stale after', module_off: 'sure', invite: 'their GitHub name', object: 'why', force: 'why', switch_off: 'why', pause: 'why', deactivate: 'why', signoff: 'confirm', record: 'the recording', allow: 'which goal', tier: 'which tier', card: 'require a card?', give: 'to whom', take: 'from whom', rename: 'new name', add: 'its name', answer: 'lend from the reserve?' });
|
|
192
192
|
// How a floor counts rows nobody is waiting on (desk rows), by its desk.
|
|
193
193
|
const DESK_NOUNS = Object.freeze({
|
|
194
|
-
'people.builders': 'builders', 'people.ranks': 'ranks', 'disputes.confirmed': 'to fix',
|
|
194
|
+
'people.builders': 'builders', 'people.ranks': 'ranks', 'people.cards': 'cards', 'disputes.confirmed': 'to fix',
|
|
195
195
|
'automation.switch': 'switch', 'automation.goals': 'allowed', 'automation.runners': 'runners',
|
|
196
196
|
'people.invite': 'invites', 'release.core': 'update', 'rules.settings': 'settings', 'rules.modules': 'modules', 'treasury.backup': 'backups',
|
|
197
197
|
'planning.order': 'goals in order', 'planning.ratify': 'to ratify',
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
'Held back': 'pause', 'Core update': 'update', 'Live this month': 'live', 'Ready to go': 'crate',
|
|
104
104
|
'Builder rewards': 'coinhand', 'AI grading': 'chip', 'Hosting': 'server', 'Reserve': 'safe', 'Second AI reviewer': 'chip',
|
|
105
105
|
'Founding': 'flag', 'Ideas to ratify': 'bulb', 'Priorities': 'ordered', 'Versions': 'layers', 'Waiting on a decision': 'hourglass',
|
|
106
|
-
'Ranks': 'ladder', 'Goal teams': 'team', 'Overrides': 'key',
|
|
106
|
+
'Ranks': 'ladder', 'Cards': 'card', 'Goal teams': 'team', 'Overrides': 'key',
|
|
107
107
|
'The switch': 'power', 'Allowed goals': 'flag', 'Running now': 'chip', 'Spending limit': 'gauge', 'Reports': 'doc',
|
|
108
108
|
};
|
|
109
109
|
const PLAN_SYMBOLS = {
|
|
@@ -444,7 +444,7 @@
|
|
|
444
444
|
people: {
|
|
445
445
|
holds: 'Who belongs, the rank each person holds, and who sits in which seat.', rule: 'consent', cap: 8,
|
|
446
446
|
growth: 'A new floor opens whenever the charter creates a new seat.', annex: 'room for an annex of seats',
|
|
447
|
-
floors: [['The council', 'who sits, and for how long', { floor: 'people.council' }], ['Testers', 'who signs off finished work', { floor: 'people.testers' }], ['Builders', 'who builds here', { reading: 'people', desk: 'people.builders' }], ['Newcomers', 'builders on newcomer tasks', { floor: 'people.newcomers' }], ['Waiting to join', 'asked to join the project', { source: 'access_requests', desk: 'people.invite' }], ['Ranks', 'the ranks, and who holds each', { floor: 'people.ranks', desk: 'people.ranks' }], ['Goal teams', 'asked to join a goal team', { source: 'goal_join_requests' }]],
|
|
447
|
+
floors: [['The council', 'who sits, and for how long', { floor: 'people.council' }], ['Testers', 'who signs off finished work', { floor: 'people.testers' }], ['Builders', 'who builds here', { reading: 'people', desk: 'people.builders' }], ['Newcomers', 'builders on newcomer tasks', { floor: 'people.newcomers' }], ['Waiting to join', 'asked to join the project', { source: 'access_requests', desk: 'people.invite' }], ['Ranks', 'the ranks, and who holds each', { floor: 'people.ranks', desk: 'people.ranks' }], ['Cards', 'who must tap a hardware card', { reading: 'people', desk: 'people.cards' }], ['Goal teams', 'asked to join a goal team', { source: 'goal_join_requests' }]],
|
|
448
448
|
},
|
|
449
449
|
planning: {
|
|
450
450
|
holds: 'Goals, and the promises that say when each one is done. Kept promises are what the project owes its users.', rule: 'majority', cap: 9,
|
package/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bongos/core",
|
|
3
|
-
"version": "1.25.
|
|
3
|
+
"version": "1.25.11",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@bongos/core",
|
|
9
|
-
"version": "1.25.
|
|
9
|
+
"version": "1.25.11",
|
|
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.25.
|
|
3
|
+
"version": "1.25.11",
|
|
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/release-notes.json
CHANGED
|
@@ -11766,5 +11766,11 @@
|
|
|
11766
11766
|
"id": "1005267",
|
|
11767
11767
|
"text": "The hall's panels, menus, dialogs, toasts, top bar and city labels now share one smoked-glass look that softens whatever is behind them; phones keep solid panels."
|
|
11768
11768
|
}
|
|
11769
|
+
],
|
|
11770
|
+
"1.25.11": [
|
|
11771
|
+
{
|
|
11772
|
+
"id": "1005268",
|
|
11773
|
+
"text": "An Archon can now switch the card requirement on or off for a builder straight from the People roster."
|
|
11774
|
+
}
|
|
11769
11775
|
]
|
|
11770
11776
|
}
|
package/src/bongos/db-kernel.js
CHANGED
|
@@ -84,10 +84,14 @@ async function getFoundingBuilder() {
|
|
|
84
84
|
// Archon-only); id/login/name/avatar/rank is no more sensitive than what
|
|
85
85
|
// GET /leaderboard already exposes publicly, just without the credits cutoff.
|
|
86
86
|
// Accounts tagged is_tester (migration core_278) stay out unless the caller is a
|
|
87
|
-
// management read that has to see them to untag them (includeTesters).
|
|
88
|
-
|
|
87
|
+
// management read that has to see them to untag them (includeTesters). Card state
|
|
88
|
+
// (require_card, has_card) is an Archon-desk fact, never part of the any-builder
|
|
89
|
+
// directory: it says which accounts lack a card. Ask for it with includeCardState.
|
|
90
|
+
async function listActiveBuilders({ includeTesters = false, includeCardState = false } = {}) {
|
|
89
91
|
const { rows } = await pool.query(
|
|
90
92
|
`SELECT id, github_login, display_name, avatar_url, rank
|
|
93
|
+
${includeCardState ? `, require_card,
|
|
94
|
+
EXISTS (SELECT 1 FROM passkey_credentials c WHERE c.builder_id = builders.id) AS has_card` : ''}
|
|
91
95
|
FROM builders
|
|
92
96
|
WHERE status = 'active'
|
|
93
97
|
AND (is_tester = false OR $1::boolean)
|
|
@@ -209,6 +209,30 @@ function contributeBuilderDesk() {
|
|
|
209
209
|
});
|
|
210
210
|
}
|
|
211
211
|
|
|
212
|
+
// The People Cards desk (task 1005268; ADR 0382 D4): one row per builder with a
|
|
213
|
+
// registered hardware card, and the one act the viewer holding builder.rank.set (the
|
|
214
|
+
// card-requirement route's own atom) may take — require a card, or stop requiring it.
|
|
215
|
+
// It is its own desk because a roster row holds at most two buttons. Never the
|
|
216
|
+
// viewer's own row: the route refuses switching your own requirement off. Pure;
|
|
217
|
+
// exported for tests.
|
|
218
|
+
function cardDeskRows(builders, { viewerId }) {
|
|
219
|
+
return (builders || []).filter((b) => b && String(b.id) !== String(viewerId) && (b.has_card === true || b.require_card === true)).map((b) => {
|
|
220
|
+
const on = b.require_card === true;
|
|
221
|
+
return {
|
|
222
|
+
id: b.id, name: b.display_name || b.github_login || `builder ${b.id}`, fact: on ? 'card required' : 'card optional',
|
|
223
|
+
facts: b.github_login ? [`@${b.github_login}`] : [], ref: { type: 'builder_card', id: b.id },
|
|
224
|
+
acts: [{ key: 'card', options: [on ? { key: 'off', label: 'stop requiring a card' } : { key: 'on', label: 'require a card' }] }],
|
|
225
|
+
};
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
function contributeCardDesk() {
|
|
229
|
+
seams.contribute('governor.docket', {
|
|
230
|
+
desk: 'people.cards',
|
|
231
|
+
gate: { permission: 'builder.rank.set' },
|
|
232
|
+
read: async (ctx) => cardDeskRows(await db.listActiveBuilders({ includeTesters: true, includeCardState: true }), { viewerId: ctx.builderId }),
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
|
|
212
236
|
// The Treasury desk's budget rows (task 1004561): one row per active builder,
|
|
213
237
|
// their monthly spending limit as the fact, and the limits a viewer holding
|
|
214
238
|
// builder.budget.set (PATCH /builders/:id/budget's own atom) may set in one tap.
|
|
@@ -264,6 +288,7 @@ function contributeTreasury() {
|
|
|
264
288
|
|
|
265
289
|
module.exports = function buildBuildersRouter() {
|
|
266
290
|
contributeBuilderDesk();
|
|
291
|
+
contributeCardDesk();
|
|
267
292
|
contributeTreasury();
|
|
268
293
|
const router = express.Router();
|
|
269
294
|
|
|
@@ -898,5 +923,6 @@ module.exports = function buildBuildersRouter() {
|
|
|
898
923
|
};
|
|
899
924
|
|
|
900
925
|
module.exports.builderDeskRows = builderDeskRows;
|
|
926
|
+
module.exports.cardDeskRows = cardDeskRows;
|
|
901
927
|
module.exports.fireDiscordBroadcast = fireDiscordBroadcast;
|
|
902
928
|
module.exports.budgetDeskRows = budgetDeskRows;
|
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.25.
|
|
84
|
+
const CORE_VERSION = '1.25.11'; // 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');
|
|
@@ -72,4 +72,32 @@ await test('route: rank atom + step-up gate, self-disable refused, 409 mapped, e
|
|
|
72
72
|
assert.equal(classify('cannot_disable_own_card_requirement'), 'forbidden');
|
|
73
73
|
});
|
|
74
74
|
|
|
75
|
+
await test('Cards desk: one row per builder with a card, one act, never the viewer or a cardless builder', () => {
|
|
76
|
+
const { cardDeskRows, builderDeskRows } = require('../src/bongos/routes/builders');
|
|
77
|
+
const rows = cardDeskRows([
|
|
78
|
+
{ id: 1, has_card: true },
|
|
79
|
+
{ id: 2 },
|
|
80
|
+
{ id: 3, has_card: true },
|
|
81
|
+
{ id: 4, has_card: true, require_card: true },
|
|
82
|
+
], { viewerId: '1' });
|
|
83
|
+
assert.deepEqual(rows.map((r) => r.id), [3, 4]);
|
|
84
|
+
assert.deepEqual(rows[0].acts, [{ key: 'card', options: [{ key: 'on', label: 'require a card' }] }]);
|
|
85
|
+
assert.deepEqual(rows[1].acts[0].options.map((o) => o.key), ['off']);
|
|
86
|
+
assert.equal(rows[1].fact, 'card required');
|
|
87
|
+
assert.equal(rows[0].ref.type, 'builder_card');
|
|
88
|
+
// the roster keeps its two buttons: tier + deactivate, no card act
|
|
89
|
+
const roster = builderDeskRows([{ id: 3, rank: 'xenos', has_card: true }], { viewerId: '1', mayRank: true, mayStop: true, ranks: ['xenos', 'thetes'] });
|
|
90
|
+
assert.deepEqual(roster[0].acts.map((a) => a.key), ['tier', 'deactivate']);
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
await test('hall: the card act posts to the card-requirement route, under its own ref type', async () => {
|
|
94
|
+
const fs = await import('node:fs');
|
|
95
|
+
const src = fs.readFileSync(new URL('../modules/hall-ui/public/street-card.js', import.meta.url), 'utf8');
|
|
96
|
+
const at = src.indexOf('ACT_ROUTES.builder_card = {');
|
|
97
|
+
assert.ok(at > 0, 'the card act has its own ref type');
|
|
98
|
+
const block = src.slice(at, src.indexOf('};', at));
|
|
99
|
+
assert.ok(block.includes("'/builders/' + id + '/card-requirement'"));
|
|
100
|
+
assert.ok(block.includes("require_card: str(inp.option) === 'on'"));
|
|
101
|
+
});
|
|
102
|
+
|
|
75
103
|
summary();
|
|
@@ -190,7 +190,7 @@ test('a row\'s buttons are the card\'s acts under the board\'s words, and send t
|
|
|
190
190
|
assert.equal(ana.name, 'Ana Ruiz', 'a person is named by their name');
|
|
191
191
|
assert.deepEqual(ana.actions.map((a) => [a.key, a.label, a.tone]), [['fine', 'let in', 'primary'], ['refuse', 'not now', 'quiet']]);
|
|
192
192
|
assert.deepEqual(j(C.request(ana.card, 'fine')), { method: 'PATCH', url: '/api/bongos/access-requests/11', body: { status: 'invited' } });
|
|
193
|
-
assert.deepEqual(j(C.request(row('people',
|
|
193
|
+
assert.deepEqual(j(C.request(row('people', 7).card, 'refuse')), { method: 'POST', url: '/api/bongos/goals/42/requests/12/respond', body: { action: 'deny' } });
|
|
194
194
|
const rel = D.rowsFor('release', 0, dk, { now: NOW });
|
|
195
195
|
assert.deepEqual(rel[0].actions.map((a) => a.label), ['release', 'hold']);
|
|
196
196
|
assert.equal(C.request(rel[0].card, 'release').url, '/api/bongos/override-requests/13/decide');
|
|
@@ -587,7 +587,7 @@ test('a building address draws the interior in place of the street, from the doc
|
|
|
587
587
|
assert.equal(p.byId.get('streetInside').hidden, false);
|
|
588
588
|
assert.equal(p.byId.get('streetSizer').hidden, true, 'the street gives way');
|
|
589
589
|
assert.equal(p.byId.get('insideName').textContent, 'People');
|
|
590
|
-
assert.equal(p.byId.get('insideFloors').children.length,
|
|
590
|
+
assert.equal(p.byId.get('insideFloors').children.length, 8, 'a button per floor in use');
|
|
591
591
|
assert.equal(p.byId.get('insideFloors').children[4].attrs['aria-pressed'], 'true', 'the floor being decided is chosen');
|
|
592
592
|
assert.equal(p.byId.get('insideLift').style.transform, 'translateY(-208px)');
|
|
593
593
|
assert.equal(p.byId.get('insideTable'), undefined, 'no separate list of matters');
|