@bongos/core 1.24.50 → 1.24.51

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.
@@ -3354,5 +3354,7 @@ is load-bearing: the script throws rather than guess if it is missing, and
3354
3354
  landed since 1.24.48 with no explicit bump. run 42360265278. (task 1002620)
3355
3355
  1.24.50 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
3356
3356
  landed since 1.24.49 with no explicit bump. run 42362323844. (task 1002620)
3357
+ 1.24.51 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
3358
+ landed since 1.24.50 with no explicit bump. run 42363111099. (task 1002620)
3357
3359
  ---------------------------------------------------------------------------
3358
3360
  ```
@@ -1806,8 +1806,8 @@
1806
1806
  "module": "status-ui",
1807
1807
  "page": "index",
1808
1808
  "id_from": "file-name",
1809
- "title": "{{productName}} — the public ledger",
1810
- "document_title": "{{productName}} — the public ledger",
1809
+ "title": "{{productName}} — build status",
1810
+ "document_title": "{{productName}} — build status",
1811
1811
  "path": "/",
1812
1812
  "url": "https://status.{apex}/",
1813
1813
  "files": [
@@ -5,7 +5,7 @@
5
5
  "adr": "0341 D3",
6
6
  "reread": "node scripts/bongos/page-reader.js --stale",
7
7
  "how": ["Generated by node scripts/bongos/page-reader.js (BV2.TW04, task 1004315; ADR 0341 D3). Do not hand-edit.","One entry per page of docs/page-inventory.json. Lines are in page order: the default state first, and a line only another state shows sits where that state shows it, with its state named.","placement: placed = a docs/copy-registry.json row renders it (file, line, string_id); shared = shell text every page of the surface carries (top bar, sidebar, footer), with its row when the registry has one; unplaced = the registry cannot place it (a rewrite becomes an engineer task, ADR 0341 D4).","text keeps {…} where the registry row has a hole, or where a value the page read from its API was filled in. A string that is only such data is counted under omitted.data, not listed.","reading_hash is over the non-shared lines (key, section, text); files_hash is over the page's inventory files. --check compares files_hash only and never opens a browser.","Rendered through the hall-preview harness (hall) and the ui-design kit stub (landing, status), at 1280x800 with the clock pinned, so a reading is the fixture world's page."],
8
- "counts": {"pages":45,"lines":4577,"placed":1583,"shared":434,"unplaced":2560,"omitted_data":3311},
8
+ "counts": {"pages":45,"lines":4561,"placed":1581,"shared":434,"unplaced":2546,"omitted_data":3311},
9
9
  "pages": [
10
10
  {
11
11
  "id": "builders:ai-studio",
@@ -5077,96 +5077,80 @@
5077
5077
  {
5078
5078
  "id": "status:index",
5079
5079
  "surface": "status",
5080
- "title": "{{productName}} — the public ledger",
5080
+ "title": "{{productName}} — build status",
5081
5081
  "states_read": ["loaded"],
5082
- "files_hash": "534137c03abb4bf8",
5083
- "reading_hash": "8dfeade7c163442e",
5084
- "counts": {"lines":82,"placed":49,"shared":9,"unplaced":24},
5082
+ "files_hash": "b30cc05e8f35a8a4",
5083
+ "reading_hash": "5abba39cf5ec9226",
5084
+ "counts": {"lines":66,"placed":47,"shared":9,"unplaced":10},
5085
5085
  "omitted": {"data":90},
5086
5086
  "notes": [],
5087
5087
  "lines": [
5088
- {"key":"L0001","section":"{…}","text":"The Public Ledger of the City's Making","placement":"placed","file":"modules/status-ui/public/index.html","line":33,"string_id":"acdf97805931"},
5089
- {"key":"L0002","section":"{…}","text":"A shipping container has washed ashore upon the coast south of Athens. About it a new civilization rises. Set out below: the city's affairs, openly recorded.","placement":"placed","file":"modules/status-ui/public/index.html","line":34,"string_id":"f4a664041da5"},
5090
- {"key":"L0003","section":"{…}","text":"Cross into the city →","placement":"placed","file":"modules/status-ui/public/index.html","line":36,"string_id":"3aa071ef1142"},
5091
- {"key":"L0004","section":"{…}","text":"tablet last consulted at {…}","placement":"placed","file":"modules/status-ui/public/status.js","line":1066,"string_id":"c1e3c2212207"},
5092
- {"key":"L0005","section":"navigation","text":"Pulse","placement":"shared"},
5093
- {"key":"L0006","section":"navigation","text":"Architects","placement":"shared"},
5094
- {"key":"L0007","section":"navigation","text":"Foundry","placement":"shared"},
5095
- {"key":"L0008","section":"navigation","text":"Works","placement":"shared"},
5096
- {"key":"L0009","section":"navigation","text":"Treasury","placement":"shared"},
5097
- {"key":"L0010","section":"navigation","text":"Inscribed","placement":"shared"},
5098
- {"key":"L0011","section":"navigation","text":"World","placement":"shared"},
5099
- {"key":"L0012","section":"{…}","text":"works wrought, last 7 days","placement":"placed","file":"modules/status-ui/public/index.html","line":64,"string_id":"71a303e1ba09"},
5088
+ {"key":"L0001","section":"{…}","text":"Build status, in the open","placement":"placed","file":"modules/status-ui/public/index.html","line":33,"string_id":"2f6423735a84"},
5089
+ {"key":"L0002","section":"{…}","text":"Everything here is built in public. This page shows what shipped, what it cost, and who built it, and it updates every minute.","placement":"placed","file":"modules/status-ui/public/index.html","line":34,"string_id":"244284381bd1"},
5090
+ {"key":"L0003","section":"{…}","text":"Go to {{productName}} →","placement":"placed","file":"modules/status-ui/public/index.html","line":36,"string_id":"4427e4114a14"},
5091
+ {"key":"L0004","section":"{…}","text":"updated at {…}","placement":"placed","file":"modules/status-ui/public/status.js","line":1065,"string_id":"776a9898a824"},
5092
+ {"key":"L0005","section":"navigation","text":"Overview","placement":"shared"},
5093
+ {"key":"L0006","section":"navigation","text":"Builders","placement":"shared"},
5094
+ {"key":"L0007","section":"navigation","text":"Trends","placement":"shared"},
5095
+ {"key":"L0008","section":"navigation","text":"In progress","placement":"shared","file":"modules/status-ui/public/index.html","line":112,"string_id":"fc79a36f2605"},
5096
+ {"key":"L0009","section":"navigation","text":"Spending","placement":"shared"},
5097
+ {"key":"L0010","section":"navigation","text":"Shipped","placement":"shared"},
5098
+ {"key":"L0011","section":"navigation","text":"Snapshot","placement":"shared"},
5099
+ {"key":"L0012","section":"{…}","text":"tasks shipped, last 7 days","placement":"placed","file":"modules/status-ui/public/index.html","line":64,"string_id":"677c54db7834"},
5100
5100
  {"key":"L0013","section":"{…}","text":"{{currency}} spent","placement":"placed","file":"modules/status-ui/public/index.html","line":131,"string_id":"35872b9ecc49"},
5101
- {"key":"L0014","section":"{…}","text":"passed the inspector, last 7 days","placement":"placed","file":"modules/status-ui/public/index.html","line":75,"string_id":"1d0fbe3e5927"},
5102
- {"key":"L0015","section":"Architects of {{worldName}}","text":"Architects of {{worldName}}","placement":"placed","file":"modules/status-ui/public/index.html","line":83,"string_id":"1fb3f6a598cd"},
5103
- {"key":"L0016","section":"Architects of {{worldName}}","text":"Citizens who have set the most stone.","placement":"placed","file":"modules/status-ui/public/index.html","line":84,"string_id":"21f644463d57"},
5104
- {"key":"L0017","section":"The Foundry","text":"The Foundry","placement":"placed","file":"modules/status-ui/public/index.html","line":95,"string_id":"e4073b17b693"},
5105
- {"key":"L0018","section":"The Foundry","text":"How the city's craft is changing — works shipped and time per work over the last ninety days. The whole, not the hands.","placement":"placed","file":"modules/status-ui/public/index.html","line":96,"string_id":"b8e9f90e225c"},
5106
- {"key":"L0019","section":"The Foundry","text":"works shipped (90d)","placement":"placed","file":"modules/status-ui/public/index.html","line":100,"string_id":"b97f429c33fe"},
5107
- {"key":"L0020","section":"The Foundry","text":"hands at the forge","placement":"placed","file":"modules/status-ui/public/index.html","line":101,"string_id":"c2db58231e50"},
5108
- {"key":"L0021","section":"The Foundry","text":"avg time / work","placement":"placed","file":"modules/status-ui/public/index.html","line":102,"string_id":"ebdc5ecf315c"},
5109
- {"key":"L0022","section":"The Foundry","text":"Not enough shipped works yet to draw the curve.","placement":"placed","file":"modules/status-ui/public/index.html","line":106,"string_id":"2df94faddc8c"},
5110
- {"key":"L0023","section":"Works in Progress","text":"Works in Progress","placement":"placed","file":"modules/status-ui/public/index.html","line":112,"string_id":"6cc811f31b3a"},
5111
- {"key":"L0024","section":"Works in Progress","text":"The endeavours now underway in the city.","placement":"placed","file":"modules/status-ui/public/index.html","line":113,"string_id":"3890ae78799a"},
5112
- {"key":"L0025","section":"Works in Progress","text":"{…}% complete · weighted by priority","placement":"placed","file":"modules/status-ui/public/status.js","line":412,"string_id":"78c552726882","occurrences":2},
5113
- {"key":"L0026","section":"Works in Progress","text":"The work, in brief","placement":"placed","file":"modules/status-ui/public/status.js","line":435,"string_id":"c1ab82f376ec","occurrences":2},
5114
- {"key":"L0027","section":"The Treasury","text":"The Treasury","placement":"placed","file":"modules/status-ui/public/index.html","line":124,"string_id":"0dd5f86e182c"},
5115
- {"key":"L0028","section":"The Treasury","text":"{{Currency}} spent, against the value wrought.","placement":"placed","file":"modules/status-ui/public/index.html","line":125,"string_id":"89aa84ef4595"},
5116
- {"key":"L0029","section":"The Treasury","text":"{{currency}} spent","placement":"placed","file":"modules/status-ui/public/index.html","line":131,"string_id":"35872b9ecc49"},
5117
- {"key":"L0030","section":"The Treasury","text":"value wrought","placement":"placed","file":"modules/status-ui/public/index.html","line":135,"string_id":"fefb0130c7ae"},
5118
- {"key":"L0031","section":"The Treasury","text":"year's purse","placement":"placed","file":"modules/status-ui/public/index.html","line":139,"string_id":"24ea04f49b3d"},
5119
- {"key":"L0032","section":"The Treasury","text":"of the purse","placement":"placed","file":"modules/status-ui/public/index.html","line":143,"string_id":"5b653a87c53c"},
5120
- {"key":"L0033","section":"The Treasury","text":"The line of value above the line of spend means the city is wrought richer than it is dear.","placement":"placed","file":"modules/status-ui/public/index.html","line":149,"string_id":"a40c05981183"},
5121
- {"key":"L0034","section":"The Treasury","text":"The chart above always shows the whole project; the filters below slice the breakdown.","placement":"placed","file":"modules/status-ui/public/index.html","line":149,"string_id":"308949fbd4a0"},
5122
- {"key":"L0035","section":"The Treasury","text":"Source","placement":"unplaced"},
5123
- {"key":"L0036","section":"The Treasury","text":"All sources","placement":"placed","file":"modules/status-ui/public/index.html","line":154,"string_id":"cb7eae1a30d5"},
5124
- {"key":"L0037","section":"The Treasury","text":"Category","placement":"unplaced"},
5125
- {"key":"L0038","section":"The Treasury","text":"All categories","placement":"placed","file":"modules/status-ui/public/index.html","line":160,"string_id":"155d14ab692a"},
5126
- {"key":"L0039","section":"The Treasury","text":"Window","placement":"unplaced"},
5127
- {"key":"L0040","section":"The Treasury","text":"All time","placement":"placed","file":"modules/status-ui/public/index.html","line":166,"string_id":"a072071b893c"},
5128
- {"key":"L0041","section":"The Treasury","text":"Last 7 days","placement":"placed","file":"modules/status-ui/public/index.html","line":167,"string_id":"b3bb6b729d30"},
5129
- {"key":"L0042","section":"The Treasury","text":"Last 30 days","placement":"placed","file":"modules/status-ui/public/index.html","line":168,"string_id":"41cc7f5ec97e"},
5130
- {"key":"L0043","section":"The Treasury","text":"Last 90 days","placement":"placed","file":"modules/status-ui/public/index.html","line":169,"string_id":"726d3470f7a0"},
5131
- {"key":"L0044","section":"The Treasury","text":"· 47,930 dr.","placement":"unplaced"},
5132
- {"key":"L0045","section":"The Treasury","text":"· 261 dr.","placement":"unplaced"},
5133
- {"key":"L0046","section":"The Treasury","text":"· 83.58 dr.","placement":"unplaced"},
5134
- {"key":"L0047","section":"The Treasury","text":"· 11.16 dr.","placement":"unplaced"},
5135
- {"key":"L0048","section":"The Treasury","text":"· 10.99 dr.","placement":"unplaced"},
5136
- {"key":"L0049","section":"The Treasury","text":"Split by hand — {{currency}} spent by each builder at the workshop.","placement":"placed","file":"modules/status-ui/public/index.html","line":175,"string_id":"0cc023b5f470"},
5137
- {"key":"L0050","section":"The Treasury","text":"Unattributed","placement":"unplaced"},
5138
- {"key":"L0051","section":"The Treasury","text":"is the shared keep: infrastructure and domains the whole city pays for, plus the early days before each hand carried its own purse — never quietly charged to one builder.","placement":"placed","file":"modules/status-ui/public/index.html","line":175,"string_id":"20d61cef9be6"},
5139
- {"key":"L0052","section":"The Treasury","text":"Attributed to builders: {…} · Shared keep (unattributed): {…} ({…}%).","placement":"placed","file":"modules/status-ui/public/status.js","line":559,"string_id":"4b16eed738cf"},
5140
- {"key":"L0053","section":"The Treasury","text":"· 30,659 dr.","placement":"unplaced"},
5141
- {"key":"L0054","section":"The Treasury","text":"· 13,067 dr.","placement":"unplaced"},
5142
- {"key":"L0055","section":"The Treasury","text":"· 3,533 dr.","placement":"unplaced"},
5143
- {"key":"L0056","section":"The Treasury","text":"· 698 dr.","placement":"unplaced"},
5144
- {"key":"L0057","section":"The Treasury","text":"unattributed","placement":"unplaced"},
5145
- {"key":"L0058","section":"The Treasury","text":"· 278 dr.","placement":"unplaced"},
5146
- {"key":"L0059","section":"The Treasury","text":"· 38.28 dr.","placement":"unplaced"},
5147
- {"key":"L0060","section":"The Treasury","text":"· 21.82 dr.","placement":"unplaced"},
5148
- {"key":"L0061","section":"The Treasury","text":"· 1.08 dr.","placement":"unplaced"},
5149
- {"key":"L0062","section":"The Treasury","text":"· 0.21 dr.","placement":"unplaced"},
5150
- {"key":"L0063","section":"The Treasury","text":"· 0.11 dr.","placement":"unplaced"},
5151
- {"key":"L0064","section":"The Treasury","text":"· 0.04 dr.","placement":"unplaced","occurrences":2},
5152
- {"key":"L0065","section":"Lately Inscribed","text":"Lately Inscribed","placement":"placed","file":"modules/status-ui/public/index.html","line":183,"string_id":"2634481c0143"},
5153
- {"key":"L0066","section":"Lately Inscribed","text":"Newest entries set down upon the ledger.","placement":"placed","file":"modules/status-ui/public/index.html","line":184,"string_id":"dc9eab0a02e2"},
5154
- {"key":"L0067","section":"Lately Inscribed","text":"Window","placement":"unplaced"},
5155
- {"key":"L0068","section":"Lately Inscribed","text":"Last 7 days","placement":"placed","file":"modules/status-ui/public/index.html","line":167,"string_id":"b3bb6b729d30"},
5156
- {"key":"L0069","section":"Lately Inscribed","text":"Last 30 days","placement":"placed","file":"modules/status-ui/public/index.html","line":168,"string_id":"41cc7f5ec97e"},
5157
- {"key":"L0070","section":"Lately Inscribed","text":"Last 90 days","placement":"placed","file":"modules/status-ui/public/index.html","line":169,"string_id":"726d3470f7a0"},
5158
- {"key":"L0071","section":"Lately Inscribed","text":"All time","placement":"placed","file":"modules/status-ui/public/index.html","line":166,"string_id":"a072071b893c"},
5159
- {"key":"L0072","section":"Lately Inscribed","text":"inscribed by {…} · {…}","placement":"unplaced","occurrences":6},
5160
- {"key":"L0073","section":"Lately Inscribed","text":"The site now has the three pages every real website needs — privacy, terms and a contact page — linked from the footer of the front page and the projects hub. The privacy page says plainly what is kept about a GitHub account and a project, who else sees it, and how long it stays; the contact page points at the two doors that actually exist, the repository and the builders' hall. Every project built on the platform gets the same pages under its own name, with the claims that are only true of the platform itself removed.","placement":"unplaced"},
5161
- {"key":"L0074","section":"Lately Inscribed","text":"‹ earlier page","placement":"placed","file":"modules/status-ui/public/index.html","line":200,"string_id":"6d0d64f10bd9"},
5162
- {"key":"L0075","section":"Lately Inscribed","text":"page {…} of {…}","placement":"placed","file":"modules/status-ui/public/status.js","line":876,"string_id":"4a00bdbfd9be"},
5163
- {"key":"L0076","section":"Lately Inscribed","text":"later page ›","placement":"placed","file":"modules/status-ui/public/index.html","line":202,"string_id":"9b019d632d3e"},
5164
- {"key":"L0077","section":"The World","text":"The World","placement":"placed","file":"modules/status-ui/public/index.html","line":209,"string_id":"3e465b62cea8"},
5165
- {"key":"L0078","section":"The World","text":"A true-to-life portrait of {{worldName}} as she stands today, rendered from the city's own stones.","placement":"placed","file":"modules/status-ui/public/index.html","line":210,"string_id":"623d6b7ae6b7"},
5166
- {"key":"L0079","section":"The World","text":"The cartographers are still at their survey…","placement":"placed","file":"modules/status-ui/public/index.html","line":214,"string_id":"16f6b8dcd3ec"},
5167
- {"key":"L0080","section":"The World","text":"Show history of earlier portraits","placement":"placed","file":"modules/status-ui/public/index.html","line":220,"string_id":"81cb441627b8"},
5168
- {"key":"L0081","section":"footer","text":"By order of the Senate","placement":"shared","file":"modules/status-ui/public/index.html","line":229,"string_id":"1fe8937399f5"},
5169
- {"key":"L0082","section":"footer","text":"{{Currency}} are wrought by the lawmen's review; they measure the work, and are never coin.","placement":"shared","file":"modules/status-ui/public/index.html","line":232,"string_id":"1b40dc1e9196"}
5101
+ {"key":"L0014","section":"{…}","text":"passed review, last 7 days","placement":"placed","file":"modules/status-ui/public/index.html","line":75,"string_id":"dd4bdd27a1bb"},
5102
+ {"key":"L0015","section":"Top builders","text":"Top builders","placement":"placed","file":"modules/status-ui/public/index.html","line":83,"string_id":"176f8a32a380"},
5103
+ {"key":"L0016","section":"Top builders","text":"Ranked by the {{currency}} each has earned.","placement":"placed","file":"modules/status-ui/public/index.html","line":84,"string_id":"d0022c3ed6b1"},
5104
+ {"key":"L0017","section":"How the work is changing","text":"How the work is changing","placement":"placed","file":"modules/status-ui/public/index.html","line":95,"string_id":"bca6d8e66293"},
5105
+ {"key":"L0018","section":"How the work is changing","text":"Tasks shipped and the time each took, over the last 90 days. The project as a whole, never one builder.","placement":"placed","file":"modules/status-ui/public/index.html","line":96,"string_id":"2210f2507855"},
5106
+ {"key":"L0019","section":"How the work is changing","text":"tasks shipped (90 days)","placement":"placed","file":"modules/status-ui/public/index.html","line":100,"string_id":"53e9b6f93708"},
5107
+ {"key":"L0020","section":"How the work is changing","text":"active builders","placement":"placed","file":"modules/status-ui/public/index.html","line":101,"string_id":"76aa5d6d2000"},
5108
+ {"key":"L0021","section":"How the work is changing","text":"average time per task","placement":"placed","file":"modules/status-ui/public/index.html","line":102,"string_id":"625facbe8b7a"},
5109
+ {"key":"L0022","section":"How the work is changing","text":"Not enough tasks have shipped yet to draw a trend.","placement":"placed","file":"modules/status-ui/public/index.html","line":106,"string_id":"def3e300402e"},
5110
+ {"key":"L0023","section":"In progress","text":"In progress","placement":"placed","file":"modules/status-ui/public/index.html","line":112,"string_id":"fc79a36f2605"},
5111
+ {"key":"L0024","section":"In progress","text":"The versions being built now.","placement":"placed","file":"modules/status-ui/public/index.html","line":113,"string_id":"73df77b458ee"},
5112
+ {"key":"L0025","section":"In progress","text":"{…}% complete · weighted by priority","placement":"placed","file":"modules/status-ui/public/status.js","line":411,"string_id":"78c552726882","occurrences":2},
5113
+ {"key":"L0026","section":"In progress","text":"The work, in brief","placement":"placed","file":"modules/status-ui/public/status.js","line":434,"string_id":"c1ab82f376ec","occurrences":2},
5114
+ {"key":"L0027","section":"Spending","text":"Spending","placement":"unplaced"},
5115
+ {"key":"L0028","section":"Spending","text":"What the build has cost, against the value it has produced.","placement":"placed","file":"modules/status-ui/public/index.html","line":125,"string_id":"18b5241e8dd5"},
5116
+ {"key":"L0029","section":"Spending","text":"{{currency}} spent","placement":"placed","file":"modules/status-ui/public/index.html","line":131,"string_id":"35872b9ecc49"},
5117
+ {"key":"L0030","section":"Spending","text":"value produced","placement":"placed","file":"modules/status-ui/public/index.html","line":135,"string_id":"40d2b3319954"},
5118
+ {"key":"L0031","section":"Spending","text":"yearly budget","placement":"placed","file":"modules/status-ui/public/index.html","line":139,"string_id":"fa0c7ee6a0ba"},
5119
+ {"key":"L0032","section":"Spending","text":"of the budget","placement":"placed","file":"modules/status-ui/public/index.html","line":143,"string_id":"3de9ededa6f7"},
5120
+ {"key":"L0033","section":"Spending","text":"When the value line sits above the spend line, the work is worth more than it cost.","placement":"placed","file":"modules/status-ui/public/index.html","line":149,"string_id":"4b74c11f6b14"},
5121
+ {"key":"L0034","section":"Spending","text":"The chart always shows the whole project; the filters below change only the breakdown.","placement":"placed","file":"modules/status-ui/public/index.html","line":149,"string_id":"22ffc60736f4"},
5122
+ {"key":"L0035","section":"Spending","text":"Source","placement":"unplaced"},
5123
+ {"key":"L0036","section":"Spending","text":"All sources","placement":"placed","file":"modules/status-ui/public/index.html","line":154,"string_id":"cb7eae1a30d5"},
5124
+ {"key":"L0037","section":"Spending","text":"Category","placement":"unplaced"},
5125
+ {"key":"L0038","section":"Spending","text":"All categories","placement":"placed","file":"modules/status-ui/public/index.html","line":160,"string_id":"155d14ab692a"},
5126
+ {"key":"L0039","section":"Spending","text":"Window","placement":"unplaced"},
5127
+ {"key":"L0040","section":"Spending","text":"All time","placement":"placed","file":"modules/status-ui/public/index.html","line":166,"string_id":"a072071b893c"},
5128
+ {"key":"L0041","section":"Spending","text":"Last 7 days","placement":"placed","file":"modules/status-ui/public/index.html","line":167,"string_id":"b3bb6b729d30"},
5129
+ {"key":"L0042","section":"Spending","text":"Last 30 days","placement":"placed","file":"modules/status-ui/public/index.html","line":168,"string_id":"41cc7f5ec97e"},
5130
+ {"key":"L0043","section":"Spending","text":"Last 90 days","placement":"placed","file":"modules/status-ui/public/index.html","line":169,"string_id":"726d3470f7a0"},
5131
+ {"key":"L0044","section":"Spending","text":"Spending by builder.","placement":"placed","file":"modules/status-ui/public/index.html","line":175,"string_id":"2335aef79d55"},
5132
+ {"key":"L0045","section":"Spending","text":"Unattributed","placement":"unplaced"},
5133
+ {"key":"L0046","section":"Spending","text":"is shared cost: the infrastructure and domains the whole project pays for, plus early spending from before costs were tracked per builder. It is never charged to one builder.","placement":"placed","file":"modules/status-ui/public/index.html","line":175,"string_id":"2546b875300e"},
5134
+ {"key":"L0047","section":"Spending","text":"Attributed to builders: {…} · Shared (unattributed): {…} ({…}%).","placement":"placed","file":"modules/status-ui/public/status.js","line":558,"string_id":"ce5865259902"},
5135
+ {"key":"L0048","section":"Spending","text":"unattributed","placement":"unplaced"},
5136
+ {"key":"L0049","section":"Recently shipped","text":"Recently shipped","placement":"placed","file":"modules/status-ui/public/index.html","line":183,"string_id":"b555b1fa2052"},
5137
+ {"key":"L0050","section":"Recently shipped","text":"The newest finished tasks.","placement":"placed","file":"modules/status-ui/public/index.html","line":184,"string_id":"2c7f9f444576"},
5138
+ {"key":"L0051","section":"Recently shipped","text":"Window","placement":"unplaced"},
5139
+ {"key":"L0052","section":"Recently shipped","text":"Last 7 days","placement":"placed","file":"modules/status-ui/public/index.html","line":167,"string_id":"b3bb6b729d30"},
5140
+ {"key":"L0053","section":"Recently shipped","text":"Last 30 days","placement":"placed","file":"modules/status-ui/public/index.html","line":168,"string_id":"41cc7f5ec97e"},
5141
+ {"key":"L0054","section":"Recently shipped","text":"Last 90 days","placement":"placed","file":"modules/status-ui/public/index.html","line":169,"string_id":"726d3470f7a0"},
5142
+ {"key":"L0055","section":"Recently shipped","text":"All time","placement":"placed","file":"modules/status-ui/public/index.html","line":166,"string_id":"a072071b893c"},
5143
+ {"key":"L0056","section":"Recently shipped","text":"{…} by {…} · {…}","placement":"unplaced","occurrences":6},
5144
+ {"key":"L0057","section":"Recently shipped","text":"The site now has the three pages every real website needs — privacy, terms and a contact page — linked from the footer of the front page and the projects hub. The privacy page says plainly what is kept about a GitHub account and a project, who else sees it, and how long it stays; the contact page points at the two doors that actually exist, the repository and the builders' hall. Every project built on the platform gets the same pages under its own name, with the claims that are only true of the platform itself removed.","placement":"unplaced"},
5145
+ {"key":"L0058","section":"Recently shipped","text":"‹ earlier page","placement":"placed","file":"modules/status-ui/public/index.html","line":200,"string_id":"6d0d64f10bd9"},
5146
+ {"key":"L0059","section":"Recently shipped","text":"page {…} of {…}","placement":"placed","file":"modules/status-ui/public/status.js","line":875,"string_id":"4a00bdbfd9be"},
5147
+ {"key":"L0060","section":"Recently shipped","text":"later page ›","placement":"placed","file":"modules/status-ui/public/index.html","line":202,"string_id":"9b019d632d3e"},
5148
+ {"key":"L0061","section":"Snapshot","text":"Snapshot","placement":"unplaced"},
5149
+ {"key":"L0062","section":"Snapshot","text":"{{worldName}} as it looks today, rendered from the live project.","placement":"placed","file":"modules/status-ui/public/index.html","line":210,"string_id":"3786ecf30a95"},
5150
+ {"key":"L0063","section":"Snapshot","text":"Loading the latest snapshot…","placement":"placed","file":"modules/status-ui/public/index.html","line":214,"string_id":"b9584aeba82f"},
5151
+ {"key":"L0064","section":"Snapshot","text":"Show earlier snapshots","placement":"placed","file":"modules/status-ui/public/index.html","line":220,"string_id":"96032bb7b5be"},
5152
+ {"key":"L0065","section":"footer","text":"{{productName}} build status","placement":"shared","file":"modules/status-ui/public/index.html","line":229,"string_id":"774d51243976"},
5153
+ {"key":"L0066","section":"footer","text":"{{Currency}} are awarded by review. They measure work done and are never money.","placement":"shared","file":"modules/status-ui/public/index.html","line":232,"string_id":"834d35e246c5"}
5170
5154
  ]
5171
5155
  }
5172
5156
  ]
@@ -3,8 +3,8 @@
3
3
  <head>
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
- <title>{{productName}} — the public ledger</title>
7
- <meta name="description" content="The public ledger of {{worldName}} — {{currency}} spent, works wrought, and the citizens who shape her stones.">
6
+ <title>{{productName}} — build status</title>
7
+ <meta name="description" content="How {{worldName}} is being built, in the open: what shipped, what it cost, and who built it.">
8
8
  <link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
9
9
  <link rel="apple-touch-icon" href="/modules/ui-design/public/brand/apple-touch-icon.png">
10
10
  <!-- The faces are the pack's: the server (and the off-box mirror) splice the pack's
@@ -30,12 +30,12 @@
30
30
 
31
31
  <section class="herm" aria-labelledby="herm-title">
32
32
  <h1 id="herm-title">{{worldName}}</h1>
33
- <p class="herm__epigraph">The Public Ledger of the City's Making</p>
34
- <p class="herm__sub">A shipping container has washed ashore upon the coast south of Athens. About it a new civilization rises. Set out below: the city's affairs, openly recorded.</p>
33
+ <p class="herm__epigraph">Build status, in the open</p>
34
+ <p class="herm__sub">Everything here is built in public. This page shows what shipped, what it cost, and who built it, and it updates every minute.</p>
35
35
  <p class="herm__meta">
36
- <a href="{{publicOrigin}}" target="_blank" rel="noopener">Cross into the city →</a>
36
+ <a href="{{publicOrigin}}" target="_blank" rel="noopener">Go to {{productName}} →</a>
37
37
  <span class="dot" aria-hidden="true">·</span>
38
- <span class="herm__updated" id="last-updated">Tablet being consulted…</span>
38
+ <span class="herm__updated" id="last-updated">Checking for updates…</span>
39
39
  </p>
40
40
  </section>
41
41
 
@@ -43,7 +43,7 @@
43
43
  (public-builders/style.css .hall-nav__*). Built from a SECTIONS constant
44
44
  in status.js. Empty until populated — [hidden] keeps the strip from
45
45
  flashing as an empty band before chips arrive. -->
46
- <nav id="status-nav" class="status-nav" aria-label="Sections of the ledger" hidden>
46
+ <nav id="status-nav" class="status-nav" aria-label="Sections of the page" hidden>
47
47
  <div class="status-nav__inner">
48
48
  <ul class="status-nav__list" id="status-nav-list"></ul>
49
49
  </div>
@@ -57,22 +57,22 @@
57
57
  loadHeadline() in status.js, fed by the existing public endpoints
58
58
  (recent-shipped, cost-summary, grades). -->
59
59
  <section class="tablet tablet--headline" id="headline-tablet" aria-labelledby="headline-heading">
60
- <h2 id="headline-heading" class="visually-hidden">The City At A Glance</h2>
60
+ <h2 id="headline-heading" class="visually-hidden">At a glance</h2>
61
61
  <div class="headline-grid">
62
62
  <div class="stat headline-stat" id="headline-shipped">
63
63
  <div class="stat__num" id="headline-shipped-num">—</div>
64
- <div class="stat__label">works wrought, last 7 days</div>
64
+ <div class="stat__label">tasks shipped, last 7 days</div>
65
65
  </div>
66
66
  <div class="stat headline-stat" id="headline-treasury">
67
67
  <div class="stat__num" id="headline-treasury-num">—</div>
68
- <div class="stat__label" id="headline-treasury-label">of the year's purse spent</div>
68
+ <div class="stat__label" id="headline-treasury-label">of this year's budget spent</div>
69
69
  <div class="headline-bar" aria-hidden="true">
70
70
  <div class="headline-bar__fill" id="headline-treasury-bar" style="width: 0%"></div>
71
71
  </div>
72
72
  </div>
73
73
  <div class="stat headline-stat" id="headline-grade">
74
74
  <div class="stat__num" id="headline-grade-num">—</div>
75
- <div class="stat__label">passed the inspector, last 7 days</div>
75
+ <div class="stat__label">passed review, last 7 days</div>
76
76
  </div>
77
77
  </div>
78
78
  </section>
@@ -80,49 +80,49 @@
80
80
  <section class="tablet" id="leader-tablet" aria-labelledby="leader-heading">
81
81
  <div class="tablet__head">
82
82
  <div class="tablet__heading">
83
- <h2 id="leader-heading">Architects of {{worldName}}</h2>
84
- <p class="tablet__subtitle">Citizens who have set the most stone.</p>
83
+ <h2 id="leader-heading">Top builders</h2>
84
+ <p class="tablet__subtitle">Ranked by the {{currency}} each has earned.</p>
85
85
  </div>
86
86
  </div>
87
87
  <ol id="leaderboard" class="leader">
88
- <li class="empty">No architects yet — be the first to lay a stone.</li>
88
+ <li class="empty">No builders yet — be the first.</li>
89
89
  </ol>
90
90
  </section>
91
91
 
92
92
  <section class="tablet" id="foundry-tablet" aria-labelledby="foundry-heading">
93
93
  <div class="tablet__head">
94
94
  <div class="tablet__heading">
95
- <h2 id="foundry-heading">The Foundry</h2>
96
- <p class="tablet__subtitle">How the city's craft is changing — works shipped and time per work over the last ninety days. The whole, not the hands.</p>
95
+ <h2 id="foundry-heading">How the work is changing</h2>
96
+ <p class="tablet__subtitle">Tasks shipped and the time each took, over the last 90 days. The project as a whole, never one builder.</p>
97
97
  </div>
98
98
  </div>
99
99
  <div class="cost-summary" id="foundry-stats">
100
- <div class="stat"><div class="stat__num" id="foundry-shipped">—</div><div class="stat__label">works shipped (90d)</div></div>
101
- <div class="stat"><div class="stat__num" id="foundry-builders">—</div><div class="stat__label">hands at the forge</div></div>
102
- <div class="stat"><div class="stat__num" id="foundry-duration">—</div><div class="stat__label">avg time / work</div></div>
100
+ <div class="stat"><div class="stat__num" id="foundry-shipped">—</div><div class="stat__label">tasks shipped (90 days)</div></div>
101
+ <div class="stat"><div class="stat__num" id="foundry-builders">—</div><div class="stat__label">active builders</div></div>
102
+ <div class="stat"><div class="stat__num" id="foundry-duration">—</div><div class="stat__label">average time per task</div></div>
103
103
  </div>
104
104
  <div class="foundry__charts" id="foundry-charts"></div>
105
105
  <div class="foundry__kinds" id="foundry-kinds"></div>
106
- <p class="chart-note" id="foundry-empty" hidden>Not enough shipped works yet to draw the curve.</p>
106
+ <p class="chart-note" id="foundry-empty" hidden>Not enough tasks have shipped yet to draw a trend.</p>
107
107
  </section>
108
108
 
109
109
  <section class="tablet" id="versions-tablet" aria-labelledby="versions-heading">
110
110
  <div class="tablet__head">
111
111
  <div class="tablet__heading">
112
- <h2 id="versions-heading">Works in Progress</h2>
113
- <p class="tablet__subtitle">The endeavours now underway in the city.</p>
112
+ <h2 id="versions-heading">In progress</h2>
113
+ <p class="tablet__subtitle">The versions being built now.</p>
114
114
  </div>
115
115
  </div>
116
116
  <div id="versions" class="versions">
117
- <p class="empty loading-mark" role="status">The masons are at their tools…</p>
117
+ <p class="empty loading-mark" role="status">Loading the versions…</p>
118
118
  </div>
119
119
  </section>
120
120
 
121
121
  <section class="tablet" id="cost-tablet" aria-labelledby="cost-heading">
122
122
  <div class="tablet__head">
123
123
  <div class="tablet__heading">
124
- <h2 id="cost-heading">The Treasury</h2>
125
- <p class="tablet__subtitle">{{Currency}} spent, against the value wrought.</p>
124
+ <h2 id="cost-heading">Spending</h2>
125
+ <p class="tablet__subtitle">What the build has cost, against the value it has produced.</p>
126
126
  </div>
127
127
  </div>
128
128
  <div class="cost-summary">
@@ -132,21 +132,21 @@
132
132
  </div>
133
133
  <div class="stat">
134
134
  <div class="stat__num" id="value-total">—</div>
135
- <div class="stat__label">value wrought</div>
135
+ <div class="stat__label">value produced</div>
136
136
  </div>
137
137
  <div class="stat">
138
138
  <div class="stat__num" id="cost-budget">5,000</div>
139
- <div class="stat__label">year's purse</div>
139
+ <div class="stat__label">yearly budget</div>
140
140
  </div>
141
141
  <div class="stat">
142
142
  <div class="stat__num" id="cost-percent">—</div>
143
- <div class="stat__label">of the purse</div>
143
+ <div class="stat__label">of the budget</div>
144
144
  </div>
145
145
  </div>
146
146
  <div class="chart-wrap">
147
- <canvas id="cost-chart" aria-label="cumulative {{currency}} spent against cumulative value wrought, day by day" role="img"></canvas>
147
+ <canvas id="cost-chart" aria-label="cumulative {{currency}} spent against cumulative value produced, day by day" role="img"></canvas>
148
148
  </div>
149
- <p class="chart-note">The line of value above the line of spend means the city is wrought richer than it is dear. <em>The chart above always shows the whole project; the filters below slice the breakdown.</em></p>
149
+ <p class="chart-note">When the value line sits above the spend line, the work is worth more than it cost. <em>The chart always shows the whole project; the filters below change only the breakdown.</em></p>
150
150
  <div class="cost-filters" role="group" aria-label="Filter the spend breakdown" style="display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin:6px 0 10px;">
151
151
  <div class="tablet__filter">
152
152
  <label for="cost-filter-source" class="tablet__filter-label">Source</label>
@@ -172,7 +172,7 @@
172
172
  </div>
173
173
  <p id="cost-filter-note" class="cost-split" aria-live="polite"></p>
174
174
  <div id="cost-categories" class="cost-cats"></div>
175
- <p class="chart-note">Split by hand — {{currency}} spent by each builder at the workshop. <em>Unattributed</em> is the shared keep: infrastructure and domains the whole city pays for, plus the early days before each hand carried its own purse — never quietly charged to one builder.</p>
175
+ <p class="chart-note">Spending by builder. <em>Unattributed</em> is shared cost: the infrastructure and domains the whole project pays for, plus early spending from before costs were tracked per builder. It is never charged to one builder.</p>
176
176
  <p id="cost-attribution-split" class="cost-split" aria-live="polite"></p>
177
177
  <div id="cost-builders" class="cost-cats"></div>
178
178
  </section>
@@ -180,12 +180,12 @@
180
180
  <section class="tablet" id="shipped-tablet" aria-labelledby="shipped-heading">
181
181
  <div class="tablet__head">
182
182
  <div class="tablet__heading">
183
- <h2 id="shipped-heading">Lately Inscribed</h2>
184
- <p class="tablet__subtitle">Newest entries set down upon the ledger.</p>
183
+ <h2 id="shipped-heading">Recently shipped</h2>
184
+ <p class="tablet__subtitle">The newest finished tasks.</p>
185
185
  </div>
186
186
  <div class="tablet__filter">
187
187
  <label for="shipped-range" class="tablet__filter-label">Window</label>
188
- <select id="shipped-range" class="tablet__filter-select" aria-label="Filter inscriptions by date range">
188
+ <select id="shipped-range" class="tablet__filter-select" aria-label="Filter shipped tasks by date range">
189
189
  <option value="7">Last 7 days</option>
190
190
  <option value="30" selected>Last 30 days</option>
191
191
  <option value="90">Last 90 days</option>
@@ -194,9 +194,9 @@
194
194
  </div>
195
195
  </div>
196
196
  <ul id="shipped" class="shipped">
197
- <li class="empty">No works yet inscribed.</li>
197
+ <li class="empty">Nothing has shipped yet.</li>
198
198
  </ul>
199
- <nav id="shipped-pager" class="shipped-pager" hidden aria-label="Lately Inscribed pages">
199
+ <nav id="shipped-pager" class="shipped-pager" hidden aria-label="Recently shipped pages">
200
200
  <button type="button" id="shipped-prev" class="btn btn--ghost btn--sm shipped-pager__btn" aria-label="Previous page">‹ earlier page</button>
201
201
  <span id="shipped-pageinfo" class="shipped-pager__info" aria-live="polite">page 1 of 1</span>
202
202
  <button type="button" id="shipped-next" class="btn btn--ghost btn--sm shipped-pager__btn" aria-label="Next page">later page ›</button>
@@ -206,30 +206,30 @@
206
206
  <section class="tablet tablet--wide" id="world-tablet" aria-labelledby="world-heading">
207
207
  <div class="tablet__head">
208
208
  <div class="tablet__heading">
209
- <h2 id="world-heading">The World</h2>
210
- <p class="tablet__subtitle">A true-to-life portrait of {{worldName}} as she stands today, rendered from the city's own stones.</p>
209
+ <h2 id="world-heading">Snapshot</h2>
210
+ <p class="tablet__subtitle">{{worldName}} as it looks today, rendered from the live project.</p>
211
211
  </div>
212
212
  </div>
213
213
  <div id="world-snapshot" class="world-snapshot">
214
- <p class="empty loading-mark" role="status">The cartographers are still at their survey…</p>
214
+ <p class="empty loading-mark" role="status">Loading the latest snapshot…</p>
215
215
  </div>
216
216
  <!-- #409: snapshot history collapsed behind a toggle. The latest snapshot
217
217
  above is the prime view; the timeline of older snapshots is reference
218
218
  material that previously ate ~300px of prime real estate. -->
219
219
  <details class="world-history" id="world-history">
220
- <summary class="world-history__summary">Show history of earlier portraits</summary>
220
+ <summary class="world-history__summary">Show earlier snapshots</summary>
221
221
  <div id="world-timeline" class="world-timeline" aria-label="World snapshots over time"></div>
222
- <p class="world-note" id="world-note" hidden>A new portrait is set down each time the city's stones are reshaped. Scroll to see how {{worldName}} has grown.</p>
222
+ <p class="world-note" id="world-note" hidden>A new snapshot is taken each time the project changes. Scroll to see how {{worldName}} has grown.</p>
223
223
  </details>
224
224
  </section>
225
225
 
226
226
  </main>
227
227
 
228
228
  <footer class="foot">
229
- <p class="foot__seal">By order of the Senate</p>
229
+ <p class="foot__seal">{{productName}} build status</p>
230
230
  <!-- task 1002853: every company field is optional, so each clause drops whole when its pack field is empty -->
231
231
  <!--brand-if:companyName--><p>{{worldName}} is the work of <!--brand-if:companySite--><a href="{{companySite}}" target="_blank" rel="noopener"><!--/brand-if:companySite--><strong>{{companyName}}</strong><!--brand-if:companySite--></a><!--/brand-if:companySite--><!--brand-if:companyTagline-->, {{companyTagline}}<!--/brand-if:companyTagline-->.</p><!--/brand-if:companyName-->
232
- <p>{{Currency}} are wrought by the lawmen's review; they measure the work, and are never coin.</p>
232
+ <p>{{Currency}} are awarded by review. They measure work done and are never money.</p>
233
233
  </footer>
234
234
 
235
235
  <script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.1/dist/chart.umd.min.js"></script>