@bongos/core 1.21.10 → 1.21.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.
@@ -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":42,"lines":4424,"placed":1463,"shared":250,"unplaced":2711,"omitted_data":2335},
8
+ "counts": {"pages":42,"lines":4579,"placed":1497,"shared":250,"unplaced":2832,"omitted_data":2553},
9
9
  "pages": [
10
10
  {
11
11
  "id": "builders:atlas",
@@ -2821,42 +2821,197 @@
2821
2821
  "id": "builders:street",
2822
2822
  "surface": "builders",
2823
2823
  "title": "The street — {{worldName}}",
2824
- "states_read": ["street","card","switched","here","focus"],
2825
- "files_hash": "d3c0282f27018330",
2826
- "reading_hash": "d6d58d36680b77e1",
2827
- "counts": {"lines":29,"placed":2,"shared":5,"unplaced":22},
2828
- "omitted": {"data":39},
2824
+ "states_read": ["street","card","switched","focus","here","inside-rules","inside-disputes","inside-people","inside-planning","inside-automation","inside-review","inside-release","inside-treasury","floor","amend","district"],
2825
+ "files_hash": "8ff3ad5230672d7b",
2826
+ "reading_hash": "f647716a9da6da1d",
2827
+ "counts": {"lines":184,"placed":36,"shared":5,"unplaced":143},
2828
+ "omitted": {"data":257},
2829
2829
  "notes": [],
2830
2830
  "lines": [
2831
- {"key":"L0001","section":"top bar","text":"the street","placement":"shared","file":"modules/hall-ui/public/street.html","line":50,"string_id":"22fc2137739d"},
2832
- {"key":"L0002","section":"top bar","text":"needs you","placement":"shared","file":"modules/hall-ui/public/street.html","line":55,"string_id":"e07cafb1f696"},
2833
- {"key":"L0003","section":"top bar","text":"your share this month","placement":"shared","file":"modules/hall-ui/public/street.html","line":63,"string_id":"dd7f7d6a97fe"},
2831
+ {"key":"L0001","section":"top bar","text":"the street","placement":"shared","file":"modules/hall-ui/public/street.html","line":52,"string_id":"22fc2137739d"},
2832
+ {"key":"L0002","section":"top bar","text":"needs you","placement":"shared","file":"modules/hall-ui/public/street.html","line":57,"string_id":"e07cafb1f696"},
2833
+ {"key":"L0003","section":"top bar","text":"your share this month","placement":"shared","file":"modules/hall-ui/public/street.html","line":65,"string_id":"dd7f7d6a97fe"},
2834
2834
  {"key":"L0004","section":"top bar","text":"light","placement":"shared","state":"switched"},
2835
2835
  {"key":"L0005","section":"top bar","text":"dark","placement":"shared"},
2836
- {"key":"L0006","section":"page top","text":"work moves left to right · orange waits on you · white is {…} without you","placement":"unplaced"},
2837
- {"key":"L0007","section":"page top","text":"1 {…} you","placement":"unplaced","occurrences":3},
2838
- {"key":"L0008","section":"page top","text":"27 goals {…}","placement":"unplaced"},
2839
- {"key":"L0009","section":"page top","text":"nothing {…}","placement":"unplaced"},
2840
- {"key":"L0010","section":"page top","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","occurrences":4},
2841
- {"key":"L0011","section":"page top","text":"18 built","placement":"unplaced"},
2842
- {"key":"L0012","section":"page top","text":"9 built","placement":"unplaced"},
2843
- {"key":"L0013","section":"page top","text":"7 built","placement":"unplaced"},
2844
- {"key":"L0014","section":"page top","text":"66 built","placement":"unplaced"},
2845
- {"key":"L0015","section":"page top","text":"22 built","placement":"unplaced"},
2846
- {"key":"L0016","section":"page top","text":"31 built","placement":"unplaced"},
2847
- {"key":"L0017","section":"page top","text":"5 built","placement":"unplaced"},
2848
- {"key":"L0018","section":"page top","text":"20 more goals","placement":"unplaced"},
2849
- {"key":"L0019","section":"page top","text":"on the goals page","placement":"unplaced"},
2850
- {"key":"L0020","section":"page top","text":"nothing waiting","placement":"unplaced"},
2851
- {"key":"L0021","section":"page top","text":"{…} · oct 6","placement":"unplaced"},
2852
- {"key":"L0022","section":"page top","text":"{…} · oct 5","placement":"unplaced"},
2853
- {"key":"L0023","section":"page top","text":"{…} · sat","placement":"unplaced"},
2854
- {"key":"L0024","section":"page top","text":"{…} · oct 4","placement":"unplaced"},
2855
- {"key":"L0025","section":"page top","text":"{…} · oct 8","placement":"unplaced"},
2856
- {"key":"L0026","section":"page top","text":"oct 6","placement":"unplaced","state":"card"},
2857
- {"key":"L0027","section":"{…}","text":"raised by {…} · 4 for · 1 against · {…}","placement":"unplaced","state":"card"},
2858
- {"key":"L0028","section":"{…}","text":"This waits on you.","placement":"unplaced","state":"card"},
2859
- {"key":"L0029","section":"{…}","text":"open it where it lives","placement":"placed","file":"modules/hall-ui/public/street.html","line":109,"string_id":"b9d1b0f0dfb4","state":"card"}
2836
+ {"key":"L0006","section":"page top","text":"back to the street","placement":"placed","file":"modules/hall-ui/public/street.html","line":103,"string_id":"daad412fa988","state":"here"},
2837
+ {"key":"L0007","section":"page top","text":"{…} · builder {…} — hall, dev box, and…","placement":"unplaced","state":"district"},
2838
+ {"key":"L0008","section":"page top","text":"{…} · ui","placement":"unplaced","state":"district","occurrences":5},
2839
+ {"key":"L0009","section":"{…} and {…}","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","state":"district"},
2840
+ {"key":"L0010","section":"{…} and {…}","text":"the goal’s work · 8 not started","placement":"unplaced","state":"district"},
2841
+ {"key":"L0011","section":"{…} and {…}","text":"Shape is the craft: tower for {…}, studio roof for {…}, glass front for UI, a small pavilion for {…}.","placement":"unplaced","state":"district"},
2842
+ {"key":"L0012","section":"{…} and {…}","text":"Stage is the status: staked plot, slab, scaffold, built, then lit once {…}. A {…} means it waits on a check.","placement":"unplaced","state":"district"},
2843
+ {"key":"L0013","section":"page top","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","state":"inside-release","occurrences":14},
2844
+ {"key":"L0014","section":"page top","text":"Builder rewards","placement":"unplaced","state":"inside-treasury"},
2845
+ {"key":"L0015","section":"page top","text":"paid for {…} work","placement":"unplaced","state":"inside-treasury"},
2846
+ {"key":"L0016","section":"page top","text":"Overrides","placement":"unplaced","state":"inside-release"},
2847
+ {"key":"L0017","section":"page top","text":"The switch","placement":"unplaced","state":"inside-automation"},
2848
+ {"key":"L0018","section":"page top","text":"Goals","placement":"unplaced","state":"inside-planning"},
2849
+ {"key":"L0019","section":"page top","text":"The council","placement":"unplaced","state":"inside-people"},
2850
+ {"key":"L0020","section":"page top","text":"{…} reports","placement":"unplaced","state":"inside-disputes"},
2851
+ {"key":"L0021","section":"page top","text":"flaws found in our own walls","placement":"unplaced","state":"inside-disputes"},
2852
+ {"key":"L0022","section":"page top","text":"{…} in force","placement":"unplaced","state":"inside-rules"},
2853
+ {"key":"L0023","section":"page top","text":"the {…} settling matters now","placement":"unplaced","state":"inside-rules"},
2854
+ {"key":"L0024","section":"page top","text":"switched off","placement":"unplaced","state":"inside-rules"},
2855
+ {"key":"L0025","section":"page top","text":"Founding","placement":"unplaced","state":"here"},
2856
+ {"key":"L0026","section":"page top","text":"the starting government","placement":"unplaced","state":"here"},
2857
+ {"key":"L0027","section":"page top","text":"not recorded yet","placement":"unplaced","state":"here","occurrences":8},
2858
+ {"key":"L0028","section":"page top","text":"AI {…}","placement":"unplaced","state":"inside-treasury"},
2859
+ {"key":"L0029","section":"page top","text":"the reviewer that grades every ship","placement":"unplaced","state":"inside-treasury"},
2860
+ {"key":"L0030","section":"page top","text":"Testers","placement":"unplaced","state":"inside-people"},
2861
+ {"key":"L0031","section":"page top","text":"Removals","placement":"unplaced","state":"inside-disputes"},
2862
+ {"key":"L0032","section":"page top","text":"New {…}","placement":"unplaced","state":"inside-rules"},
2863
+ {"key":"L0033","section":"page top","text":"a {…} put to the council","placement":"unplaced","state":"inside-rules"},
2864
+ {"key":"L0034","section":"page top","text":"§1 Purpose","placement":"unplaced","state":"here"},
2865
+ {"key":"L0035","section":"page top","text":"{…} project{…}","placement":"placed","file":"modules/hall-ui/public/fleet.js","line":39,"string_id":"771bef3d31b5","state":"here"},
2866
+ {"key":"L0036","section":"page top","text":"Hosting","placement":"unplaced","state":"inside-treasury"},
2867
+ {"key":"L0037","section":"page top","text":"§2 Membership","placement":"unplaced","state":"here"},
2868
+ {"key":"L0038","section":"page top","text":"Reserve","placement":"unplaced","state":"inside-treasury"},
2869
+ {"key":"L0039","section":"page top","text":"what is left this month","placement":"unplaced","state":"inside-treasury"},
2870
+ {"key":"L0040","section":"page top","text":"§3 The council","placement":"unplaced","state":"here"},
2871
+ {"key":"L0041","section":"page top","text":"who sits on the council","placement":"unplaced","state":"here"},
2872
+ {"key":"L0042","section":"page top","text":"Spending matters","placement":"unplaced","state":"inside-treasury"},
2873
+ {"key":"L0043","section":"page top","text":"spending put to a vote","placement":"unplaced","state":"inside-treasury"},
2874
+ {"key":"L0044","section":"page top","text":"how a {…} passes","placement":"unplaced","state":"here"},
2875
+ {"key":"L0045","section":"page top","text":"§5 Money","placement":"unplaced","state":"here"},
2876
+ {"key":"L0046","section":"page top","text":"who signs off finished work","placement":"unplaced","state":"here"},
2877
+ {"key":"L0047","section":"page top","text":"Waiting outside","placement":"unplaced","state":"inside-review"},
2878
+ {"key":"L0048","section":"page top","text":"Builders","placement":"unplaced","state":"inside-people"},
2879
+ {"key":"L0049","section":"page top","text":"who builds here","placement":"unplaced","state":"inside-people"},
2880
+ {"key":"L0050","section":"page top","text":"not read","placement":"unplaced","state":"inside-people"},
2881
+ {"key":"L0051","section":"page top","text":"Newcomers","placement":"unplaced","state":"inside-people"},
2882
+ {"key":"L0052","section":"page top","text":"builders on newcomer tasks","placement":"unplaced","state":"inside-people"},
2883
+ {"key":"L0053","section":"page top","text":"Waiting to join","placement":"unplaced","state":"inside-people"},
2884
+ {"key":"L0054","section":"page top","text":"who puts work {…}","placement":"unplaced","state":"here"},
2885
+ {"key":"L0055","section":"page top","text":"empty floor","placement":"unplaced","state":"here","occurrences":6},
2886
+ {"key":"L0056","section":"{…}","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","state":"inside-treasury","occurrences":6},
2887
+ {"key":"L0057","section":"{…}","text":"{…} project{…}","placement":"placed","file":"modules/hall-ui/public/fleet.js","line":39,"string_id":"771bef3d31b5","state":"inside-treasury","occurrences":9},
2888
+ {"key":"L0058","section":"{…}","text":"change how this works","placement":"placed","file":"modules/hall-ui/public/street.html","line":140,"string_id":"3c593c73628a","state":"inside-treasury","occurrences":8},
2889
+ {"key":"L0059","section":"{…}","text":"{…} of {…}","placement":"placed","file":"modules/hall-ui/public/sky-panel.js","line":120,"string_id":"73c1372b43d9","state":"inside-treasury","occurrences":9},
2890
+ {"key":"L0060","section":"{…}","text":"on the table here","placement":"placed","file":"modules/hall-ui/public/street.html","line":149,"string_id":"7a0398261747","state":"inside-treasury","occurrences":6},
2891
+ {"key":"L0061","section":"{…}","text":"{…} · oct 8","placement":"unplaced","state":"inside-treasury"},
2892
+ {"key":"L0062","section":"{…}","text":"floor 5 · not recorded yet","placement":"unplaced","state":"inside-treasury","occurrences":2},
2893
+ {"key":"L0063","section":"Spending matters","text":"Spending matters","placement":"unplaced","state":"inside-treasury"},
2894
+ {"key":"L0064","section":"Spending matters","text":"{…} project{…}","placement":"placed","file":"modules/hall-ui/public/fleet.js","line":39,"string_id":"771bef3d31b5","state":"inside-treasury"},
2895
+ {"key":"L0065","section":"Spending matters","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":156,"string_id":"4bde7b562cf4","state":"inside-treasury"},
2896
+ {"key":"L0066","section":"Spending matters","text":"1 matter on the docket","placement":"unplaced","state":"inside-treasury"},
2897
+ {"key":"L0067","section":"Spending matters","text":"sep","placement":"unplaced","state":"inside-treasury"},
2898
+ {"key":"L0068","section":"{…}","text":"{…} you · oct 5","placement":"unplaced","state":"inside-rules"},
2899
+ {"key":"L0069","section":"{…}","text":"floor 2 · not recorded yet","placement":"unplaced","state":"inside-rules"},
2900
+ {"key":"L0070","section":"New {…}","text":"New {…}","placement":"unplaced","state":"inside-rules"},
2901
+ {"key":"L0071","section":"New {…}","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":156,"string_id":"4bde7b562cf4","state":"inside-rules"},
2902
+ {"key":"L0072","section":"New {…}","text":"1 matter on the docket","placement":"unplaced","state":"inside-rules"},
2903
+ {"key":"L0073","section":"New {…}","text":"oct","placement":"unplaced","state":"inside-rules"},
2904
+ {"key":"L0074","section":"New {…}","text":"needs you","placement":"placed","file":"modules/hall-ui/public/street.html","line":57,"string_id":"e07cafb1f696","state":"inside-rules"},
2905
+ {"key":"L0075","section":"{…}","text":"Drafting an amendment from here is not built yet. For now, raise it with the council on the {…}.","placement":"unplaced","state":"amend"},
2906
+ {"key":"L0076","section":"{…}","text":"{…} you · oct 6","placement":"unplaced","state":"here"},
2907
+ {"key":"L0077","section":"{…}","text":"floor 8 · not recorded yet","placement":"unplaced","state":"here"},
2908
+ {"key":"L0078","section":"§7 {…}","text":"What this floor holds is not recorded in Bongos yet.","placement":"unplaced","state":"here"},
2909
+ {"key":"L0079","section":"§7 {…}","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":156,"string_id":"4bde7b562cf4","state":"here"},
2910
+ {"key":"L0080","section":"§7 {…}","text":"1 matter on the docket","placement":"unplaced","state":"here"},
2911
+ {"key":"L0081","section":"§7 {…}","text":"oct","placement":"unplaced","state":"here"},
2912
+ {"key":"L0082","section":"§7 {…}","text":"needs you","placement":"placed","file":"modules/hall-ui/public/street.html","line":57,"string_id":"e07cafb1f696","state":"here"},
2913
+ {"key":"L0083","section":"page top","text":"work moves left to right · orange waits on you · white is {…} without you","placement":"unplaced"},
2914
+ {"key":"L0084","section":"page top","text":"1 {…} you","placement":"unplaced","occurrences":3},
2915
+ {"key":"L0085","section":"page top","text":"27 goals {…}","placement":"unplaced"},
2916
+ {"key":"L0086","section":"page top","text":"Promises","placement":"unplaced","state":"inside-planning"},
2917
+ {"key":"L0087","section":"page top","text":"what the goals say they deliver","placement":"unplaced","state":"inside-planning"},
2918
+ {"key":"L0088","section":"page top","text":"Ideas to ratify","placement":"unplaced","state":"inside-planning"},
2919
+ {"key":"L0089","section":"page top","text":"{…} {…} waiting for a vote","placement":"unplaced","state":"inside-planning"},
2920
+ {"key":"L0090","section":"page top","text":"Priorities","placement":"unplaced","state":"inside-planning"},
2921
+ {"key":"L0091","section":"page top","text":"the order goals are worked in","placement":"unplaced","state":"inside-planning"},
2922
+ {"key":"L0092","section":"page top","text":"Versions","placement":"unplaced","state":"inside-planning"},
2923
+ {"key":"L0093","section":"page top","text":"what each version holds","placement":"unplaced","state":"inside-planning"},
2924
+ {"key":"L0094","section":"page top","text":"Waiting on {…}","placement":"placed","file":"modules/hall-ui/public/goals-lib.js","line":91,"string_id":"b18832e219dc","state":"inside-planning"},
2925
+ {"key":"L0095","section":"page top","text":"nothing {…}","placement":"unplaced","occurrences":2},
2926
+ {"key":"L0096","section":"page top","text":"Signed off","placement":"unplaced","state":"inside-review"},
2927
+ {"key":"L0097","section":"page top","text":"work a tester has signed off","placement":"unplaced","state":"inside-review"},
2928
+ {"key":"L0098","section":"{…}","text":"{…} · by default","placement":"unplaced","state":"inside-review","occurrences":2},
2929
+ {"key":"L0099","section":"{…}","text":"floor 3 · not recorded yet","placement":"unplaced","state":"inside-review","occurrences":2},
2930
+ {"key":"L0100","section":"Signed off","text":"Signed off","placement":"unplaced","state":"inside-review"},
2931
+ {"key":"L0101","section":"Signed off","text":"What this floor holds is not recorded in Bongos yet.","placement":"unplaced","state":"inside-review"},
2932
+ {"key":"L0102","section":"Signed off","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":156,"string_id":"4bde7b562cf4","state":"inside-review"},
2933
+ {"key":"L0103","section":"Signed off","text":"{…} file{…}","placement":"placed","file":"modules/hall-ui/public/gate.js","line":151,"string_id":"3efa67dc6e07","state":"inside-review"},
2934
+ {"key":"L0104","section":"page top","text":"Allowed goals","placement":"unplaced","state":"inside-automation"},
2935
+ {"key":"L0105","section":"page top","text":"the goals it may build","placement":"unplaced","state":"inside-automation"},
2936
+ {"key":"L0106","section":"page top","text":"Running now","placement":"unplaced","state":"inside-automation"},
2937
+ {"key":"L0107","section":"page top","text":"builds in progress","placement":"unplaced","state":"inside-automation"},
2938
+ {"key":"L0108","section":"page top","text":"Spending limit","placement":"unplaced","state":"inside-automation"},
2939
+ {"key":"L0109","section":"page top","text":"what it may spend a day","placement":"unplaced","state":"inside-automation"},
2940
+ {"key":"L0110","section":"page top","text":"Reports","placement":"unplaced","state":"inside-automation"},
2941
+ {"key":"L0111","section":"page top","text":"what it did, told without asking","placement":"unplaced","state":"inside-automation"},
2942
+ {"key":"L0112","section":"Reports","text":"Reports","placement":"unplaced","state":"inside-automation"},
2943
+ {"key":"L0113","section":"Reports","text":"What this floor holds is not recorded in Bongos yet.","placement":"unplaced","state":"inside-automation"},
2944
+ {"key":"L0114","section":"Reports","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":156,"string_id":"4bde7b562cf4","state":"inside-automation"},
2945
+ {"key":"L0115","section":"Reports","text":"{…} file{…}","placement":"placed","file":"modules/hall-ui/public/gate.js","line":151,"string_id":"3efa67dc6e07","state":"inside-automation"},
2946
+ {"key":"L0116","section":"page top","text":"18 built","placement":"unplaced"},
2947
+ {"key":"L0117","section":"page top","text":"9 built","placement":"unplaced"},
2948
+ {"key":"L0118","section":"page top","text":"7 built","placement":"unplaced"},
2949
+ {"key":"L0119","section":"page top","text":"66 built","placement":"unplaced"},
2950
+ {"key":"L0120","section":"page top","text":"22 built","placement":"unplaced"},
2951
+ {"key":"L0121","section":"page top","text":"31 built","placement":"unplaced"},
2952
+ {"key":"L0122","section":"page top","text":"5 built","placement":"unplaced"},
2953
+ {"key":"L0123","section":"page top","text":"20 more goals","placement":"unplaced"},
2954
+ {"key":"L0124","section":"page top","text":"on the goals page","placement":"unplaced"},
2955
+ {"key":"L0125","section":"page top","text":"nothing waiting","placement":"unplaced"},
2956
+ {"key":"L0126","section":"page top","text":"Modules","placement":"unplaced","state":"inside-release"},
2957
+ {"key":"L0127","section":"page top","text":"Held back","placement":"unplaced","state":"inside-release"},
2958
+ {"key":"L0128","section":"page top","text":"work held from going {…}","placement":"unplaced","state":"inside-release"},
2959
+ {"key":"L0129","section":"page top","text":"Core update","placement":"unplaced","state":"inside-release"},
2960
+ {"key":"L0130","section":"page top","text":"Live this month","placement":"unplaced","state":"inside-release"},
2961
+ {"key":"L0131","section":"page top","text":"what went {…}","placement":"unplaced","state":"inside-release"},
2962
+ {"key":"L0132","section":"page top","text":"Ready to go","placement":"unplaced","state":"inside-release"},
2963
+ {"key":"L0133","section":"Release","text":"Release","placement":"placed","file":"modules/hall-ui/public/bulk-toolbar.js","line":249,"string_id":"975ffb256651","state":"inside-release"},
2964
+ {"key":"L0134","section":"Release","text":"{…} and {…}","placement":"placed","file":"modules/hall-ui/public/profile-nudge.js","line":77,"string_id":"56b00d773232","state":"inside-release"},
2965
+ {"key":"L0135","section":"Release","text":"{…} project{…}","placement":"placed","file":"modules/hall-ui/public/fleet.js","line":39,"string_id":"771bef3d31b5","state":"inside-release"},
2966
+ {"key":"L0136","section":"Release","text":"change how this works","placement":"placed","file":"modules/hall-ui/public/street.html","line":140,"string_id":"3c593c73628a","state":"inside-release"},
2967
+ {"key":"L0137","section":"Release","text":"{…} of {…}","placement":"placed","file":"modules/hall-ui/public/sky-panel.js","line":120,"string_id":"73c1372b43d9","state":"inside-release"},
2968
+ {"key":"L0138","section":"Release","text":"on the table here","placement":"placed","file":"modules/hall-ui/public/street.html","line":149,"string_id":"7a0398261747","state":"inside-release"},
2969
+ {"key":"L0139","section":"Release","text":"floor 6","placement":"unplaced","state":"inside-release"},
2970
+ {"key":"L0140","section":"Ready to go","text":"Ready to go","placement":"unplaced","state":"inside-release"},
2971
+ {"key":"L0141","section":"Ready to go","text":"Nothing {…} here.","placement":"unplaced","state":"inside-release"},
2972
+ {"key":"L0142","section":"Ready to go","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":156,"string_id":"4bde7b562cf4","state":"inside-release"},
2973
+ {"key":"L0143","section":"Ready to go","text":"1 matter on the docket","placement":"unplaced","state":"inside-release"},
2974
+ {"key":"L0144","section":"Ready to go","text":"sep","placement":"unplaced","state":"inside-release"},
2975
+ {"key":"L0145","section":"page top","text":"Ranks","placement":"unplaced","state":"inside-people"},
2976
+ {"key":"L0146","section":"page top","text":"Goal {…}","placement":"placed","file":"modules/hall-ui/public/gate.js","line":360,"string_id":"ec88b946ad16","state":"inside-people"},
2977
+ {"key":"L0147","section":"page top","text":"asked to join a goal team","placement":"unplaced","state":"inside-people"},
2978
+ {"key":"L0148","section":"{…}","text":"{…} you · sat","placement":"unplaced","state":"inside-people"},
2979
+ {"key":"L0149","section":"{…}","text":"floor 1 · not recorded yet","placement":"unplaced","state":"floor"},
2980
+ {"key":"L0150","section":"The council","text":"The council","placement":"unplaced","state":"floor"},
2981
+ {"key":"L0151","section":"The council","text":"What this floor holds is not recorded in Bongos yet.","placement":"unplaced","state":"floor"},
2982
+ {"key":"L0152","section":"The council","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":156,"string_id":"4bde7b562cf4","state":"floor"},
2983
+ {"key":"L0153","section":"The council","text":"1 matter on the docket","placement":"unplaced","state":"floor"},
2984
+ {"key":"L0154","section":"The council","text":"sep","placement":"unplaced","state":"floor"},
2985
+ {"key":"L0155","section":"The council","text":"needs you","placement":"placed","file":"modules/hall-ui/public/street.html","line":57,"string_id":"e07cafb1f696","state":"floor"},
2986
+ {"key":"L0156","section":"{…}","text":"floor 5 · being decided","placement":"unplaced","state":"inside-people"},
2987
+ {"key":"L0157","section":"Waiting to join","text":"Waiting to join","placement":"unplaced","state":"inside-people"},
2988
+ {"key":"L0158","section":"Waiting to join","text":"{…} you · sat","placement":"unplaced","state":"inside-people"},
2989
+ {"key":"L0159","section":"Waiting to join","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":156,"string_id":"4bde7b562cf4","state":"inside-people"},
2990
+ {"key":"L0160","section":"Waiting to join","text":"1 matter on the docket","placement":"unplaced","state":"inside-people"},
2991
+ {"key":"L0161","section":"Waiting to join","text":"sep","placement":"unplaced","state":"inside-people"},
2992
+ {"key":"L0162","section":"Waiting to join","text":"needs you","placement":"placed","file":"modules/hall-ui/public/street.html","line":57,"string_id":"e07cafb1f696","state":"inside-people"},
2993
+ {"key":"L0163","section":"page top","text":"Grade appeals","placement":"unplaced","state":"inside-disputes"},
2994
+ {"key":"L0164","section":"page top","text":"a grade someone asks to change","placement":"unplaced","state":"inside-disputes"},
2995
+ {"key":"L0165","section":"Grade appeals","text":"Grade appeals","placement":"unplaced","state":"inside-disputes"},
2996
+ {"key":"L0166","section":"Grade appeals","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":156,"string_id":"4bde7b562cf4","state":"inside-disputes"},
2997
+ {"key":"L0167","section":"Grade appeals","text":"1 matter on the docket","placement":"unplaced","state":"inside-disputes"},
2998
+ {"key":"L0168","section":"Grade appeals","text":"sep","placement":"unplaced","state":"inside-disputes"},
2999
+ {"key":"L0169","section":"{…}","text":"{…} · oct 4","placement":"unplaced","state":"inside-planning"},
3000
+ {"key":"L0170","section":"{…}","text":"floor 6","placement":"unplaced","state":"inside-planning"},
3001
+ {"key":"L0171","section":"Waiting on {…}","text":"Waiting on {…}","placement":"placed","file":"modules/hall-ui/public/goals-lib.js","line":91,"string_id":"b18832e219dc","state":"inside-planning"},
3002
+ {"key":"L0172","section":"Waiting on {…}","text":"{…} · oct 4","placement":"unplaced","state":"inside-planning"},
3003
+ {"key":"L0173","section":"Waiting on {…}","text":"the record","placement":"placed","file":"modules/hall-ui/public/street.html","line":156,"string_id":"4bde7b562cf4","state":"inside-planning"},
3004
+ {"key":"L0174","section":"Waiting on {…}","text":"1 matter on the docket","placement":"unplaced","state":"inside-planning"},
3005
+ {"key":"L0175","section":"Waiting on {…}","text":"sep","placement":"unplaced","state":"inside-planning"},
3006
+ {"key":"L0176","section":"page top","text":"{…} · oct 6","placement":"unplaced"},
3007
+ {"key":"L0177","section":"page top","text":"{…} · oct 5","placement":"unplaced"},
3008
+ {"key":"L0178","section":"page top","text":"{…} · sat","placement":"unplaced"},
3009
+ {"key":"L0179","section":"page top","text":"{…} · oct 4","placement":"unplaced"},
3010
+ {"key":"L0180","section":"page top","text":"{…} · oct 8","placement":"unplaced"},
3011
+ {"key":"L0181","section":"page top","text":"oct 6","placement":"unplaced","state":"card"},
3012
+ {"key":"L0182","section":"{…}","text":"raised by {…} · 4 for · 1 against · {…}","placement":"unplaced","state":"card"},
3013
+ {"key":"L0183","section":"{…}","text":"This waits on you.","placement":"unplaced","state":"card"},
3014
+ {"key":"L0184","section":"{…}","text":"open it where it lives","placement":"placed","file":"modules/hall-ui/public/street.html","line":183,"string_id":"b9d1b0f0dfb4","state":"card"}
2860
3015
  ]
2861
3016
  },
2862
3017
  {
@@ -275,8 +275,8 @@
275
275
  // no one holds the seat.
276
276
  const REVIEW_SOURCES_HELD = Object.freeze(['live', 'not_yours', 'unavailable']);
277
277
 
278
- // Where a door opens. The interiors are task 1004526's; until they land the
279
- // street marks the building the address names (README "Where the screens live").
278
+ // Where a door opens: the interiors are views of this page (street-inside.js,
279
+ // task 1004526), addressed by the hash (README "Where the screens live").
280
280
  function buildingHref(key) { return '/builders/street#building=' + encodeURIComponent(key); }
281
281
  function districtHref(goalId) { return '/builders/street#district=' + encodeURIComponent(goalId); }
282
282
  // `#building=charter` / `#district=1000125` → { kind, key }, else null.
@@ -289,6 +289,15 @@
289
289
  return { kind: m[1], key: key };
290
290
  }
291
291
 
292
+ // Whether anyone holds Review. An unread docket keeps Review held: the empty
293
+ // seat is a claim about the project, and nothing has been read to make it.
294
+ // The street and the interior (street-inside.js) both ask this, so they agree.
295
+ function reviewHeldOf(docket) {
296
+ if (!docket || !Array.isArray(docket.matters)) return true;
297
+ const reviewSources = (Array.isArray(docket.sources) ? docket.sources : []).filter((s) => s && s.building === 'review');
298
+ return !reviewSources.length || reviewSources.some((s) => REVIEW_SOURCES_HELD.indexOf(s.status) >= 0);
299
+ }
300
+
292
301
  function districtWidth(n) {
293
302
  if (n <= 4) return DISTRICT_W;
294
303
  return Math.max(DISTRICT_MIN_W, Math.floor((DISTRICT_SPAN - (n - 1) * 10) / n));
@@ -429,10 +438,7 @@
429
438
  const matters = docket ? docket.matters.filter((m) => m && CIVIC_KEYS.indexOf(m.building) >= 0) : [];
430
439
  const bInfo = {};
431
440
  (docket && Array.isArray(docket.buildings) ? docket.buildings : []).forEach((b) => { if (b && b.key) bInfo[b.key] = b; });
432
- const reviewSources = (docket && Array.isArray(docket.sources) ? docket.sources : []).filter((s) => s && s.building === 'review');
433
- // An unread docket keeps Review held: the empty seat is a claim about the
434
- // project, and nothing has been read to make it.
435
- const reviewHeld = !docket || !reviewSources.length || reviewSources.some((s) => REVIEW_SOURCES_HELD.indexOf(s.status) >= 0);
441
+ const reviewHeld = reviewHeldOf(docket);
436
442
  const queue = matters.filter((m) => m.building === 'review' && pinState(m.state) !== 'settled');
437
443
 
438
444
  // the road
@@ -573,9 +579,9 @@
573
579
  }
574
580
 
575
581
  const api = {
576
- theme: theme, box: box, gable: gable, sawtooth: sawtooth, tree: tree, light: light, civic: civic, work: work,
582
+ theme: theme, push: push, rect: rect, ellipse: ellipse, box: box, gable: gable, sawtooth: sawtooth, tree: tree, light: light, civic: civic, work: work,
577
583
  layout: layout, districtWidth: districtWidth, districtItems: districtItems, districtLine: districtLine, countsLine: countsLine,
578
- whenWord: whenWord, monthShare: monthShare, money: money, parseHash: parseHash, buildingHref: buildingHref, districtHref: districtHref,
584
+ whenWord: whenWord, reviewHeldOf: reviewHeldOf, monthShare: monthShare, money: money, parseHash: parseHash, buildingHref: buildingHref, districtHref: districtHref,
579
585
  streetModel: streetModel, cardFor: cardFor,
580
586
  G: G, SEGS: SEGS, GROUP_NAMES: GROUP_NAMES, CIVIC_KEYS: CIVIC_KEYS, READING_KEYS: READING_KEYS, ARTBOARD_W: ARTBOARD_W,
581
587
  MAX_PINS_PER_BUILDING: MAX_PINS_PER_BUILDING, MAX_CRATES: MAX_CRATES, MAX_DISTRICTS: MAX_DISTRICTS, GOALS_HREF: GOALS_HREF, HINT: HINT, FALLBACK_LINE: FALLBACK_LINE, HOME_HREF: '/builders/city',