@bongos/core 1.24.49 → 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.
@@ -3352,5 +3352,9 @@ is load-bearing: the script throws rather than guess if it is missing, and
3352
3352
  landed since 1.24.47 with no explicit bump. run 42356516568. (task 1002620)
3353
3353
  1.24.49 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
3354
3354
  landed since 1.24.48 with no explicit bump. run 42360265278. (task 1002620)
3355
+ 1.24.50 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
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)
3355
3359
  ---------------------------------------------------------------------------
3356
3360
  ```
@@ -1789,8 +1789,8 @@
1789
1789
  "module": "status-ui",
1790
1790
  "page": "explore",
1791
1791
  "id_from": "file-name",
1792
- "title": "Explore — projects on the map",
1793
- "document_title": "Explore — projects on the map",
1792
+ "title": "Explore — projects on the map · {{productName}}",
1793
+ "document_title": "Explore — projects on the map · {{productName}}",
1794
1794
  "path": "/explore",
1795
1795
  "url": "https://status.{apex}/explore",
1796
1796
  "files": [
@@ -1806,13 +1806,14 @@
1806
1806
  "module": "status-ui",
1807
1807
  "page": "index",
1808
1808
  "id_from": "file-name",
1809
- "title": "{{worldName}} — the public ledger",
1810
- "document_title": "{{worldName}} — 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": [
1814
1814
  "modules/status-ui/public/index.html",
1815
1815
  "modules/ui-design/public/tokens.css",
1816
+ "modules/hall-ui/public/controls.css",
1816
1817
  "modules/status-ui/public/style.css",
1817
1818
  "modules/status-ui/public/status.js"
1818
1819
  ],
@@ -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":1579,"shared":438,"unplaced":2560,"omitted_data":3310},
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",
@@ -5057,16 +5057,16 @@
5057
5057
  {
5058
5058
  "id": "status:explore",
5059
5059
  "surface": "status",
5060
- "title": "Explore — projects on the map",
5060
+ "title": "Explore — projects on the map · {{productName}}",
5061
5061
  "states_read": ["default"],
5062
- "files_hash": "063645ed1b3be9e1",
5062
+ "files_hash": "4fc0ab5327ca9977",
5063
5063
  "reading_hash": "ca43dc90d4523670",
5064
5064
  "counts": {"lines":7,"placed":0,"shared":2,"unplaced":5},
5065
5065
  "omitted": {"data":6},
5066
5066
  "notes": [],
5067
5067
  "lines": [
5068
5068
  {"key":"L0001","section":"top bar","text":"Explore","placement":"shared"},
5069
- {"key":"L0002","section":"top bar","text":"Projects on the map, and how each one stands on it.","placement":"shared","file":"modules/status-ui/public/explore.html","line":105,"string_id":"f1b103f87df2"},
5069
+ {"key":"L0002","section":"top bar","text":"Projects on the map, and how each one stands on it.","placement":"shared","file":"modules/status-ui/public/explore.html","line":115,"string_id":"f1b103f87df2"},
5070
5070
  {"key":"L0003","section":"page top","text":"Public","placement":"unplaced"},
5071
5071
  {"key":"L0004","section":"{…}","text":"example.com","placement":"unplaced"},
5072
5072
  {"key":"L0005","section":"{…}","text":"Public","placement":"unplaced","occurrences":2},
@@ -5077,96 +5077,80 @@
5077
5077
  {
5078
5078
  "id": "status:index",
5079
5079
  "surface": "status",
5080
- "title": "{{worldName}} — the public ledger",
5080
+ "title": "{{productName}} — build status",
5081
5081
  "states_read": ["loaded"],
5082
- "files_hash": "faa0a7af4cdaca47",
5083
- "reading_hash": "9a0df38e258e0720",
5084
- "counts": {"lines":82,"placed":45,"shared":13,"unplaced":24},
5085
- "omitted": {"data":89},
5082
+ "files_hash": "b30cc05e8f35a8a4",
5083
+ "reading_hash": "5abba39cf5ec9226",
5084
+ "counts": {"lines":66,"placed":47,"shared":9,"unplaced":10},
5085
+ "omitted": {"data":90},
5086
5086
  "notes": [],
5087
5087
  "lines": [
5088
- {"key":"L0001","section":"top bar","text":"The Public Ledger of the City's Making","placement":"shared","file":"modules/status-ui/public/index.html","line":118,"string_id":"acdf97805931"},
5089
- {"key":"L0002","section":"top bar","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":"shared","file":"modules/status-ui/public/index.html","line":119,"string_id":"f4a664041da5"},
5090
- {"key":"L0003","section":"top bar","text":"Cross into the city →","placement":"shared","file":"modules/status-ui/public/index.html","line":121,"string_id":"3aa071ef1142"},
5091
- {"key":"L0004","section":"top bar","text":"tablet last consulted at {…}","placement":"shared","file":"modules/status-ui/public/status.js","line":1043,"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":"page top","text":"works wrought, last 7 days","placement":"placed","file":"modules/status-ui/public/index.html","line":155,"string_id":"71a303e1ba09"},
5100
- {"key":"L0013","section":"page top","text":"{{currency}} spent","placement":"placed","file":"modules/status-ui/public/index.html","line":226,"string_id":"35872b9ecc49"},
5101
- {"key":"L0014","section":"page top","text":"passed the inspector, last 7 days","placement":"placed","file":"modules/status-ui/public/index.html","line":166,"string_id":"1d0fbe3e5927"},
5102
- {"key":"L0015","section":"Architects of {{worldName}}","text":"Architects of {{worldName}}","placement":"placed","file":"modules/status-ui/public/index.html","line":175,"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":176,"string_id":"21f644463d57"},
5104
- {"key":"L0017","section":"The Foundry","text":"The Foundry","placement":"placed","file":"modules/status-ui/public/index.html","line":188,"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":189,"string_id":"b8e9f90e225c"},
5106
- {"key":"L0019","section":"The Foundry","text":"works shipped (90d)","placement":"placed","file":"modules/status-ui/public/index.html","line":193,"string_id":"b97f429c33fe"},
5107
- {"key":"L0020","section":"The Foundry","text":"hands at the forge","placement":"placed","file":"modules/status-ui/public/index.html","line":194,"string_id":"c2db58231e50"},
5108
- {"key":"L0021","section":"The Foundry","text":"avg time / work","placement":"placed","file":"modules/status-ui/public/index.html","line":195,"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":199,"string_id":"2df94faddc8c"},
5110
- {"key":"L0023","section":"Works in Progress","text":"Works in Progress","placement":"placed","file":"modules/status-ui/public/index.html","line":206,"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":207,"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":219,"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":220,"string_id":"89aa84ef4595"},
5116
- {"key":"L0029","section":"The Treasury","text":"{{currency}} spent","placement":"placed","file":"modules/status-ui/public/index.html","line":226,"string_id":"35872b9ecc49"},
5117
- {"key":"L0030","section":"The Treasury","text":"value wrought","placement":"placed","file":"modules/status-ui/public/index.html","line":230,"string_id":"fefb0130c7ae"},
5118
- {"key":"L0031","section":"The Treasury","text":"year's purse","placement":"placed","file":"modules/status-ui/public/index.html","line":234,"string_id":"24ea04f49b3d"},
5119
- {"key":"L0032","section":"The Treasury","text":"of the purse","placement":"placed","file":"modules/status-ui/public/index.html","line":238,"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":244,"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":244,"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":249,"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":255,"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":261,"string_id":"a072071b893c"},
5128
- {"key":"L0041","section":"The Treasury","text":"Last 7 days","placement":"placed","file":"modules/status-ui/public/index.html","line":262,"string_id":"b3bb6b729d30"},
5129
- {"key":"L0042","section":"The Treasury","text":"Last 30 days","placement":"placed","file":"modules/status-ui/public/index.html","line":263,"string_id":"41cc7f5ec97e"},
5130
- {"key":"L0043","section":"The Treasury","text":"Last 90 days","placement":"placed","file":"modules/status-ui/public/index.html","line":264,"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":270,"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":270,"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":279,"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":280,"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":262,"string_id":"b3bb6b729d30"},
5156
- {"key":"L0069","section":"Lately Inscribed","text":"Last 30 days","placement":"placed","file":"modules/status-ui/public/index.html","line":263,"string_id":"41cc7f5ec97e"},
5157
- {"key":"L0070","section":"Lately Inscribed","text":"Last 90 days","placement":"placed","file":"modules/status-ui/public/index.html","line":264,"string_id":"726d3470f7a0"},
5158
- {"key":"L0071","section":"Lately Inscribed","text":"All time","placement":"placed","file":"modules/status-ui/public/index.html","line":261,"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":296,"string_id":"6d0d64f10bd9"},
5162
- {"key":"L0075","section":"Lately Inscribed","text":"page {…} of {…}","placement":"placed","file":"modules/status-ui/public/status.js","line":853,"string_id":"4a00bdbfd9be"},
5163
- {"key":"L0076","section":"Lately Inscribed","text":"later page ›","placement":"placed","file":"modules/status-ui/public/index.html","line":298,"string_id":"9b019d632d3e"},
5164
- {"key":"L0077","section":"The World","text":"The World","placement":"placed","file":"modules/status-ui/public/index.html","line":306,"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":307,"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":311,"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":317,"string_id":"81cb441627b8"},
5168
- {"key":"L0081","section":"footer","text":"By order of the Senate","placement":"shared","file":"modules/status-ui/public/index.html","line":329,"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":332,"string_id":"1b40dc1e9196"}
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
+ {"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 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,14 +3,20 @@
3
3
  <head>
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
- <title>Explore — projects on the map</title>
6
+ <title>Explore — projects on the map · {{productName}}</title>
7
+ <link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
8
+ <!-- The faces, the palette and the favicon are the pack's: the server serves this
9
+ page through the same branding injection as the status page (task 1005089), so
10
+ the pack's font links land at the end of <head>. -->
7
11
  <style>
8
12
  /* Self-contained so the showcase renders correctly whether or not the host
9
13
  injects theme tokens. Warm Cloud Bongos defaults; overridable by the pack. */
10
14
  :root {
11
15
  /* a hand-written mirror of config/branding.neutral.json theme.ui.colors —
12
- this page is served without the branding injection, so a drifted value
13
- renders a palette the product no longer paints (tests/design_tokens_sync.mjs).
16
+ the FALLBACK for wherever this page is opened without the branding
17
+ injection (the server injects it since task 1005089, and the pack's :root
18
+ then wins); a drifted value would render a palette the product no longer
19
+ paints there (tests/design_tokens_sync.mjs).
14
20
  Chrome world, task 1003298. --accent-deep is the TEXT-safe accent: the
15
21
  salmon --accent is a fill and measures 2.1:1 as type on the card. */
16
22
  --bg: #edecee; --card: #fbfafc; --ink: #17181a; --ink-soft: #55565a;
@@ -92,8 +98,12 @@
92
98
  .card.anon:hover { transform: none; box-shadow: none; }
93
99
  .card.anon h2 { color: var(--ink-soft); font-weight: 600; }
94
100
 
101
+ /* dark, written twice, byte-identical, on the hall's pair: (0,1,1) outranks the
102
+ pack's spliced :root, so dark survives the injection */
103
+ html[data-theme="dark"] { --bg: #000000; --card: #101012; --ink: #ffffff; --ink-soft: #c0c0c0; --rule: rgba(255,255,255,.16);
104
+ --accent-deep: color-mix(in srgb, var(--accent) 45%, #ffffff); }
95
105
  @media (prefers-color-scheme: dark) {
96
- :root { --bg: #000000; --card: #101012; --ink: #ffffff; --ink-soft: #c0c0c0; --rule: rgba(255,255,255,.16);
106
+ html:not([data-theme]) { --bg: #000000; --card: #101012; --ink: #ffffff; --ink-soft: #c0c0c0; --rule: rgba(255,255,255,.16);
97
107
  --accent-deep: color-mix(in srgb, var(--accent) 45%, #ffffff); }
98
108
  }
99
109
  </style>