@bongos/core 1.19.422 → 1.19.424

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.
@@ -65,13 +65,13 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
65
65
  | `87fa099f5068` | 2x | '; } html += ' | modules/hall-ui/public/md-reader.js:192, modules/hall-ui/public/primer.js:282 |
66
66
  | `3ac2eb36ba97` | 2x | (no sections) | modules/hall-ui/public/drachmae.js:85, modules/hall-ui/public/primer.js:375 |
67
67
  | `22825067f4c5` | 2x | 1 builder | public-landing/index.html:747, public-landing/index.html:752 |
68
- | `3e5a62bc4887` | 2x | A GitHub username is needed. | modules/hall-ui/public/hall-render.js:358, modules/hall-ui/public/watch.js:222 |
68
+ | `3e5a62bc4887` | 2x | A GitHub username is needed. | modules/hall-ui/public/hall-render.js:358, modules/hall-ui/public/watch.js:231 |
69
69
  | `996edffc1966` | 2x | Access requests | modules/hall-ui/public/watch.html:38, modules/hall-ui/public/watch.html:53 |
70
70
  | `bea7817e57a4` | 2x | All surfaces | modules/hall-ui/public/copy-desk.html:48, modules/hall-ui/public/copy-desk.js:191 |
71
71
  | `a072071b893c` | 2x | All time | modules/status-ui/public/index.html:286, modules/status-ui/public/index.html:313 |
72
72
  | `490b73a0c6e8` | 2x | Approve your Dev Box app — {{worldName}} | modules/hall-ui/public/pair.html:6, modules/hall-ui/public/pair.html:6 |
73
73
  | `b71a26e6fb37` | 2x | Archons only | modules/hall-ui/public/sessions.html:28, modules/hall-ui/public/watch.html:31 |
74
- | `b2656d0b2402` | 2x | Asked {…} | modules/hall-ui/public/collab.js:36, modules/hall-ui/public/watch.js:257 |
74
+ | `b2656d0b2402` | 2x | Asked {…} | modules/hall-ui/public/collab.js:36, modules/hall-ui/public/watch.js:266 |
75
75
  | `08afb1257b71` | 2x | Back to home | modules/hall-ui/public/primer.html:68, modules/hall-ui/public/primer.js:516 |
76
76
  | `563d29ed86d8` | 2x | Bulk actions | modules/hall-ui/public/goals.html:148, modules/hall-ui/public/work.html:118 |
77
77
  | `46b33550d52b` | 2x | Bulk claim | modules/hall-ui/public/goals.html:151, modules/hall-ui/public/work.html:121 |
@@ -117,7 +117,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
117
117
  | `477235450d2b` | certain | 5 · Versioning | `modules/hall-ui/public/diagrams.html:91` |
118
118
  | `8ffdf4995e81` | certain | A Full Idea answers five questions, so that someone else can deliver against it without having to interview yo | `modules/hall-ui/public/ideas.html:44` |
119
119
  | `3e5a62bc4887` | certain | A GitHub username is needed. | `modules/hall-ui/public/hall-render.js:358` |
120
- | `3e5a62bc4887` | certain | A GitHub username is needed. | `modules/hall-ui/public/watch.js:222` |
120
+ | `3e5a62bc4887` | certain | A GitHub username is needed. | `modules/hall-ui/public/watch.js:231` |
121
121
  | `2c23271d5d71` | certain | A device is asking to act as you | `modules/hall-ui/public/pair.html:26` |
122
122
  | `a22df5ebbd5e` | certain | A flag needs a reason an artist can act on. What is wrong with it, and what would better look like? | `modules/hall-ui/public/copy-desk.js:262` |
123
123
  | `634738746b81` | certain | A fresh box has a | `modules/hall-ui/public/harbor.js:122` |
@@ -165,12 +165,12 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
165
165
  | `4195d0d114e4` | certain | Archons only. | `modules/hall-ui/public/harbor.html:26` |
166
166
  | `4195d0d114e4` | certain | Archons only. | `modules/hall-ui/public/harbor.js:314` |
167
167
  | `4195d0d114e4` | certain | Archons only. | `modules/hall-ui/public/sessions.js:97` |
168
- | `4195d0d114e4` | certain | Archons only. | `modules/hall-ui/public/watch.js:891` |
168
+ | `4195d0d114e4` | certain | Archons only. | `modules/hall-ui/public/watch.js:900` |
169
169
  | `5fcfdf8975cf` | certain | As configuration: | `modules/hall-ui/public/government.js:680` |
170
170
  | `01a0f29ff406` | certain | As first filed | `modules/hall-ui/public/idea.js:237` |
171
171
  | `688cc6dd38ee` | certain | Asked of you | `modules/hall-ui/public/collab.html:32` |
172
172
  | `b2656d0b2402` | certain | Asked {…} | `modules/hall-ui/public/collab.js:36` |
173
- | `b2656d0b2402` | certain | Asked {…} | `modules/hall-ui/public/watch.js:257` |
173
+ | `b2656d0b2402` | certain | Asked {…} | `modules/hall-ui/public/watch.js:266` |
174
174
  | `8c8ec2597036` | certain | Assigned {…} to builder {…}. | `modules/hall-ui/public/government.js:423` |
175
175
  | `46714066f2da` | certain | Audit log | `modules/hall-ui/public/watch.html:127` |
176
176
  | `7fef0ae0ef9a` | certain | Awaiting the grader / a confirmation before it can ship. | `modules/hall-ui/public/task.js:290` |
@@ -246,7 +246,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
246
246
  | `9b16a22bf24c` | certain | Connect Discord & join the server | `modules/hall-ui/public/settings.js:912` |
247
247
  | `9f8d8e07224f` | certain | Connect your Claude Desktop to your dev box with a one-time pairing code — the guided flow lives on its own pa | `modules/hall-ui/public/settings.html:234` |
248
248
  | `c07898571b24` | certain | Connects to | `modules/hall-ui/public/atlas.js:275` |
249
- | `3983ee271e7a` | certain | Container cost is tracked for oversight — not charged in the early stage. | `modules/hall-ui/public/watch.js:633` |
249
+ | `3983ee271e7a` | certain | Container cost is tracked for oversight — not charged in the early stage. | `modules/hall-ui/public/watch.js:642` |
250
250
  | `915d03bc9689` | certain | Context Layer | `modules/hall-ui/public/atlas.html:30` |
251
251
  | `06da803fba59` | certain | Contribute a module upstream | `modules/hall-ui/public/modules.html:54` |
252
252
  | `296eb6da10ca` | certain | Contribution to this goal | `modules/hall-ui/public/goals-render.js:645` |
@@ -269,8 +269,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
269
269
  | `7bcaeffb742f` | certain | Could not approve: {…} | `modules/hall-ui/public/gate.js:101` |
270
270
  | `c922293e668c` | certain | Could not assign: {…} | `modules/hall-ui/public/government.js:428` |
271
271
  | `94763c4d5a94` | certain | Could not block: {…} | `modules/hall-ui/public/harbor.js:166` |
272
- | `e1fc7cedf4e7` | certain | Could not change rank: {…} | `modules/hall-ui/public/watch.js:571` |
273
- | `b9e53fbd90e6` | certain | Could not change standing: {…} | `modules/hall-ui/public/watch.js:594` |
272
+ | `e1fc7cedf4e7` | certain | Could not change rank: {…} | `modules/hall-ui/public/watch.js:580` |
273
+ | `b9e53fbd90e6` | certain | Could not change standing: {…} | `modules/hall-ui/public/watch.js:603` |
274
274
  | `1ef1efc15b6c` | certain | Could not change that just now. | `modules/hall-ui/public/goals-render.js:993` |
275
275
  | `78e18ea59b9f` | certain | Could not close: {…} | `modules/hall-ui/public/harbor.js:134` |
276
276
  | `c3f99e7c6e6b` | certain | Could not copy automatically — select and copy manually. ({…}) | `modules/hall-ui/public/settings.js:979` |
@@ -281,7 +281,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
281
281
  | `fa309d1d0104` | certain | Could not create rank: {…} | `modules/hall-ui/public/government.js:408` |
282
282
  | `7054cd87b5ec` | certain | Could not end that session: {…} | `modules/hall-ui/public/settings-sessions.js:85` |
283
283
  | `01f0308c66e0` | certain | Could not invite that builder just now. | `modules/hall-ui/public/goals-render.js:947` |
284
- | `71da00d47492` | certain | Could not invite: {…} | `modules/hall-ui/public/watch.js:232` |
284
+ | `71da00d47492` | certain | Could not invite: {…} | `modules/hall-ui/public/watch.js:241` |
285
285
  | `0adbf0652899` | certain | Could not load #{…} | `modules/hall-ui/public/task.js:346` |
286
286
  | `dec4b11f316d` | certain | Could not load dev boxes just now. | `modules/hall-ui/public/harbor.js:288` |
287
287
  | `0f7c244312b1` | certain | Could not load government data just now. | `modules/hall-ui/public/government.js:1064` |
@@ -301,14 +301,14 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
301
301
  | `8b69e445592a` | certain | Could not load the question labels; showing the answers as stored. | `modules/hall-ui/public/idea.js:229` |
302
302
  | `edd5bafbe075` | certain | Could not load the queue just now. | `modules/hall-ui/public/ideas.js:387` |
303
303
  | `02bb0570996a` | certain | Could not load the ranks. | `modules/hall-ui/public/ranks.js:197` |
304
- | `2878778cf9f3` | certain | Could not load this page. | `modules/hall-ui/public/watch.js:937` |
304
+ | `2878778cf9f3` | certain | Could not load this page. | `modules/hall-ui/public/watch.js:946` |
305
305
  | `4b0c8d94541c` | certain | Could not load your account. Reload the page to try again. | `modules/hall-ui/public/settings.js:1357` |
306
306
  | `2a9fb4046bc4` | certain | Could not load your rank. Return to the hall and try again. | `modules/hall-ui/public/ranks.js:196` |
307
307
  | `9d533e811dec` | certain | Could not load your sessions: {…} | `modules/hall-ui/public/settings-sessions.js:114` |
308
308
  | `64f9d51f0fa2` | certain | Could not load your settings. | `modules/hall-ui/public/settings.js:1360` |
309
309
  | `2366356926b4` | certain | Could not mark the primer just now. Try again. | `modules/hall-ui/public/primer.js:497` |
310
310
  | `753987b5da13` | certain | Could not reach the submit endpoint. | `modules/hall-ui/public/modules.js:204` |
311
- | `6f500726f0ac` | certain | Could not read the report: {…} | `modules/hall-ui/public/watch.js:396` |
311
+ | `6f500726f0ac` | certain | Could not read the report: {…} | `modules/hall-ui/public/watch.js:405` |
312
312
  | `8b470cebf53d` | certain | Could not remove your key. Try again. | `modules/hall-ui/public/settings.js:1179` |
313
313
  | `4cf6bc8b377b` | certain | Could not remove. Try again. | `modules/hall-ui/public/settings.js:1178` |
314
314
  | `7a778d188e87` | certain | Could not remove: {…} | `modules/hall-ui/public/government.js:336` |
@@ -340,7 +340,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
340
340
  | `d4601887a058` | certain | Could not sign out everywhere: {…} | `modules/hall-ui/public/settings-sessions.js:102` |
341
341
  | `b1602d01f4bb` | certain | Could not unblock: {…} | `modules/hall-ui/public/harbor.js:187` |
342
342
  | `3db890b074a7` | certain | Could not update visibility just now. | `modules/hall-ui/public/goals-render.js:977` |
343
- | `112d12b24879` | certain | Could not verify your access. Go back and try again. | `modules/hall-ui/public/watch.js:936` |
343
+ | `112d12b24879` | certain | Could not verify your access. Go back and try again. | `modules/hall-ui/public/watch.js:945` |
344
344
  | `6bd74fd20311` | certain | Could not verify your access. Try again. | `modules/hall-ui/public/sessions.js:206` |
345
345
  | `278e8281c82f` | certain | Could not vote: {…} | `modules/hall-ui/public/government.js:913` |
346
346
  | `a48e9f098392` | certain | Could not {…} just now. | `modules/hall-ui/public/goals-render.js:963` |
@@ -487,7 +487,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
487
487
  | `75cfcdd41661` | certain | In this primer | `modules/hall-ui/public/primer.html:45` |
488
488
  | `3102d1d90c98` | certain | Intel Mac? | `modules/hall-ui/public/settings.html:217` |
489
489
  | `dad3388b49c9` | certain | Invitation rescinded. | `modules/hall-ui/public/goals-page.js:692` |
490
- | `24f9e88c21f6` | certain | Invite by GitHub username | `modules/hall-ui/public/watch.js:205` |
490
+ | `24f9e88c21f6` | certain | Invite by GitHub username | `modules/hall-ui/public/watch.js:214` |
491
491
  | `d176de7857f3` | certain | Invited. | `modules/hall-ui/public/goals-render.js:936` |
492
492
  | `b9cb720ad5d1` | certain | Invited? Sign in | `modules/hall-ui/public/hall-render.js:267` |
493
493
  | `2170b74c6526` | certain | Isometric map of the repository | `modules/hall-ui/public/atlas.html:39` |
@@ -508,7 +508,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
508
508
  | `93c17262bacf` | certain | Key storage is being set up by an Archon — check back shortly. {…} | `modules/hall-ui/public/settings.js:1053` |
509
509
  | `2a3c9e501f8e` | certain | Key storage isn't set up yet. As an Archon you can turn it on now — the server generates and safely stores the | `modules/hall-ui/public/settings.js:1049` |
510
510
  | `7d6eaa8d4514` | certain | Kinds of work shipped | `modules/hall-ui/public/hall-render.js:1089` |
511
- | `d7b4392e0ea6` | certain | Largest files | `modules/hall-ui/public/watch.js:848` |
511
+ | `d7b4392e0ea6` | certain | Largest files | `modules/hall-ui/public/watch.js:857` |
512
512
  | `81f62e066dbf` | certain | Last 14 days: {…} / 10 average across {…} graded work{…} ({…} passed). | `modules/hall-ui/public/builders.js:586` |
513
513
  | `35a15eb0a117` | certain | Last 30 days | `modules/hall-ui/public/hall-widgets.js:129` |
514
514
  | `9be8b839eff8` | certain | Last 7 days | `modules/hall-ui/public/hall-widgets.js:129` |
@@ -517,8 +517,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
517
517
  | `1526a7ae8c85` | certain | Latest version: v{…}. | `modules/hall-ui/public/settings.js:1443` |
518
518
  | `7c9b7a89353b` | certain | Leave goal | `modules/hall-ui/public/goals-render.js:785` |
519
519
  | `f192ff6563f9` | certain | Leave your GitHub username and an Archon will let you in. No coding needed to start — once you're approved, si | `modules/hall-ui/public/hall-render.js:275` |
520
- | `64f37809350f` | certain | Lifecycle: {…} | `modules/hall-ui/public/watch.js:327` |
521
- | `913b848753ea` | certain | Lines by directory | `modules/hall-ui/public/watch.js:823` |
520
+ | `64f37809350f` | certain | Lifecycle: {…} | `modules/hall-ui/public/watch.js:336` |
521
+ | `913b848753ea` | certain | Lines by directory | `modules/hall-ui/public/watch.js:832` |
522
522
  | `a53e0cde7ff7` | certain | Link first — your rank role is set the moment you join. | `modules/hall-ui/public/settings.js:913` |
523
523
  | `64e85f1691f9` | certain | Link your Discord account and you're added to the {{worldName}} server with your rank role already set — no in | `modules/hall-ui/public/settings.html:53` |
524
524
  | `9a31cf5fe05b` | certain | Linking opens Discord's consent screen; unlinking applies at once. | `modules/hall-ui/public/settings.html:58` |
@@ -575,7 +575,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
575
575
  | `7fcc2583c372` | certain | New custom rank | `modules/hall-ui/public/government.html:65` |
576
576
  | `9e06c14d155a` | certain | New here — request access | `modules/hall-ui/public/hall-render.js:275` |
577
577
  | `ccf08aecab86` | certain | New here — sign in to join | `modules/hall-ui/public/hall-render.js:258` |
578
- | `6ff07874edef` | certain | Newest first. The fifty most recent write operations. | `modules/hall-ui/public/watch.js:486` |
578
+ | `6ff07874edef` | certain | Newest first. The fifty most recent write operations. | `modules/hall-ui/public/watch.js:495` |
579
579
  | `de1713edd4aa` | certain | Next page | `modules/hall-ui/public/hall-kit.js:71` |
580
580
  | `659d8256139c` | certain | Next up — ready to claim | `modules/hall-ui/public/hall-widgets.js:103` |
581
581
  | `f52ba261d930` | certain | Next › | `modules/hall-ui/public/hall-kit.js:71` |
@@ -673,7 +673,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
673
673
  | `b95918d421ae` | certain | People — {{worldName}} | `modules/hall-ui/public/people.html:6` |
674
674
  | `b95918d421ae` | certain | People — {{worldName}} | `modules/hall-ui/public/people.html:6` |
675
675
  | `4a46b478edaf` | certain | Per page | `modules/hall-ui/public/hall-kit.js:71` |
676
- | `7fe2f2f29238` | certain | Per-day: ships graded · avg score. | `modules/hall-ui/public/watch.js:739` |
676
+ | `7fe2f2f29238` | certain | Per-day: ships graded · avg score. | `modules/hall-ui/public/watch.js:748` |
677
677
  | `e1e10dc5e357` | certain | Permissions is the Archon administration surface. The Constitution and the Board Room are yours to read. | `modules/hall-ui/public/government.js:1033` |
678
678
  | `2ec5f77eb6f0` | certain | Preferred disciplines | `modules/hall-ui/public/settings.html:117` |
679
679
  | `ed8edd684547` | certain | Preferred work: | `modules/hall-ui/public/hall-render.js:504` |
@@ -696,7 +696,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
696
696
  | `cd7dc83871b6` | certain | Prompt for #{…} copied. | `modules/hall-ui/public/work.js:559` |
697
697
  | `3f85bdc47099` | certain | Protected module scope — join by request; an Archon admits members | `modules/hall-ui/public/goals-render.js:737` |
698
698
  | `e5c292c8b361` | certain | Provides (seams) | `modules/hall-ui/public/atlas.js:273` |
699
- | `b9c6def6b120` | certain | Rank set to {…}. | `modules/hall-ui/public/watch.js:565` |
699
+ | `b9c6def6b120` | certain | Rank set to {…}. | `modules/hall-ui/public/watch.js:574` |
700
700
  | `ff50a1395cbc` | certain | Rank: {…} | `modules/hall-ui/public/profile.js:38` |
701
701
  | `6824ec470f99` | certain | Ranks — {{worldName}} | `modules/hall-ui/public/ranks.html:6` |
702
702
  | `6824ec470f99` | certain | Ranks — {{worldName}} | `modules/hall-ui/public/ranks.html:6` |
@@ -711,7 +711,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
711
711
  | `7df3fd4ebf41` | certain | Reason (shown to the builder) | `modules/hall-ui/public/harbor.js:146` |
712
712
  | `06cbba1440b1` | certain | Rebase owed — new claims paused | `modules/hall-ui/public/hall-render.js:485` |
713
713
  | `58fb6fe4b47e` | certain | Recent history could not be loaded right now. | `modules/hall-ui/public/work.js:1152` |
714
- | `3c41dbf7c212` | certain | Recent ledger | `modules/hall-ui/public/watch.js:631` |
714
+ | `3c41dbf7c212` | certain | Recent ledger | `modules/hall-ui/public/watch.js:640` |
715
715
  | `fbce2d89706b` | certain | Recent works | `modules/hall-ui/public/profile.html:61` |
716
716
  | `0b2d1327608f` | certain | Recently shipped | `modules/hall-ui/public/hall-widgets.js:107` |
717
717
  | `cd2bffe2e5b9` | certain | Recognize your peers’ finished work. A vote up (+) or down (−) shapes their karma after a one-week cooling per | `modules/hall-ui/public/hall-widgets.js:169` |
@@ -734,7 +734,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
734
734
  | `7d4149cee474` | certain | Repo Atlas — a self-drawing map of the codebase | `modules/hall-ui/public/atlas.html:6` |
735
735
  | `7d4149cee474` | certain | Repo Atlas — a self-drawing map of the codebase | `modules/hall-ui/public/atlas.html:6` |
736
736
  | `52d7d4309540` | certain | Repo health | `modules/hall-ui/public/watch.html:101` |
737
- | `e6629398d47c` | certain | Report {…}. | `modules/hall-ui/public/watch.js:334` |
737
+ | `e6629398d47c` | certain | Report {…}. | `modules/hall-ui/public/watch.js:343` |
738
738
  | `ab456f09c0f6` | certain | Request access | `modules/hall-ui/public/hall-render.js:275` |
739
739
  | `ab456f09c0f6` | certain | Request access | `modules/hall-ui/public/hall-render.js:405` |
740
740
  | `967f6d1ac068` | certain | Request dev box | `modules/hall-ui/public/box-panel.js:357` |
@@ -831,7 +831,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
831
831
  | `d71b721636ae` | certain | Submit one of this project's own modules for review, so it can join the shared Cloud Bongos catalog with your | `modules/hall-ui/public/modules.html:55` |
832
832
  | `1e40f33483eb` | certain | Switch theme | `modules/hall-ui/public/shell.js:322` |
833
833
  | `93fa2e97dd35` | certain | System default for this skill | `modules/hall-ui/public/settings.js:74` |
834
- | `1cc5e12dde31` | certain | System oversight. Every panel below is Archon-only. | `modules/hall-ui/public/watch.js:950` |
834
+ | `1cc5e12dde31` | certain | System oversight. Every panel below is Archon-only. | `modules/hall-ui/public/watch.js:959` |
835
835
  | `5f45e431346f` | certain | Task #{…} | `modules/hall-ui/public/task.js:199` |
836
836
  | `dfc967a63d57` | certain | Task lifecycle from backlog to shipped, showing states and transitions and the edge where credits are awarded. | `modules/hall-ui/public/diagrams.html:60` |
837
837
  | `10cc12f37636` | certain | Task sections | `modules/hall-ui/public/work.html:48` |
@@ -912,7 +912,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
912
912
  | `f158ed1c24a2` | certain | Toggle fullscreen | `modules/hall-ui/public/diagram-viewer.js:101` |
913
913
  | `7dfdc26f9f79` | certain | Tokens refresh on use; re-issuing never signs you out anywhere else. | `modules/hall-ui/public/settings.html:146` |
914
914
  | `c19344f5ce38` | certain | Tool errs | `modules/hall-ui/public/sessions.html:48` |
915
- | `2059342a3490` | certain | Totals by builder | `modules/hall-ui/public/watch.js:629` |
915
+ | `2059342a3490` | certain | Totals by builder | `modules/hall-ui/public/watch.js:638` |
916
916
  | `77db3684aba9` | certain | Tracked for transparency — not charged in the early stage. | `modules/hall-ui/public/box-panel.js:237` |
917
917
  | `b6e04e9bc86f` | certain | Try reloading in a moment. | `modules/hall-ui/public/task.js:346` |
918
918
  | `1a64679fbb42` | certain | Typo or grammar | `modules/hall-ui/public/copy-desk.html:96` |
@@ -957,7 +957,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
957
957
  | `045c629729b7` | certain | Who’s on this goal, and what they’ve contributed to it. | `modules/hall-ui/public/goals.html:174` |
958
958
  | `6e8a3151ec76` | certain | Why \u2014 the reason the author will act on | `modules/hall-ui/public/government.js:885` |
959
959
  | `a3ac116b499a` | certain | Why? | `modules/hall-ui/public/copy-desk.html:99` |
960
- | `6108c16edece` | certain | Window: last {…} days. | `modules/hall-ui/public/watch.js:681` |
960
+ | `6108c16edece` | certain | Window: last {…} days. | `modules/hall-ui/public/watch.js:690` |
961
961
  | `0dcb485477b6` | certain | Windows (ARM) | `modules/hall-ui/public/hall-render.js:650` |
962
962
  | `c5fd76a9e03d` | certain | Won {…} | `modules/hall-ui/public/builders.js:482` |
963
963
  | `c5fd76a9e03d` | certain | Won {…} | `modules/hall-ui/public/profile.js:115` |
@@ -1042,7 +1042,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1042
1042
  | `16d18b40bd23` | certain | drag to pan · ⌘/ctrl + scroll to zoom · ⤢ fullscreen | `modules/hall-ui/public/diagram-viewer.js:121` |
1043
1043
  | `1f80614e6960` | certain | drag to pan, scroll to zoom, or open it fullscreen | `modules/hall-ui/public/diagrams.html:83` |
1044
1044
  | `77b0b2b446a1` | certain | e.g. octocat | `modules/hall-ui/public/hall-render.js:275` |
1045
- | `77b0b2b446a1` | certain | e.g. octocat | `modules/hall-ui/public/watch.js:207` |
1045
+ | `77b0b2b446a1` | certain | e.g. octocat | `modules/hall-ui/public/watch.js:216` |
1046
1046
  | `89cc9754d633` | certain | e.g. runaway cost — paused pending review | `modules/hall-ui/public/harbor.js:146` |
1047
1047
  | `12a23cc46ace` | certain | ends every session including this one — you will be asked to sign in again. | `modules/hall-ui/public/settings.html:163` |
1048
1048
  | `5321f9da0841` | certain | exists in schema, no behavior yet | `modules/hall-ui/public/diagrams.html:53` |
@@ -79,7 +79,7 @@
79
79
  "modules/hall-ui/public/harbor.html:26",
80
80
  "modules/hall-ui/public/harbor.js:314",
81
81
  "modules/hall-ui/public/sessions.js:97",
82
- "modules/hall-ui/public/watch.js:891"
82
+ "modules/hall-ui/public/watch.js:900"
83
83
  ]
84
84
  },
85
85
  {
@@ -384,7 +384,7 @@
384
384
  "occurrences": 2,
385
385
  "at": [
386
386
  "modules/hall-ui/public/hall-render.js:358",
387
- "modules/hall-ui/public/watch.js:222"
387
+ "modules/hall-ui/public/watch.js:231"
388
388
  ]
389
389
  },
390
390
  {
@@ -444,7 +444,7 @@
444
444
  "occurrences": 2,
445
445
  "at": [
446
446
  "modules/hall-ui/public/collab.js:36",
447
- "modules/hall-ui/public/watch.js:257"
447
+ "modules/hall-ui/public/watch.js:266"
448
448
  ]
449
449
  },
450
450
  {
@@ -1414,7 +1414,7 @@
1414
1414
  "occurrences": 2,
1415
1415
  "at": [
1416
1416
  "modules/hall-ui/public/hall-render.js:275",
1417
- "modules/hall-ui/public/watch.js:207"
1417
+ "modules/hall-ui/public/watch.js:216"
1418
1418
  ]
1419
1419
  },
1420
1420
  {
@@ -1969,7 +1969,7 @@
1969
1969
  "surface": "builders-hall",
1970
1970
  "text": "A GitHub username is needed.",
1971
1971
  "file": "modules/hall-ui/public/watch.js",
1972
- "line": 222,
1972
+ "line": 231,
1973
1973
  "origin": "js-notice",
1974
1974
  "confidence": "certain"
1975
1975
  },
@@ -2401,7 +2401,7 @@
2401
2401
  "surface": "builders-hall",
2402
2402
  "text": "Archons only.",
2403
2403
  "file": "modules/hall-ui/public/watch.js",
2404
- "line": 891,
2404
+ "line": 900,
2405
2405
  "origin": "js-text-assign",
2406
2406
  "confidence": "certain"
2407
2407
  },
@@ -2446,7 +2446,7 @@
2446
2446
  "surface": "builders-hall",
2447
2447
  "text": "Asked {…}",
2448
2448
  "file": "modules/hall-ui/public/watch.js",
2449
- "line": 257,
2449
+ "line": 266,
2450
2450
  "origin": "js-markup",
2451
2451
  "confidence": "certain"
2452
2452
  },
@@ -3130,7 +3130,7 @@
3130
3130
  "surface": "builders-hall",
3131
3131
  "text": "Container cost is tracked for oversight — not charged in the early stage.",
3132
3132
  "file": "modules/hall-ui/public/watch.js",
3133
- "line": 633,
3133
+ "line": 642,
3134
3134
  "origin": "js-markup",
3135
3135
  "confidence": "certain"
3136
3136
  },
@@ -3337,7 +3337,7 @@
3337
3337
  "surface": "builders-hall",
3338
3338
  "text": "Could not change rank: {…}",
3339
3339
  "file": "modules/hall-ui/public/watch.js",
3340
- "line": 571,
3340
+ "line": 580,
3341
3341
  "origin": "js-notice",
3342
3342
  "confidence": "certain"
3343
3343
  },
@@ -3346,7 +3346,7 @@
3346
3346
  "surface": "builders-hall",
3347
3347
  "text": "Could not change standing: {…}",
3348
3348
  "file": "modules/hall-ui/public/watch.js",
3349
- "line": 594,
3349
+ "line": 603,
3350
3350
  "origin": "js-notice",
3351
3351
  "confidence": "certain"
3352
3352
  },
@@ -3445,7 +3445,7 @@
3445
3445
  "surface": "builders-hall",
3446
3446
  "text": "Could not invite: {…}",
3447
3447
  "file": "modules/hall-ui/public/watch.js",
3448
- "line": 232,
3448
+ "line": 241,
3449
3449
  "origin": "js-notice",
3450
3450
  "confidence": "certain"
3451
3451
  },
@@ -3625,7 +3625,7 @@
3625
3625
  "surface": "builders-hall",
3626
3626
  "text": "Could not load this page.",
3627
3627
  "file": "modules/hall-ui/public/watch.js",
3628
- "line": 937,
3628
+ "line": 946,
3629
3629
  "origin": "js-notice",
3630
3630
  "confidence": "certain"
3631
3631
  },
@@ -3688,7 +3688,7 @@
3688
3688
  "surface": "builders-hall",
3689
3689
  "text": "Could not read the report: {…}",
3690
3690
  "file": "modules/hall-ui/public/watch.js",
3691
- "line": 396,
3691
+ "line": 405,
3692
3692
  "origin": "js-markup",
3693
3693
  "confidence": "certain"
3694
3694
  },
@@ -3976,7 +3976,7 @@
3976
3976
  "surface": "builders-hall",
3977
3977
  "text": "Could not verify your access. Go back and try again.",
3978
3978
  "file": "modules/hall-ui/public/watch.js",
3979
- "line": 936,
3979
+ "line": 945,
3980
3980
  "origin": "js-text-assign",
3981
3981
  "confidence": "certain"
3982
3982
  },
@@ -5299,7 +5299,7 @@
5299
5299
  "surface": "builders-hall",
5300
5300
  "text": "Invite by GitHub username",
5301
5301
  "file": "modules/hall-ui/public/watch.js",
5302
- "line": 205,
5302
+ "line": 214,
5303
5303
  "origin": "js-markup",
5304
5304
  "confidence": "certain"
5305
5305
  },
@@ -5488,7 +5488,7 @@
5488
5488
  "surface": "builders-hall",
5489
5489
  "text": "Largest files",
5490
5490
  "file": "modules/hall-ui/public/watch.js",
5491
- "line": 848,
5491
+ "line": 857,
5492
5492
  "origin": "js-markup",
5493
5493
  "confidence": "certain"
5494
5494
  },
@@ -5569,7 +5569,7 @@
5569
5569
  "surface": "builders-hall",
5570
5570
  "text": "Lifecycle: {…}",
5571
5571
  "file": "modules/hall-ui/public/watch.js",
5572
- "line": 327,
5572
+ "line": 336,
5573
5573
  "origin": "js-markup",
5574
5574
  "confidence": "certain"
5575
5575
  },
@@ -5578,7 +5578,7 @@
5578
5578
  "surface": "builders-hall",
5579
5579
  "text": "Lines by directory",
5580
5580
  "file": "modules/hall-ui/public/watch.js",
5581
- "line": 823,
5581
+ "line": 832,
5582
5582
  "origin": "js-markup",
5583
5583
  "confidence": "certain"
5584
5584
  },
@@ -6091,7 +6091,7 @@
6091
6091
  "surface": "builders-hall",
6092
6092
  "text": "Newest first. The fifty most recent write operations.",
6093
6093
  "file": "modules/hall-ui/public/watch.js",
6094
- "line": 486,
6094
+ "line": 495,
6095
6095
  "origin": "js-markup",
6096
6096
  "confidence": "certain"
6097
6097
  },
@@ -6973,7 +6973,7 @@
6973
6973
  "surface": "builders-hall",
6974
6974
  "text": "Per-day: ships graded · avg score.",
6975
6975
  "file": "modules/hall-ui/public/watch.js",
6976
- "line": 739,
6976
+ "line": 748,
6977
6977
  "origin": "js-markup",
6978
6978
  "confidence": "certain"
6979
6979
  },
@@ -7180,7 +7180,7 @@
7180
7180
  "surface": "builders-hall",
7181
7181
  "text": "Rank set to {…}.",
7182
7182
  "file": "modules/hall-ui/public/watch.js",
7183
- "line": 565,
7183
+ "line": 574,
7184
7184
  "origin": "js-notice",
7185
7185
  "confidence": "certain"
7186
7186
  },
@@ -7315,7 +7315,7 @@
7315
7315
  "surface": "builders-hall",
7316
7316
  "text": "Recent ledger",
7317
7317
  "file": "modules/hall-ui/public/watch.js",
7318
- "line": 631,
7318
+ "line": 640,
7319
7319
  "origin": "js-markup",
7320
7320
  "confidence": "certain"
7321
7321
  },
@@ -7522,7 +7522,7 @@
7522
7522
  "surface": "builders-hall",
7523
7523
  "text": "Report {…}.",
7524
7524
  "file": "modules/hall-ui/public/watch.js",
7525
- "line": 334,
7525
+ "line": 343,
7526
7526
  "origin": "js-notice",
7527
7527
  "confidence": "certain"
7528
7528
  },
@@ -8395,7 +8395,7 @@
8395
8395
  "surface": "builders-hall",
8396
8396
  "text": "System oversight. Every panel below is Archon-only.",
8397
8397
  "file": "modules/hall-ui/public/watch.js",
8398
- "line": 950,
8398
+ "line": 959,
8399
8399
  "origin": "js-text-assign",
8400
8400
  "confidence": "certain"
8401
8401
  },
@@ -9124,7 +9124,7 @@
9124
9124
  "surface": "builders-hall",
9125
9125
  "text": "Totals by builder",
9126
9126
  "file": "modules/hall-ui/public/watch.js",
9127
- "line": 629,
9127
+ "line": 638,
9128
9128
  "origin": "js-markup",
9129
9129
  "confidence": "certain"
9130
9130
  },
@@ -9529,7 +9529,7 @@
9529
9529
  "surface": "builders-hall",
9530
9530
  "text": "Window: last {…} days.",
9531
9531
  "file": "modules/hall-ui/public/watch.js",
9532
- "line": 681,
9532
+ "line": 690,
9533
9533
  "origin": "js-markup",
9534
9534
  "confidence": "certain"
9535
9535
  },
@@ -10294,7 +10294,7 @@
10294
10294
  "surface": "builders-hall",
10295
10295
  "text": "e.g. octocat",
10296
10296
  "file": "modules/hall-ui/public/watch.js",
10297
- "line": 207,
10297
+ "line": 216,
10298
10298
  "origin": "js-markup",
10299
10299
  "confidence": "certain"
10300
10300
  },
package/docs/file-map.md CHANGED
@@ -351,6 +351,8 @@ tests/
351
351
  ├── own_scope_guard.mjs ← (task 1003343, goal 1000045 criterion own-scope-held-by-a-test): the OWN-SCOPE structural guard, generalised out of memory_isolation.mjs. An explicit inventory of own-scoped route files; inside them the route's declared PATH decides — a path naming no builder must never read a subject from the request (direct, optional-chained, destructured, aliased, computed-key or header), a path that DOES name one needs a per-route exemption whose gate the guard verifies is present. Repo-wide backstop: any file mounting a `/me` route must be in the inventory. Source-grepping, so it runs in the DB-free `unit` lane.
352
352
  ├── account_existence_rate_limit.mjs ← (task 1003339, goal 1000045, ADR 0209): the two PUBLIC account-existence probes (onboarding GET /access-requests/status + core GET /auth/web/admission-status) share ONE per-IP budget. Counts to the limit on each route, proves the budget is shared in both directions and when alternated, moves Date.now to prove the window slides on the real mounted route, and proves a refused probe issues no query. DB-free; mutation-checked three ways.
353
353
  ├── effective_visibility_predicate.mjs ← (task 1002967, goal 1000045): the EFFECTIVE-VISIBILITY structural guard over `modules/platform-identity/account-visibility.js` (the file task 1002295 landed and this task ADOPTED rather than duplicating). Three layers — SQL and JS agree row-for-row over the privacy-spec D2 matrix; that file is the only one allowed to compare `profile_state`/`account_visibility`/`hide_stats` to a literal (per-occurrence exemptions, each with a reason and a checked obligation); and every `SELECT` on `platform_identity_accounts` is enumerated FROM SOURCE and must join a shared predicate, be declared non-public, or be a checked deferral to a named caller — so a read that does not exist yet (hub search, the sitemap) fails the build until its author classifies it. Behavioural half runs the real `/profiles/:handle` route over an in-memory accounts table filtered by each statement's own WHERE clause: private → 404 (never 403), byte-identical to stranger and owner alike. DB-free `unit` lane.
354
+ ├── application_lifecycle.mjs ← (task 1002284, goal 1000045, ADR 0201 D1/D3.2/D4 + ADR 0208): the application lifecycle EXECUTED — apply, list-pending, approve, decline, RESCIND (`invited → dismissed`), idempotency on the state already held, and the two things that must never happen: a builder without `access_request.review` moving the queue, and a VOUCH buying admission. Real router, REAL `requirePermission` resolving against the real government catalog's rank seed, and the REAL `hasInvitedAccessRequest` from `src/bongos/db-kernel.js` pointed at the same in-memory `access_requests` table (a stubbed `./pool`), whose filter is built from each statement's own WHERE clause and which refuses a predicate it cannot read. The no-authority proof seeds a vouched row and asserts the approve path and the admission read are byte-identical to the unvouched twin, and that no statement on either path names `applicant_github_id`/`vouched_at`. DB-free `unit` lane.
355
+ ├── application_echo.mjs ← (task 1002284, goal 1000045, ADR 0201 D1.3/D1.4): the hub's STATUSLESS echo of an application. Part A pins the domain functions — the read binds `APPLICATION_ECHO_WINDOW_DAYS` itself (one 30, not three), the write is an upsert on the pair, neither statement mentions a status, and a non-numeric principal is refused before any query (ADR 0171 D2). Part B runs the real `POST /my-projects/join` and `GET /my-projects` over an in-memory `platform_identity_application_echoes` table with the relay's answer scripted: only an accepted application leaves a trace — a standing membership, either door refusal, a members-only project and an unreachable project leave none — and best-effort is asserted in both directions (a failed echo write still reports the filed application; a failed echo read still lands the memberships listing). DB-free `unit` lane.
354
356
  └── public_task_resolver.mjs ← (#604): the public `/public/tasks/:id` projection — title/value_summary exposed only for shipped|confirmed; withheld for in-flight so unshipped/security task names can't leak.
355
357
  ```
356
358
 
@@ -1281,5 +1281,9 @@ is load-bearing: the script throws rather than guess if it is missing, and
1281
1281
  landed since 1.19.420 with no explicit bump. run 33266605270. (task 1002620)
1282
1282
  1.19.422 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
1283
1283
  landed since 1.19.421 with no explicit bump. run 33267393283. (task 1002620)
1284
+ 1.19.423 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
1285
+ landed since 1.19.422 with no explicit bump. run 33269205170. (task 1002620)
1286
+ 1.19.424 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
1287
+ landed since 1.19.423 with no explicit bump. run 33270353952. (task 1002620)
1284
1288
  ---------------------------------------------------------------------------
1285
1289
  ```
@@ -0,0 +1,79 @@
1
+ -- core_230_access_requests_applicant_vouch.sql — an access request can carry a
2
+ -- VOUCHED platform identity beside the GitHub username it has always carried
3
+ -- (task 1002284, R08 of goal 1000045; ADR 0201 D1.2).
4
+ --
5
+ -- WHAT PROBLEM THIS SOLVES. POST /api/gds/access-requests is the one public,
6
+ -- unauthenticated write on the GDS: it presents nothing the applicant could not
7
+ -- have typed into the project's own landing page. Goal criterion C4 wants the
8
+ -- reviewer to see the applicant's cross-project track record beside the ask —
9
+ -- and attaching a record to a `github_login` that nobody vouched for turns the
10
+ -- queue into an impersonation surface (file a request naming a well-known
11
+ -- builder, the owner reads that builder's excellent record, approves, and
12
+ -- whoever holds that GitHub account walks in). So the record cannot exist
13
+ -- without a vouch, and the vouch needs somewhere to land. That is this file.
14
+ --
15
+ -- `applicant_github_id IS NOT NULL` **IS** the vouch mark. There is deliberately
16
+ -- no `source`/`vouched` enum beside it: a second column would be free to
17
+ -- disagree with the first, and the row would then have two answers to one
18
+ -- question. `vouched_at` records WHEN the vouch was verified, which is audit
19
+ -- data, never the mark itself.
20
+ --
21
+ -- `text`, not `bigint`, because core `builders.github_id` is `text`
22
+ -- (`003_pms.sql`) and this column must join it without a cast. The hub's own
23
+ -- tables hold github ids as `bigint`; that numeric cast is the hub module's
24
+ -- concern (ADR 0171 D2 already handles non-numeric principals there), not this
25
+ -- table's.
26
+ --
27
+ -- BOTH NULLABLE, AND THAT IS THE COMPATIBILITY STORY. A vouch that is absent or
28
+ -- invalid is never a refusal (ADR 0201 D2.3) — the row is simply written
29
+ -- unvouched, exactly as this table has always written it. An older hub, a
30
+ -- standalone instance with no hub public key, and a stranger filling in the
31
+ -- project's own landing form all produce NULL here and keep working unchanged.
32
+ --
33
+ -- NOTHING HERE IS AUTHORITY (ADR 0016 / ADR 0141). No admission decision reads
34
+ -- these columns. `hasInvitedAccessRequest` (src/bongos/db-kernel.js) still reads
35
+ -- `status = 'invited'` and nothing else; `firstTimeAdmissionBlocked` remains the
36
+ -- single gate all four sign-in paths call. A vouch is DESCRIPTIVE — it says "the
37
+ -- hub confirmed who this is", never "this person may enter". A vouched
38
+ -- application and an unvouched one are approved by the identical statement and
39
+ -- admit on the identical read; `tests/application_lifecycle.mjs` executes both
40
+ -- and asserts they are byte-identical, so the day someone wires a vouch into the
41
+ -- gate, that test goes red.
42
+ --
43
+ -- NO `applicant_handle` HERE — DELIBERATE, AND THE ONE PLACE ADR 0201 CONTRADICTS
44
+ -- ITSELF. D1.2 says this migration adds "exactly" two columns; D2.6 says the
45
+ -- handle at apply time is stored on the row. Both cannot be true of one file. The
46
+ -- ADR's own dependency table routes **D2 wholesale** — "the assertion, the header,
47
+ -- the live browser read, the handle" — to R09 (task 1002285), so the handle
48
+ -- arrives with its WRITER rather than ahead of it. A column no code writes is
49
+ -- worse than no column: it reads NULL for reasons that have nothing to do with
50
+ -- the applicant actually lacking a handle, and any reader added in between
51
+ -- renders "no record" for the wrong reason. R09 adds `applicant_handle` in its
52
+ -- own additive migration, in the same change that first writes one.
53
+ --
54
+ -- The console wave (spike 1002786 R2) adds `kind` / `created_by` to this table in
55
+ -- a SEPARATE additive migration. The two waves must not both add `kind`; neither
56
+ -- touches the other's columns, so either order works.
57
+ --
58
+ -- PURELY ADDITIVE + idempotent. Forward-safe: the previous code release ignores
59
+ -- both columns and runs unchanged against this schema, so a replay or a rollback
60
+ -- is a no-op. Fresh-DB-replay safe; no hard-coded builder ids (learning 1238).
61
+ -- access_requests is a CORE-owned table (created in 060_access_requests), so this
62
+ -- lives in core migrations/, core_-namespaced (ADR 0108 §5: a core migration
63
+ -- numbered above LEGACY_BARE_CORE_MAX=187 must carry the core_ prefix).
64
+ -- migrate.sh records this file's stem in schema_migrations — the file does not
65
+ -- self-insert.
66
+
67
+ BEGIN;
68
+
69
+ ALTER TABLE access_requests
70
+ ADD COLUMN IF NOT EXISTS applicant_github_id text,
71
+ ADD COLUMN IF NOT EXISTS vouched_at timestamptz;
72
+
73
+ COMMENT ON COLUMN access_requests.applicant_github_id IS
74
+ 'The platform account the hub VOUCHED for at apply time (ADR 0201 D1.2), or NULL for an unvouched request — a stranger off the landing page, an older hub, or a non-federated instance. NOT NULL is itself the vouch mark; there is no second flag to disagree with it. text to join builders.github_id without a cast. DESCRIPTIVE ONLY — no admission path reads this (ADR 0016): status=''invited'' is still the entire gate.';
75
+
76
+ COMMENT ON COLUMN access_requests.vouched_at IS
77
+ 'When the hub assertion accompanying this request was verified (ADR 0201 D1.2). Audit data — the vouch MARK is applicant_github_id IS NOT NULL, never this timestamp. NULL on every unvouched row.';
78
+
79
+ COMMIT;
@@ -56,8 +56,13 @@ function parseApprovalMarker(content) {
56
56
 
57
57
  // DB — resolve a pending access request to 'invited' | 'dismissed', stamping the
58
58
  // approving Archon. GUARDED on status='pending' (idempotent: a second reaction,
59
- // or one on an already-resolved request, matches nothing → null), exactly like
60
- // the PATCH /access-requests/:id route. Returns the updated row or null.
59
+ // or one on an already-resolved request, matches nothing → null). This is NARROWER
60
+ // than the PATCH /access-requests/:id route, which since task 1002284 also RESCINDS
61
+ // an approval (invited → dismissed) and is idempotent on the state already held.
62
+ // The reaction path stays pending-only ON PURPOSE: a Discord 👎 carries no
63
+ // confirmation step and no ownership check beyond rank, so letting a stray reaction
64
+ // un-admit somebody is a worse failure than making the Archon open the hall to undo
65
+ // an approval. Returns the updated row or null.
61
66
  async function resolveAccessRequest({ id, status, builderId }) {
62
67
  const { rows } = await pool.query(
63
68
  `UPDATE access_requests
@@ -80,7 +80,16 @@
80
80
  const res = await api.request('PATCH', `${API}${path}`, { body });
81
81
  if (res.status === 401) { window.location.assign(`${API}/auth/web/start`); throw { kind: '401' }; }
82
82
  const data = res.data || {};
83
- if (!res.ok) throw new Error(data.message || data.error || `${path} → ${res.status}`);
83
+ if (!res.ok) {
84
+ // The ADR 0116 envelope nests the sentence under `error`, so `data.error` is
85
+ // an OBJECT and interpolating it rendered every refusal as "[object Object]".
86
+ // Unwrapped exactly as postJson below already does — the refusals this route
87
+ // raises (already_member naming /builder-exit, already_dismissed naming the
88
+ // invite route) exist to tell the owner what to do instead, and a sentence
89
+ // nobody can read does not.
90
+ const env = data.error && typeof data.error === 'object' ? data.error : null;
91
+ throw new Error((env && env.message) || data.message || (typeof data.error === 'string' ? data.error : '') || `${path} → ${res.status}`);
92
+ }
84
93
  return data;
85
94
  }
86
95