@bongos/core 1.21.56 → 1.21.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.bongos-core.json +47 -22
- package/docs/copy-inventory.md +57 -19
- package/docs/copy-registry.json +450 -83
- package/docs/file-map.md +1 -0
- package/docs/module-api-changelog.md +2 -0
- package/docs/page-inventory.json +32 -4
- package/docs/page-readings.json +69 -1
- package/modules/public-landing/public/guild.html +571 -0
- package/modules/public-landing/public/guild.probes.json +53 -0
- package/modules/public-landing/public/guild.states.json +38 -0
- package/modules/ui-design/kit/fixtures/guilds.json +73 -0
- package/modules/ui-design/kit/serve.js +46 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +6 -0
- package/src/module-api.js +1 -1
- package/src/platform-server.js +13 -0
- package/tests/hub_guild_page.mjs +537 -0
- package/tests/privacy_matrix.mjs +126 -14
- package/tests/render_check.mjs +2 -2
- package/tests/ui_design_kit.mjs +3 -3
package/docs/file-map.md
CHANGED
|
@@ -258,6 +258,7 @@
|
|
|
258
258
|
│ ├── projects.html ← the hub (/projects?view=map|mine|manage|new) on cosmos.css (A4, task 1003299, rebuilds it in the world)
|
|
259
259
|
│ ├── privacy.html / terms.html / contact.html ← the footer doors (task 1003251), on cosmos.css
|
|
260
260
|
│ ├── account.html ← the hub account page (/account, task 1004259, ADR 0337 D4.3): handle, name, bio, links, public/private, recruiters, hide-my-numbers — the platform account's own settings, edited once; served only where platform-identity runs; account{,-private}.states.json + account.probes.json beside it
|
|
261
|
+
│ ├── guild.html ← the guild page (/g/<slug>, task 1002301, ADR 0336 D4/D6 + ADR 0337 D4.4): identity, the public roster or (for a member) the members' roster, the rounded weekly record, and a member's own two switches — one shell for every slug, the guild routes decide what exists; served only where platform-identity runs; guild.states.json + guild.probes.json beside it (the kit stub answers them from fixtures/guilds.json)
|
|
261
262
|
│ ├── assets/
|
|
262
263
|
│ │ ├── world.css ← the WORLD token layer (ADR 0196): contract tier = the pack, derived tier both modes, root-absolute plate token pairs, the reduced-motion kill switch; no page composition
|
|
263
264
|
│ │ ├── world/ ← the six production plates + <file>.json provenance sidecars (embed-prompt.mjs --scan clean): r2-chrome-blobs-set.jpg, r2-chrome-blob-one.jpg, r2-bongos-chrome-b.jpg (black plates, dark mode, lighten) and their -cut.webp alpha twins (light mode); og-card.jpg (the social card, captured from the page)
|
|
@@ -2939,5 +2939,7 @@ is load-bearing: the script throws rather than guess if it is missing, and
|
|
|
2939
2939
|
landed since 1.21.54 with no explicit bump. run 37248119513. (task 1002620)
|
|
2940
2940
|
1.21.56 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
2941
2941
|
landed since 1.21.55 with no explicit bump. run 37249603605. (task 1002620)
|
|
2942
|
+
1.21.57 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
|
|
2943
|
+
landed since 1.21.56 with no explicit bump. run 37251840378. (task 1002620)
|
|
2942
2944
|
---------------------------------------------------------------------------
|
|
2943
2945
|
```
|
package/docs/page-inventory.json
CHANGED
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
"An id changes only when the host prefix, the data-page value or the file name changes; that is a rename, and records keyed on the old id move with it."
|
|
11
11
|
],
|
|
12
12
|
"counts": {
|
|
13
|
-
"pages":
|
|
13
|
+
"pages": 43,
|
|
14
14
|
"surfaces": 3,
|
|
15
|
-
"with_states":
|
|
16
|
-
"states":
|
|
15
|
+
"with_states": 36,
|
|
16
|
+
"states": 280
|
|
17
17
|
},
|
|
18
18
|
"surfaces": [
|
|
19
19
|
{
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"at": "modules/public-landing/public",
|
|
31
31
|
"answers_at": "apex root",
|
|
32
32
|
"origin": "https://{apex}",
|
|
33
|
-
"pages":
|
|
33
|
+
"pages": 7
|
|
34
34
|
},
|
|
35
35
|
{
|
|
36
36
|
"id": "status",
|
|
@@ -1354,6 +1354,34 @@
|
|
|
1354
1354
|
"states_files": [],
|
|
1355
1355
|
"states": []
|
|
1356
1356
|
},
|
|
1357
|
+
{
|
|
1358
|
+
"id": "landing:guild",
|
|
1359
|
+
"surface": "landing",
|
|
1360
|
+
"module": "public-landing",
|
|
1361
|
+
"page": "guild",
|
|
1362
|
+
"id_from": "file-name",
|
|
1363
|
+
"title": "{{productName}} — Guild",
|
|
1364
|
+
"document_title": "{{productName}} — Guild",
|
|
1365
|
+
"path": "/guild",
|
|
1366
|
+
"url": "https://{apex}/guild",
|
|
1367
|
+
"files": [
|
|
1368
|
+
"modules/public-landing/public/guild.html",
|
|
1369
|
+
"modules/public-landing/public/assets/cosmos.css",
|
|
1370
|
+
"modules/public-landing/public/assets/hub-bar.js"
|
|
1371
|
+
],
|
|
1372
|
+
"states_files": [
|
|
1373
|
+
"modules/public-landing/public/guild.states.json"
|
|
1374
|
+
],
|
|
1375
|
+
"states": [
|
|
1376
|
+
"out-public",
|
|
1377
|
+
"out-unlisted",
|
|
1378
|
+
"in-member",
|
|
1379
|
+
"in-unlisted-owner",
|
|
1380
|
+
"in-not-member",
|
|
1381
|
+
"in-missing",
|
|
1382
|
+
"in-profile-band"
|
|
1383
|
+
]
|
|
1384
|
+
},
|
|
1357
1385
|
{
|
|
1358
1386
|
"id": "landing:index",
|
|
1359
1387
|
"surface": "landing",
|
package/docs/page-readings.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"adr": "0341 D3",
|
|
6
6
|
"reread": "node scripts/gds/page-reader.js --stale",
|
|
7
7
|
"how": ["Generated by node scripts/gds/page-reader.js (BV2.TW04, task 1004315; ADR 0341 D3). Do not hand-edit.","One entry per page of docs/page-inventory.json. Lines are in page order: the default state first, and a line only another state shows sits where that state shows it, with its state named.","placement: placed = a docs/copy-registry.json row renders it (file, line, string_id); shared = shell text every page of the surface carries (top bar, sidebar, footer), with its row when the registry has one; unplaced = the registry cannot place it (a rewrite becomes an engineer task, ADR 0341 D4).","text keeps {…} where the registry row has a hole, or where a value the page read from its API was filled in. A string that is only such data is counted under omitted.data, not listed.","reading_hash is over the non-shared lines (key, section, text); files_hash is over the page's inventory files. --check compares files_hash only and never opens a browser.","Rendered through the hall-preview harness (hall) and the ui-design kit stub (landing, status), at 1280x800 with the clock pinned, so a reading is the fixture world's page."],
|
|
8
|
-
"counts": {"pages":
|
|
8
|
+
"counts": {"pages":43,"lines":4996,"placed":1575,"shared":395,"unplaced":3026,"omitted_data":2497},
|
|
9
9
|
"pages": [
|
|
10
10
|
{
|
|
11
11
|
"id": "builders:atlas",
|
|
@@ -4232,6 +4232,74 @@
|
|
|
4232
4232
|
{"key":"L0024","section":"navigation","text":"Builders' hall","placement":"shared","file":"modules/public-landing/public/contact.html","line":121,"string_id":"90a128c97eae"}
|
|
4233
4233
|
]
|
|
4234
4234
|
},
|
|
4235
|
+
{
|
|
4236
|
+
"id": "landing:guild",
|
|
4237
|
+
"surface": "landing",
|
|
4238
|
+
"title": "{{productName}} — Guild",
|
|
4239
|
+
"states_read": ["out-public","out-unlisted","in-member","in-unlisted-owner","in-not-member","in-missing","in-profile-band"],
|
|
4240
|
+
"files_hash": "0ea80079fce12724",
|
|
4241
|
+
"reading_hash": "21a0a4a51b1e32e9",
|
|
4242
|
+
"counts": {"lines":55,"placed":17,"shared":10,"unplaced":28},
|
|
4243
|
+
"omitted": {"data":25},
|
|
4244
|
+
"notes": [],
|
|
4245
|
+
"lines": [
|
|
4246
|
+
{"key":"L0001","section":"top bar","text":"Projects","placement":"shared"},
|
|
4247
|
+
{"key":"L0002","section":"page top","text":"My projects","placement":"placed","file":"modules/public-landing/public/guild.html","line":152,"string_id":"4a167ef6e515","state":"in-profile-band"},
|
|
4248
|
+
{"key":"L0003","section":"page top","text":"Account","placement":"unplaced","state":"in-profile-band"},
|
|
4249
|
+
{"key":"L0004","section":"page top","text":"Sign out","placement":"placed","file":"modules/public-landing/public/guild.html","line":155,"string_id":"f9af2d90ce5b","state":"in-profile-band"},
|
|
4250
|
+
{"key":"L0005","section":"page top","text":"Guild · {…}","placement":"unplaced","state":"in-unlisted-owner","occurrences":2},
|
|
4251
|
+
{"key":"L0006","section":"{…}","text":"3 members","placement":"unplaced","state":"in-unlisted-owner"},
|
|
4252
|
+
{"key":"L0007","section":"top bar","text":"Sign in","placement":"shared","file":"modules/public-landing/public/guild.html","line":134,"string_id":"ad80586f802a"},
|
|
4253
|
+
{"key":"L0008","section":"no guild here","text":"no guild here","placement":"placed","file":"modules/public-landing/public/guild.html","line":168,"string_id":"d7aba9ef2d37","state":"out-unlisted"},
|
|
4254
|
+
{"key":"L0009","section":"no guild here","text":"There is no guild at this address that you can see. A guild that is {…} is shown only to its members.","placement":"unplaced","state":"in-missing"},
|
|
4255
|
+
{"key":"L0010","section":"no guild here","text":"There is no {…} guild at this address. If it is an {…} guild you belong to, sign in to see it.","placement":"unplaced","state":"out-unlisted"},
|
|
4256
|
+
{"key":"L0011","section":"no guild here","text":"Sign in with GitHub","placement":"placed","file":"modules/public-landing/public/guild.html","line":172,"string_id":"df38941b25a6","state":"out-unlisted"},
|
|
4257
|
+
{"key":"L0012","section":"footer","text":"A non-profit, capture-resistant commons.","placement":"shared","file":"modules/public-landing/public/guild.html","line":249,"string_id":"afe83bbbd0d4","state":"out-unlisted","occurrences":2},
|
|
4258
|
+
{"key":"L0013","section":"footer","text":"Built by agents, on Cloud Bongos.","placement":"shared","file":"modules/public-landing/public/guild.html","line":249,"string_id":"bd315dd71ea7","state":"out-unlisted","occurrences":2},
|
|
4259
|
+
{"key":"L0014","section":"footer","text":"Open source","placement":"shared","file":"modules/public-landing/public/guild.html","line":249,"string_id":"d6314ddcc1d0","state":"out-unlisted","occurrences":2},
|
|
4260
|
+
{"key":"L0015","section":"footer","text":"AGPL-3.0","placement":"shared","state":"out-unlisted","occurrences":2},
|
|
4261
|
+
{"key":"L0016","section":"navigation","text":"Privacy","placement":"shared","state":"out-unlisted","occurrences":2},
|
|
4262
|
+
{"key":"L0017","section":"navigation","text":"Terms","placement":"shared","state":"out-unlisted","occurrences":2},
|
|
4263
|
+
{"key":"L0018","section":"navigation","text":"Contact","placement":"shared","state":"out-unlisted","occurrences":2},
|
|
4264
|
+
{"key":"L0019","section":"navigation","text":"Builders' hall","placement":"shared","file":"modules/public-landing/public/guild.html","line":249,"string_id":"90a128c97eae","state":"out-unlisted","occurrences":2},
|
|
4265
|
+
{"key":"L0020","section":"page top","text":"Guild","placement":"unplaced"},
|
|
4266
|
+
{"key":"L0021","section":"{…}","text":"2 members · since Oct 2026","placement":"unplaced","state":"in-not-member"},
|
|
4267
|
+
{"key":"L0022","section":"{…}","text":"6 members · 4 on the {…} page · since Sep 2026","placement":"unplaced","state":"in-member"},
|
|
4268
|
+
{"key":"L0023","section":"your place","text":"your place","placement":"placed","file":"modules/public-landing/public/guild.html","line":188,"string_id":"52e53dd627c1","state":"in-member"},
|
|
4269
|
+
{"key":"L0024","section":"your place","text":"You own this guild. Only you see this, and only you can change it.","placement":"unplaced","state":"in-unlisted-owner"},
|
|
4270
|
+
{"key":"L0025","section":"your place","text":"This guild is {…}, so it has no {…} page. If you make it {…}, you’ll be listed on it as its {…}, and each {…} will be asked before they are.","placement":"unplaced","state":"in-unlisted-owner"},
|
|
4271
|
+
{"key":"L0026","section":"your place","text":"You’re a {…} of this guild. Only you see this, and only you can change it.","placement":"unplaced","state":"in-member"},
|
|
4272
|
+
{"key":"L0027","section":"your place","text":"Show you on this guild’s public page?","placement":"placed","file":"modules/public-landing/public/guild.html","line":194,"string_id":"80ca0b22ab99","state":"in-member"},
|
|
4273
|
+
{"key":"L0028","section":"your place","text":"This guild is public, and you’re a member who isn’t on its public page. Nobody is listed there until they say yes.","placement":"placed","file":"modules/public-landing/public/guild.html","line":194,"string_id":"886326f70c38","state":"in-member"},
|
|
4274
|
+
{"key":"L0029","section":"your place","text":"show me","placement":"placed","file":"modules/public-landing/public/guild.html","line":195,"string_id":"f4c2a4360343","state":"in-member"},
|
|
4275
|
+
{"key":"L0030","section":"your place","text":"not now","placement":"placed","file":"modules/public-landing/public/guild.html","line":195,"string_id":"f3ce2bb0a2d9","state":"in-member"},
|
|
4276
|
+
{"key":"L0031","section":"your place","text":"In this guild’s totals","placement":"placed","file":"modules/public-landing/public/guild.html","line":206,"string_id":"4b4238c12e62","state":"in-member"},
|
|
4277
|
+
{"key":"L0032","section":"your place","text":"Count my numbers","placement":"placed","file":"modules/public-landing/public/guild.html","line":208,"string_id":"d4336c0dfece","state":"in-member"},
|
|
4278
|
+
{"key":"L0033","section":"your place","text":"They add to this guild’s totals.","placement":"placed","file":"modules/public-landing/public/guild.html","line":208,"string_id":"75a670e2ed78","state":"in-member"},
|
|
4279
|
+
{"key":"L0034","section":"your place","text":"Leave them out","placement":"placed","file":"modules/public-landing/public/guild.html","line":209,"string_id":"4062e6d3db05","state":"in-member"},
|
|
4280
|
+
{"key":"L0035","section":"your place","text":"The totals add up everyone else.","placement":"placed","file":"modules/public-landing/public/guild.html","line":209,"string_id":"c0c201325b44","state":"in-member"},
|
|
4281
|
+
{"key":"L0036","section":"your place","text":"Your numbers are left out of this guild’s totals, from its next weekly count.","placement":"unplaced","state":"in-unlisted-owner"},
|
|
4282
|
+
{"key":"L0037","section":"your place","text":"Your numbers count toward this guild’s rounded totals — even while your record is hidden or your account is private. They are never shown on their own: only inside totals rounded down to a band (10+, 20+, 50+ …) and counted once a week. Leave them out of any guild you’d rather not share them with.","placement":"unplaced","state":"in-member"},
|
|
4283
|
+
{"key":"L0038","section":"your place","text":"save","placement":"unplaced","state":"in-member"},
|
|
4284
|
+
{"key":"L0039","section":"{…}","text":"4 members · since Sep 2026","placement":"unplaced"},
|
|
4285
|
+
{"key":"L0040","section":"the record","text":"the record","placement":"placed","file":"modules/public-landing/public/guild.html","line":222,"string_id":"89e7b220f319"},
|
|
4286
|
+
{"key":"L0041","section":"the record","text":"What its members have built together, across every project. Rounded down to a band, and counted once a week.","placement":"placed","file":"modules/public-landing/public/guild.html","line":223,"string_id":"1dc88b31808d"},
|
|
4287
|
+
{"key":"L0042","section":"the record","text":"This guild is {…}, so its record isn’t published anywhere.","placement":"unplaced","state":"in-unlisted-owner"},
|
|
4288
|
+
{"key":"L0043","section":"the record","text":"Works shipped","placement":"placed","file":"modules/public-landing/public/guild.html","line":226,"string_id":"ee4b8cc687f7"},
|
|
4289
|
+
{"key":"L0044","section":"the record","text":"Credits","placement":"unplaced"},
|
|
4290
|
+
{"key":"L0045","section":"the record","text":"Karma","placement":"unplaced"},
|
|
4291
|
+
{"key":"L0046","section":"the record","text":"Projects","placement":"unplaced"},
|
|
4292
|
+
{"key":"L0047","section":"the record","text":"Not counted yet. A guild’s record is counted once a week.","placement":"unplaced","state":"in-not-member"},
|
|
4293
|
+
{"key":"L0048","section":"the record","text":"under 10","placement":"unplaced"},
|
|
4294
|
+
{"key":"L0049","section":"the record","text":"Counted on 1 Oct 2026. Projects are the {…} projects its listed members build on.","placement":"unplaced"},
|
|
4295
|
+
{"key":"L0050","section":"members","text":"members","placement":"unplaced"},
|
|
4296
|
+
{"key":"L0051","section":"members","text":"Everyone in the guild. Only its members see this list; the {…} page lists only the members who chose to be on it.","placement":"unplaced","state":"in-member"},
|
|
4297
|
+
{"key":"L0052","section":"members","text":"The members who chose to be listed on this page.","placement":"unplaced"},
|
|
4298
|
+
{"key":"L0053","section":"members","text":"R","placement":"unplaced","state":"in-not-member"},
|
|
4299
|
+
{"key":"L0054","section":"members","text":"I","placement":"unplaced"},
|
|
4300
|
+
{"key":"L0055","section":"members","text":"S","placement":"unplaced","state":"in-member"}
|
|
4301
|
+
]
|
|
4302
|
+
},
|
|
4235
4303
|
{
|
|
4236
4304
|
"id": "landing:index",
|
|
4237
4305
|
"surface": "landing",
|