@bongos/core 1.20.53 → 1.20.55
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 +4 -0
- package/docs/page-readings.json +52 -40
- package/modules/government/board.js +15 -21
- package/modules/government/recommendations.js +230 -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 +12 -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 +132 -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
|
},
|
|
@@ -3794,6 +3812,15 @@
|
|
|
3794
3812
|
"origin": "html-text",
|
|
3795
3813
|
"confidence": "certain"
|
|
3796
3814
|
},
|
|
3815
|
+
{
|
|
3816
|
+
"id": "09e863eb90af",
|
|
3817
|
+
"surface": "builders-hall",
|
|
3818
|
+
"text": "Can: {…}",
|
|
3819
|
+
"file": "modules/hall-ui/public/government.js",
|
|
3820
|
+
"line": 870,
|
|
3821
|
+
"origin": "js-markup",
|
|
3822
|
+
"confidence": "certain"
|
|
3823
|
+
},
|
|
3797
3824
|
{
|
|
3798
3825
|
"id": "084eb64bce72",
|
|
3799
3826
|
"surface": "builders-hall",
|
|
@@ -4496,6 +4523,15 @@
|
|
|
4496
4523
|
"origin": "js-notice",
|
|
4497
4524
|
"confidence": "certain"
|
|
4498
4525
|
},
|
|
4526
|
+
{
|
|
4527
|
+
"id": "16a4effbf95a",
|
|
4528
|
+
"surface": "builders-hall",
|
|
4529
|
+
"text": "Could not add the ranks: {…}",
|
|
4530
|
+
"file": "modules/hall-ui/public/government.js",
|
|
4531
|
+
"line": 936,
|
|
4532
|
+
"origin": "js-notice",
|
|
4533
|
+
"confidence": "certain"
|
|
4534
|
+
},
|
|
4499
4535
|
{
|
|
4500
4536
|
"id": "7bcaeffb742f",
|
|
4501
4537
|
"surface": "builders-hall",
|
|
@@ -5626,7 +5662,7 @@
|
|
|
5626
5662
|
"surface": "builders-hall",
|
|
5627
5663
|
"text": "Every closed amendment sitting, ratified and returned alike, with the rule it was decided under.",
|
|
5628
5664
|
"file": "modules/hall-ui/public/government.js",
|
|
5629
|
-
"line":
|
|
5665
|
+
"line": 969,
|
|
5630
5666
|
"origin": "js-markup",
|
|
5631
5667
|
"confidence": "certain"
|
|
5632
5668
|
},
|
|
@@ -6544,7 +6580,7 @@
|
|
|
6544
6580
|
"surface": "builders-hall",
|
|
6545
6581
|
"text": "How it has changed",
|
|
6546
6582
|
"file": "modules/hall-ui/public/government.js",
|
|
6547
|
-
"line":
|
|
6583
|
+
"line": 969,
|
|
6548
6584
|
"origin": "js-markup",
|
|
6549
6585
|
"confidence": "certain"
|
|
6550
6586
|
},
|
|
@@ -6652,7 +6688,7 @@
|
|
|
6652
6688
|
"surface": "builders-hall",
|
|
6653
6689
|
"text": "How this project is governed.",
|
|
6654
6690
|
"file": "modules/hall-ui/public/government.js",
|
|
6655
|
-
"line":
|
|
6691
|
+
"line": 1052,
|
|
6656
6692
|
"origin": "js-text-assign",
|
|
6657
6693
|
"confidence": "certain"
|
|
6658
6694
|
},
|
|
@@ -9244,7 +9280,7 @@
|
|
|
9244
9280
|
"surface": "builders-hall",
|
|
9245
9281
|
"text": "Permissions is the Archon administration surface. The Constitution and the Board Room are yours to read.",
|
|
9246
9282
|
"file": "modules/hall-ui/public/government.js",
|
|
9247
|
-
"line":
|
|
9283
|
+
"line": 1028,
|
|
9248
9284
|
"origin": "js-markup",
|
|
9249
9285
|
"confidence": "certain"
|
|
9250
9286
|
},
|
|
@@ -9518,6 +9554,15 @@
|
|
|
9518
9554
|
"origin": "html-title",
|
|
9519
9555
|
"confidence": "certain"
|
|
9520
9556
|
},
|
|
9557
|
+
{
|
|
9558
|
+
"id": "16521a997ade",
|
|
9559
|
+
"surface": "builders-hall",
|
|
9560
|
+
"text": "Project type",
|
|
9561
|
+
"file": "modules/hall-ui/public/government.js",
|
|
9562
|
+
"line": 856,
|
|
9563
|
+
"origin": "js-markup",
|
|
9564
|
+
"confidence": "certain"
|
|
9565
|
+
},
|
|
9521
9566
|
{
|
|
9522
9567
|
"id": "dd4bc23c7759",
|
|
9523
9568
|
"surface": "builders-hall",
|
|
@@ -9806,6 +9851,15 @@
|
|
|
9806
9851
|
"origin": "js-markup",
|
|
9807
9852
|
"confidence": "certain"
|
|
9808
9853
|
},
|
|
9854
|
+
{
|
|
9855
|
+
"id": "5419ad9503ef",
|
|
9856
|
+
"surface": "builders-hall",
|
|
9857
|
+
"text": "Recommended for your project",
|
|
9858
|
+
"file": "modules/hall-ui/public/government.js",
|
|
9859
|
+
"line": 891,
|
|
9860
|
+
"origin": "js-markup",
|
|
9861
|
+
"confidence": "certain"
|
|
9862
|
+
},
|
|
9809
9863
|
{
|
|
9810
9864
|
"id": "986ecda14881",
|
|
9811
9865
|
"surface": "builders-hall",
|
|
@@ -10171,7 +10225,7 @@
|
|
|
10171
10225
|
"surface": "builders-hall",
|
|
10172
10226
|
"text": "Restricted.",
|
|
10173
10227
|
"file": "modules/hall-ui/public/government.js",
|
|
10174
|
-
"line":
|
|
10228
|
+
"line": 1011,
|
|
10175
10229
|
"origin": "js-text-assign",
|
|
10176
10230
|
"confidence": "certain"
|
|
10177
10231
|
},
|
|
@@ -11750,6 +11804,15 @@
|
|
|
11750
11804
|
"origin": "html-text",
|
|
11751
11805
|
"confidence": "certain"
|
|
11752
11806
|
},
|
|
11807
|
+
{
|
|
11808
|
+
"id": "2a2152c7bcfb",
|
|
11809
|
+
"surface": "builders-hall",
|
|
11810
|
+
"text": "The ladder's own shape at this size is {…}. {…}",
|
|
11811
|
+
"file": "modules/hall-ui/public/government.js",
|
|
11812
|
+
"line": 886,
|
|
11813
|
+
"origin": "js-markup",
|
|
11814
|
+
"confidence": "certain"
|
|
11815
|
+
},
|
|
11753
11816
|
{
|
|
11754
11817
|
"id": "814eb6889339",
|
|
11755
11818
|
"surface": "builders-hall",
|
|
@@ -14063,6 +14126,15 @@
|
|
|
14063
14126
|
"origin": "html-text",
|
|
14064
14127
|
"confidence": "certain"
|
|
14065
14128
|
},
|
|
14129
|
+
{
|
|
14130
|
+
"id": "a588fb76667f",
|
|
14131
|
+
"surface": "builders-hall",
|
|
14132
|
+
"text": "Your team now ({…} builder{…})",
|
|
14133
|
+
"file": "modules/hall-ui/public/government.js",
|
|
14134
|
+
"line": 853,
|
|
14135
|
+
"origin": "js-markup",
|
|
14136
|
+
"confidence": "certain"
|
|
14137
|
+
},
|
|
14066
14138
|
{
|
|
14067
14139
|
"id": "aeaab4969b68",
|
|
14068
14140
|
"surface": "builders-hall",
|
|
@@ -14279,6 +14351,15 @@
|
|
|
14279
14351
|
"origin": "js-markup",
|
|
14280
14352
|
"confidence": "certain"
|
|
14281
14353
|
},
|
|
14354
|
+
{
|
|
14355
|
+
"id": "72f977e4c47f",
|
|
14356
|
+
"surface": "builders-hall",
|
|
14357
|
+
"text": "as configuration: membership rank:{…} — the council rank below, once you have added it and assigned its members",
|
|
14358
|
+
"file": "modules/hall-ui/public/government.js",
|
|
14359
|
+
"line": 883,
|
|
14360
|
+
"origin": "js-markup",
|
|
14361
|
+
"confidence": "certain"
|
|
14362
|
+
},
|
|
14282
14363
|
{
|
|
14283
14364
|
"id": "d7c511423bc0",
|
|
14284
14365
|
"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,9 @@ 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)
|
|
2768
|
+
1.20.55 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
2769
|
+
landed since 1.20.54 with no explicit bump. run 36820911043. (task 1002620)
|
|
2766
2770
|
---------------------------------------------------------------------------
|
|
2767
2771
|
```
|
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": "f0884c4c6f7f0dd1",
|
|
1273
|
+
"reading_hash": "7a4c380c5c88d659",
|
|
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":"Can: {…}","placement":"placed","file":"modules/hall-ui/public/government.js","line":870,"string_id":"09e863eb90af","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
|