@bongos/core 1.20.53 → 1.20.54
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 +39 -29
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +2 -0
- package/clients/bongos-client/index.cjs +2 -0
- package/clients/bongos-client/index.d.ts +4 -0
- package/clients/bongos-client/index.mjs +2 -0
- package/docs/api/openapi.json +92 -3
- package/docs/api-reference.md +3 -2
- package/docs/copy-inventory.md +21 -12
- package/docs/copy-registry.json +95 -14
- package/docs/module-api-changelog.md +2 -0
- package/docs/page-readings.json +52 -40
- package/modules/government/board.js +15 -21
- package/modules/government/recommendations.js +218 -0
- package/modules/government/routes/government.js +47 -1
- package/modules/hall-ui/public/government.js +125 -2
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +6 -0
- package/src/bongos/route-rank-check.js +1 -0
- package/src/module-api.js +1 -1
- package/tests/government_charter_library.mjs +11 -5
- package/tests/government_constitution_view.mjs +4 -1
- package/tests/government_recommendations.mjs +119 -0
- package/tests/government_routes.mjs +35 -0
package/docs/copy-registry.json
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"generator": "scripts/gds/copy-inventory.js",
|
|
4
4
|
"goal": 1000074,
|
|
5
5
|
"counts": {
|
|
6
|
-
"strings":
|
|
7
|
-
"unique_ids":
|
|
8
|
-
"certain":
|
|
6
|
+
"strings": 2288,
|
|
7
|
+
"unique_ids": 1972,
|
|
8
|
+
"certain": 2288,
|
|
9
9
|
"heuristic": 0,
|
|
10
10
|
"duplicate_ids": 220
|
|
11
11
|
},
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"builders-hall": {
|
|
14
14
|
"at": "modules/hall-ui/public",
|
|
15
15
|
"files": 114,
|
|
16
|
-
"strings":
|
|
16
|
+
"strings": 1697
|
|
17
17
|
},
|
|
18
18
|
"status-dashboard": {
|
|
19
19
|
"at": "modules/status-ui/public",
|
|
@@ -269,7 +269,7 @@
|
|
|
269
269
|
"at": [
|
|
270
270
|
"modules/hall-ui/public/board-room.js:526",
|
|
271
271
|
"modules/hall-ui/public/gate.js:234",
|
|
272
|
-
"modules/hall-ui/public/government.js:
|
|
272
|
+
"modules/hall-ui/public/government.js:1011",
|
|
273
273
|
"modules/hall-ui/public/watch.js:1300"
|
|
274
274
|
]
|
|
275
275
|
},
|
|
@@ -671,7 +671,7 @@
|
|
|
671
671
|
"occurrences": 2,
|
|
672
672
|
"at": [
|
|
673
673
|
"modules/hall-ui/public/gate.js:237",
|
|
674
|
-
"modules/hall-ui/public/government.js:
|
|
674
|
+
"modules/hall-ui/public/government.js:1014"
|
|
675
675
|
]
|
|
676
676
|
},
|
|
677
677
|
{
|
|
@@ -2867,6 +2867,15 @@
|
|
|
2867
2867
|
"origin": "html-text",
|
|
2868
2868
|
"confidence": "certain"
|
|
2869
2869
|
},
|
|
2870
|
+
{
|
|
2871
|
+
"id": "57c247d4d8d8",
|
|
2872
|
+
"surface": "builders-hall",
|
|
2873
|
+
"text": "A starting point by project type and size: a government you can adopt today, and the ranks worth adding to the four standard ones.",
|
|
2874
|
+
"file": "modules/hall-ui/public/government.js",
|
|
2875
|
+
"line": 891,
|
|
2876
|
+
"origin": "js-markup",
|
|
2877
|
+
"confidence": "certain"
|
|
2878
|
+
},
|
|
2870
2879
|
{
|
|
2871
2880
|
"id": "83b1274f9088",
|
|
2872
2881
|
"surface": "builders-hall",
|
|
@@ -2984,6 +2993,15 @@
|
|
|
2984
2993
|
"origin": "js-markup",
|
|
2985
2994
|
"confidence": "certain"
|
|
2986
2995
|
},
|
|
2996
|
+
{
|
|
2997
|
+
"id": "82a8bd77d374",
|
|
2998
|
+
"surface": "builders-hall",
|
|
2999
|
+
"text": "Add these ranks",
|
|
3000
|
+
"file": "modules/hall-ui/public/government.js",
|
|
3001
|
+
"line": 889,
|
|
3002
|
+
"origin": "js-markup",
|
|
3003
|
+
"confidence": "certain"
|
|
3004
|
+
},
|
|
2987
3005
|
{
|
|
2988
3006
|
"id": "eded707fab69",
|
|
2989
3007
|
"surface": "builders-hall",
|
|
@@ -3304,7 +3322,7 @@
|
|
|
3304
3322
|
"surface": "builders-hall",
|
|
3305
3323
|
"text": "As configuration:",
|
|
3306
3324
|
"file": "modules/hall-ui/public/government.js",
|
|
3307
|
-
"line":
|
|
3325
|
+
"line": 958,
|
|
3308
3326
|
"origin": "js-markup",
|
|
3309
3327
|
"confidence": "certain"
|
|
3310
3328
|
},
|
|
@@ -3403,7 +3421,7 @@
|
|
|
3403
3421
|
"surface": "builders-hall",
|
|
3404
3422
|
"text": "Available from the {…} rank up.",
|
|
3405
3423
|
"file": "modules/hall-ui/public/government.js",
|
|
3406
|
-
"line":
|
|
3424
|
+
"line": 1014,
|
|
3407
3425
|
"origin": "js-text-assign",
|
|
3408
3426
|
"confidence": "certain"
|
|
3409
3427
|
},
|
|
@@ -4496,6 +4514,15 @@
|
|
|
4496
4514
|
"origin": "js-notice",
|
|
4497
4515
|
"confidence": "certain"
|
|
4498
4516
|
},
|
|
4517
|
+
{
|
|
4518
|
+
"id": "16a4effbf95a",
|
|
4519
|
+
"surface": "builders-hall",
|
|
4520
|
+
"text": "Could not add the ranks: {…}",
|
|
4521
|
+
"file": "modules/hall-ui/public/government.js",
|
|
4522
|
+
"line": 936,
|
|
4523
|
+
"origin": "js-notice",
|
|
4524
|
+
"confidence": "certain"
|
|
4525
|
+
},
|
|
4499
4526
|
{
|
|
4500
4527
|
"id": "7bcaeffb742f",
|
|
4501
4528
|
"surface": "builders-hall",
|
|
@@ -5626,7 +5653,7 @@
|
|
|
5626
5653
|
"surface": "builders-hall",
|
|
5627
5654
|
"text": "Every closed amendment sitting, ratified and returned alike, with the rule it was decided under.",
|
|
5628
5655
|
"file": "modules/hall-ui/public/government.js",
|
|
5629
|
-
"line":
|
|
5656
|
+
"line": 969,
|
|
5630
5657
|
"origin": "js-markup",
|
|
5631
5658
|
"confidence": "certain"
|
|
5632
5659
|
},
|
|
@@ -6544,7 +6571,7 @@
|
|
|
6544
6571
|
"surface": "builders-hall",
|
|
6545
6572
|
"text": "How it has changed",
|
|
6546
6573
|
"file": "modules/hall-ui/public/government.js",
|
|
6547
|
-
"line":
|
|
6574
|
+
"line": 969,
|
|
6548
6575
|
"origin": "js-markup",
|
|
6549
6576
|
"confidence": "certain"
|
|
6550
6577
|
},
|
|
@@ -6652,7 +6679,7 @@
|
|
|
6652
6679
|
"surface": "builders-hall",
|
|
6653
6680
|
"text": "How this project is governed.",
|
|
6654
6681
|
"file": "modules/hall-ui/public/government.js",
|
|
6655
|
-
"line":
|
|
6682
|
+
"line": 1052,
|
|
6656
6683
|
"origin": "js-text-assign",
|
|
6657
6684
|
"confidence": "certain"
|
|
6658
6685
|
},
|
|
@@ -9244,7 +9271,7 @@
|
|
|
9244
9271
|
"surface": "builders-hall",
|
|
9245
9272
|
"text": "Permissions is the Archon administration surface. The Constitution and the Board Room are yours to read.",
|
|
9246
9273
|
"file": "modules/hall-ui/public/government.js",
|
|
9247
|
-
"line":
|
|
9274
|
+
"line": 1028,
|
|
9248
9275
|
"origin": "js-markup",
|
|
9249
9276
|
"confidence": "certain"
|
|
9250
9277
|
},
|
|
@@ -9518,6 +9545,15 @@
|
|
|
9518
9545
|
"origin": "html-title",
|
|
9519
9546
|
"confidence": "certain"
|
|
9520
9547
|
},
|
|
9548
|
+
{
|
|
9549
|
+
"id": "16521a997ade",
|
|
9550
|
+
"surface": "builders-hall",
|
|
9551
|
+
"text": "Project type",
|
|
9552
|
+
"file": "modules/hall-ui/public/government.js",
|
|
9553
|
+
"line": 856,
|
|
9554
|
+
"origin": "js-markup",
|
|
9555
|
+
"confidence": "certain"
|
|
9556
|
+
},
|
|
9521
9557
|
{
|
|
9522
9558
|
"id": "dd4bc23c7759",
|
|
9523
9559
|
"surface": "builders-hall",
|
|
@@ -9806,6 +9842,15 @@
|
|
|
9806
9842
|
"origin": "js-markup",
|
|
9807
9843
|
"confidence": "certain"
|
|
9808
9844
|
},
|
|
9845
|
+
{
|
|
9846
|
+
"id": "5419ad9503ef",
|
|
9847
|
+
"surface": "builders-hall",
|
|
9848
|
+
"text": "Recommended for your project",
|
|
9849
|
+
"file": "modules/hall-ui/public/government.js",
|
|
9850
|
+
"line": 891,
|
|
9851
|
+
"origin": "js-markup",
|
|
9852
|
+
"confidence": "certain"
|
|
9853
|
+
},
|
|
9809
9854
|
{
|
|
9810
9855
|
"id": "986ecda14881",
|
|
9811
9856
|
"surface": "builders-hall",
|
|
@@ -10171,7 +10216,7 @@
|
|
|
10171
10216
|
"surface": "builders-hall",
|
|
10172
10217
|
"text": "Restricted.",
|
|
10173
10218
|
"file": "modules/hall-ui/public/government.js",
|
|
10174
|
-
"line":
|
|
10219
|
+
"line": 1011,
|
|
10175
10220
|
"origin": "js-text-assign",
|
|
10176
10221
|
"confidence": "certain"
|
|
10177
10222
|
},
|
|
@@ -11750,6 +11795,15 @@
|
|
|
11750
11795
|
"origin": "html-text",
|
|
11751
11796
|
"confidence": "certain"
|
|
11752
11797
|
},
|
|
11798
|
+
{
|
|
11799
|
+
"id": "2a2152c7bcfb",
|
|
11800
|
+
"surface": "builders-hall",
|
|
11801
|
+
"text": "The ladder's own shape at this size is {…}. {…}",
|
|
11802
|
+
"file": "modules/hall-ui/public/government.js",
|
|
11803
|
+
"line": 886,
|
|
11804
|
+
"origin": "js-markup",
|
|
11805
|
+
"confidence": "certain"
|
|
11806
|
+
},
|
|
11753
11807
|
{
|
|
11754
11808
|
"id": "814eb6889339",
|
|
11755
11809
|
"surface": "builders-hall",
|
|
@@ -14063,6 +14117,15 @@
|
|
|
14063
14117
|
"origin": "html-text",
|
|
14064
14118
|
"confidence": "certain"
|
|
14065
14119
|
},
|
|
14120
|
+
{
|
|
14121
|
+
"id": "a588fb76667f",
|
|
14122
|
+
"surface": "builders-hall",
|
|
14123
|
+
"text": "Your team now ({…} builder{…})",
|
|
14124
|
+
"file": "modules/hall-ui/public/government.js",
|
|
14125
|
+
"line": 853,
|
|
14126
|
+
"origin": "js-markup",
|
|
14127
|
+
"confidence": "certain"
|
|
14128
|
+
},
|
|
14066
14129
|
{
|
|
14067
14130
|
"id": "aeaab4969b68",
|
|
14068
14131
|
"surface": "builders-hall",
|
|
@@ -14279,6 +14342,15 @@
|
|
|
14279
14342
|
"origin": "js-markup",
|
|
14280
14343
|
"confidence": "certain"
|
|
14281
14344
|
},
|
|
14345
|
+
{
|
|
14346
|
+
"id": "72f977e4c47f",
|
|
14347
|
+
"surface": "builders-hall",
|
|
14348
|
+
"text": "as configuration: membership rank:{…} — the council rank below, once you have added it and assigned its members",
|
|
14349
|
+
"file": "modules/hall-ui/public/government.js",
|
|
14350
|
+
"line": 883,
|
|
14351
|
+
"origin": "js-markup",
|
|
14352
|
+
"confidence": "certain"
|
|
14353
|
+
},
|
|
14282
14354
|
{
|
|
14283
14355
|
"id": "d7c511423bc0",
|
|
14284
14356
|
"surface": "builders-hall",
|
|
@@ -15494,6 +15566,15 @@
|
|
|
15494
15566
|
"origin": "html-text",
|
|
15495
15567
|
"confidence": "certain"
|
|
15496
15568
|
},
|
|
15569
|
+
{
|
|
15570
|
+
"id": "a86aeceacc7e",
|
|
15571
|
+
"surface": "builders-hall",
|
|
15572
|
+
"text": "rank {…} · may: {…}",
|
|
15573
|
+
"file": "modules/hall-ui/public/government.js",
|
|
15574
|
+
"line": 870,
|
|
15575
|
+
"origin": "js-markup",
|
|
15576
|
+
"confidence": "certain"
|
|
15577
|
+
},
|
|
15497
15578
|
{
|
|
15498
15579
|
"id": "80ddf28baee7",
|
|
15499
15580
|
"surface": "builders-hall",
|
|
@@ -17092,7 +17173,7 @@
|
|
|
17092
17173
|
"surface": "builders-hall",
|
|
17093
17174
|
"text": "{…}s only",
|
|
17094
17175
|
"file": "modules/hall-ui/public/government.js",
|
|
17095
|
-
"line":
|
|
17176
|
+
"line": 1028,
|
|
17096
17177
|
"origin": "js-markup",
|
|
17097
17178
|
"confidence": "certain"
|
|
17098
17179
|
},
|
|
@@ -2763,5 +2763,7 @@ is load-bearing: the script throws rather than guess if it is missing, and
|
|
|
2763
2763
|
landed since 1.20.51 with no explicit bump. run 36817286385. (task 1002620)
|
|
2764
2764
|
1.20.53 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
2765
2765
|
landed since 1.20.52 with no explicit bump. run 36818406554. (task 1002620)
|
|
2766
|
+
1.20.54 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
2767
|
+
landed since 1.20.53 with no explicit bump. run 36819731905. (task 1002620)
|
|
2766
2768
|
---------------------------------------------------------------------------
|
|
2767
2769
|
```
|
package/docs/page-readings.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"adr": "0341 D3",
|
|
6
6
|
"reread": "node scripts/gds/page-reader.js --stale",
|
|
7
7
|
"how": ["Generated by node scripts/gds/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":40,"lines":
|
|
8
|
+
"counts": {"pages":40,"lines":3898,"placed":1411,"shared":244,"unplaced":2243,"omitted_data":2221},
|
|
9
9
|
"pages": [
|
|
10
10
|
{
|
|
11
11
|
"id": "builders:atlas",
|
|
@@ -1269,10 +1269,10 @@
|
|
|
1269
1269
|
"surface": "builders",
|
|
1270
1270
|
"title": "Government",
|
|
1271
1271
|
"states_read": ["constitution","out","permissions","board","constitution-tab"],
|
|
1272
|
-
"files_hash": "
|
|
1273
|
-
"reading_hash": "
|
|
1274
|
-
"counts": {"lines":
|
|
1275
|
-
"omitted": {"data":
|
|
1272
|
+
"files_hash": "bbf04524bee9d2db",
|
|
1273
|
+
"reading_hash": "f79ecbcfaec9cd68",
|
|
1274
|
+
"counts": {"lines":83,"placed":34,"shared":5,"unplaced":44},
|
|
1275
|
+
"omitted": {"data":28},
|
|
1276
1276
|
"notes": ["board: an action failed (page.click: Timeout 6000ms exceeded.); read as it stood"],
|
|
1277
1277
|
"lines": [
|
|
1278
1278
|
{"key":"L0001","section":"skip link","text":"Skip to content","placement":"shared","file":"modules/hall-ui/public/shell.js","line":880,"string_id":"87cee78ca134"},
|
|
@@ -1280,11 +1280,11 @@
|
|
|
1280
1280
|
{"key":"L0003","section":"top bar","text":"Jump to…","placement":"shared","file":"modules/hall-ui/public/shell.js","line":491,"string_id":"eba610d25523"},
|
|
1281
1281
|
{"key":"L0004","section":"top bar","text":"Ctrl K","placement":"shared"},
|
|
1282
1282
|
{"key":"L0005","section":"Government","text":"Government","placement":"unplaced"},
|
|
1283
|
-
{"key":"L0006","section":"Government","text":"How this project is governed.","placement":"placed","file":"modules/hall-ui/public/government.js","line":
|
|
1283
|
+
{"key":"L0006","section":"Government","text":"How this project is governed.","placement":"placed","file":"modules/hall-ui/public/government.js","line":1052,"string_id":"b536897de6a3"},
|
|
1284
1284
|
{"key":"L0007","section":"Government","text":"Permissions","placement":"unplaced"},
|
|
1285
1285
|
{"key":"L0008","section":"Government","text":"Constitution","placement":"unplaced"},
|
|
1286
|
-
{"key":"L0009","section":"{…}s only","text":"{…}s only","placement":"placed","file":"modules/hall-ui/public/government.js","line":
|
|
1287
|
-
{"key":"L0010","section":"{…}s only","text":"Permissions is the Archon administration surface. The Constitution and the Board Room are yours to read.","placement":"placed","file":"modules/hall-ui/public/government.js","line":
|
|
1286
|
+
{"key":"L0009","section":"{…}s only","text":"{…}s only","placement":"placed","file":"modules/hall-ui/public/government.js","line":1028,"string_id":"1e275ee0299c","state":"permissions"},
|
|
1287
|
+
{"key":"L0010","section":"{…}s only","text":"Permissions is the Archon administration surface. The Constitution and the Board Room are yours to read.","placement":"placed","file":"modules/hall-ui/public/government.js","line":1028,"string_id":"e1e10dc5e357","state":"permissions"},
|
|
1288
1288
|
{"key":"L0011","section":"footer","text":"Sign out","placement":"shared","file":"modules/hall-ui/public/shell.js","line":467,"string_id":"1883ad7f07fc","state":"permissions","occurrences":2},
|
|
1289
1289
|
{"key":"L0012","section":"Constitution","text":"Constitution","placement":"unplaced"},
|
|
1290
1290
|
{"key":"L0013","section":"Constitution","text":"Three dials, all settings rather than code:","placement":"placed","file":"modules/hall-ui/public/government.html","line":55,"string_id":"2ad5823d2cd7"},
|
|
@@ -1307,45 +1307,57 @@
|
|
|
1307
1307
|
{"key":"L0030","section":"Constitution","text":"A sitting runs","placement":"unplaced"},
|
|
1308
1308
|
{"key":"L0031","section":"Constitution","text":"1 day","placement":"unplaced"},
|
|
1309
1309
|
{"key":"L0032","section":"Constitution","text":", closing early the moment every member has voted. An unvoted window nulls that member's vote — absence never blocks.","placement":"unplaced"},
|
|
1310
|
-
{"key":"L0033","section":"Constitution","text":"As configuration:","placement":"placed","file":"modules/hall-ui/public/government.js","line":
|
|
1310
|
+
{"key":"L0033","section":"Constitution","text":"As configuration:","placement":"placed","file":"modules/hall-ui/public/government.js","line":958,"string_id":"5fcfdf8975cf"},
|
|
1311
1311
|
{"key":"L0034","section":"Constitution","text":"{\"membership\":\"{…}\",\"pass_rule\":\"{…}\",\"window_minutes\":1440,\"close_early_on_{…}_turnout\":true}","placement":"unplaced"},
|
|
1312
|
-
{"key":"L0035","section":"How it has changed","text":"How it has changed","placement":"placed","file":"modules/hall-ui/public/government.js","line":
|
|
1313
|
-
{"key":"L0036","section":"How it has changed","text":"Every closed amendment sitting, ratified and returned alike, with the rule it was decided under.","placement":"placed","file":"modules/hall-ui/public/government.js","line":
|
|
1312
|
+
{"key":"L0035","section":"How it has changed","text":"How it has changed","placement":"placed","file":"modules/hall-ui/public/government.js","line":969,"string_id":"fb7489e8b67c"},
|
|
1313
|
+
{"key":"L0036","section":"How it has changed","text":"Every closed amendment sitting, ratified and returned alike, with the rule it was decided under.","placement":"placed","file":"modules/hall-ui/public/government.js","line":969,"string_id":"a97b064db76f"},
|
|
1314
1314
|
{"key":"L0037","section":"How it has changed","text":"{…} proposed","placement":"placed","file":"modules/hall-ui/public/government.js","line":705,"string_id":"154bc518bab4","occurrences":2},
|
|
1315
1315
|
{"key":"L0038","section":"How it has changed","text":"{\"membership\":\"{…}\",\"pass_rule\":\"{…}\",\"window_minutes\":1440,\"close_early_on_{…}_turnout\":true}","placement":"unplaced"},
|
|
1316
1316
|
{"key":"L0039","section":"How it has changed","text":"ratified","placement":"unplaced"},
|
|
1317
1317
|
{"key":"L0040","section":"How it has changed","text":"decided by first ratifier","placement":"unplaced"},
|
|
1318
1318
|
{"key":"L0041","section":"How it has changed","text":"{\"membership\":\"{…}\",\"pass_rule\":\"{…}\",\"window_minutes\":120,\"close_early_on_{…}_turnout\":true}","placement":"unplaced"},
|
|
1319
1319
|
{"key":"L0042","section":"How it has changed","text":"decided by {…}","placement":"unplaced"},
|
|
1320
|
-
{"key":"L0043","section":"
|
|
1321
|
-
{"key":"L0044","section":"
|
|
1322
|
-
{"key":"L0045","section":"
|
|
1323
|
-
{"key":"L0046","section":"
|
|
1324
|
-
{"key":"L0047","section":"
|
|
1325
|
-
{"key":"L0048","section":"
|
|
1326
|
-
{"key":"L0049","section":"
|
|
1327
|
-
{"key":"L0050","section":"
|
|
1328
|
-
{"key":"L0051","section":"
|
|
1329
|
-
{"key":"L0052","section":"
|
|
1330
|
-
{"key":"L0053","section":"
|
|
1331
|
-
{"key":"L0054","section":"
|
|
1332
|
-
{"key":"L0055","section":"
|
|
1333
|
-
{"key":"L0056","section":"
|
|
1334
|
-
{"key":"L0057","section":"Charter library","text":"
|
|
1335
|
-
{"key":"L0058","section":"Charter library","text":"
|
|
1336
|
-
{"key":"L0059","section":"Charter library","text":"
|
|
1337
|
-
{"key":"L0060","section":"Charter library","text":"
|
|
1338
|
-
{"key":"L0061","section":"Charter library","text":"
|
|
1339
|
-
{"key":"L0062","section":"Charter library","text":"
|
|
1340
|
-
{"key":"L0063","section":"Charter library","text":"
|
|
1341
|
-
{"key":"L0064","section":"Charter library","text":"
|
|
1342
|
-
{"key":"L0065","section":"Charter library","text":"
|
|
1343
|
-
{"key":"L0066","section":"Charter library","text":"
|
|
1344
|
-
{"key":"L0067","section":"Charter library","text":"
|
|
1345
|
-
{"key":"L0068","section":"Charter library","text":"
|
|
1346
|
-
{"key":"L0069","section":"Charter library","text":"
|
|
1347
|
-
{"key":"L0070","section":"Charter library","text":"
|
|
1348
|
-
{"key":"L0071","section":"Charter library","text":"
|
|
1320
|
+
{"key":"L0043","section":"Recommended for your project","text":"Recommended for your project","placement":"placed","file":"modules/hall-ui/public/government.js","line":891,"string_id":"5419ad9503ef"},
|
|
1321
|
+
{"key":"L0044","section":"Recommended for your project","text":"A starting point by project type and size: a government you can adopt today, and the ranks worth adding to the four standard ones.","placement":"placed","file":"modules/hall-ui/public/government.js","line":891,"string_id":"57c247d4d8d8"},
|
|
1322
|
+
{"key":"L0045","section":"Recommended for your project","text":"Project type","placement":"placed","file":"modules/hall-ui/public/government.js","line":856,"string_id":"16521a997ade"},
|
|
1323
|
+
{"key":"L0046","section":"Recommended for your project","text":"Size","placement":"unplaced"},
|
|
1324
|
+
{"key":"L0047","section":"Recommended for your project","text":"Your team now ({…} builder{…})","placement":"placed","file":"modules/hall-ui/public/government.js","line":853,"string_id":"a588fb76667f"},
|
|
1325
|
+
{"key":"L0048","section":"Recommended for your project","text":"Government","placement":"unplaced"},
|
|
1326
|
+
{"key":"L0049","section":"Recommended for your project","text":"The ladder's own shape at this size is {…}. {…}","placement":"placed","file":"modules/hall-ui/public/government.js","line":886,"string_id":"2a2152c7bcfb"},
|
|
1327
|
+
{"key":"L0050","section":"Recommended for your project","text":"selectable today","placement":"unplaced"},
|
|
1328
|
+
{"key":"L0051","section":"Recommended for your project","text":"recommended","placement":"unplaced"},
|
|
1329
|
+
{"key":"L0052","section":"Recommended for your project","text":"Ranks to add","placement":"unplaced"},
|
|
1330
|
+
{"key":"L0053","section":"Recommended for your project","text":"{…} of {…}","placement":"placed","file":"modules/hall-ui/public/sky-panel.js","line":120,"string_id":"73c1372b43d9"},
|
|
1331
|
+
{"key":"L0054","section":"Recommended for your project","text":"{…} project{…}","placement":"placed","file":"modules/hall-ui/public/fleet.js","line":39,"string_id":"771bef3d31b5"},
|
|
1332
|
+
{"key":"L0055","section":"Recommended for your project","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","occurrences":2},
|
|
1333
|
+
{"key":"L0056","section":"Recommended for your project","text":"rank {…} · may: {…}","placement":"placed","file":"modules/hall-ui/public/government.js","line":870,"string_id":"a86aeceacc7e","occurrences":2},
|
|
1334
|
+
{"key":"L0057","section":"Charter library","text":"Charter library","placement":"placed","file":"modules/hall-ui/public/government.js","line":809,"string_id":"e6982a9ff948"},
|
|
1335
|
+
{"key":"L0058","section":"Charter library","text":"The seven government structures, for getting a team up to speed before deciding when to flip a switch.","placement":"placed","file":"modules/hall-ui/public/government.js","line":809,"string_id":"af664a644b13"},
|
|
1336
|
+
{"key":"L0059","section":"Charter library","text":"Selectable today","placement":"placed","file":"modules/hall-ui/public/government.js","line":809,"string_id":"ae43a132699b"},
|
|
1337
|
+
{"key":"L0060","section":"Charter library","text":"means expressible through the real configuration — a rank-based membership plus a pass rule — with no new code. This project has","placement":"placed","file":"modules/hall-ui/public/government.js","line":809,"string_id":"5c3fdd34cd02"},
|
|
1338
|
+
{"key":"L0061","section":"Charter library","text":"active builder{…}: {…}","placement":"placed","file":"modules/hall-ui/public/government.js","line":809,"string_id":"dbfc9e6e921b"},
|
|
1339
|
+
{"key":"L0062","section":"Charter library","text":"Monarchy / BDFL","placement":"unplaced"},
|
|
1340
|
+
{"key":"L0063","section":"Charter library","text":"{…} project{…}","placement":"placed","file":"modules/hall-ui/public/fleet.js","line":39,"string_id":"771bef3d31b5","occurrences":2},
|
|
1341
|
+
{"key":"L0064","section":"Charter library","text":"selectable today","placement":"unplaced","occurrences":4},
|
|
1342
|
+
{"key":"L0065","section":"Charter library","text":"as configuration: {…}","placement":"placed","file":"modules/hall-ui/public/government.js","line":795,"string_id":"d7c511423bc0","occurrences":4},
|
|
1343
|
+
{"key":"L0066","section":"Charter library","text":"Standing accrues to those actively building: the franchise follows earned rank, not headcount.","placement":"unplaced"},
|
|
1344
|
+
{"key":"L0067","section":"Charter library","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","occurrences":2},
|
|
1345
|
+
{"key":"L0068","section":"Charter library","text":"Direct Democracy","placement":"unplaced"},
|
|
1346
|
+
{"key":"L0069","section":"Charter library","text":"Every builder sits on the board. Consent keeps it unblockable: silence passes, one reasoned objection returns.","placement":"unplaced"},
|
|
1347
|
+
{"key":"L0070","section":"Charter library","text":"An ELECTED executive with a fixed term. Needs election machinery this system does not have yet — documented for later.","placement":"unplaced"},
|
|
1348
|
+
{"key":"L0071","section":"Charter library","text":"documented for later","placement":"unplaced","occurrences":3},
|
|
1349
|
+
{"key":"L0072","section":"Charter library","text":"Cooperative","placement":"unplaced"},
|
|
1350
|
+
{"key":"L0073","section":"Charter library","text":"Federation","placement":"unplaced"},
|
|
1351
|
+
{"key":"L0074","section":"Charter library","text":"Multiple chambers or sub-projects, each self-governing, coordinating through a compact. The >150 shape — documented for later.","placement":"unplaced"},
|
|
1352
|
+
{"key":"L0075","section":"Charter library","text":"Foundation","placement":"unplaced"},
|
|
1353
|
+
{"key":"L0076","section":"Charter library","text":"A written charter carried by a small appointed council. Expressible today by governing through a custom rank.","placement":"unplaced"},
|
|
1354
|
+
{"key":"L0077","section":"Charter library","text":"Trajectories","placement":"unplaced"},
|
|
1355
|
+
{"key":"L0078","section":"Charter library","text":"The constitution stays as founded until deliberately amended — no automatic movement.","placement":"unplaced"},
|
|
1356
|
+
{"key":"L0079","section":"Charter library","text":"Laddered","placement":"unplaced"},
|
|
1357
|
+
{"key":"L0080","section":"Charter library","text":"Steps up the developmental ladder as the {…} crosses each headcount threshold.","placement":"unplaced"},
|
|
1358
|
+
{"key":"L0081","section":"Charter library","text":"Scheduled","placement":"unplaced"},
|
|
1359
|
+
{"key":"L0082","section":"Charter library","text":"Pre-commits the dates or milestones at which each step happens, decided in advance.","placement":"unplaced"},
|
|
1360
|
+
{"key":"L0083","section":"Charter library","text":"The developmental ladder: {…}. Formality is adopted only where informal coordination breaks.","placement":"placed","file":"modules/hall-ui/public/government.js","line":816,"string_id":"bac12faf3328"}
|
|
1349
1361
|
]
|
|
1350
1362
|
},
|
|
1351
1363
|
{
|
|
@@ -60,6 +60,7 @@ const { describeMembership } = require('./membership-predicate');
|
|
|
60
60
|
// The genesis charter + legislation vocabulary (task 1004427): the real form
|
|
61
61
|
// and variable names, and the name a constitution reads as.
|
|
62
62
|
const charter = require('./charter');
|
|
63
|
+
const recommendations = require('./recommendations');
|
|
63
64
|
|
|
64
65
|
// ADR 0175 §5: the completeness bar a Full Idea must clear to reach the board.
|
|
65
66
|
// Held equal to economy's IDEA_FULL_PASS_BAR by test — see the header.
|
|
@@ -1149,25 +1150,13 @@ async function boardRoomView({ closedLimit = 20 } = {}) {
|
|
|
1149
1150
|
// day — the §7 chain, auditable end to end.
|
|
1150
1151
|
// ── the charter ladder's recommendation (BV1.R19, criterion C5) ─────────────
|
|
1151
1152
|
//
|
|
1152
|
-
//
|
|
1153
|
-
//
|
|
1154
|
-
//
|
|
1155
|
-
//
|
|
1156
|
-
//
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
function recommendedCharter(headcount) {
|
|
1160
|
-
const n = Number(headcount) || 0;
|
|
1161
|
-
if (n <= 2) return { key: 'monarchy', rung: 'solo/pair', why: 'informal coordination has nothing to break yet — the founding monarchy is the honest shape' };
|
|
1162
|
-
// "all trusted members" was not expressible under the pre-1003094 exact-match
|
|
1163
|
-
// grammar, so at this headcount the library recommended a charter it could not
|
|
1164
|
-
// state (task 1003095). It is expressible now — `rank:xenos+` seats every
|
|
1165
|
-
// builder — and the wording says the thing the predicate actually does rather
|
|
1166
|
-
// than a phrase with no predicate behind it.
|
|
1167
|
-
if (n <= 8) return { key: 'direct-democracy', rung: 'circle (3–8)', why: 'a consent circle of every builder (rank:xenos+) — the rung this ladder was written on' };
|
|
1168
|
-
if (n <= 49) return { key: 'presidential', rung: '~9: name an executive', why: 'past ~9, naming an executive beats everyone coordinating with everyone' };
|
|
1169
|
-
if (n <= 149) return { key: 'foundation', rung: '~50: written charter + council', why: 'past ~50, the charter must be written down and a council carries it' };
|
|
1170
|
-
return { key: 'federation', rung: '~150: adjudication separates — federate beyond', why: 'past ~150, one body cannot both govern and adjudicate; federate' };
|
|
1153
|
+
// Moved to recommendations.js (task 1004400), which reads project TYPE as well
|
|
1154
|
+
// as size and resolves every size to a form that can actually be adopted — the
|
|
1155
|
+
// ladder used to name Presidential at ~9 and Federation past ~150, neither of
|
|
1156
|
+
// which this system can express. Kept here under its old name because the
|
|
1157
|
+
// constitution view and its tests read it from board.js.
|
|
1158
|
+
function recommendedCharter(headcount, type) {
|
|
1159
|
+
return recommendations.recommendedCharter(headcount, type);
|
|
1171
1160
|
}
|
|
1172
1161
|
|
|
1173
1162
|
// ── the divergence check (task 1003739, ADR 0268) ───────────────────────────
|
|
@@ -1219,7 +1208,7 @@ function constitutionDivergence(liveBoard, history) {
|
|
|
1219
1208
|
});
|
|
1220
1209
|
}
|
|
1221
1210
|
|
|
1222
|
-
async function constitutionView({ historyLimit = 50 } = {}) {
|
|
1211
|
+
async function constitutionView({ historyLimit = 50, type = null, headcount: askedHeadcount = null } = {}) {
|
|
1223
1212
|
const { board: live } = loadGovernmentConfig();
|
|
1224
1213
|
const [rows, headcount] = await Promise.all([
|
|
1225
1214
|
db.listAmendmentHistory(historyLimit),
|
|
@@ -1242,7 +1231,12 @@ async function constitutionView({ historyLimit = 50 } = {}) {
|
|
|
1242
1231
|
board: live,
|
|
1243
1232
|
history,
|
|
1244
1233
|
headcount,
|
|
1245
|
-
recommended: recommendedCharter(headcount),
|
|
1234
|
+
recommended: recommendedCharter(askedHeadcount ?? headcount, type),
|
|
1235
|
+
// Both recommendations — the charter AND the ranks — for the project type
|
|
1236
|
+
// and size asked about (task 1004400). The size defaults to the live
|
|
1237
|
+
// headcount; the type defaults to "not sure", because a running project
|
|
1238
|
+
// does not record the type it declared at creation.
|
|
1239
|
+
recommendation: recommendations.recommendationsFor({ type, headcount: askedHeadcount ?? headcount }),
|
|
1246
1240
|
// null when the constitution in force IS the one last ratified, which is
|
|
1247
1241
|
// the healthy answer and the one the hall renders nothing for. Computed
|
|
1248
1242
|
// from the history already in hand — no extra query, and no second read
|