@bongos/core 1.21.161 → 1.21.163

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 CHANGED
@@ -2,11 +2,11 @@
2
2
  "artifact": "bongos-core",
3
3
  "manifest_schema": 1,
4
4
  "generator": "scripts/gds/package-core.js",
5
- "core_version": "1.21.161",
6
- "core_contract": "1.21.161",
7
- "source_commit": "e64f42fddc5215f1ebf72d0f143aaf67d433e442",
5
+ "core_version": "1.21.163",
6
+ "core_contract": "1.21.163",
7
+ "source_commit": "6b6a0c0d3ef36003800c6ec6eba71c4045612e8a",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-10-23T12:50:53.542Z",
9
+ "built_at": "2026-10-23T13:15:25.962Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
12
  "docs_redacted": 608,
@@ -17,7 +17,7 @@
17
17
  "gate": "passed"
18
18
  },
19
19
  "file_count": 3810,
20
- "tree_sha256": "c5ec67d9097deb5d728c387c268f13c7709e20bde587523b4951bd40d2a6a355",
20
+ "tree_sha256": "1eab9ba660fb16c579af473bee719e88b74492cdda9cbb9c9c1bef7a7ab4b655",
21
21
  "files": [
22
22
  {
23
23
  "path": ".claude/skills/ask-for-help/SKILL.md",
@@ -2412,12 +2412,12 @@
2412
2412
  {
2413
2413
  "path": "docs/copy-inventory.md",
2414
2414
  "mode": "0000644",
2415
- "sha256": "3d30bfc179266419244b95eb511f6e4dc58e84ab11382046180e9f27f4379da6"
2415
+ "sha256": "dc665e4793b310f0eac79fec6818a300f749d69c902a71039e55c43cc6e8df21"
2416
2416
  },
2417
2417
  {
2418
2418
  "path": "docs/copy-registry.json",
2419
2419
  "mode": "0000644",
2420
- "sha256": "7030248d1b8d761a3fc9326d4a4dac2da68ac36fb6f883674085c48aa2225fb9"
2420
+ "sha256": "123dd1cd1827f964cd95e126ceb1fd66152cbd3ab08c62e083d653552dcbb0bc"
2421
2421
  },
2422
2422
  {
2423
2423
  "path": "docs/design/apex-pass-2-direction.md",
@@ -2927,7 +2927,7 @@
2927
2927
  {
2928
2928
  "path": "docs/module-api-changelog.md",
2929
2929
  "mode": "0000644",
2930
- "sha256": "aec36c2bf3531d4235708b403593bb8bbb7cf6be21c83134e551d0655f8ca99e"
2930
+ "sha256": "1b8f0a2c9688f9f504169a765d67043620817376f0cf2b625fe56c9abeaa8653"
2931
2931
  },
2932
2932
  {
2933
2933
  "path": "docs/modules-contract.md",
@@ -3017,7 +3017,7 @@
3017
3017
  {
3018
3018
  "path": "docs/page-readings.json",
3019
3019
  "mode": "0000644",
3020
- "sha256": "108301b0c166fe039f5b92c41b325d24b109658096f6b731939aab1555ae12c8"
3020
+ "sha256": "7727e8c18dca24c60431f26848cd5a295f471df02988568a9162dced1eb04581"
3021
3021
  },
3022
3022
  {
3023
3023
  "path": "docs/project-context.template.md",
@@ -9027,7 +9027,7 @@
9027
9027
  {
9028
9028
  "path": "modules/public-landing/public/account.html",
9029
9029
  "mode": "0000644",
9030
- "sha256": "496a4d5a8f23942dbe16ce38cb689331348f62bac0d7c5d16cf879d1cff07dc5"
9030
+ "sha256": "a70c0ddf3e68a1c697eee76f239b2eb47ea3e1498bef9339c813f462e6bda7a7"
9031
9031
  },
9032
9032
  {
9033
9033
  "path": "modules/public-landing/public/account.probes.json",
@@ -10557,12 +10557,12 @@
10557
10557
  {
10558
10558
  "path": "package-lock.json",
10559
10559
  "mode": "0000644",
10560
- "sha256": "3a7e1b82fedd635425eb520d8a5665293a142683d18f567b1dc8c8b0d9480a0f"
10560
+ "sha256": "db650dcf67743bc6f04dfb820aa72bffb92995f1af6267d81f1c5042de70abf8"
10561
10561
  },
10562
10562
  {
10563
10563
  "path": "package.json",
10564
10564
  "mode": "0000644",
10565
- "sha256": "4c12a4456e765b3671fc78b9dd354c527e1ae6ee4240accb5126e136349dedc4"
10565
+ "sha256": "59af4473393785738cae91c577d95627cdda49a4edfd74a4093911eae649800f"
10566
10566
  },
10567
10567
  {
10568
10568
  "path": "public-docs/index.html",
@@ -10582,7 +10582,7 @@
10582
10582
  {
10583
10583
  "path": "release-notes.json",
10584
10584
  "mode": "0000644",
10585
- "sha256": "1dee5115bf44953aaa14689559704aae3e7876352fe63eea7f786d86636f8709"
10585
+ "sha256": "66deede31276b1d61f3a7d2c8a50bf56e64eb20dc3b9814ed682a862d46d352a"
10586
10586
  },
10587
10587
  {
10588
10588
  "path": "scripts/cron/style_guide_audit.sh",
@@ -12967,7 +12967,7 @@
12967
12967
  {
12968
12968
  "path": "src/module-api.js",
12969
12969
  "mode": "0000644",
12970
- "sha256": "36c04248fc8ef349fa92dbb4ddc66200cecd3e1859c3b1fe7d7b6ef30783553f"
12970
+ "sha256": "26bd0172bc71cddd35d2348c633e8b5a879ee908434625b106e9f64805f88648"
12971
12971
  },
12972
12972
  {
12973
12973
  "path": "src/module-loader/catalog.js",
@@ -13072,7 +13072,7 @@
13072
13072
  {
13073
13073
  "path": "tests/account_privacy_flags.mjs",
13074
13074
  "mode": "0000644",
13075
- "sha256": "dfc8051bd7644fbaf21dcd30a62616d6a58e1241688677270b110658e86400ea"
13075
+ "sha256": "04519483786269d0cca7654a7a4e506887a852f7af60e806aef423d9e6e4472e"
13076
13076
  },
13077
13077
  {
13078
13078
  "path": "tests/achievements_reconcile.mjs",
@@ -2218,7 +2218,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
2218
2218
  | `54bf9a39d47f` | certain | And one more | `modules/public-landing/public/projects.html:1585` |
2219
2219
  | `2bea869cf0f7` | certain | Anyone can apply | `modules/public-landing/public/projects.html:1847` |
2220
2220
  | `bae3f4298d72` | certain | Anyone can join | `modules/public-landing/public/projects.html:1273` |
2221
- | `2620b4583b20` | certain | Anyone can open your profile page and find you by name. | `modules/public-landing/public/account.html:217` |
2221
+ | `525a9aa1dd71` | certain | Anyone find you. | `modules/public-landing/public/account.html:217` |
2222
2222
  | `766def944c53` | certain | Apply to join | `modules/public-landing/public/invitations.html:172` |
2223
2223
  | `766def944c53` | certain | Apply to join | `modules/public-landing/public/projects.html:1273` |
2224
2224
  | `23d29225956a` | certain | Arrows or A and D steer, space jumps. | `modules/public-landing/public/projects.html:2102` |
@@ -2287,6 +2287,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
2287
2287
  | `37aa0c0fbf3d` | certain | Create a key in Render | `modules/public-landing/public/projects.html:1916` |
2288
2288
  | `330038e92a44` | certain | Create my project | `modules/public-landing/public/projects.html:2051` |
2289
2289
  | `c01533093b42` | certain | Create your first project | `modules/public-landing/public/projects.html:1055` |
2290
+ | `d5c4a0e0f864` | certain | Cross-project Record | `modules/public-landing/public/account.html:247` |
2290
2291
  | `6d3b3fa8aea1` | certain | Database plan | `modules/public-landing/public/projects.html:1952` |
2291
2292
  | `7aba7394c6d6` | certain | Decide later | `modules/public-landing/public/projects.html:1905` |
2292
2293
  | `e0ca2fee29d8` | certain | Demo planet | `modules/public-landing/public/projects.html:1175` |
@@ -2479,7 +2480,6 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
2479
2480
  | `384c5b38f500` | certain | Play as a: game or learning experience. | `modules/public-landing/public/index.html:895` |
2480
2481
  | `b131252149e6` | certain | Play cloud hop while you wait | `modules/public-landing/public/projects.html:2093` |
2481
2482
  | `fe7e815b989c` | certain | Privacy Page | `modules/public-landing/public/contact.html:109` |
2482
- | `082156998085` | certain | Private hides the page from everyone — including you: it answers “not found” to every visitor, and you read yo | `modules/public-landing/public/account.html:218` |
2483
2483
  | `d0c4d9ddcd71` | certain | Private individual | `modules/public-landing/public/projects.html:1685` |
2484
2484
  | `1a89b96a6a62` | certain | Private, set up for you | `modules/public-landing/public/projects.html:1728` |
2485
2485
  | `19b960fc4777` | certain | Project address | `modules/public-landing/public/guild.html:235` |
@@ -2539,10 +2539,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
2539
2539
  | `3767ff9a83f6` | certain | Session length, and Leaving | `modules/public-landing/public/privacy.html:119` |
2540
2540
  | `960b894c0ea1` | certain | Show it | `modules/public-landing/public/account.html:249` |
2541
2541
  | `ef95fadbf697` | certain | Show me | `modules/public-landing/public/guild.html:208` |
2542
- | `19ba62ca1ce4` | certain | Show my cross-project record | `modules/public-landing/public/account.html:247` |
2543
2542
  | `41537b775f78` | certain | Show only projects you own or build on | `modules/public-landing/public/projects.html:819` |
2544
2543
  | `80ca0b22ab99` | certain | Show you on this guild’s public page? | `modules/public-landing/public/guild.html:202` |
2545
- | `25f031d4c292` | certain | Shown wherever your profile appears on {{productName}}. Each project’s hall keeps its own display name — chang | `modules/public-landing/public/account.html:166` |
2546
2544
  | `ad80586f802a` | certain | Sign in | `modules/public-landing/public/account.html:114` |
2547
2545
  | `ad80586f802a` | certain | Sign in | `modules/public-landing/public/account.html:146` |
2548
2546
  | `ad80586f802a` | certain | Sign in | `modules/public-landing/public/connections.html:85` |
@@ -2698,7 +2696,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
2698
2696
  | `66c9b4b830ff` | certain | Who can join? | `modules/public-landing/public/projects.html:1844` |
2699
2697
  | `ea5f6c86710e` | certain | Who can see it | `modules/public-landing/public/projects.html:1254` |
2700
2698
  | `866831e633ea` | certain | Who else sees it | `modules/public-landing/public/privacy.html:111` |
2701
- | `53d4f098a176` | certain | Who you are across every project on {{productName}}, and who can find you. It is one account, so you change th | `modules/public-landing/public/account.html:142` |
2699
+ | `2dec664e1b6c` | certain | Who you are on {{productName}}, & who can find you. | `modules/public-landing/public/account.html:142` |
2702
2700
  | `b0fc87f62740` | certain | Whose account | `modules/public-landing/public/projects.html:1763` |
2703
2701
  | `9372a93b537c` | certain | Who’s behind it? | `modules/public-landing/public/projects.html:1660` |
2704
2702
  | `101301013616` | certain | Why there is nowhere to type the value | `modules/public-landing/public/projects.html:1348` |
@@ -2730,8 +2728,6 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
2730
2728
  | `5f8ce59e698a` | certain | Your name | `modules/public-landing/public/account.html:169` |
2731
2729
  | `a90cbf90267e` | certain | Your name and picture are listed on its public page, while your account is public. | `modules/public-landing/public/guild.html:208` |
2732
2730
  | `577a3698a3b9` | certain | Your new repo has no app yet, so nothing is created on Render now. Set it up from your project’s page once the | `modules/public-landing/public/projects.html:1914` |
2733
- | `b93f267cf549` | certain | Your numbers appear on your profile and in the directories. | `modules/public-landing/public/account.html:249` |
2734
- | `312b422976f8` | certain | Your numbers leave your profile and the directories. You always see them here. | `modules/public-landing/public/account.html:250` |
2735
2731
  | `2df3e63e4761` | certain | Your profile page | `modules/public-landing/public/account.html:215` |
2736
2732
  | `38f40fb26117` | certain | Your profile page can be public or private, and recruiters are let in separately — so a private profile can st | `modules/public-landing/public/account.html:212` |
2737
2733
  | `e0d6e4196161` | certain | Your profile page setting applies now — private already answers “not found” everywhere your profile is read. R | `modules/public-landing/public/account.html:230` |
@@ -2750,6 +2746,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
2750
2746
  | `878439d60f78` | certain | Your projects and your code | `modules/public-landing/public/terms.html:105` |
2751
2747
  | `b24ba4aed532` | certain | Your project’s state | `modules/public-landing/public/projects.html:1714` |
2752
2748
  | `f04dcdea0f96` | certain | Your repositories | `modules/public-landing/public/projects.html:1747` |
2749
+ | `edf1c4f5e0c5` | certain | Your stats appear on your profile and in the directories. | `modules/public-landing/public/account.html:249` |
2750
+ | `44c8b76631bf` | certain | Your stats are hidden. | `modules/public-landing/public/account.html:250` |
2753
2751
  | `f18600e9cff1` | certain | Your track record across every project you build on. Hiding it takes effect immediately everywhere — your prof | `modules/public-landing/public/account.html:243` |
2754
2752
  | `cd379e3e0111` | certain | Your work across projects | `modules/public-landing/public/terms.html:115` |
2755
2753
  | `2a25626cdf7a` | certain | Yours once it’s set up. You can add your own domain any time. | `modules/public-landing/public/projects.html:1802` |
@@ -2843,6 +2841,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
2843
2841
  | `367655c4d0aa` | certain | torn down | `modules/public-landing/public/projects.html:1453` |
2844
2842
  | `c142e2581ed3` | certain | where code lives. 🤖 | `modules/public-landing/public/contact.html:101` |
2845
2843
  | `7322eee6b8b4` | certain | who can find you | `modules/public-landing/public/account.html:211` |
2844
+ | `8caf52240833` | certain | you are a ninja. Private hides the page from everyone — including you. You see your record here. | `modules/public-landing/public/account.html:218` |
2845
+ | `b3ee4ecea2ca` | certain | you on {{productName}} | `modules/public-landing/public/account.html:166` |
2846
2846
  | `402563eecd10` | certain | your account | `modules/public-landing/public/account.html:141` |
2847
2847
  | `c56498c0d064` | certain | your handle | `modules/public-landing/public/account.html:193` |
2848
2848
  | `52e53dd627c1` | certain | your place | `modules/public-landing/public/guild.html:196` |
@@ -20861,9 +20861,9 @@
20861
20861
  "confidence": "certain"
20862
20862
  },
20863
20863
  {
20864
- "id": "2620b4583b20",
20864
+ "id": "525a9aa1dd71",
20865
20865
  "surface": "landing",
20866
- "text": "Anyone can open your profile page and find you by name.",
20866
+ "text": "Anyone find you.",
20867
20867
  "file": "modules/public-landing/public/account.html",
20868
20868
  "line": 217,
20869
20869
  "origin": "html-text",
@@ -21481,6 +21481,15 @@
21481
21481
  "origin": "html-text",
21482
21482
  "confidence": "certain"
21483
21483
  },
21484
+ {
21485
+ "id": "d5c4a0e0f864",
21486
+ "surface": "landing",
21487
+ "text": "Cross-project Record",
21488
+ "file": "modules/public-landing/public/account.html",
21489
+ "line": 247,
21490
+ "origin": "html-text",
21491
+ "confidence": "certain"
21492
+ },
21484
21493
  {
21485
21494
  "id": "6d3b3fa8aea1",
21486
21495
  "surface": "landing",
@@ -23209,15 +23218,6 @@
23209
23218
  "origin": "html-text",
23210
23219
  "confidence": "certain"
23211
23220
  },
23212
- {
23213
- "id": "082156998085",
23214
- "surface": "landing",
23215
- "text": "Private hides the page from everyone — including you: it answers “not found” to every visitor, and you read your own record here instead.",
23216
- "file": "modules/public-landing/public/account.html",
23217
- "line": 218,
23218
- "origin": "html-text",
23219
- "confidence": "certain"
23220
- },
23221
23221
  {
23222
23222
  "id": "d0c4d9ddcd71",
23223
23223
  "surface": "landing",
@@ -23749,15 +23749,6 @@
23749
23749
  "origin": "html-text",
23750
23750
  "confidence": "certain"
23751
23751
  },
23752
- {
23753
- "id": "19ba62ca1ce4",
23754
- "surface": "landing",
23755
- "text": "Show my cross-project record",
23756
- "file": "modules/public-landing/public/account.html",
23757
- "line": 247,
23758
- "origin": "html-text",
23759
- "confidence": "certain"
23760
- },
23761
23752
  {
23762
23753
  "id": "41537b775f78",
23763
23754
  "surface": "landing",
@@ -23776,15 +23767,6 @@
23776
23767
  "origin": "html-text",
23777
23768
  "confidence": "certain"
23778
23769
  },
23779
- {
23780
- "id": "25f031d4c292",
23781
- "surface": "landing",
23782
- "text": "Shown wherever your profile appears on {{productName}}. Each project’s hall keeps its own display name — change that one in the hall’s settings.",
23783
- "file": "modules/public-landing/public/account.html",
23784
- "line": 166,
23785
- "origin": "html-text",
23786
- "confidence": "certain"
23787
- },
23788
23770
  {
23789
23771
  "id": "ad80586f802a",
23790
23772
  "surface": "landing",
@@ -25181,9 +25163,9 @@
25181
25163
  "confidence": "certain"
25182
25164
  },
25183
25165
  {
25184
- "id": "53d4f098a176",
25166
+ "id": "2dec664e1b6c",
25185
25167
  "surface": "landing",
25186
- "text": "Who you are across every project on {{productName}}, and who can find you. It is one account, so you change these once, here — each project’s own settings stay in that project’s hall.",
25168
+ "text": "Who you are on {{productName}}, & who can find you.",
25187
25169
  "file": "modules/public-landing/public/account.html",
25188
25170
  "line": 142,
25189
25171
  "origin": "html-text",
@@ -25468,24 +25450,6 @@
25468
25450
  "origin": "html-text",
25469
25451
  "confidence": "certain"
25470
25452
  },
25471
- {
25472
- "id": "b93f267cf549",
25473
- "surface": "landing",
25474
- "text": "Your numbers appear on your profile and in the directories.",
25475
- "file": "modules/public-landing/public/account.html",
25476
- "line": 249,
25477
- "origin": "html-text",
25478
- "confidence": "certain"
25479
- },
25480
- {
25481
- "id": "312b422976f8",
25482
- "surface": "landing",
25483
- "text": "Your numbers leave your profile and the directories. You always see them here.",
25484
- "file": "modules/public-landing/public/account.html",
25485
- "line": 250,
25486
- "origin": "html-text",
25487
- "confidence": "certain"
25488
- },
25489
25453
  {
25490
25454
  "id": "2df3e63e4761",
25491
25455
  "surface": "landing",
@@ -25648,6 +25612,24 @@
25648
25612
  "origin": "html-attr:aria-label",
25649
25613
  "confidence": "certain"
25650
25614
  },
25615
+ {
25616
+ "id": "edf1c4f5e0c5",
25617
+ "surface": "landing",
25618
+ "text": "Your stats appear on your profile and in the directories.",
25619
+ "file": "modules/public-landing/public/account.html",
25620
+ "line": 249,
25621
+ "origin": "html-text",
25622
+ "confidence": "certain"
25623
+ },
25624
+ {
25625
+ "id": "44c8b76631bf",
25626
+ "surface": "landing",
25627
+ "text": "Your stats are hidden.",
25628
+ "file": "modules/public-landing/public/account.html",
25629
+ "line": 250,
25630
+ "origin": "html-text",
25631
+ "confidence": "certain"
25632
+ },
25651
25633
  {
25652
25634
  "id": "f18600e9cff1",
25653
25635
  "surface": "landing",
@@ -26485,6 +26467,24 @@
26485
26467
  "origin": "html-text",
26486
26468
  "confidence": "certain"
26487
26469
  },
26470
+ {
26471
+ "id": "8caf52240833",
26472
+ "surface": "landing",
26473
+ "text": "you are a ninja. Private hides the page from everyone — including you. You see your record here.",
26474
+ "file": "modules/public-landing/public/account.html",
26475
+ "line": 218,
26476
+ "origin": "html-text",
26477
+ "confidence": "certain"
26478
+ },
26479
+ {
26480
+ "id": "b3ee4ecea2ca",
26481
+ "surface": "landing",
26482
+ "text": "you on {{productName}}",
26483
+ "file": "modules/public-landing/public/account.html",
26484
+ "line": 166,
26485
+ "origin": "html-text",
26486
+ "confidence": "certain"
26487
+ },
26488
26488
  {
26489
26489
  "id": "402563eecd10",
26490
26490
  "surface": "landing",
@@ -3159,5 +3159,9 @@ is load-bearing: the script throws rather than guess if it is missing, and
3159
3159
  landed since 1.21.159 with no explicit bump. run 39953635168. (task 1002620)
3160
3160
  1.21.161 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
3161
3161
  landed since 1.21.160 with no explicit bump. run 39956327980. (task 1002620)
3162
+ 1.21.162 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
3163
+ landed since 1.21.161 with no explicit bump. run 39957763094. (task 1002620)
3164
+ 1.21.163 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
3165
+ landed since 1.21.162 with no explicit bump. run 39959603902. (task 1002620)
3162
3166
  ---------------------------------------------------------------------------
3163
3167
  ```
@@ -4668,8 +4668,8 @@
4668
4668
  "surface": "landing",
4669
4669
  "title": "{{productName}} — Your account",
4670
4670
  "states_read": ["out","in","in-projects-band","in-profile-band","in-building","in-privacy","in-private"],
4671
- "files_hash": "9ac1aa44a9e74e98",
4672
- "reading_hash": "77e2aa74d682bc5d",
4671
+ "files_hash": "0b25c206198f4ab4",
4672
+ "reading_hash": "c5037fa2e7f929cf",
4673
4673
  "counts": {"lines":91,"placed":43,"shared":11,"unplaced":37},
4674
4674
  "omitted": {"data":9},
4675
4675
  "notes": [],
@@ -4691,9 +4691,9 @@
4691
4691
  {"key":"L0015","section":"page top","text":"five questions and a home","placement":"placed","file":"modules/public-landing/public/account.html","line":124,"string_id":"94a3462373d2","state":"in-projects-band"},
4692
4692
  {"key":"L0016","section":"top bar","text":"Sign in","placement":"shared","file":"modules/public-landing/public/account.html","line":114,"string_id":"ad80586f802a"},
4693
4693
  {"key":"L0017","section":"your account","text":"your account","placement":"placed","file":"modules/public-landing/public/account.html","line":141,"string_id":"402563eecd10"},
4694
- {"key":"L0018","section":"your account","text":"Who you are across every project on {{productName}}, and who can find you. It is one account, so you change these once, here — each project’s own settings stay in that project’s hall.","placement":"placed","file":"modules/public-landing/public/account.html","line":142,"string_id":"53d4f098a176"},
4694
+ {"key":"L0018","section":"your account","text":"Who you are on {{productName}}, & who can find you.","placement":"placed","file":"modules/public-landing/public/account.html","line":142,"string_id":"2dec664e1b6c"},
4695
4695
  {"key":"L0019","section":"your profile","text":"your profile","placement":"placed","file":"modules/public-landing/public/account.html","line":165,"string_id":"751054b62c88","state":"in"},
4696
- {"key":"L0020","section":"your profile","text":"Shown wherever your profile appears on {{productName}}. Each project’s hall keeps its own display name — change that one in the hall’s settings.","placement":"placed","file":"modules/public-landing/public/account.html","line":166,"string_id":"25f031d4c292","state":"in"},
4696
+ {"key":"L0020","section":"your profile","text":"you on {{productName}}","placement":"placed","file":"modules/public-landing/public/account.html","line":166,"string_id":"b3ee4ecea2ca","state":"in"},
4697
4697
  {"key":"L0021","section":"your profile","text":"Display name","placement":"placed","file":"modules/public-landing/public/account.html","line":168,"string_id":"97509672c5cc","state":"in"},
4698
4698
  {"key":"L0022","section":"your profile","text":"Your name","placement":"placed","file":"modules/public-landing/public/account.html","line":169,"string_id":"5f8ce59e698a","attr":"placeholder","state":"in"},
4699
4699
  {"key":"L0023","section":"your profile","text":"Bio","placement":"unplaced","state":"in"},
@@ -4720,9 +4720,9 @@
4720
4720
  {"key":"L0044","section":"who can find you","text":"Your profile page can be public or private, and recruiters are let in separately — so a private profile can still be reachable for work, and a public one can stay out of recruiting entirely.","placement":"placed","file":"modules/public-landing/public/account.html","line":212,"string_id":"38f40fb26117","state":"in"},
4721
4721
  {"key":"L0045","section":"who can find you","text":"Your profile page","placement":"placed","file":"modules/public-landing/public/account.html","line":215,"string_id":"2df3e63e4761","state":"in"},
4722
4722
  {"key":"L0046","section":"who can find you","text":"Public","placement":"unplaced","state":"in"},
4723
- {"key":"L0047","section":"who can find you","text":"Anyone can open your profile page and find you by name.","placement":"placed","file":"modules/public-landing/public/account.html","line":217,"string_id":"2620b4583b20","state":"in"},
4723
+ {"key":"L0047","section":"who can find you","text":"Anyone find you.","placement":"placed","file":"modules/public-landing/public/account.html","line":217,"string_id":"525a9aa1dd71","state":"in"},
4724
4724
  {"key":"L0048","section":"who can find you","text":"Private","placement":"unplaced","state":"in"},
4725
- {"key":"L0049","section":"who can find you","text":"Private hides the page from everyone — including you: it answers “not found” to every visitor, and you read your own record here instead.","placement":"placed","file":"modules/public-landing/public/account.html","line":218,"string_id":"082156998085","state":"in"},
4725
+ {"key":"L0049","section":"who can find you","text":"you are a ninja. Private hides the page from everyone — including you. You see your record here.","placement":"placed","file":"modules/public-landing/public/account.html","line":218,"string_id":"8caf52240833","state":"in"},
4726
4726
  {"key":"L0050","section":"who can find you","text":"Every guild you belong to counts your numbers in its rounded totals unless you leave them out — even while your profile page is {…}. They are never shown on their own: only inside totals rounded down to a band (10+, 20+, 50+ …) and counted once a week. Each guild’s page has the switch:","placement":"unplaced","state":"in-privacy"},
4727
4727
  {"key":"L0051","section":"who can find you","text":"· counted","placement":"unplaced","state":"in-privacy"},
4728
4728
  {"key":"L0052","section":"who can find you","text":"· left out","placement":"unplaced","state":"in-privacy"},
@@ -4741,11 +4741,11 @@
4741
4741
  {"key":"L0065","section":"your record","text":"Your track record across every project you build on. Hiding it takes effect immediately everywhere — your profile, the recruiting directory, and a recruiter’s look-up of one builder.","placement":"placed","file":"modules/public-landing/public/account.html","line":243,"string_id":"f18600e9cff1","state":"in"},
4742
4742
  {"key":"L0066","section":"your record","text":"No cross-project activity reported yet. Your profile is not published yet; it publishes after your next sign-in.","placement":"unplaced","state":"in-private"},
4743
4743
  {"key":"L0067","section":"your record","text":"Your record: 3 projects · 1000 {…} · 19 works shipped · 10 karma.","placement":"unplaced","state":"in"},
4744
- {"key":"L0068","section":"your record","text":"Show my cross-project record","placement":"placed","file":"modules/public-landing/public/account.html","line":247,"string_id":"19ba62ca1ce4","state":"in"},
4744
+ {"key":"L0068","section":"your record","text":"Cross-project Record","placement":"placed","file":"modules/public-landing/public/account.html","line":247,"string_id":"d5c4a0e0f864","state":"in"},
4745
4745
  {"key":"L0069","section":"your record","text":"Show it","placement":"placed","file":"modules/public-landing/public/account.html","line":249,"string_id":"960b894c0ea1","state":"in"},
4746
- {"key":"L0070","section":"your record","text":"Your numbers appear on your profile and in the directories.","placement":"placed","file":"modules/public-landing/public/account.html","line":249,"string_id":"b93f267cf549","state":"in"},
4746
+ {"key":"L0070","section":"your record","text":"Your stats appear on your profile and in the directories.","placement":"placed","file":"modules/public-landing/public/account.html","line":249,"string_id":"edf1c4f5e0c5","state":"in"},
4747
4747
  {"key":"L0071","section":"your record","text":"Hide it","placement":"placed","file":"modules/public-landing/public/account.html","line":250,"string_id":"ccd4861996eb","state":"in"},
4748
- {"key":"L0072","section":"your record","text":"Your numbers leave your profile and the directories. You always see them here.","placement":"placed","file":"modules/public-landing/public/account.html","line":250,"string_id":"312b422976f8","state":"in"},
4748
+ {"key":"L0072","section":"your record","text":"Your stats are hidden.","placement":"placed","file":"modules/public-landing/public/account.html","line":250,"string_id":"44c8b76631bf","state":"in"},
4749
4749
  {"key":"L0073","section":"your record","text":"Every guild you belong to counts your numbers in its rounded totals unless you leave them out — even while your record is hidden. They are never shown on their own: only inside totals rounded down to a band (10+, 20+, 50+ …) and counted once a week. Each guild’s page has the switch:","placement":"unplaced","state":"in-private"},
4750
4750
  {"key":"L0074","section":"your record","text":"· counted","placement":"unplaced","state":"in-private"},
4751
4751
  {"key":"L0075","section":"your record","text":"· left out","placement":"unplaced","state":"in-private"},
@@ -139,7 +139,7 @@
139
139
 
140
140
  <main class="acct" id="acct">
141
141
  <h1>your account</h1>
142
- <p class="lede">Who you are across every project on {{productName}}, and who can find you. It is one account, so you change these once, here — each project’s own settings stay in that project’s hall.</p>
142
+ <p class="lede">Who you are on {{productName}}, & who can find you.</p>
143
143
 
144
144
  <!-- signed-out door: revealed on a 401, the /projects gate's shape -->
145
145
  <section class="aDoor" id="door" hidden aria-labelledby="door-h">
@@ -163,7 +163,7 @@
163
163
  sent; each is nullable server-side, and an empty link slot drops it. -->
164
164
  <section class="aSec" id="aProfile" aria-labelledby="aProfile-h">
165
165
  <h2 id="aProfile-h">your profile</h2>
166
- <p class="aSide">Shown wherever your profile appears on {{productName}}. Each project’s hall keeps its own display name — change that one in the hall’s settings.</p>
166
+ <p class="aSide">you on {{productName}}</p>
167
167
  <form class="aBody" id="profileForm" novalidate>
168
168
  <label class="aField"><span class="aLabel">Display name</span>
169
169
  <input type="text" id="fName" maxlength="60" autocomplete="name" spellcheck="false" placeholder="Your name"></label>
@@ -214,8 +214,8 @@
214
214
  <div class="aBand">
215
215
  <span class="aLabel" id="visLabel">Your profile page</span>
216
216
  <div role="radiogroup" aria-labelledby="visLabel">
217
- <label class="aOpt"><input type="radio" name="visibility" value="public"><span><b>Public</b>Anyone can open your profile page and find you by name.</span></label>
218
- <label class="aOpt"><input type="radio" name="visibility" value="private"><span><b>Private</b>Private hides the page from everyone — including you: it answers “not found” to every visitor, and you read your own record here instead.</span></label>
217
+ <label class="aOpt"><input type="radio" name="visibility" value="public"><span><b>Public</b>Anyone find you.</span></label>
218
+ <label class="aOpt"><input type="radio" name="visibility" value="private"><span><b>Private</b>you are a ninja. Private hides the page from everyone — including you. You see your record here.</span></label>
219
219
  </div>
220
220
  <div class="aGuilds" id="visGuilds" hidden><p class="aWhat" id="visGuildsWhat"></p><ul class="aGuildList" id="visGuildList"></ul></div>
221
221
  </div>
@@ -244,10 +244,10 @@
244
244
  <form class="aBody" id="recordForm" novalidate>
245
245
  <p class="aWhat" id="recordLine"></p>
246
246
  <div class="aBand">
247
- <span class="aLabel" id="hideLabel">Show my cross-project record</span>
247
+ <span class="aLabel" id="hideLabel">Cross-project Record</span>
248
248
  <div role="radiogroup" aria-labelledby="hideLabel">
249
- <label class="aOpt"><input type="radio" name="record" value="show"><span><b>Show it</b>Your numbers appear on your profile and in the directories.</span></label>
250
- <label class="aOpt"><input type="radio" name="record" value="hide"><span><b>Hide it</b>Your numbers leave your profile and the directories. You always see them here.</span></label>
249
+ <label class="aOpt"><input type="radio" name="record" value="show"><span><b>Show it</b>Your stats appear on your profile and in the directories.</span></label>
250
+ <label class="aOpt"><input type="radio" name="record" value="hide"><span><b>Hide it</b>Your stats are hidden.</span></label>
251
251
  </div>
252
252
  <div class="aGuilds" id="recordGuilds" hidden><p class="aWhat" id="recordGuildsWhat"></p><ul class="aGuildList" id="recordGuildList"></ul></div>
253
253
  </div>
package/package-lock.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@bongos/core",
3
- "version": "1.21.161",
3
+ "version": "1.21.163",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@bongos/core",
9
- "version": "1.21.161",
9
+ "version": "1.21.163",
10
10
  "license": "AGPL-3.0-or-later",
11
11
  "dependencies": {
12
12
  "express": "^4.21.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bongos/core",
3
- "version": "1.21.161",
3
+ "version": "1.21.163",
4
4
  "description": "Cloud Bongos — the AI-first build platform core (GDS + platform surfaces + module system), installed as a versioned dependency (ADR 0108).",
5
5
  "license": "AGPL-3.0-or-later",
6
6
  "main": "src/platform-server.js",
@@ -10008,5 +10008,17 @@
10008
10008
  "id": "1004373",
10009
10009
  "text": "The privacy page now reads the way the artist rewrote it: shorter, plainer sentences and two renamed headings. It waits for the artist to approve it."
10010
10010
  }
10011
+ ],
10012
+ "1.21.162": [
10013
+ {
10014
+ "id": "1004508",
10015
+ "text": "The account page now carries the artist's rewritten words (7 lines), ready for the artist to approve before it goes live."
10016
+ }
10017
+ ],
10018
+ "1.21.163": [
10019
+ {
10020
+ "id": "1004773",
10021
+ "text": "The Private option on the account page now opens with the artist line \"you are a ninja.\", and still tells people Private hides their page from everyone, them included."
10022
+ }
10011
10023
  ]
10012
10024
  }
package/src/module-api.js CHANGED
@@ -75,7 +75,7 @@ const { responsibilityFor, ROLE_RESPONSIBILITIES } = require('./role-responsibil
75
75
  // MAJOR (see allowBoxScope below): passes the request through untouched.
76
76
  function deprecatedNoopMiddleware(_req, _res, next) { next(); }
77
77
 
78
- const CORE_VERSION = '1.21.161'; // CI auto-patch carrier (ADR 0161); changelog: docs/module-api-changelog.md
78
+ const CORE_VERSION = '1.21.163'; // CI auto-patch carrier (ADR 0161); changelog: docs/module-api-changelog.md
79
79
 
80
80
  // A namespaced logger so a module's log lines are attributable + consistent.
81
81
  // Usage: const log = api.logger('discord'); log.info('mounted');
@@ -385,6 +385,9 @@ test('each toggle claims exactly what is enforced — and BOTH are now in force'
385
385
  // enforcement — only in which tense each row is now required to be in.
386
386
  assert.match(js, /Private hides the page from everyone — including you/,
387
387
  'visibility is enforced now, so the row says so — and names the 404-to-self');
388
+ // The artist's line leads the row and the disclosure follows it (task 1004773).
389
+ assert.match(js, /<b>Private<\/b>you are a ninja\. Private hides the page from everyone/,
390
+ 'the artist\'s words lead the Private row, and the disclosure still follows');
388
391
  assert.doesNotMatch(js, /Private will hide the page/,
389
392
  'the future tense outlived its truth the moment resolveHandle joined the predicate');
390
393
  assert.match(js, /Recruiters looking for builders can find you\b/,