@bongos/core 1.19.781 → 1.19.783

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.781",
6
- "core_contract": "1.19.781",
7
- "source_commit": "d45eac660796500d874b2c6381eb9c07be462935",
5
+ "core_version": "1.19.783",
6
+ "core_contract": "1.19.783",
7
+ "source_commit": "6e5366479023ac5cbbd19fda61ebf8abc48a6113",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-09-16T21:03:10.547Z",
9
+ "built_at": "2026-09-16T21:29:40.397Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
12
  "docs_redacted": 482,
13
13
  "agent_docs_stubbed": 25,
14
- "functional_verbatim": 2153,
14
+ "functional_verbatim": 2154,
15
15
  "rules": 3,
16
16
  "gate_literals": 3,
17
17
  "gate": "passed"
18
18
  },
19
- "file_count": 2660,
20
- "tree_sha256": "76c1ea968399be1d516e7abf97ecbd1b1fe812033d8ff2ddf81901b15c0aff15",
19
+ "file_count": 2661,
20
+ "tree_sha256": "76a7394b33c9a3c9d901bfc6016b4cc40c410b80f7958034ce571b72e952fdda",
21
21
  "files": [
22
22
  {
23
23
  "path": ".claude/skills/ask-for-help/SKILL.md",
@@ -347,12 +347,12 @@
347
347
  {
348
348
  "path": "clients/bongos-client/README.md",
349
349
  "mode": "0000644",
350
- "sha256": "3c2887d41b9799f5fba5a3a07f6107f4a9d612bdca1b3482d38f012448418b9b"
350
+ "sha256": "3960e4e1720e6f6613d2fe4fb1527b42b84a61b06b0daf480598e04362a86c2a"
351
351
  },
352
352
  {
353
353
  "path": "clients/bongos-client/bongos-client.global.js",
354
354
  "mode": "0000644",
355
- "sha256": "151c6fbf59b14c9ba14c2744b99284cfda4b6162cdc994b9365964359a1fc5b1"
355
+ "sha256": "9ee5a9c9f0fb8faac162bce68a06800ba74d2ccf1dd8ede4452b754b99d376db"
356
356
  },
357
357
  {
358
358
  "path": "clients/bongos-client/examples/hello-world.mjs",
@@ -362,17 +362,17 @@
362
362
  {
363
363
  "path": "clients/bongos-client/index.cjs",
364
364
  "mode": "0000644",
365
- "sha256": "d93fa1a8255ea141cd5973080e2af3de55b3ed25ac1814f94f72ece67f8819f5"
365
+ "sha256": "898a51f9a3f1f28f94fb978ae0954f8a85771fb158708bddbc4d6d766f854b34"
366
366
  },
367
367
  {
368
368
  "path": "clients/bongos-client/index.d.ts",
369
369
  "mode": "0000644",
370
- "sha256": "52d349f5bd6b6ddefcfdc5072128283d5f6d1be51220ab4af7259f249cdfb019"
370
+ "sha256": "b82c307a8a951980762cd4baa86088b37cfa1852c3265c1f4a709de8c8479b7e"
371
371
  },
372
372
  {
373
373
  "path": "clients/bongos-client/index.mjs",
374
374
  "mode": "0000644",
375
- "sha256": "6cd74496ecd53b2d7dfbb1a30277fa3fc7e7abd594a52e2544cf85bec8ef21d7"
375
+ "sha256": "47f940af83ee05d23d80b02f908ca76c3c8aefe5d5653f19b773017530b47245"
376
376
  },
377
377
  {
378
378
  "path": "clients/bongos-client/package.json",
@@ -1947,12 +1947,12 @@
1947
1947
  {
1948
1948
  "path": "docs/api-reference.md",
1949
1949
  "mode": "0000644",
1950
- "sha256": "ecf72d6a3402fe266f87bdea5bdb2e81da435ba819993daaa7070f082bb5f15c"
1950
+ "sha256": "4faa312df356d31b6e4bcc5d048d24a63ec380dff9605d42855e1a1033cc33fb"
1951
1951
  },
1952
1952
  {
1953
1953
  "path": "docs/api/openapi.json",
1954
1954
  "mode": "0000644",
1955
- "sha256": "ef49510b39bc3e319cace1389e03331c52105a985cea0771eb79cdffbbec4bb4"
1955
+ "sha256": "d2c3c4cf4d078d2f5cd9a5a7948ce10379a30c87c972f4c43d6c0e2e1a49afe9"
1956
1956
  },
1957
1957
  {
1958
1958
  "path": "docs/architecture.md",
@@ -1977,12 +1977,12 @@
1977
1977
  {
1978
1978
  "path": "docs/copy-inventory.md",
1979
1979
  "mode": "0000644",
1980
- "sha256": "99c6bc28a2ce69eb710a346b1733b712e1d8026cae36d9db03c318beadfd9c26"
1980
+ "sha256": "46d4de828ac9f55f3c5613dd0686035bfefb52aaf0e45058a177d72288356138"
1981
1981
  },
1982
1982
  {
1983
1983
  "path": "docs/copy-registry.json",
1984
1984
  "mode": "0000644",
1985
- "sha256": "dce65073cba5e640941f627c5cd7ebd480ec3e3caa8badd4aa1bef86c0aa54de"
1985
+ "sha256": "5d09f340f83e1f2da6b99be6e5e721dfc782e6b95b11f4fff185085e98442897"
1986
1986
  },
1987
1987
  {
1988
1988
  "path": "docs/design/apex-pass-2-direction.md",
@@ -2507,7 +2507,7 @@
2507
2507
  {
2508
2508
  "path": "docs/module-api-changelog.md",
2509
2509
  "mode": "0000644",
2510
- "sha256": "cf5cab9a32c28dae4029b2d175cd06e6a45f33114c0203392f478e8ee5d7e34f"
2510
+ "sha256": "a57c986ed1da32c1bd0bbb2724b8cf178e5df174970f1d1fac2b5a42d36d2279"
2511
2511
  },
2512
2512
  {
2513
2513
  "path": "docs/modules-contract.md",
@@ -3672,7 +3672,7 @@
3672
3672
  {
3673
3673
  "path": "modules/builder-settings/builder-needs.js",
3674
3674
  "mode": "0000644",
3675
- "sha256": "b0f97f1c6aacd5b39697044083f327ecf254592b638d59d12721c3ccdec2ef80"
3675
+ "sha256": "685c515e0498f2c6b63aee3e06b6b4e62a5e6a69a3d0f3d70b211656fe63bed2"
3676
3676
  },
3677
3677
  {
3678
3678
  "path": "modules/builder-settings/db.js",
@@ -4017,7 +4017,7 @@
4017
4017
  {
4018
4018
  "path": "modules/dev-box/app/src/vendor/bongos-client.cjs",
4019
4019
  "mode": "0000644",
4020
- "sha256": "d93fa1a8255ea141cd5973080e2af3de55b3ed25ac1814f94f72ece67f8819f5"
4020
+ "sha256": "898a51f9a3f1f28f94fb978ae0954f8a85771fb158708bddbc4d6d766f854b34"
4021
4021
  },
4022
4022
  {
4023
4023
  "path": "modules/dev-box/app/test/unit.mjs",
@@ -4632,22 +4632,22 @@
4632
4632
  {
4633
4633
  "path": "modules/hall-ui/public/collab-lib.js",
4634
4634
  "mode": "0000644",
4635
- "sha256": "5930395c551506e374c3e7ff89347f4151612ae336a18d8c13c6a725a3e844b4"
4635
+ "sha256": "32099a90da4ff3deb49027102d4a42b7616d5f576340e74e0416b0dd1588a408"
4636
4636
  },
4637
4637
  {
4638
4638
  "path": "modules/hall-ui/public/collab.css",
4639
4639
  "mode": "0000644",
4640
- "sha256": "b82d7f13cf07cc15b675c1182417f477886e5096aa43b0b4f4f363e3ec0ef63e"
4640
+ "sha256": "964d51e697532fa88c6f1da5cc0e46f47d25ecef3a5cdf55526d721eb781257a"
4641
4641
  },
4642
4642
  {
4643
4643
  "path": "modules/hall-ui/public/collab.html",
4644
4644
  "mode": "0000644",
4645
- "sha256": "24cfffc0a2ce625c4bb895a719a1fe02d6928ac395af16e4423cff6c41056292"
4645
+ "sha256": "1710a2bf97ffa11daff277148299751fe1ca468e038bfa98c5d62d60b914cbf9"
4646
4646
  },
4647
4647
  {
4648
4648
  "path": "modules/hall-ui/public/collab.js",
4649
4649
  "mode": "0000644",
4650
- "sha256": "3e953b00bbd57a248ed233b98b2451d8f49760bd066d5a58466860495c4d2e35"
4650
+ "sha256": "039a053ee61e4627b4eaa352c0f1d5c976e4ecbffede2dad9bde63d560e28d01"
4651
4651
  },
4652
4652
  {
4653
4653
  "path": "modules/hall-ui/public/collab.states.json",
@@ -5192,7 +5192,7 @@
5192
5192
  {
5193
5193
  "path": "modules/hall-ui/public/shell.js",
5194
5194
  "mode": "0000644",
5195
- "sha256": "6a65d9e227406198b198d5346fcc319f904d4bef3162771609c4480ed87c3c21"
5195
+ "sha256": "96fe28b7a05898c43830cf9f088f64869c3161ce659e84e4776c50313b563bf7"
5196
5196
  },
5197
5197
  {
5198
5198
  "path": "modules/hall-ui/public/ship.wav",
@@ -5552,7 +5552,7 @@
5552
5552
  {
5553
5553
  "path": "modules/lifecycle/help-requests.js",
5554
5554
  "mode": "0000644",
5555
- "sha256": "80eb723feef1875aaa81edf55c6a5b2441bb7dc72c6a6e96ab578026dd742a0f"
5555
+ "sha256": "8879e01093e74dc71386b401dd77f206d540bee3feeb001732bd6c8eff0dea99"
5556
5556
  },
5557
5557
  {
5558
5558
  "path": "modules/lifecycle/hierarchy.js",
@@ -5692,7 +5692,7 @@
5692
5692
  {
5693
5693
  "path": "modules/lifecycle/routes/help-requests.js",
5694
5694
  "mode": "0000644",
5695
- "sha256": "0e9430101ce99d0a84f1893d13bcf1434af13325c2ce531e693b6bce42cb9385"
5695
+ "sha256": "a4b72ce0451ef72f2daccbb013d84766798ab948448f5511b6c661832c1f4060"
5696
5696
  },
5697
5697
  {
5698
5698
  "path": "modules/lifecycle/routes/kickoff-seed.js",
@@ -7612,12 +7612,12 @@
7612
7612
  {
7613
7613
  "path": "package-lock.json",
7614
7614
  "mode": "0000644",
7615
- "sha256": "649f45c7edc727a1e32796caefe1848113a53872e435be1befbd23167e4a71a4"
7615
+ "sha256": "e998a3dbacba277f1fce790f6b672738f339819dd866d3bef1896aee8a44d4a8"
7616
7616
  },
7617
7617
  {
7618
7618
  "path": "package.json",
7619
7619
  "mode": "0000644",
7620
- "sha256": "71490018201c33eea331cb3aaa42d97bc024754b83b4b8d6622ec8aa736bdc30"
7620
+ "sha256": "914d6c6f028d4708afd08513c3e04f062098d14a4d08e2061c5051db928d026a"
7621
7621
  },
7622
7622
  {
7623
7623
  "path": "public-docs/index.html",
@@ -8977,7 +8977,7 @@
8977
8977
  {
8978
8978
  "path": "scripts/gds/start.js",
8979
8979
  "mode": "0000644",
8980
- "sha256": "6f871e5c89d2f256fbaf5b556a4ffacd5da86a72577d913b086a45893baf445a"
8980
+ "sha256": "3b9cbebddc633952450ee38c933e42b465bd107edb28532ada58a113d6b5cbe5"
8981
8981
  },
8982
8982
  {
8983
8983
  "path": "scripts/gds/status.js",
@@ -9477,7 +9477,7 @@
9477
9477
  {
9478
9478
  "path": "src/module-api.js",
9479
9479
  "mode": "0000644",
9480
- "sha256": "ae9fcf83cce465b20cd9d5fc34f88c58decace92ebfaf3fd0f2d477d8b46bc16"
9480
+ "sha256": "2b4da6b2263db105e394608f3043a0b7c1c46eb43b36928ccb2f761ccfb2ea6a"
9481
9481
  },
9482
9482
  {
9483
9483
  "path": "src/module-loader/catalog.js",
@@ -10032,7 +10032,7 @@
10032
10032
  {
10033
10033
  "path": "tests/builder_needs.mjs",
10034
10034
  "mode": "0000644",
10035
- "sha256": "dd3f0d37e31d41a51a8661a344ea5d6e3ccd652601caf0ff8b707b6a24d3a0ba"
10035
+ "sha256": "7e640af4e5bf8d0b388aa86689c67a10291fefa38b9de2523bf883baf036f503"
10036
10036
  },
10037
10037
  {
10038
10038
  "path": "tests/bump_version.mjs",
@@ -10197,7 +10197,7 @@
10197
10197
  {
10198
10198
  "path": "tests/collab_page.mjs",
10199
10199
  "mode": "0000644",
10200
- "sha256": "98408d2e16e0ca596a31e9e97588584717dae126e863323088b5457dfef24420"
10200
+ "sha256": "3f9e3ea6d2b88cd6592ba7b0575908eb020a072e6ccdb8cdf908bfba65b5191c"
10201
10201
  },
10202
10202
  {
10203
10203
  "path": "tests/conductor.mjs",
@@ -11142,7 +11142,7 @@
11142
11142
  {
11143
11143
  "path": "tests/hall_collab_world.mjs",
11144
11144
  "mode": "0000644",
11145
- "sha256": "051bf806c90c8d62f4ab38b25cb0c8c7b49f68858ab223d74b174cedecc13ac6"
11145
+ "sha256": "847b3c8ea9bfb6c4b047f311338934cedd7e59e3936552e7265612cd0e5302d7"
11146
11146
  },
11147
11147
  {
11148
11148
  "path": "tests/hall_error_envelope.mjs",
@@ -11162,7 +11162,7 @@
11162
11162
  {
11163
11163
  "path": "tests/hall_nav.mjs",
11164
11164
  "mode": "0000644",
11165
- "sha256": "4e50dc661c67c528892e53ac45014ffa0d3af45131dd8da21d4e11e66d38bf41"
11165
+ "sha256": "63ded71e9a99244d47831a7389d45c84acd147f5cf4f1274f6ba3d41fa7af473"
11166
11166
  },
11167
11167
  {
11168
11168
  "path": "tests/hall_oversight_world.mjs",
@@ -11237,7 +11237,7 @@
11237
11237
  {
11238
11238
  "path": "tests/help_requests.mjs",
11239
11239
  "mode": "0000644",
11240
- "sha256": "e1e1075e2f8ba4b52acba29804e5fd62443b823cfd15d4c50f0a93fcea0d13bd"
11240
+ "sha256": "6983852833e1a4fe0d13dad5e90b70fe4ede37338f281bf7595b41cd741bfc7b"
11241
11241
  },
11242
11242
  {
11243
11243
  "path": "tests/helpers.mjs",
@@ -12887,7 +12887,7 @@
12887
12887
  {
12888
12888
  "path": "tests/social_mode.mjs",
12889
12889
  "mode": "0000644",
12890
- "sha256": "24a37c1ee4a5d93374f0f4e2a15581962380d98e067b283f890834c008847fc2"
12890
+ "sha256": "c9576dd8d1406e738cde1db043f2f0728307356e37e6546e199d99714ae6836c"
12891
12891
  },
12892
12892
  {
12893
12893
  "path": "tests/sound_player.mjs",
@@ -12934,6 +12934,11 @@
12934
12934
  "mode": "0000644",
12935
12935
  "sha256": "dd7171dbc59e024de99a063763219237814cf4c943fb3d873cc324f3bfde7f25"
12936
12936
  },
12937
+ {
12938
+ "path": "tests/start_inbox_count.mjs",
12939
+ "mode": "0000644",
12940
+ "sha256": "525f37837e39059c1b40c99b117764ba0547b803f01d709e80354744ad3438b7"
12941
+ },
12937
12942
  {
12938
12943
  "path": "tests/start_rebase_warning.mjs",
12939
12944
  "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
- - 374 operations across 58 resource groups
8
+ - 375 operations across 58 resource groups
9
9
 
10
10
  ## Use it from your project
11
11
 
@@ -469,6 +469,8 @@ function createClient(opts = {}) {
469
469
  getHealthz: (args) => request("GET", "/healthz", { hasBody: false }, args),
470
470
  },
471
471
  "helpRequests": {
472
+ // GET /help-requests — rank: any-builder — GET /help-requests
473
+ getHelpRequests: (args) => request("GET", "/help-requests", { hasBody: false }, args),
472
474
  // POST /help-requests — rank: any-builder — POST /help-requests
473
475
  postHelpRequests: (args) => request("POST", "/help-requests", { hasBody: true }, args),
474
476
  // PATCH /help-requests/{id} — rank: any-builder — PATCH /help-requests/:id
@@ -468,6 +468,8 @@ function createClient(opts = {}) {
468
468
  getHealthz: (args) => request("GET", "/healthz", { hasBody: false }, args),
469
469
  },
470
470
  "helpRequests": {
471
+ // GET /help-requests — rank: any-builder — GET /help-requests
472
+ getHelpRequests: (args) => request("GET", "/help-requests", { hasBody: false }, args),
471
473
  // POST /help-requests — rank: any-builder — POST /help-requests
472
474
  postHelpRequests: (args) => request("POST", "/help-requests", { hasBody: true }, args),
473
475
  // PATCH /help-requests/{id} — rank: any-builder — PATCH /help-requests/:id
@@ -66,6 +66,7 @@ export interface GetGradesByBuilderResponse { window_days: unknown; builders: un
66
66
  export interface GetHealthzResponse { ok: boolean; auth_configured: unknown }
67
67
  export interface GetHelpRequestsForMeResponse { help_requests: unknown; count: unknown; crafts: unknown }
68
68
  export interface GetHelpRequestsMineResponse { help_requests: unknown; count: unknown }
69
+ export interface GetHelpRequestsResponse { help_requests: unknown; count: unknown }
69
70
  export interface GetInboxAwaitingNodResponse { awaiting: unknown; count: unknown }
70
71
  export interface GetInboxByBuilderIdResponse { builder_id: unknown; ideas: unknown; total: unknown; limit: unknown; offset: unknown }
71
72
  export interface GetInboxIdResponse { idea: unknown }
@@ -816,6 +817,8 @@ export interface BongosClient {
816
817
  getHealthz(args?: RequestArgs): Promise<GetHealthzResponse>;
817
818
  };
818
819
  "helpRequests": {
820
+ /** GET /help-requests — rank: any-builder */
821
+ getHelpRequests(args?: RequestArgs): Promise<GetHelpRequestsResponse>;
819
822
  /** POST /help-requests — rank: any-builder */
820
823
  postHelpRequests(args: RequestArgs & { body: PostHelpRequestsRequest }): Promise<PostHelpRequestsResponse>;
821
824
  /** PATCH /help-requests/{id} — rank: any-builder */
@@ -465,6 +465,8 @@ export function createClient(opts = {}) {
465
465
  getHealthz: (args) => request("GET", "/healthz", { hasBody: false }, args),
466
466
  },
467
467
  "helpRequests": {
468
+ // GET /help-requests — rank: any-builder — GET /help-requests
469
+ getHelpRequests: (args) => request("GET", "/help-requests", { hasBody: false }, args),
468
470
  // POST /help-requests — rank: any-builder — POST /help-requests
469
471
  postHelpRequests: (args) => request("POST", "/help-requests", { hasBody: true }, args),
470
472
  // PATCH /help-requests/{id} — rank: any-builder — PATCH /help-requests/:id
@@ -7772,6 +7772,42 @@
7772
7772
  }
7773
7773
  },
7774
7774
  "/help-requests": {
7775
+ "get": {
7776
+ "operationId": "get_help_requests",
7777
+ "tags": [
7778
+ "help-requests"
7779
+ ],
7780
+ "summary": "GET /help-requests",
7781
+ "description": "The BOARD read (task 1003942): every open ask in the project, newest first, for the Collab page's \"all open asks\" block. rank: any-builder — an ask is addressed inside this project and every reader here is a member; the route takes no craft and no builder from the caller, so there is nothing to widen.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
7782
+ "x-rank": "any-builder",
7783
+ "x-source": "modules/lifecycle/routes/help-requests.js",
7784
+ "responses": {
7785
+ "200": {
7786
+ "description": "Success.",
7787
+ "content": {
7788
+ "application/json": {
7789
+ "schema": {
7790
+ "$ref": "#/components/schemas/GetHelpRequestsResponse"
7791
+ }
7792
+ }
7793
+ }
7794
+ },
7795
+ "400": {
7796
+ "$ref": "#/components/responses/BadRequest"
7797
+ },
7798
+ "401": {
7799
+ "$ref": "#/components/responses/Unauthorized"
7800
+ },
7801
+ "403": {
7802
+ "$ref": "#/components/responses/Forbidden"
7803
+ }
7804
+ },
7805
+ "security": [
7806
+ {
7807
+ "builderSession": []
7808
+ }
7809
+ ]
7810
+ },
7775
7811
  "post": {
7776
7812
  "operationId": "post_help_requests",
7777
7813
  "tags": [
@@ -18009,6 +18045,17 @@
18009
18045
  "count"
18010
18046
  ]
18011
18047
  },
18048
+ "GetHelpRequestsResponse": {
18049
+ "type": "object",
18050
+ "properties": {
18051
+ "help_requests": {},
18052
+ "count": {}
18053
+ },
18054
+ "required": [
18055
+ "help_requests",
18056
+ "count"
18057
+ ]
18058
+ },
18012
18059
  "GetInboxAwaitingNodResponse": {
18013
18060
  "type": "object",
18014
18061
  "properties": {
@@ -23779,9 +23826,9 @@
23779
23826
  "description": "A required dependency/feature is not configured or is temporarily down."
23780
23827
  }
23781
23828
  },
23782
- "x-endpoint-count": 374,
23783
- "x-schema-count": 414,
23829
+ "x-endpoint-count": 375,
23830
+ "x-schema-count": 415,
23784
23831
  "x-undocumented-bodies": 9,
23785
- "x-response-schemas": 281,
23832
+ "x-response-schemas": 282,
23786
23833
  "x-generated-by": "scripts/gds/gen-api-docs.js"
23787
23834
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Bongos API reference
4
4
 
5
- > **Generated from the live route files** — the route file is authoritative. 374 endpoints across 61 route files.
5
+ > **Generated from the live route files** — the route file is authoritative. 375 endpoints across 61 route files.
6
6
  > Machine-readable spec: [`docs/api/openapi.json`](api/openapi.json) (OpenAPI 3.1). Rendered docs site: **`/docs`** (e.g. `cloudbongos.com/docs`).
7
7
 
8
8
  Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust-boundary-server-enforced-permissions.md)): `public` < `any-builder` < `metic+archon` < `archon`.
@@ -315,10 +315,11 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
315
315
  |---|---|---|---|---|
316
316
  | GET | `/api/bongos/healthz` | `public` | — | liveness probe; the status dashboard (status.<apex>) hits this anonymously. |
317
317
 
318
- ## `help-requests` (4)
318
+ ## `help-requests` (5)
319
319
 
320
320
  | Method | Path | Rank | Body | Description |
321
321
  |---|---|---|---|---|
322
+ | GET | `/api/bongos/help-requests` | `any-builder` | — | The BOARD read (task 1003942): every open ask in the project, newest first, for the Collab page's "all open asks" block. |
322
323
  | POST | `/api/bongos/help-requests` | `any-builder` | `needs_craft`, `needs_builder_id`, `what_is_stuck`, `task_id`, `goal_id` | asking for help is not a privileged act, and gating it would exclude exactly the newcomers most likely to be stuck. |
323
324
  | PATCH | `/api/bongos/help-requests/:id` | `any-builder` | `status` | Only the ASKER settles their own request: 'answered' when someone helped, 'withdrawn' when they no longer need it. |
324
325
  | GET | `/api/bongos/help-requests/for-me` | `any-builder` | — | The addressed read — C01's answer to "and fires a notification". |