@bongos/core 1.19.505 → 1.19.507

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,22 +2,22 @@
2
2
  "artifact": "bongos-core",
3
3
  "manifest_schema": 1,
4
4
  "generator": "scripts/gds/package-core.js",
5
- "core_version": "1.19.505",
6
- "core_contract": "1.19.505",
7
- "source_commit": "3ab4e5ad43e20da1374af1e120d51911fd799680",
5
+ "core_version": "1.19.507",
6
+ "core_contract": "1.19.507",
7
+ "source_commit": "f4008a4f0c0527a72d19cfc989889a3610a164d1",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-09-03T17:32:35.678Z",
9
+ "built_at": "2026-09-03T18:09:01.161Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
12
  "docs_redacted": 427,
13
13
  "agent_docs_stubbed": 24,
14
- "functional_verbatim": 1944,
14
+ "functional_verbatim": 1946,
15
15
  "rules": 3,
16
16
  "gate_literals": 3,
17
17
  "gate": "passed"
18
18
  },
19
- "file_count": 2395,
20
- "tree_sha256": "1bc57733b6267db17eb8b78650effda973d902370c46f3be51c0764e1858de00",
19
+ "file_count": 2397,
20
+ "tree_sha256": "cf9525f9de033ff0382bbc7986cc416062ed1a629caabc30849cc4efa1065398",
21
21
  "files": [
22
22
  {
23
23
  "path": ".claude/skills/blocker-review/SKILL.md",
@@ -382,7 +382,7 @@
382
382
  {
383
383
  "path": "clients/bongos-client/index.d.ts",
384
384
  "mode": "0000644",
385
- "sha256": "036e1064bb9513d7acbf0dafd0850deac9f45a38f31c3cbb8c1d7493c9159b76"
385
+ "sha256": "afe60dae1ca8b55c5f9521b4f23eaad4eb194627a2ee105cae1513745ae71544"
386
386
  },
387
387
  {
388
388
  "path": "clients/bongos-client/index.mjs",
@@ -1702,7 +1702,7 @@
1702
1702
  {
1703
1703
  "path": "docs/api/openapi.json",
1704
1704
  "mode": "0000644",
1705
- "sha256": "c02241e6fd8372fb80339eaa385f227b642754ff127dd529cfdc94ed87d077a4"
1705
+ "sha256": "0b5eab5940ae6cf0e8691c6ec59757e8bbfb719a660ec3e8492d9870c95a8c62"
1706
1706
  },
1707
1707
  {
1708
1708
  "path": "docs/architecture.md",
@@ -1727,12 +1727,12 @@
1727
1727
  {
1728
1728
  "path": "docs/copy-inventory.md",
1729
1729
  "mode": "0000644",
1730
- "sha256": "276273f5edb4e920ce7ffdf33707b3e08c259ab22a45427ebde2f4f1bfdc2831"
1730
+ "sha256": "b6b680304b158480b87c61679bafa3431d6e492aa9323933abf68621ce243365"
1731
1731
  },
1732
1732
  {
1733
1733
  "path": "docs/copy-registry.json",
1734
1734
  "mode": "0000644",
1735
- "sha256": "b6bf1dcc9d8b2bbef68d5ff7b8f2e2b9a3e5d2d504562c21cacd0e3b9a0e9905"
1735
+ "sha256": "ed8c0d7c6ab7edd3ae61cd97c530323ed915f32cfa14a4f4ed1bca4d52437a01"
1736
1736
  },
1737
1737
  {
1738
1738
  "path": "docs/design/apex-pass-2-direction.md",
@@ -2577,7 +2577,7 @@
2577
2577
  {
2578
2578
  "path": "docs/module-api-changelog.md",
2579
2579
  "mode": "0000644",
2580
- "sha256": "6e57f6714292cf1ab9df6ec0c481390848d08ee35f399719ec5833d2699ed8bd"
2580
+ "sha256": "ca0326ffd2f4996d2c4f42940ba5c2a2b40b18f9a676023918fd2cde9cd85634"
2581
2581
  },
2582
2582
  {
2583
2583
  "path": "docs/modules-contract.md",
@@ -4487,7 +4487,7 @@
4487
4487
  {
4488
4488
  "path": "modules/hall-ui/public/builders.js",
4489
4489
  "mode": "0000644",
4490
- "sha256": "1a8bf6e502311a22ac937ffbf05214d5a0286b4f94b5275e580b7fb68911e7f7"
4490
+ "sha256": "18e113894ddb8d8e86faa01d20edde978f8710f8eb546e0baa8b7732d46cf00c"
4491
4491
  },
4492
4492
  {
4493
4493
  "path": "modules/hall-ui/public/chime.wav",
@@ -4707,7 +4707,7 @@
4707
4707
  {
4708
4708
  "path": "modules/hall-ui/public/hall-widgets.js",
4709
4709
  "mode": "0000644",
4710
- "sha256": "8aa90c0bb15a19f13295da6225d270bbbdaf4b5336240f03cbc05abe192e87c0"
4710
+ "sha256": "6a3a19788c6e39497f32c130086c812fad15a5a7cf01d91b8a68f673b9ea6437"
4711
4711
  },
4712
4712
  {
4713
4713
  "path": "modules/hall-ui/public/harbor.css",
@@ -4997,12 +4997,12 @@
4997
4997
  {
4998
4998
  "path": "modules/hall-ui/public/sessions.html",
4999
4999
  "mode": "0000644",
5000
- "sha256": "cb5a4b2ece4f73cc2ccc29577cd5c724314260b8e7cf6790981ee06866fd4145"
5000
+ "sha256": "160985637f34bbf424e9333af158b260aad268e4a1dd9f22cf4da789283746b2"
5001
5001
  },
5002
5002
  {
5003
5003
  "path": "modules/hall-ui/public/sessions.js",
5004
5004
  "mode": "0000644",
5005
- "sha256": "6cc6ea120acd76bc42901adaa57f89f98f87eadfc2088ce4f6ccaa20106347ce"
5005
+ "sha256": "9470e5816bcb5aa0a77856413df9e20e5d5aa1a1948a01d41810037e8355e7f9"
5006
5006
  },
5007
5007
  {
5008
5008
  "path": "modules/hall-ui/public/sessions.states.json",
@@ -5512,7 +5512,7 @@
5512
5512
  {
5513
5513
  "path": "modules/lifecycle/routes/tasks.js",
5514
5514
  "mode": "0000644",
5515
- "sha256": "0bbf26870c5959ef6101c535e9a3987d2177d2a8d1b6c91bded9c31350836165"
5515
+ "sha256": "0ba020342e32eb552532a3a34a57b19aa4bbe87f0cb89ace0c45f4c301d7a015"
5516
5516
  },
5517
5517
  {
5518
5518
  "path": "modules/lifecycle/routes/versions.js",
@@ -7227,12 +7227,12 @@
7227
7227
  {
7228
7228
  "path": "package-lock.json",
7229
7229
  "mode": "0000644",
7230
- "sha256": "5b46ca655ee12c47c36c6d2e05baea5d10bdf139404a931c041225e7e0343426"
7230
+ "sha256": "e59012a1aaea2c2e25ac2a7f0c40f096bfe2cae832502cdabfe3519fdb37322d"
7231
7231
  },
7232
7232
  {
7233
7233
  "path": "package.json",
7234
7234
  "mode": "0000644",
7235
- "sha256": "54330892dd305c453d6e4f8b18051ba2116277c101651f912da36c07b15e314c"
7235
+ "sha256": "aae944a6300fb887bd38a4692813e2f03965d7bb044c843fe7f23a26715233d8"
7236
7236
  },
7237
7237
  {
7238
7238
  "path": "public-docs/index.html",
@@ -8902,7 +8902,7 @@
8902
8902
  {
8903
8903
  "path": "src/module-api.js",
8904
8904
  "mode": "0000644",
8905
- "sha256": "da3ceeaa7c239b0ec879e2724b32c30d3efae1ef2440d5d8defa0a729f18c69d"
8905
+ "sha256": "c8e168b4ae8a7dc956802de03248b6509b871e98bf0315dbd94d8dc7cc16be50"
8906
8906
  },
8907
8907
  {
8908
8908
  "path": "src/module-loader/catalog.js",
@@ -10282,12 +10282,12 @@
10282
10282
  {
10283
10283
  "path": "tests/hall_audit.mjs",
10284
10284
  "mode": "0000644",
10285
- "sha256": "f6b972549bd19663760d9a65512e622799ad833613b5d4cfa365fa331997f052"
10285
+ "sha256": "7df5602bb92b44186613870501ecb4e959c9288f8d103cfc8075a3a24d51d840"
10286
10286
  },
10287
10287
  {
10288
10288
  "path": "tests/hall_board_world.mjs",
10289
10289
  "mode": "0000644",
10290
- "sha256": "61c5fc8a46807653801315d14711b7f11f52ce80e27908fe59518e032582228f"
10290
+ "sha256": "b0ef3e407d7bd9266231dc089f1288ee40efb113e40333f79d3de4436db6cc21"
10291
10291
  },
10292
10292
  {
10293
10293
  "path": "tests/hall_catalog_world.mjs",
@@ -10389,6 +10389,11 @@
10389
10389
  "mode": "0000644",
10390
10390
  "sha256": "e2d482ca08d151719f61b52bcbb8056d5c91c9447b5bba7c9f7682d9582e34b8"
10391
10391
  },
10392
+ {
10393
+ "path": "tests/home_bounded_reads.mjs",
10394
+ "mode": "0000644",
10395
+ "sha256": "186a8ebd04cd4dc8021b3a36699468e9c0bcf78ca61ce9f7be7c3e25c632fb3e"
10396
+ },
10392
10397
  {
10393
10398
  "path": "tests/hook_core_resolve.mjs",
10394
10399
  "mode": "0000644",
@@ -11524,6 +11529,11 @@
11524
11529
  "mode": "0000644",
11525
11530
  "sha256": "a630ac72981f230e8aa6609152765c13e8928ac329cb0ff3fe615371f31208d2"
11526
11531
  },
11532
+ {
11533
+ "path": "tests/sessions_kit_pager.mjs",
11534
+ "mode": "0000644",
11535
+ "sha256": "ce4a6f81b17821ed34710f2e3f616eeb51655973b3c9b2537b74f7c371ef0719"
11536
+ },
11527
11537
  {
11528
11538
  "path": "tests/setup_device_flow_fallback.mjs",
11529
11539
  "mode": "0000644",
@@ -123,7 +123,7 @@ export interface GetSessionsSearchResponse { sessions: unknown; count: unknown;
123
123
  export interface GetSsoPubkeyResponse { alg: unknown; format: unknown; public_key_b64: unknown }
124
124
  export interface GetTaskRecommendationsForMeResponse { recommendations: unknown; count: unknown }
125
125
  export interface GetTaskRecommendationsMineResponse { recommendations: unknown; count: unknown }
126
- export interface GetTasksClaimableResponse { claimable: unknown; active_claims: unknown }
126
+ export interface GetTasksClaimableResponse { claimable: unknown; claimable_total: unknown; active_claims: unknown }
127
127
  export interface GetTasksIdCriteriaResponse { criteria: unknown }
128
128
  export interface GetTasksIdDependenciesResponse { dependencies: unknown; dependents: unknown }
129
129
  export interface GetTasksIdRecommendationsResponse { recommendations: unknown; count: unknown }
@@ -17273,10 +17273,12 @@
17273
17273
  "type": "object",
17274
17274
  "properties": {
17275
17275
  "claimable": {},
17276
+ "claimable_total": {},
17276
17277
  "active_claims": {}
17277
17278
  },
17278
17279
  "required": [
17279
17280
  "claimable",
17281
+ "claimable_total",
17280
17282
  "active_claims"
17281
17283
  ]
17282
17284
  },
@@ -4,13 +4,13 @@
4
4
  > Deterministic on a given tree — regenerate and commit rather than hand-editing.
5
5
  > Machine-readable twin: [`copy-registry.json`](copy-registry.json).
6
6
 
7
- **1626 strings** across 3 surfaces · 1416 distinct pieces of copy · 1626 certain, 0 heuristic · 150 shown in more than one place.
7
+ **1623 strings** across 3 surfaces · 1412 distinct pieces of copy · 1623 certain, 0 heuristic · 151 shown in more than one place.
8
8
 
9
9
  ## Surfaces
10
10
 
11
11
  | surface | lives at | files | strings |
12
12
  |---|---|---|---|
13
- | `builders-hall` | `modules/hall-ui/public` | 73 | 1183 |
13
+ | `builders-hall` | `modules/hall-ui/public` | 73 | 1180 |
14
14
  | `status-dashboard` | `modules/status-ui/public` | 4 | 98 |
15
15
  | `landing` | `modules/public-landing/public` | 5 | 345 |
16
16
 
@@ -76,9 +76,9 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
76
76
  | `f6bb75b08e98` | 2x | Back to {…} | modules/hall-ui/public/task.js:188, modules/hall-ui/public/task.js:197 |
77
77
  | `60b248791dc3` | 2x | Builders — {{worldName}} | modules/hall-ui/public/roster.html:6, modules/hall-ui/public/roster.html:6 |
78
78
  | `563d29ed86d8` | 2x | Bulk actions | modules/hall-ui/public/goals.html:172, modules/hall-ui/public/work.html:129 |
79
- | … | | _110 more in the JSON registry_ | |
79
+ | … | | _111 more in the JSON registry_ | |
80
80
 
81
- ## `builders-hall` — 1183 strings
81
+ ## `builders-hall` — 1180 strings
82
82
 
83
83
  | id | conf | text | where |
84
84
  |---|---|---|---|
@@ -131,7 +131,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
131
131
  | `daf73127afff` | certain | A word on why | `modules/hall-ui/public/hall-render.js:278` |
132
132
  | `996edffc1966` | certain | Access requests | `modules/hall-ui/public/watch.html:46` |
133
133
  | `996edffc1966` | certain | Access requests | `modules/hall-ui/public/watch.html:61` |
134
- | `303f8d90266f` | certain | Achievements could not be loaded. | `modules/hall-ui/public/builders.js:1123` |
134
+ | `303f8d90266f` | certain | Achievements could not be loaded. | `modules/hall-ui/public/builders.js:1150` |
135
135
  | `6ca31dd5eb91` | certain | Acknowledge the primer | `modules/hall-ui/public/primer.html:99` |
136
136
  | `4461b13f95c2` | certain | Actions apply at once. Closing stops and deletes the box; you can start a fresh one anytime. | `modules/hall-ui/public/settings.html:209` |
137
137
  | `524188fe0078` | certain | Active sessions | `modules/hall-ui/public/settings.html:162` |
@@ -284,8 +284,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
284
284
  | `589a4cfc5442` | certain | Could not load idea {…}. | `modules/hall-ui/public/ideas.js:629` |
285
285
  | `192c893fc64e` | certain | Could not load modules. | `modules/hall-ui/public/modules.js:318` |
286
286
  | `8a4b590fa1a0` | certain | Could not load requests. | `modules/hall-ui/public/collab.js:173` |
287
- | `7775fec0fa85` | certain | Could not load sessions. | `modules/hall-ui/public/sessions.js:187` |
288
- | `7775fec0fa85` | certain | Could not load sessions. | `modules/hall-ui/public/sessions.js:226` |
287
+ | `7775fec0fa85` | certain | Could not load sessions. | `modules/hall-ui/public/sessions.js:243` |
288
+ | `7775fec0fa85` | certain | Could not load sessions. | `modules/hall-ui/public/sessions.js:281` |
289
289
  | `b2147cc90e36` | certain | Could not load the idea template. Reload, or file from the terminal with capture.js. | `modules/hall-ui/public/ideas.js:611` |
290
290
  | `7604af13c40e` | certain | Could not load the profile. | `modules/hall-ui/public/profile.js:759` |
291
291
  | `8b69e445592a` | certain | Could not load the question labels; showing the answers as stored. | `modules/hall-ui/public/idea.js:244` |
@@ -330,7 +330,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
330
330
  | `b1602d01f4bb` | certain | Could not unblock: {…} | `modules/hall-ui/public/harbor.js:187` |
331
331
  | `3db890b074a7` | certain | Could not update visibility just now. | `modules/hall-ui/public/goals-render.js:1043` |
332
332
  | `112d12b24879` | certain | Could not verify your access. Go back and try again. | `modules/hall-ui/public/watch.js:1010` |
333
- | `6bd74fd20311` | certain | Could not verify your access. Try again. | `modules/hall-ui/public/sessions.js:225` |
333
+ | `6bd74fd20311` | certain | Could not verify your access. Try again. | `modules/hall-ui/public/sessions.js:280` |
334
334
  | `278e8281c82f` | certain | Could not vote: {…} | `modules/hall-ui/public/government.js:990` |
335
335
  | `a48e9f098392` | certain | Could not {…} just now. | `modules/hall-ui/public/goals-render.js:1029` |
336
336
  | `cb09ee26014f` | certain | Could not {…}: {…} | `modules/hall-ui/public/government.js:321` |
@@ -559,7 +559,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
559
559
  | `9af4b7a3a36f` | certain | Module truth | `modules/hall-ui/public/atlas.html:48` |
560
560
  | `319e9db996ea` | certain | Modules — {{worldName}} | `modules/hall-ui/public/modules.html:6` |
561
561
  | `319e9db996ea` | certain | Modules — {{worldName}} | `modules/hall-ui/public/modules.html:6` |
562
- | `1ae18e58fead` | certain | Most recent first. Each load of this page is itself recorded in the audit log. | `modules/hall-ui/public/sessions.js:160` |
562
+ | `1ae18e58fead` | certain | Most recent first. Each load of this page is itself recorded in the audit log. | `modules/hall-ui/public/sessions.js:196` |
563
563
  | `f14a91b3f625` | certain | Most recent first. Each row is one recorded work session; every id on it opens its record. | `modules/hall-ui/public/sessions.html:56` |
564
564
  | `e52ae74f0052` | certain | Move to goal | `modules/hall-ui/public/task.js:510` |
565
565
  | `ae84ebe1d735` | certain | Name cannot be blank. | `modules/hall-ui/public/settings.js:831` |
@@ -618,7 +618,6 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
618
618
  | `ad9a17a8a5eb` | certain | Nothing shipped yet. | `modules/hall-ui/public/work.js:1016` |
619
619
  | `f326632f2013` | certain | Nothing to submit — every module here ships with the core. | `modules/hall-ui/public/modules.js:258` |
620
620
  | `9d25ba1d2f17` | certain | Off voice — says it in the wrong register | `modules/hall-ui/public/copy-desk.html:89` |
621
- | `55bc72820efc` | certain | Older → | `modules/hall-ui/public/sessions.html:70` |
622
621
  | `b89ad49770e7` | certain | On Windows, run | `modules/hall-ui/public/hall-render.js:811` |
623
622
  | `11a1905c76b2` | certain | On the board | `modules/hall-ui/public/hall-render.js:556` |
624
623
  | `ea1f179dd878` | certain | On this page | `modules/hall-ui/public/drachmae.html:51` |
@@ -650,7 +649,6 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
650
649
  | `695ffff13730` | certain | Over time | `modules/hall-ui/public/profile.html:72` |
651
650
  | `5ded44da0cc5` | certain | Override requests | `modules/hall-ui/public/watch.html:139` |
652
651
  | `15a49bf15007` | certain | Page {…} of {…} | `modules/hall-ui/public/hall-kit.js:109` |
653
- | `d1cd74b39c2e` | certain | Page {…} of {…} · {…}–{…} of {…} | `modules/hall-ui/public/sessions.js:143` |
654
652
  | `8595b0aa76a0` | certain | Pair Claude Desktop | `modules/hall-ui/public/settings.html:242` |
655
653
  | `cf68a394cfa5` | certain | Paste command copied. | `modules/hall-ui/public/settings.js:996` |
656
654
  | `a495649d1f82` | certain | Paste your key first. | `modules/hall-ui/public/settings.js:1117` |
@@ -774,7 +772,6 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
774
772
  | `ae43a132699b` | certain | Selectable today | `modules/hall-ui/public/government.js:721` |
775
773
  | `d14e8e9acaff` | certain | Session ended. | `modules/hall-ui/public/settings-sessions.js:81` |
776
774
  | `55e0a34bafed` | certain | Session log{…} | `modules/hall-ui/public/task.js:447` |
777
- | `3f8f6c62adb8` | certain | Session pages | `modules/hall-ui/public/sessions.html:67` |
778
775
  | `cccb362bd6da` | certain | Sessions — {{worldName}} | `modules/hall-ui/public/sessions.html:6` |
779
776
  | `cccb362bd6da` | certain | Sessions — {{worldName}} | `modules/hall-ui/public/sessions.html:6` |
780
777
  | `b823d9a37a35` | certain | Set up key storage | `modules/hall-ui/public/settings.js:1069` |
@@ -867,7 +864,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
867
864
  | `381f29be7497` | certain | The most recently shipped tasks. | `modules/hall-ui/public/work.html:108` |
868
865
  | `82479c539fca` | certain | The name shown beside your work — in the roster, the leaderboard, and the work feed. Your sign-in and the cred | `modules/hall-ui/public/settings.html:75` |
869
866
  | `b88dd8b96b72` | certain | The next person to notice this sentence reads your note instead of re-litigating it. | `modules/hall-ui/public/copy-desk.html:135` |
870
- | `aa716f3dd551` | certain | The page could not be loaded. Try again. | `modules/hall-ui/public/builders.js:1365` |
867
+ | `aa716f3dd551` | certain | The page could not be loaded. Try again. | `modules/hall-ui/public/builders.js:1392` |
871
868
  | `6c3d88de42de` | certain | The primer | `modules/hall-ui/public/primer.html:41` |
872
869
  | `dea378cd4837` | certain | The primer did not load | `modules/hall-ui/public/primer.html:88` |
873
870
  | `3bc5ec5f35ec` | certain | The ranks, lowest to highest | `modules/hall-ui/public/ranks.html:46` |
@@ -878,7 +875,8 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
878
875
  | `38ce5d68c182` | certain | The roster | `modules/hall-ui/public/roster.html:36` |
879
876
  | `dd6a926b8137` | certain | The same sentence, in several places. Sometimes that is right and the answer is to dismiss it; sometimes it is | `modules/hall-ui/public/copy-desk.html:57` |
880
877
  | `cd4ceb6e7e48` | certain | The seeded plan | `modules/hall-ui/public/roadmap.js:194` |
881
- | `d01d36a596b0` | certain | The session log could not be loaded. Try again. | `modules/hall-ui/public/sessions.js:186` |
878
+ | `d01d36a596b0` | certain | The session log could not be loaded. Try again. | `modules/hall-ui/public/sessions.js:242` |
879
+ | `d01d36a596b0` | certain | The session log could not be loaded. Try again. | `modules/hall-ui/public/sessions.js:294` |
882
880
  | `e48a9b77d91b` | certain | The session log opens from a higher rank. | `modules/hall-ui/public/sessions.html:41` |
883
881
  | `af664a644b13` | certain | The seven government structures, for getting a team up to speed before deciding when to flip a switch. | `modules/hall-ui/public/government.js:721` |
884
882
  | `6360a5988f26` | certain | The shape and health of the codebase. | `modules/hall-ui/public/watch.html:112` |
@@ -1205,7 +1203,7 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1205
1203
  | `275f3565c78b` | certain | {…} reset to its default {…} permissions. | `modules/hall-ui/public/government.js:304` |
1206
1204
  | `33afba17ee0f` | certain | {…} seeded | `modules/hall-ui/public/roadmap.js:194` |
1207
1205
  | `732b4c935e36` | certain | {…} sessions | `modules/hall-ui/public/task.js:446` |
1208
- | `3d76dce19c4a` | certain | {…} session{…} across {…} builder{…}. | `modules/hall-ui/public/sessions.js:158` |
1206
+ | `3d76dce19c4a` | certain | {…} session{…} across {…} builder{…}. | `modules/hall-ui/public/sessions.js:194` |
1209
1207
  | `e08fa22622f0` | certain | {…} shipped, {…} confirmed, {…} completed, {…} remaining of {…} | `modules/hall-ui/public/roadmap.js:74` |
1210
1208
  | `e08fa22622f0` | certain | {…} shipped, {…} confirmed, {…} completed, {…} remaining of {…} | `modules/hall-ui/public/roadmap.js:273` |
1211
1209
  | `ad27ae9f5433` | certain | {…} tasks · {…} | `modules/hall-ui/public/roadmap.js:390` |
@@ -1253,7 +1251,6 @@ Identical copy within one surface. Sometimes right (a repeated button), sometime
1253
1251
  | `7926e30955d2` | certain | ← Back to goal | `modules/hall-ui/public/goals.html:184` |
1254
1252
  | `7926e30955d2` | certain | ← Back to goal | `modules/hall-ui/public/goals.html:195` |
1255
1253
  | `7926e30955d2` | certain | ← Back to goal | `modules/hall-ui/public/goals.html:207` |
1256
- | `1e7cf7b1e64e` | certain | ← Newer | `modules/hall-ui/public/sessions.html:68` |
1257
1254
  | `2180e0ecf138` | certain | → no idea # | `modules/hall-ui/public/task-detail.js:484` |
1258
1255
  | `d5d76f1c0dfe` | certain | ○ reserved | `modules/hall-ui/public/diagrams.html:44` |
1259
1256
  | `97b0773e72a5` | certain | ● LIVE | `modules/hall-ui/public/diagrams.html:42` |
@@ -3,17 +3,17 @@
3
3
  "generator": "scripts/gds/copy-inventory.js",
4
4
  "goal": 1000074,
5
5
  "counts": {
6
- "strings": 1626,
7
- "unique_ids": 1416,
8
- "certain": 1626,
6
+ "strings": 1623,
7
+ "unique_ids": 1412,
8
+ "certain": 1623,
9
9
  "heuristic": 0,
10
- "duplicate_ids": 150
10
+ "duplicate_ids": 151
11
11
  },
12
12
  "surfaces": {
13
13
  "builders-hall": {
14
14
  "at": "modules/hall-ui/public",
15
15
  "files": 73,
16
- "strings": 1183
16
+ "strings": 1180
17
17
  },
18
18
  "status-dashboard": {
19
19
  "at": "modules/status-ui/public",
@@ -604,8 +604,8 @@
604
604
  "text": "Could not load sessions.",
605
605
  "occurrences": 2,
606
606
  "at": [
607
- "modules/hall-ui/public/sessions.js:187",
608
- "modules/hall-ui/public/sessions.js:226"
607
+ "modules/hall-ui/public/sessions.js:243",
608
+ "modules/hall-ui/public/sessions.js:281"
609
609
  ]
610
610
  },
611
611
  {
@@ -1268,6 +1268,16 @@
1268
1268
  "modules/hall-ui/public/primer.html:89"
1269
1269
  ]
1270
1270
  },
1271
+ {
1272
+ "id": "d01d36a596b0",
1273
+ "surface": "builders-hall",
1274
+ "text": "The session log could not be loaded. Try again.",
1275
+ "occurrences": 2,
1276
+ "at": [
1277
+ "modules/hall-ui/public/sessions.js:242",
1278
+ "modules/hall-ui/public/sessions.js:294"
1279
+ ]
1280
+ },
1271
1281
  {
1272
1282
  "id": "e9a366866022",
1273
1283
  "surface": "builders-hall",
@@ -2046,7 +2056,7 @@
2046
2056
  "surface": "builders-hall",
2047
2057
  "text": "Achievements could not be loaded.",
2048
2058
  "file": "modules/hall-ui/public/builders.js",
2049
- "line": 1123,
2059
+ "line": 1150,
2050
2060
  "origin": "js-markup",
2051
2061
  "confidence": "certain"
2052
2062
  },
@@ -3423,7 +3433,7 @@
3423
3433
  "surface": "builders-hall",
3424
3434
  "text": "Could not load sessions.",
3425
3435
  "file": "modules/hall-ui/public/sessions.js",
3426
- "line": 187,
3436
+ "line": 243,
3427
3437
  "origin": "js-notice",
3428
3438
  "confidence": "certain"
3429
3439
  },
@@ -3432,7 +3442,7 @@
3432
3442
  "surface": "builders-hall",
3433
3443
  "text": "Could not load sessions.",
3434
3444
  "file": "modules/hall-ui/public/sessions.js",
3435
- "line": 226,
3445
+ "line": 281,
3436
3446
  "origin": "js-notice",
3437
3447
  "confidence": "certain"
3438
3448
  },
@@ -3837,7 +3847,7 @@
3837
3847
  "surface": "builders-hall",
3838
3848
  "text": "Could not verify your access. Try again.",
3839
3849
  "file": "modules/hall-ui/public/sessions.js",
3840
- "line": 225,
3850
+ "line": 280,
3841
3851
  "origin": "js-text-assign",
3842
3852
  "confidence": "certain"
3843
3853
  },
@@ -5898,7 +5908,7 @@
5898
5908
  "surface": "builders-hall",
5899
5909
  "text": "Most recent first. Each load of this page is itself recorded in the audit log.",
5900
5910
  "file": "modules/hall-ui/public/sessions.js",
5901
- "line": 160,
5911
+ "line": 196,
5902
5912
  "origin": "js-text-assign",
5903
5913
  "confidence": "certain"
5904
5914
  },
@@ -6424,15 +6434,6 @@
6424
6434
  "origin": "html-text",
6425
6435
  "confidence": "certain"
6426
6436
  },
6427
- {
6428
- "id": "55bc72820efc",
6429
- "surface": "builders-hall",
6430
- "text": "Older →",
6431
- "file": "modules/hall-ui/public/sessions.html",
6432
- "line": 70,
6433
- "origin": "html-text",
6434
- "confidence": "certain"
6435
- },
6436
6437
  {
6437
6438
  "id": "b89ad49770e7",
6438
6439
  "surface": "builders-hall",
@@ -6712,15 +6713,6 @@
6712
6713
  "origin": "js-text-assign",
6713
6714
  "confidence": "certain"
6714
6715
  },
6715
- {
6716
- "id": "d1cd74b39c2e",
6717
- "surface": "builders-hall",
6718
- "text": "Page {…} of {…} · {…}–{…} of {…}",
6719
- "file": "modules/hall-ui/public/sessions.js",
6720
- "line": 143,
6721
- "origin": "js-text-assign",
6722
- "confidence": "certain"
6723
- },
6724
6716
  {
6725
6717
  "id": "8595b0aa76a0",
6726
6718
  "surface": "builders-hall",
@@ -7828,15 +7820,6 @@
7828
7820
  "origin": "js-markup",
7829
7821
  "confidence": "certain"
7830
7822
  },
7831
- {
7832
- "id": "3f8f6c62adb8",
7833
- "surface": "builders-hall",
7834
- "text": "Session pages",
7835
- "file": "modules/hall-ui/public/sessions.html",
7836
- "line": 67,
7837
- "origin": "html-attr:aria-label",
7838
- "confidence": "certain"
7839
- },
7840
7823
  {
7841
7824
  "id": "cccb362bd6da",
7842
7825
  "surface": "builders-hall",
@@ -8670,7 +8653,7 @@
8670
8653
  "surface": "builders-hall",
8671
8654
  "text": "The page could not be loaded. Try again.",
8672
8655
  "file": "modules/hall-ui/public/builders.js",
8673
- "line": 1365,
8656
+ "line": 1392,
8674
8657
  "origin": "js-notice",
8675
8658
  "confidence": "certain"
8676
8659
  },
@@ -8769,7 +8752,16 @@
8769
8752
  "surface": "builders-hall",
8770
8753
  "text": "The session log could not be loaded. Try again.",
8771
8754
  "file": "modules/hall-ui/public/sessions.js",
8772
- "line": 186,
8755
+ "line": 242,
8756
+ "origin": "js-text-assign",
8757
+ "confidence": "certain"
8758
+ },
8759
+ {
8760
+ "id": "d01d36a596b0",
8761
+ "surface": "builders-hall",
8762
+ "text": "The session log could not be loaded. Try again.",
8763
+ "file": "modules/hall-ui/public/sessions.js",
8764
+ "line": 294,
8773
8765
  "origin": "js-text-assign",
8774
8766
  "confidence": "certain"
8775
8767
  },
@@ -11712,7 +11704,7 @@
11712
11704
  "surface": "builders-hall",
11713
11705
  "text": "{…} session{…} across {…} builder{…}.",
11714
11706
  "file": "modules/hall-ui/public/sessions.js",
11715
- "line": 158,
11707
+ "line": 194,
11716
11708
  "origin": "js-text-assign",
11717
11709
  "confidence": "certain"
11718
11710
  },
@@ -12139,15 +12131,6 @@
12139
12131
  "origin": "html-text",
12140
12132
  "confidence": "certain"
12141
12133
  },
12142
- {
12143
- "id": "1e7cf7b1e64e",
12144
- "surface": "builders-hall",
12145
- "text": "← Newer",
12146
- "file": "modules/hall-ui/public/sessions.html",
12147
- "line": 68,
12148
- "origin": "html-text",
12149
- "confidence": "certain"
12150
- },
12151
12134
  {
12152
12135
  "id": "2180e0ecf138",
12153
12136
  "surface": "builders-hall",
@@ -1447,5 +1447,9 @@ is load-bearing: the script throws rather than guess if it is missing, and
1447
1447
  landed since 1.19.503 with no explicit bump. run 33784387586. (task 1002620)
1448
1448
  1.19.505 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
1449
1449
  landed since 1.19.504 with no explicit bump. run 33785121177. (task 1002620)
1450
+ 1.19.506 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
1451
+ landed since 1.19.505 with no explicit bump. run 33787453336. (task 1002620)
1452
+ 1.19.507 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
1453
+ landed since 1.19.506 with no explicit bump. run 33788726591. (task 1002620)
1450
1454
  ---------------------------------------------------------------------------
1451
1455
  ```
@@ -866,7 +866,10 @@
866
866
  let canTriage = false;
867
867
  function loadTriageInbox() {
868
868
  if (!canTriage) return;
869
- getJSON(`${API}/inbox`)
869
+ // ?limit=5 — the card renders five rows; the route's default is 50, and the
870
+ // open_count that drives the "N waiting" line is a separate count, so asking for
871
+ // what is rendered costs the reader nothing (goal 1000072).
872
+ getJSON(`${API}/inbox?limit=5`)
870
873
  .then((data) => renderTriageInbox(data))
871
874
  .catch(() => { /* nice-to-have; never break the hall */ });
872
875
  }
@@ -895,13 +898,28 @@
895
898
  const subhead = document.getElementById('home-recent-subh');
896
899
  if (!wrap || !list) return;
897
900
  try {
898
- const resp = await getJSON(`${API}/tasks/claimable`, { softAuth: true });
899
- // task 1003464: the same feed answers the greeting's "N tasks are
900
- // claimable right now" — rank-scoped, so it is THIS builder's number.
901
- lastClaimableCount = resp && Array.isArray(resp.claimable) ? resp.claimable.length : null;
901
+ // ?limit=2 — this card is TWO lines. It used to download the entire claimable
902
+ // feed, every row with its full description, and `.slice(0, 2)` it: the same
903
+ // shape goal 1000072's criterion names, and the one goal-rollup.js was carved to
904
+ // fix on the Goals page (5,229,455 bytes to produce forty counters). The server
905
+ // already orders by priority then calibrated estimate, so the first two rows ARE
906
+ // the top two. `claimable_total` comes back so the foot can say how many are
907
+ // waiting instead of leaving two rows to imply there are only two.
908
+ const resp = await getJSON(`${API}/tasks/claimable?limit=2`, { softAuth: true });
909
+ // task 1003464: the greeting's "N tasks are claimable right now" — rank-scoped,
910
+ // so it is THIS builder's number. It reads claimable_total rather than the length
911
+ // of a fully-downloaded feed: the same number, without the wire cost that this
912
+ // commit exists to remove. The .length fallback covers a server that predates
913
+ // the field (a deploy skew), so the greeting degrades to correct-but-costly
914
+ // rather than to blank.
915
+ const claimableTotal = Number(resp && resp.claimable_total);
916
+ lastClaimableCount = Number.isFinite(claimableTotal)
917
+ ? claimableTotal
918
+ : (resp && Array.isArray(resp.claimable) ? resp.claimable.length : null);
902
919
  renderGreeting();
903
- const rows = (resp && Array.isArray(resp.claimable) ? resp.claimable : []).slice(0, 2);
920
+ const rows = resp && Array.isArray(resp.claimable) ? resp.claimable : [];
904
921
  if (!rows.length) { wrap.hidden = true; if (subhead) subhead.hidden = true; return; }
922
+ const total = Number(resp.claimable_total);
905
923
  const cur = (window.__BRANDING__ && window.__BRANDING__.currency && window.__BRANDING__.currency.label) || 'credits';
906
924
  list.innerHTML = rows.map((t) => {
907
925
  const credits = window.OTBBranding?.taskCreditValue?.(t) ?? t.credits_reward;
@@ -911,6 +929,15 @@
911
929
  <span class="next-up__meta">#${escapeHtml(String(t.id))}${mins} · ${fmtNum(credits)} ${escapeHtml(cur)} est.</span>
912
930
  </li>`;
913
931
  }).join('');
932
+ // Name the size of the queue these two came off. Silent when the count is
933
+ // missing or not bigger than what is shown — "See all 2" under two rows is
934
+ // noise, and a made-up number is worse than none.
935
+ const foot = document.getElementById('home-next-foot');
936
+ if (foot) {
937
+ foot.textContent = Number.isFinite(total) && total > rows.length
938
+ ? `See all ${fmtNum(total)} ready work →`
939
+ : 'See all ready work →';
940
+ }
914
941
  wrap.hidden = false;
915
942
  if (subhead) subhead.hidden = false;
916
943
  } catch (_) {
@@ -102,7 +102,7 @@
102
102
  '<div id="home-next" hidden>' +
103
103
  '<h3 class="ginbox__sec-h">Next up — ready to claim</h3>' +
104
104
  '<ul class="next-up" id="home-next-list"></ul>' +
105
- '<p class="next-up__foot"><a href="/work">See all ready work →</a></p>' +
105
+ '<p class="next-up__foot"><a href="/work" id="home-next-foot">See all ready work →</a></p>' +
106
106
  '</div>' +
107
107
  '<h3 class="ginbox__sec-h" id="home-recent-subh" hidden>Recently shipped</h3>' +
108
108
  '<table class="ledger" id="home-recent-table"><thead><tr><th>№</th><th>Work</th><th data-currency-label="caps">Credits</th><th>Shipped</th></tr></thead>' +
@@ -64,11 +64,11 @@
64
64
  </thead>
65
65
  <tbody id="sessions-body"></tbody>
66
66
  </table>
67
- <nav class="pager" id="ledger-pager" hidden aria-label="Session pages">
68
- <button type="button" class="btn-ghost" id="pager-prev">← Newer</button>
69
- <span class="pager__range" id="pager-pos"></span>
70
- <button type="button" class="btn-ghost" id="pager-next">Older →</button>
71
- </nav>
67
+ <!-- The kit stamps the pager bar here (sessions.js, OTBKit.pagerBarHtml).
68
+ makeLedger is deliberately NOT used: it stamps table + pager into one
69
+ mount, and this page keeps them separate so the bar sits below the
70
+ ledger rather than inside whatever scrollport the table is in. -->
71
+ <div id="sessions-pager-mount"></div>
72
72
  <p class="ledger__note" id="ledger-foot"></p>
73
73
  </section>
74
74
  </main>
@@ -88,7 +88,11 @@
88
88
  <!-- shared frontend toolkit (window.OTB) — loaded BEFORE sessions.js so it can pull from it. -->
89
89
  <script src="/builders/dom-utils.js?v=2026-06-14-domutils"></script>
90
90
  <script src="/builders/task-detail.js?v=2026-07-03-taskdetail"></script>
91
+ <!-- The shared component kit — the pager contract this page now uses instead of
92
+ its own (task 1003279-sibling follow-up of 1003281). Must load BEFORE
93
+ sessions.js, which reads window.OTBKit at boot. -->
94
+ <script src="/builders/hall-kit.js"></script>
91
95
  <script src="/builders/brand-apply.js?v=2026-06-19-r56"></script>
92
- <script src="/builders/sessions.js?v=2026-06-19-r56"></script>
96
+ <script src="/builders/sessions.js?v=2026-08-28-kitpager"></script>
93
97
  </body>
94
98
  </html>