@bongos/core 1.24.3 → 1.24.4

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.
Files changed (52) hide show
  1. package/.bongos-core.json +106 -46
  2. package/clients/bongos-client/README.md +1 -1
  3. package/clients/bongos-client/bongos-client.global.js +6 -0
  4. package/clients/bongos-client/index.cjs +6 -0
  5. package/clients/bongos-client/index.d.ts +8 -0
  6. package/clients/bongos-client/index.mjs +6 -0
  7. package/config/branding.neutral.json +0 -1
  8. package/docs/adr/0396-google-sign-in-a-stand-in-login-and-a-browser-approved-cli-sign-in.md +11 -0
  9. package/docs/api/openapi.json +121 -4
  10. package/docs/api-reference.md +8 -1
  11. package/docs/branding-contract.md +1 -1
  12. package/docs/module-api-changelog.md +2 -2
  13. package/modules/discord/ship-broadcast.js +7 -0
  14. package/modules/economy/credit-wording.js +93 -0
  15. package/modules/economy/credits.js +26 -12
  16. package/modules/economy/reward-policy.js +49 -3
  17. package/modules/economy/reward.js +5 -0
  18. package/modules/government/routes/government.js +7 -0
  19. package/modules/ideas/routes/inbox.js +6 -0
  20. package/modules/lifecycle/routes/project-settings.js +6 -4
  21. package/modules/market-watch/ask.js +425 -0
  22. package/modules/market-watch/migrations/market_watch_003_ask_pool.sql +21 -0
  23. package/modules/market-watch/module.json +10 -3
  24. package/modules/market-watch/pollers/weekly-ask.js +89 -0
  25. package/modules/market-watch/public/hall-widget.js +271 -0
  26. package/modules/market-watch/public/weekly-ask.css +39 -0
  27. package/modules/market-watch/routes/ask.js +95 -0
  28. package/modules/onboarding/routes/access-requests.js +38 -10
  29. package/modules/platform-identity/account-logins.js +13 -0
  30. package/modules/platform-identity/routes/my-projects.js +10 -7
  31. package/modules/platform-identity/routes/sso.js +11 -6
  32. package/package-lock.json +2 -2
  33. package/package.json +1 -1
  34. package/release-notes.json +17 -1
  35. package/scripts/bongos/backfill-subagent-rewards.js +7 -7
  36. package/scripts/bongos/run-unit-tests.js +4 -0
  37. package/scripts/hall-preview/server.js +13 -0
  38. package/src/bongos/auth-idp.js +17 -5
  39. package/src/bongos/db-kernel.js +14 -1
  40. package/src/bongos/module-scope-map.js +1 -0
  41. package/src/module-api.js +1 -1
  42. package/tests/account_logins.mjs +6 -4
  43. package/tests/backfill_subagent_rewards.mjs +7 -7
  44. package/tests/credit_grant.mjs +7 -7
  45. package/tests/credit_wording.mjs +154 -0
  46. package/tests/google_halls.mjs +211 -0
  47. package/tests/market_watch_ask.mjs +369 -0
  48. package/tests/market_watch_ask_db.mjs +122 -0
  49. package/tests/market_watch_data_db.mjs +4 -0
  50. package/tests/market_watch_module.mjs +9 -5
  51. package/tests/project_settings_page.mjs +1 -1
  52. package/tests/reward_cost_scale.mjs +200 -0
package/.bongos-core.json CHANGED
@@ -2,22 +2,22 @@
2
2
  "artifact": "bongos-core",
3
3
  "manifest_schema": 1,
4
4
  "generator": "scripts/bongos/package-core.js",
5
- "core_version": "1.24.3",
6
- "core_contract": "1.24.3",
7
- "source_commit": "b57757a23ba80fcb66599c385508e0b57994bafe",
5
+ "core_version": "1.24.4",
6
+ "core_contract": "1.24.4",
7
+ "source_commit": "b25dd0aaa8041380fe6423547c6ad421048f82f5",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-10-30T04:14:41.527Z",
9
+ "built_at": "2026-10-30T04:44:03.618Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
12
  "docs_redacted": 628,
13
13
  "agent_docs_stubbed": 32,
14
- "functional_verbatim": 3707,
14
+ "functional_verbatim": 3719,
15
15
  "rules": 3,
16
16
  "gate_literals": 3,
17
17
  "gate": "passed"
18
18
  },
19
- "file_count": 4368,
20
- "tree_sha256": "333a8c24a58c90c682ef438927dd00904322b616a1541e97f4cc7df448276e54",
19
+ "file_count": 4380,
20
+ "tree_sha256": "bc5e1a5e93d60321f5edaa5bf753114297f9a9f82e282584df69af165c51150c",
21
21
  "files": [
22
22
  {
23
23
  "path": ".claude/skills/ask-for-help/SKILL.md",
@@ -327,12 +327,12 @@
327
327
  {
328
328
  "path": "clients/bongos-client/README.md",
329
329
  "mode": "0000644",
330
- "sha256": "0319fd50716b382de913d14dfb410b80f5e643a5c70f097dc2e803cd2c0b5031"
330
+ "sha256": "b2735326bb4b3ef29ce7684200cb45900d44442c978994166eecbfd2fff352ec"
331
331
  },
332
332
  {
333
333
  "path": "clients/bongos-client/bongos-client.global.js",
334
334
  "mode": "0000644",
335
- "sha256": "5c8dbe02b7ca7bd995a90466cfc5537b2b0da806b379a4dd97a0af057879e444"
335
+ "sha256": "133a43fcfbaca89e438e23df227fad435a0ebb48a0f5e57241ca0779cdea0df5"
336
336
  },
337
337
  {
338
338
  "path": "clients/bongos-client/examples/hello-world.mjs",
@@ -342,17 +342,17 @@
342
342
  {
343
343
  "path": "clients/bongos-client/index.cjs",
344
344
  "mode": "0000644",
345
- "sha256": "c2243b18e2efcc5c6ea9971c6538d1f133697e8f1b2a3e6ae666b52e9c907e13"
345
+ "sha256": "59158230c9f3f96fd2cd12774f374deef70a11b50c495a09035cbdef967667b5"
346
346
  },
347
347
  {
348
348
  "path": "clients/bongos-client/index.d.ts",
349
349
  "mode": "0000644",
350
- "sha256": "1f2d29a73adc57606eb48c63dc66164eb513723959d82addac836f8753616ebe"
350
+ "sha256": "7d3aeae646fa5a13e0ddc1d7455ac5fb109275aaa35d0a524bf2bafc80874e80"
351
351
  },
352
352
  {
353
353
  "path": "clients/bongos-client/index.mjs",
354
354
  "mode": "0000644",
355
- "sha256": "1778959cf9927f26cbce3f66fcdc69316fad5b93dd6baa5c8293114734191062"
355
+ "sha256": "e365441cfcaec48546855c42f330d4dc358c95aabbcc4cd9a51fc11209bcf14d"
356
356
  },
357
357
  {
358
358
  "path": "clients/bongos-client/package.json",
@@ -362,7 +362,7 @@
362
362
  {
363
363
  "path": "config/branding.neutral.json",
364
364
  "mode": "0000644",
365
- "sha256": "da458a54520c69f2cf40a8d29b91c9e82621494615795aaf4bf893764a97f33f"
365
+ "sha256": "4a6d8726f0063f6ac15bf4fbb253d94fe415d2d58b6c93c8b5324adb5fb3dc70"
366
366
  },
367
367
  {
368
368
  "path": "config/design-tokens.neutral.json",
@@ -2437,7 +2437,7 @@
2437
2437
  {
2438
2438
  "path": "docs/adr/0396-google-sign-in-a-stand-in-login-and-a-browser-approved-cli-sign-in.md",
2439
2439
  "mode": "0000644",
2440
- "sha256": "a90003f04c3ef8d8b4c69af5ce615b7cc86df50e2fc40597dca3533c715370f5"
2440
+ "sha256": "15a008d87ff72366e6e5d9e8cbe54eb6060cbb62aedbc40013147739f97d54bc"
2441
2441
  },
2442
2442
  {
2443
2443
  "path": "docs/adr/README.md",
@@ -2447,12 +2447,12 @@
2447
2447
  {
2448
2448
  "path": "docs/api-reference.md",
2449
2449
  "mode": "0000644",
2450
- "sha256": "733b696bc7b7b25f795405bb9a37a3c2bd2dcbdc03e6eb9cb955eb1b994a95a8"
2450
+ "sha256": "8a5820f4be8038f02e65107f076ff694304459eda1c514903ae22c1f53a1522f"
2451
2451
  },
2452
2452
  {
2453
2453
  "path": "docs/api/openapi.json",
2454
2454
  "mode": "0000644",
2455
- "sha256": "2b1e707d8da5061db5add81620faec6b5e101c77b780dbf7a840aa5bd2e881fb"
2455
+ "sha256": "6dbe0723050ce5d1bdd1b5af8b7235bdf1f886ffa98150fa4320756adc428964"
2456
2456
  },
2457
2457
  {
2458
2458
  "path": "docs/architecture.md",
@@ -2462,7 +2462,7 @@
2462
2462
  {
2463
2463
  "path": "docs/branding-contract.md",
2464
2464
  "mode": "0000644",
2465
- "sha256": "1efa0de30a20f355b25be812de1fd397d5bfda45c83457693a70110e2a89542c"
2465
+ "sha256": "8b3cc175530daab089182c44d63d8d924ec67bcf42c0ccb520e9cf6fea5982f6"
2466
2466
  },
2467
2467
  {
2468
2468
  "path": "docs/branding-fill-prompt.md",
@@ -2992,7 +2992,7 @@
2992
2992
  {
2993
2993
  "path": "docs/module-api-changelog.md",
2994
2994
  "mode": "0000644",
2995
- "sha256": "1ffe38d130de3c38240a4a03fd1357f70cd780f49576ee382bc49dd8f706a205"
2995
+ "sha256": "3fcb8f5c062f9925f8a3e7d82fb4946d376c25eb51f46e659071b539c4bc32c8"
2996
2996
  },
2997
2997
  {
2998
2998
  "path": "docs/modules-contract.md",
@@ -5107,7 +5107,7 @@
5107
5107
  {
5108
5108
  "path": "modules/discord/ship-broadcast.js",
5109
5109
  "mode": "0000644",
5110
- "sha256": "2d38315e934a401472b6d73fbfe6aade35111764d84b82ceb12d27037f7f8908"
5110
+ "sha256": "2524a5dc741034a7ad8fbe10d421c8b1aa1585865d3d45d9f8b9d71390e79cbd"
5111
5111
  },
5112
5112
  {
5113
5113
  "path": "modules/discord/webhook.js",
@@ -5149,6 +5149,11 @@
5149
5149
  "mode": "0000644",
5150
5150
  "sha256": "5e8ccf969f5eab1b92c8a636992f8fb5971f5ba46c5dbcb5708ea23a8c8bf1fb"
5151
5151
  },
5152
+ {
5153
+ "path": "modules/economy/credit-wording.js",
5154
+ "mode": "0000644",
5155
+ "sha256": "d0b4baae80ed67753f6c54b6815f8ba5952e058d22fd54bc13e16514f4ba4ed0"
5156
+ },
5152
5157
  {
5153
5158
  "path": "modules/economy/credits-by-craft.js",
5154
5159
  "mode": "0000644",
@@ -5157,7 +5162,7 @@
5157
5162
  {
5158
5163
  "path": "modules/economy/credits.js",
5159
5164
  "mode": "0000644",
5160
- "sha256": "dc0de4b4f90de40233363d6bf0dc9dd8d090b11c466ac9bc94ecfd978fe06e44"
5165
+ "sha256": "a54ec252bd9e9682cb9c3773c6554d259096686e66ea5504e3e330d0c6321515"
5161
5166
  },
5162
5167
  {
5163
5168
  "path": "modules/economy/earnings.js",
@@ -5207,12 +5212,12 @@
5207
5212
  {
5208
5213
  "path": "modules/economy/reward-policy.js",
5209
5214
  "mode": "0000644",
5210
- "sha256": "39b06cfa5ae58fce68633f6b2aef74eb9421bf3346cc54a0658b0186136551cf"
5215
+ "sha256": "8f55bfa10ddc97a37121a21b70eb4974ce188dbb5eff720fb54856bcc9550a9a"
5211
5216
  },
5212
5217
  {
5213
5218
  "path": "modules/economy/reward.js",
5214
5219
  "mode": "0000644",
5215
- "sha256": "0f3e23eccdf1b7a2013b82f77e08abe8702ffa6323fc8d6f5d3c73d8c3ec5865"
5220
+ "sha256": "d121c4bf94a02c14429004b5565d78d69bb78f3934b05d633404b75cdf523a28"
5216
5221
  },
5217
5222
  {
5218
5223
  "path": "modules/economy/routes/cost.js",
@@ -5632,7 +5637,7 @@
5632
5637
  {
5633
5638
  "path": "modules/government/routes/government.js",
5634
5639
  "mode": "0000644",
5635
- "sha256": "252253d401ee4f17ddad15da6c6bc35a054217953d451f429bf263e044063c86"
5640
+ "sha256": "9317c3b9267460c7ccc227cfe814a1347390633c33e31f5895868cc24ade2b24"
5636
5641
  },
5637
5642
  {
5638
5643
  "path": "modules/government/routes/rank-sync.js",
@@ -7482,7 +7487,7 @@
7482
7487
  {
7483
7488
  "path": "modules/ideas/routes/inbox.js",
7484
7489
  "mode": "0000644",
7485
- "sha256": "b8b7da36198ef1a394e11e7c85aa00c5e802c1789dc91fbd3c51d1b47af3fac8"
7490
+ "sha256": "ee94b7c354d54fbdd5fc7543a7ab856d1adb4cab14dce0ec5f3b9804684ab241"
7486
7491
  },
7487
7492
  {
7488
7493
  "path": "modules/ideas/routes/ratify-goal.js",
@@ -8157,7 +8162,7 @@
8157
8162
  {
8158
8163
  "path": "modules/lifecycle/routes/project-settings.js",
8159
8164
  "mode": "0000644",
8160
- "sha256": "b5bbcbd4e34be51a3d7f51fa7e40c6f76db2086a1b8f91e222838f0a2b484960"
8165
+ "sha256": "8b050e91d09583d78109c83b8a620ac7ebf72ab845036c238a8639cbaba58966"
8161
8166
  },
8162
8167
  {
8163
8168
  "path": "modules/lifecycle/routes/recommendations.js",
@@ -8304,6 +8309,11 @@
8304
8309
  "mode": "0000644",
8305
8310
  "sha256": "7cb9dac9cb87b679e1ae50e4112b3a7928a38ebb9902c8947a74d17bec4d9009"
8306
8311
  },
8312
+ {
8313
+ "path": "modules/market-watch/ask.js",
8314
+ "mode": "0000644",
8315
+ "sha256": "28525a8873d430742f9f0dc5a0a5c751d1aa56b9f27dc650ba165e0435aade7c"
8316
+ },
8307
8317
  {
8308
8318
  "path": "modules/market-watch/db.js",
8309
8319
  "mode": "0000644",
@@ -8324,26 +8334,51 @@
8324
8334
  "mode": "0000644",
8325
8335
  "sha256": "102c402cb587fc6da6c0d01a6c1c9cfac7467b3f15aa0dae564a207a0f246539"
8326
8336
  },
8337
+ {
8338
+ "path": "modules/market-watch/migrations/market_watch_003_ask_pool.sql",
8339
+ "mode": "0000644",
8340
+ "sha256": "e62b75e96a5707e8f3394e50711a603752ed3404e98adb561073b74f182fb4c3"
8341
+ },
8327
8342
  {
8328
8343
  "path": "modules/market-watch/module.json",
8329
8344
  "mode": "0000644",
8330
- "sha256": "9a1b8cbdc2cb3edef0b292557e53d388cf341f0f659b203635c113d68ab84716"
8345
+ "sha256": "a57233d9893fb24807dd6bceef619d34a8f1942763e263dfff92eaa05aef8f5a"
8331
8346
  },
8332
8347
  {
8333
8348
  "path": "modules/market-watch/pollers/hub-seed.js",
8334
8349
  "mode": "0000644",
8335
8350
  "sha256": "5841a7c735bfb98c154e48ac7215ef89dddc9173a87eeb9dc79d361176988772"
8336
8351
  },
8352
+ {
8353
+ "path": "modules/market-watch/pollers/weekly-ask.js",
8354
+ "mode": "0000644",
8355
+ "sha256": "535269c0fe725356d3d5ee6b3af3cf41f5e747ebe6e5892b1adc9a224d959199"
8356
+ },
8337
8357
  {
8338
8358
  "path": "modules/market-watch/pollers/weekly-run.js",
8339
8359
  "mode": "0000644",
8340
8360
  "sha256": "72667087f124c3436e875648fbd74d1a8ec305bd2b0487c83b9959183c7fc82b"
8341
8361
  },
8362
+ {
8363
+ "path": "modules/market-watch/public/hall-widget.js",
8364
+ "mode": "0000644",
8365
+ "sha256": "ee1d5cb0fa19081f38932caadcd97b1d071fadf92bc2fe6eff1d171b0b9d0c89"
8366
+ },
8367
+ {
8368
+ "path": "modules/market-watch/public/weekly-ask.css",
8369
+ "mode": "0000644",
8370
+ "sha256": "83f0d83fc26cd1db4a0c41ee644c5049b49fc135690a37ada371f19931e44cc9"
8371
+ },
8342
8372
  {
8343
8373
  "path": "modules/market-watch/research.js",
8344
8374
  "mode": "0000644",
8345
8375
  "sha256": "769e5a5d5dfd66a6c2dadbffe115f768cb259efe872f7600a53a0044baf6e6bc"
8346
8376
  },
8377
+ {
8378
+ "path": "modules/market-watch/routes/ask.js",
8379
+ "mode": "0000644",
8380
+ "sha256": "f8c94811414fad25af4088f8a4ed48e7b25b7ddbb5c2bdab8c73ce554618b220"
8381
+ },
8347
8382
  {
8348
8383
  "path": "modules/market-watch/run.js",
8349
8384
  "mode": "0000644",
@@ -8587,7 +8622,7 @@
8587
8622
  {
8588
8623
  "path": "modules/onboarding/routes/access-requests.js",
8589
8624
  "mode": "0000644",
8590
- "sha256": "c472b5060dfd0143275ff6769daac986a6cd46c7d722186653f9adaf641a83be"
8625
+ "sha256": "a52a652ab1a9eac317081e211509ea5adb17ddc811538aff878ca827f0d85312"
8591
8626
  },
8592
8627
  {
8593
8628
  "path": "modules/onboarding/routes/onboarding.js",
@@ -8677,7 +8712,7 @@
8677
8712
  {
8678
8713
  "path": "modules/platform-identity/account-logins.js",
8679
8714
  "mode": "0000644",
8680
- "sha256": "e97c8fc2096eff9db8186b01a0b56a1ce6ca259bee0b19639b7aa74f05f4c1b7"
8715
+ "sha256": "287ddbff0de072b9400d37d7f7caa87d6feeb96d2cf8da158839b6f979b712a2"
8681
8716
  },
8682
8717
  {
8683
8718
  "path": "modules/platform-identity/account-visibility.js",
@@ -9052,7 +9087,7 @@
9052
9087
  {
9053
9088
  "path": "modules/platform-identity/routes/my-projects.js",
9054
9089
  "mode": "0000644",
9055
- "sha256": "80c1e5746d3875e318751619cf0fa635eb37d0e50c40df87c574adb76e868270"
9090
+ "sha256": "3bbc3ff4859af2a245b7a00b7269c3f54f762bae5bf4c8c0112f7e97c1058232"
9056
9091
  },
9057
9092
  {
9058
9093
  "path": "modules/platform-identity/routes/profile.js",
@@ -9082,7 +9117,7 @@
9082
9117
  {
9083
9118
  "path": "modules/platform-identity/routes/sso.js",
9084
9119
  "mode": "0000644",
9085
- "sha256": "72c44fcab736baa9ed04fb72d28c3e0e4e3f94b97e97d7f36aaa6cd8bfb7e5af"
9120
+ "sha256": "3a9e4c5ef8d99b89c7e6a35d9e8c2788705be515958f250467b8db45db9bd51b"
9086
9121
  },
9087
9122
  {
9088
9123
  "path": "modules/platform-identity/scouting-authz.js",
@@ -11392,12 +11427,12 @@
11392
11427
  {
11393
11428
  "path": "package-lock.json",
11394
11429
  "mode": "0000644",
11395
- "sha256": "538e75547b022a21993846718836005f1ce515b6cacbeacdaf2bd950fddb1cc8"
11430
+ "sha256": "304f4ec63d821407a13b53821d0326738a2d237cfe13df56c0e6898033d8f99e"
11396
11431
  },
11397
11432
  {
11398
11433
  "path": "package.json",
11399
11434
  "mode": "0000644",
11400
- "sha256": "ea0a5b8f4bd3a23abb119e799db5de9505ac2bed3c7174806c4ac6c34b865d3d"
11435
+ "sha256": "5e313cdcf69ea3657d73f2aaf1291ebb7075dd82396e8562d1611a868af0f067"
11401
11436
  },
11402
11437
  {
11403
11438
  "path": "public-docs/index.html",
@@ -11417,7 +11452,7 @@
11417
11452
  {
11418
11453
  "path": "release-notes.json",
11419
11454
  "mode": "0000644",
11420
- "sha256": "76098fa523d64daa93da3923d0d5246ca2ec6770af4b8979336c7dc2862a8858"
11455
+ "sha256": "ce59bce2bedccd143a7af56884d5cfa65a0a850273d7769ba7a105b086dc772c"
11421
11456
  },
11422
11457
  {
11423
11458
  "path": "scripts/bongos/CLAUDE.md",
@@ -11602,7 +11637,7 @@
11602
11637
  {
11603
11638
  "path": "scripts/bongos/backfill-subagent-rewards.js",
11604
11639
  "mode": "0000644",
11605
- "sha256": "272796e9c9a013cdb8465042e32442d020f03f3d9e56c14462b884570f5791fa"
11640
+ "sha256": "51b4a49b07a791fe6360ac9769cbb25a13fe146b1923720837c27ebd59930603"
11606
11641
  },
11607
11642
  {
11608
11643
  "path": "scripts/bongos/backfill-task-rewards.js",
@@ -12642,7 +12677,7 @@
12642
12677
  {
12643
12678
  "path": "scripts/bongos/run-unit-tests.js",
12644
12679
  "mode": "0000644",
12645
- "sha256": "a2b4b661d2cb50902635c05e4294cc4307e68d2bb3116544c50146dedc994b9b"
12680
+ "sha256": "b18f796ef910e5257bb2c59509fac600f4c983b2e0e1fd2b7c96508d7a112e97"
12646
12681
  },
12647
12682
  {
12648
12683
  "path": "scripts/bongos/runner-drift.js",
@@ -14697,7 +14732,7 @@
14697
14732
  {
14698
14733
  "path": "scripts/hall-preview/server.js",
14699
14734
  "mode": "0000644",
14700
- "sha256": "2f4ef24574823adcf965826f590cb826696c7830d510124de75ddc1d03428e4e"
14735
+ "sha256": "741c1138778033de0f70a0c48ba6729730c30f34731d0b9d8f5ff0f645e8f04f"
14701
14736
  },
14702
14737
  {
14703
14738
  "path": "scripts/hall-preview/task-visual.js",
@@ -14807,7 +14842,7 @@
14807
14842
  {
14808
14843
  "path": "src/bongos/auth-idp.js",
14809
14844
  "mode": "0000644",
14810
- "sha256": "8e362f551d3498babd15ab6ff6d6e86ef70508a79f6c9ecc2549d01f95a22c24"
14845
+ "sha256": "4b09af84ebd162fe5c0d444f565df5b7fd8d52c395f9e1c5f57c228f76330b07"
14811
14846
  },
14812
14847
  {
14813
14848
  "path": "src/bongos/auth.js",
@@ -14842,7 +14877,7 @@
14842
14877
  {
14843
14878
  "path": "src/bongos/db-kernel.js",
14844
14879
  "mode": "0000644",
14845
- "sha256": "8fad7145df13e329eb47d0ec3fe3c9a284bdac956c3c7b3f7ff51435c2a69116"
14880
+ "sha256": "d9c52ace35dcad64a1ee16a15b66524eac5061b185dd323b9c3514d09a126c4c"
14846
14881
  },
14847
14882
  {
14848
14883
  "path": "src/bongos/db.js",
@@ -14942,7 +14977,7 @@
14942
14977
  {
14943
14978
  "path": "src/bongos/module-scope-map.js",
14944
14979
  "mode": "0000644",
14945
- "sha256": "6bb839e597b8f9176c51222210d60952a24bfa88927ba788c6f857fd363d8b8e"
14980
+ "sha256": "6596b54300b499386918b29dfb94bd954c4bce0500cf72786f874f53c61e0810"
14946
14981
  },
14947
14982
  {
14948
14983
  "path": "src/bongos/module-store.js",
@@ -15252,7 +15287,7 @@
15252
15287
  {
15253
15288
  "path": "src/module-api.js",
15254
15289
  "mode": "0000644",
15255
- "sha256": "8104d0ef07471964487deae59260b1acb032921d0094616a679d2f4c3ecf3b4e"
15290
+ "sha256": "5ee99bb85ff432ea246c616b4cd4ac76683a09965a70f513d20f6a4ea2b9f3c0"
15256
15291
  },
15257
15292
  {
15258
15293
  "path": "src/module-loader/catalog.js",
@@ -15367,7 +15402,7 @@
15367
15402
  {
15368
15403
  "path": "tests/account_logins.mjs",
15369
15404
  "mode": "0000644",
15370
- "sha256": "d0a484b74eb0b141d8c488ac9590ef3a468d34d620172aaf112ca459f1a84538"
15405
+ "sha256": "d113907b954e059adbff13edfb670dbd2389e9fc613597f6d2040769fe442147"
15371
15406
  },
15372
15407
  {
15373
15408
  "path": "tests/account_logins_db.mjs",
@@ -15887,7 +15922,7 @@
15887
15922
  {
15888
15923
  "path": "tests/backfill_subagent_rewards.mjs",
15889
15924
  "mode": "0000644",
15890
- "sha256": "64d4355c9e862369197c177b053df90801d9af773790aa7046c713da72c49c46"
15925
+ "sha256": "2d0a4f9027089282022d5db16bfc644c51357f1334b6b617006fb30d8543a0c0"
15891
15926
  },
15892
15927
  {
15893
15928
  "path": "tests/backfill_task_rewards.mjs",
@@ -16527,7 +16562,7 @@
16527
16562
  {
16528
16563
  "path": "tests/credit_grant.mjs",
16529
16564
  "mode": "0000644",
16530
- "sha256": "cd39bd1a8a48a3ff5a2a2caf2568b90d1d05500e60a81a03cb796368f1f4318d"
16565
+ "sha256": "28ea6201d0f130179a9343dfd0f94ba8cf1dea246986e583f2d390477919fc61"
16531
16566
  },
16532
16567
  {
16533
16568
  "path": "tests/credit_ledger_read.mjs",
@@ -16539,6 +16574,11 @@
16539
16574
  "mode": "0000644",
16540
16575
  "sha256": "e5e8b837da257a448de3f6702588a572c45a313935e532d0d342f819d76f4836"
16541
16576
  },
16577
+ {
16578
+ "path": "tests/credit_wording.mjs",
16579
+ "mode": "0000644",
16580
+ "sha256": "b17036a2c0556c53ed71e37e41ba949d28692d3e5f25fb3a3a75246a13ae4c88"
16581
+ },
16542
16582
  {
16543
16583
  "path": "tests/criterion_authoring_gate.mjs",
16544
16584
  "mode": "0000644",
@@ -17419,6 +17459,11 @@
17419
17459
  "mode": "0000644",
17420
17460
  "sha256": "5e55c31292190937e0d9c6b83b83357229fd01c83af0e125e10628118dafaf4f"
17421
17461
  },
17462
+ {
17463
+ "path": "tests/google_halls.mjs",
17464
+ "mode": "0000644",
17465
+ "sha256": "215758e06c5bf438eb50f40996b9166112b7ab1f7809eef5328b5545966d590f"
17466
+ },
17422
17467
  {
17423
17468
  "path": "tests/google_sign_in.mjs",
17424
17469
  "mode": "0000644",
@@ -18949,6 +18994,16 @@
18949
18994
  "mode": "0000644",
18950
18995
  "sha256": "57f8f41845527fa2920db22d209553b60741db27a1b103787cd125a14a39bdc2"
18951
18996
  },
18997
+ {
18998
+ "path": "tests/market_watch_ask.mjs",
18999
+ "mode": "0000644",
19000
+ "sha256": "6279ab4a3460444d893f4ff1d70eb8e37381f9e44ed9a825c3bd507460cea865"
19001
+ },
19002
+ {
19003
+ "path": "tests/market_watch_ask_db.mjs",
19004
+ "mode": "0000644",
19005
+ "sha256": "72c863f5d6995be5a8d86530f225902933349d498143b061f749da34c7d501c2"
19006
+ },
18952
19007
  {
18953
19008
  "path": "tests/market_watch_data.mjs",
18954
19009
  "mode": "0000644",
@@ -18957,12 +19012,12 @@
18957
19012
  {
18958
19013
  "path": "tests/market_watch_data_db.mjs",
18959
19014
  "mode": "0000644",
18960
- "sha256": "3de2fff55111bcd9adc876b225b6e734cc9fcb47a12e4f458d0704a8056cc212"
19015
+ "sha256": "c6f47ccc34e9acf639388ed5396aca7d4431800a9bc6b003b34fd2c16923b2c6"
18961
19016
  },
18962
19017
  {
18963
19018
  "path": "tests/market_watch_module.mjs",
18964
19019
  "mode": "0000644",
18965
- "sha256": "2999f0fe8c85d3810011370cca66732c174342d49f0149de2ae459004f9ee9b5"
19020
+ "sha256": "afdd81a6cb40f91f4cc477e0da5ace03110fa479ea1596615c921f966cd6d783"
18966
19021
  },
18967
19022
  {
18968
19023
  "path": "tests/market_watch_run.mjs",
@@ -19897,7 +19952,7 @@
19897
19952
  {
19898
19953
  "path": "tests/project_settings_page.mjs",
19899
19954
  "mode": "0000644",
19900
- "sha256": "40aa672f73488547faf38e7e734b2e8352e57d3cf45fc4b8ace3af272ff3039f"
19955
+ "sha256": "bb53a85341558132cc7073019638a60c4cb976dc984edb4101e59e23b0a96894"
19901
19956
  },
19902
19957
  {
19903
19958
  "path": "tests/project_settings_spend_cap_route.mjs",
@@ -20484,6 +20539,11 @@
20484
20539
  "mode": "0000644",
20485
20540
  "sha256": "f98a3d9635557d050f428c5ad3258ff1ef7652bf0f4fba87830cc09481b76e9b"
20486
20541
  },
20542
+ {
20543
+ "path": "tests/reward_cost_scale.mjs",
20544
+ "mode": "0000644",
20545
+ "sha256": "30a8bf88e78ed900a6e7d9326e6782ba159666d8d9aa958150771959dcc6faa6"
20546
+ },
20487
20547
  {
20488
20548
  "path": "tests/reward_gate.mjs",
20489
20549
  "mode": "0000644",
@@ -5,7 +5,7 @@ A **generated**, zero-dependency typed client for the Bongos API — produced fr
5
5
  by hand; it regenerates when the spec changes, so it can never drift from the routes.
6
6
 
7
7
  - API version: **v1** (served at `/api/bongos/v1`)
8
- - 634 operations across 79 resource groups
8
+ - 636 operations across 80 resource groups
9
9
 
10
10
  ## Use it from your project
11
11
 
@@ -754,6 +754,12 @@ function createClient(opts = {}) {
754
754
  // POST /llm-cache/store — rank: metic+archon — POST /llm-cache/store
755
755
  postLlmCacheStore: (args) => request("POST", "/llm-cache/store", { hasBody: true }, args),
756
756
  },
757
+ "marketWatch": {
758
+ // GET /market-watch/ask — rank: any-builder — GET /market-watch/ask
759
+ getMarketWatchAsk: (args) => request("GET", "/market-watch/ask", { hasBody: false }, args),
760
+ // POST /market-watch/ask/answer — rank: any-builder — POST /market-watch/ask/answer
761
+ postMarketWatchAskAnswer: (args) => request("POST", "/market-watch/ask/answer", { hasBody: true }, args),
762
+ },
757
763
  "me": {
758
764
  // GET /me — rank: any-builder — GET /me
759
765
  getMe: (args) => request("GET", "/me", { hasBody: false }, args),
@@ -753,6 +753,12 @@ function createClient(opts = {}) {
753
753
  // POST /llm-cache/store — rank: metic+archon — POST /llm-cache/store
754
754
  postLlmCacheStore: (args) => request("POST", "/llm-cache/store", { hasBody: true }, args),
755
755
  },
756
+ "marketWatch": {
757
+ // GET /market-watch/ask — rank: any-builder — GET /market-watch/ask
758
+ getMarketWatchAsk: (args) => request("GET", "/market-watch/ask", { hasBody: false }, args),
759
+ // POST /market-watch/ask/answer — rank: any-builder — POST /market-watch/ask/answer
760
+ postMarketWatchAskAnswer: (args) => request("POST", "/market-watch/ask/answer", { hasBody: true }, args),
761
+ },
756
762
  "me": {
757
763
  // GET /me — rank: any-builder — GET /me
758
764
  getMe: (args) => request("GET", "/me", { hasBody: false }, args),
@@ -107,6 +107,7 @@ export interface GetInboxTemplateResponse { template: unknown }
107
107
  export interface GetInboxVotesResponse { votes: unknown }
108
108
  export interface GetLeaderboardResponse { leaderboard: unknown; page: unknown }
109
109
  export interface GetLearningsResponse { learnings: unknown }
110
+ export interface GetMarketWatchAskResponse { card: unknown }
110
111
  export interface GetMeAchievementsResponse { unlocked: unknown }
111
112
  export interface GetMeCrossProjectResponse { hide_stats: boolean; profile_state: unknown; handle: unknown; display_name: unknown; bio: unknown; links: unknown; cross_project: unknown; account_visibility: unknown; recruiter_discoverable: unknown; recruiter_discoverable_effective: unknown }
112
113
  export interface GetMeDisplayNameResponse { display_name: unknown; max_length: unknown }
@@ -461,6 +462,7 @@ export interface PostLlmCacheLookupRequest { cache_key?: unknown; tokens_saved_e
461
462
  export interface PostLlmCacheLookupResponse { hit: boolean; result: unknown }
462
463
  export interface PostLlmCacheStoreRequest { spec?: unknown; result_stdout?: unknown; result_cost_usd?: unknown }
463
464
  export interface PostLlmCacheStoreResponse { stored: boolean; result_cost_usd?: unknown }
465
+ export interface PostMarketWatchAskAnswerRequest { week_of?: string; picks?: unknown[]; names?: unknown[]; nothing?: boolean; builder_id?: number }
464
466
  export interface PostMeAnthropicLinkRequest { anthropic_email: string; anthropic_user_id: string }
465
467
  export interface PostMeAnthropicLinkResponse { linked: unknown }
466
468
  export interface PostMeFilterViewsRequest { page: string; name: string; values: Record<string, unknown>; is_default?: boolean }
@@ -1371,6 +1373,12 @@ export interface BongosClient {
1371
1373
  /** POST /llm-cache/store — rank: metic+archon */
1372
1374
  postLlmCacheStore(args?: RequestArgs & { body?: PostLlmCacheStoreRequest }): Promise<PostLlmCacheStoreResponse>;
1373
1375
  };
1376
+ "marketWatch": {
1377
+ /** GET /market-watch/ask — rank: any-builder */
1378
+ getMarketWatchAsk(args?: RequestArgs): Promise<GetMarketWatchAskResponse>;
1379
+ /** POST /market-watch/ask/answer — rank: any-builder */
1380
+ postMarketWatchAskAnswer(args?: RequestArgs & { body?: PostMarketWatchAskAnswerRequest }): Promise<ApiResponse>;
1381
+ };
1374
1382
  "me": {
1375
1383
  /** GET /me — rank: any-builder */
1376
1384
  getMe(args?: RequestArgs): Promise<ApiResponse>;
@@ -750,6 +750,12 @@ export function createClient(opts = {}) {
750
750
  // POST /llm-cache/store — rank: metic+archon — POST /llm-cache/store
751
751
  postLlmCacheStore: (args) => request("POST", "/llm-cache/store", { hasBody: true }, args),
752
752
  },
753
+ "marketWatch": {
754
+ // GET /market-watch/ask — rank: any-builder — GET /market-watch/ask
755
+ getMarketWatchAsk: (args) => request("GET", "/market-watch/ask", { hasBody: false }, args),
756
+ // POST /market-watch/ask/answer — rank: any-builder — POST /market-watch/ask/answer
757
+ postMarketWatchAskAnswer: (args) => request("POST", "/market-watch/ask/answer", { hasBody: true }, args),
758
+ },
753
759
  "me": {
754
760
  // GET /me — rank: any-builder — GET /me
755
761
  getMe: (args) => request("GET", "/me", { hasBody: false }, args),
@@ -48,7 +48,6 @@
48
48
  },
49
49
  "reward": {
50
50
  "marginPct": 20,
51
- "usdPeg": 1,
52
51
  "mode": "cost-plus-and-estimate"
53
52
  },
54
53
  "models": {
@@ -39,3 +39,14 @@ Three things stood in the way:
39
39
  ## What this does not do
40
40
 
41
41
  It adds no other provider, no email codes and no passwords. It does not link accounts, show a Link GitHub chip, or guide anyone to GitHub (tasks 1004995–1004997).
42
+
43
+ ## Amendment — project halls take a Google-only person (task 1004994)
44
+
45
+ Decision 8's two refusals are lifted, without ever sending a minted key to a core that cannot take one:
46
+
47
+ - **A hall says it can.** Core's `idpAuthorizeUrl` adds `person_keys=1` to the hub authorize link. The hub's `/sso/authorize` hands a minted key only to a link that carries it (`hallTakesPersonKey`); an older hall's link does not, and the person reads a plain page saying the project needs an update. GitHub people are unchanged on every hall.
48
+ - **Joining is relayed by the stand-in.** `POST /my-projects/join` sends `~<handle>` with the application vouch for the person key. The hall's public `POST /access-requests` accepts a stand-in **only** with that vouch (a stand-in is not an identity anyone may type), and an older hall's `bad_github_login` refusal is said as "this project needs an update" (`needs_update`).
49
+ - **The approval is matched on the key, never the handle.** A handle can be renamed and later taken by someone else, so `hasInvitedAccessRequest(login, githubId)` matches a minted key on `applicant_github_id` alone; both hub sign-ins on a hall pass it. A vouch is accepted only when a negative key and a stand-in login come together.
50
+ - **People read the handle.** The hall's admission queue shows `ana`, not `~ana`.
51
+
52
+ Credits, ranks and community pages needed no change: the hub's check-in and rollup already take a negative key. Still open: a hall's command-line sign-in (`/sso/device/*`) is GitHub's device flow, so a Google-only person signs in to a hall in the browser; engineering work still needs GitHub (task 1004997).