@bongos/core 1.20.10 → 1.20.12

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.20.10",
6
- "core_contract": "1.20.10",
7
- "source_commit": "9d6a15fa234ae02da2d1d9b4b7196777bfe168b1",
5
+ "core_version": "1.20.12",
6
+ "core_contract": "1.20.12",
7
+ "source_commit": "157de30a7a166f1941ba54aaa8f57964f7f73362",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-09-30T04:50:43.194Z",
9
+ "built_at": "2026-09-30T11:33:34.437Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
12
  "docs_redacted": 556,
13
13
  "agent_docs_stubbed": 25,
14
- "functional_verbatim": 2624,
14
+ "functional_verbatim": 2626,
15
15
  "rules": 3,
16
16
  "gate_literals": 3,
17
17
  "gate": "passed"
18
18
  },
19
- "file_count": 3206,
20
- "tree_sha256": "e9c9cad3c2cb4ca49d04f623e63dac7a691ad9536524b1c7dbdabf8cfdcfa6b9",
19
+ "file_count": 3208,
20
+ "tree_sha256": "0da694c2943c85befcb0d6d52c1d9ae4480c66b425a0393140773878b4483763",
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": "655edd2659cc7ea8267529eb86f3a9454df4765f84ab5090208bab74b9befc93"
330
+ "sha256": "e02ae1f840ce2b9ba26906d22a71251f99093c1be99b7585d8d5492de6828247"
331
331
  },
332
332
  {
333
333
  "path": "clients/bongos-client/bongos-client.global.js",
334
334
  "mode": "0000644",
335
- "sha256": "1b5dfe77f736f8da7059734b1e38b7ae991810245799678235866ce7c2a02494"
335
+ "sha256": "d2eddb6398add51948e7facc2b3752a4bc9c2a1c5826cdade034328529389dd2"
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": "5fa483ccc721ed1b1ed715bfd01fe432486397eeb6d0ae8f6e504b3f28a8b72d"
345
+ "sha256": "aef980f7c979cf57ce9cba684e370301f0343e3e72a4ce9076875fa0efd4287e"
346
346
  },
347
347
  {
348
348
  "path": "clients/bongos-client/index.d.ts",
349
349
  "mode": "0000644",
350
- "sha256": "bb4de29e1723e57afe52bccbd86b22c768272917951551ac3612ba732efa8d07"
350
+ "sha256": "2fb562be1e4db7d2471f9ed6b7284d8b95071d9a365982c4721ff72febdfba63"
351
351
  },
352
352
  {
353
353
  "path": "clients/bongos-client/index.mjs",
354
354
  "mode": "0000644",
355
- "sha256": "bc339a45e590e5e5e1d3f75abb63e10304d2a980e20122bf8d1f44f1ee315277"
355
+ "sha256": "b99063352bcd42be68be647d30b838fdedcb0aef3c39a2b7a7849e9f80208fdd"
356
356
  },
357
357
  {
358
358
  "path": "clients/bongos-client/package.json",
@@ -2237,12 +2237,12 @@
2237
2237
  {
2238
2238
  "path": "docs/api-reference.md",
2239
2239
  "mode": "0000644",
2240
- "sha256": "822f6c627d3bf4b7470740dd6a6f37cfeaef934d88bd44cd8616534481d8c1cf"
2240
+ "sha256": "73b9c0372c8d6ddf88b0eec04695defbc219a826b8be9da71a24b5a1eb6ff060"
2241
2241
  },
2242
2242
  {
2243
2243
  "path": "docs/api/openapi.json",
2244
2244
  "mode": "0000644",
2245
- "sha256": "6dea7c163c31d7b5128ebaea93d97c03262a560f489fd68f0edba551dc46403b"
2245
+ "sha256": "c1360ad6a6659819a5a2db72cef07fd3631a3052745ef4fcf20075e9849f7fbd"
2246
2246
  },
2247
2247
  {
2248
2248
  "path": "docs/architecture.md",
@@ -2267,12 +2267,12 @@
2267
2267
  {
2268
2268
  "path": "docs/copy-inventory.md",
2269
2269
  "mode": "0000644",
2270
- "sha256": "3efebbe96dcf76fa9e6f30e66594641b906c8b04b1d9c4c3ea57a8634dc143d8"
2270
+ "sha256": "f4485fd6eecabff171add19c577d0c94b90b1e5e4e90e71f0af23bbd84085791"
2271
2271
  },
2272
2272
  {
2273
2273
  "path": "docs/copy-registry.json",
2274
2274
  "mode": "0000644",
2275
- "sha256": "efd6dd52270465cfc046d2283321e7513769807fe795c57e2207ac284dcf4a0b"
2275
+ "sha256": "f8b6e13542de4d3fe03cbfc6a4873c8a7fd7c3ea29e9b535d80c70d2d986340a"
2276
2276
  },
2277
2277
  {
2278
2278
  "path": "docs/design/apex-pass-2-direction.md",
@@ -2772,7 +2772,7 @@
2772
2772
  {
2773
2773
  "path": "docs/module-api-changelog.md",
2774
2774
  "mode": "0000644",
2775
- "sha256": "e8cdec0878fd4a4d01b317e417565a6b4eba969ddee1edc43b612df18882331c"
2775
+ "sha256": "86429e308db13d625c1255ae509c712448f405ada592fc1ea1c2fe6fe8866d46"
2776
2776
  },
2777
2777
  {
2778
2778
  "path": "docs/modules-contract.md",
@@ -2857,12 +2857,12 @@
2857
2857
  {
2858
2858
  "path": "docs/page-inventory.json",
2859
2859
  "mode": "0000644",
2860
- "sha256": "d5242323bc5db540dfa190d5b89c92af0bf6e0a36419d141705fb4d7f51ea39c"
2860
+ "sha256": "9e3397a30b8fa81b392a32b65f275209cb67021b7e74a4700e0ae9ff6d3c5e6b"
2861
2861
  },
2862
2862
  {
2863
2863
  "path": "docs/page-readings.json",
2864
2864
  "mode": "0000644",
2865
- "sha256": "3a08cbdaca08161fd7db132153a0e43badc9b7b156ad24825d38e2e760193226"
2865
+ "sha256": "b959e7b3c6b623f81e4f5752fa6573621c79d6e8948d18b2b4c939101e65930b"
2866
2866
  },
2867
2867
  {
2868
2868
  "path": "docs/project-context.template.md",
@@ -3944,6 +3944,11 @@
3944
3944
  "mode": "0000644",
3945
3945
  "sha256": "6f502903c02f48a65370d2ca167b42a5ea514bed38bb9862d34465ea627191f2"
3946
3946
  },
3947
+ {
3948
+ "path": "migrations/core_264_claimable_respects_dependencies.sql",
3949
+ "mode": "0000644",
3950
+ "sha256": "2f578b536ed624b204fc201c0a5e8033a2417c189c9caaa8f2148408f76ae481"
3951
+ },
3947
3952
  {
3948
3953
  "path": "modules/agents/CLAUDE.md",
3949
3954
  "mode": "0000644",
@@ -5327,7 +5332,7 @@
5327
5332
  {
5328
5333
  "path": "modules/hall-ui/public/panel.css",
5329
5334
  "mode": "0000644",
5330
- "sha256": "1e7d898054a987276450779ce2c265809fa51bc888e012e8a40a1d12b1f9afc9"
5335
+ "sha256": "1c4ed23b0f464fcac39b9c2c22badee7173da55e406a712087ff0b7610428f66"
5331
5336
  },
5332
5337
  {
5333
5338
  "path": "modules/hall-ui/public/primer.css",
@@ -5517,17 +5522,17 @@
5517
5522
  {
5518
5523
  "path": "modules/hall-ui/public/settings-specialities.js",
5519
5524
  "mode": "0000644",
5520
- "sha256": "9bc109f2e947f1db1525b937d350f46e5231cc14a9dd5db8fa1c97a2b46fe6d1"
5525
+ "sha256": "21ae179ba1c4ec8685d6d396a6f4c2b425255deae63c432408654d5b81ececc6"
5521
5526
  },
5522
5527
  {
5523
5528
  "path": "modules/hall-ui/public/settings.css",
5524
5529
  "mode": "0000644",
5525
- "sha256": "d73ab35cd887285813fe8d3f3f13ec8b0e2d179b1a9fb3cc910ea6caa7131607"
5530
+ "sha256": "7cbb7284616c451918169126d9dc691db3018c2b1cdc489097b551eb3a6854c6"
5526
5531
  },
5527
5532
  {
5528
5533
  "path": "modules/hall-ui/public/settings.html",
5529
5534
  "mode": "0000644",
5530
- "sha256": "da40973f4e06deeef7fb08d1b150ec189abd9e9d34e455f8003b19125d6cdb20"
5535
+ "sha256": "7c014effec71b2d13e8baa51ed0f96593128c2b06afd52f788af1cf63c0b4275"
5531
5536
  },
5532
5537
  {
5533
5538
  "path": "modules/hall-ui/public/settings.js",
@@ -5537,7 +5542,7 @@
5537
5542
  {
5538
5543
  "path": "modules/hall-ui/public/settings.states.json",
5539
5544
  "mode": "0000644",
5540
- "sha256": "54f12d63deb961cfe6d13ad0d9ccd6ca1defbc3a4bce1c036e2d93ed4281951b"
5545
+ "sha256": "02471f2612f2ac00d0324a316be17506455629333397f8d1a2a33b0fce24c8e6"
5541
5546
  },
5542
5547
  {
5543
5548
  "path": "modules/hall-ui/public/shell.js",
@@ -5772,7 +5777,7 @@
5772
5777
  {
5773
5778
  "path": "modules/hall-ui/records/panel-family.md",
5774
5779
  "mode": "0000644",
5775
- "sha256": "42e0d8cbb266e912c5ab034d2a88f11da310d4a4a8f61a87ce86a08b154d32d9"
5780
+ "sha256": "ea6521eec734a0c8d20ad8128398c5d9c85cf074060fdb9a85181dff2270ef5c"
5776
5781
  },
5777
5782
  {
5778
5783
  "path": "modules/hall-ui/records/reading-rooms.md",
@@ -6142,7 +6147,7 @@
6142
6147
  {
6143
6148
  "path": "modules/lifecycle/db-tasks.js",
6144
6149
  "mode": "0000644",
6145
- "sha256": "d0844d8f53c003e6026918ad2c132262a358b8c64951aa7927eace1e37fcd41f"
6150
+ "sha256": "bf527e80db47d586361be82ef568842e011484313f09cc6405d1c351f9e15df7"
6146
6151
  },
6147
6152
  {
6148
6153
  "path": "modules/lifecycle/db-versions.js",
@@ -8352,7 +8357,7 @@
8352
8357
  {
8353
8358
  "path": "modules/specialities/routes/specialities.js",
8354
8359
  "mode": "0000644",
8355
- "sha256": "2b5983c0014f6e103d6bee21256f696364498ed6f955db3043c12b69c84ac3c6"
8360
+ "sha256": "8e876e35e476b0954e0fa7a8e436f6835e6db5406fd791a8463bc0d030da421c"
8356
8361
  },
8357
8362
  {
8358
8363
  "path": "modules/specialities/skills.js",
@@ -8857,12 +8862,12 @@
8857
8862
  {
8858
8863
  "path": "package-lock.json",
8859
8864
  "mode": "0000644",
8860
- "sha256": "0660350e6576f3d4adf6ba443f6fb89ea1ca051bd032f76fab13c3eb30c05a0d"
8865
+ "sha256": "464fd91cbcd4c95177dde0d4e40720505686cfd677a575c0f7d7a8415f9a957b"
8861
8866
  },
8862
8867
  {
8863
8868
  "path": "package.json",
8864
8869
  "mode": "0000644",
8865
- "sha256": "574d3bd16219942073c8ddd9cc6dcf55d8a5836622a7291751af2f4f2ced739f"
8870
+ "sha256": "2f825d119f8d7b46e1f4ffab61515532848aa2634b53b6b66adbf1581bffc3b3"
8866
8871
  },
8867
8872
  {
8868
8873
  "path": "public-docs/index.html",
@@ -8882,7 +8887,7 @@
8882
8887
  {
8883
8888
  "path": "release-notes.json",
8884
8889
  "mode": "0000644",
8885
- "sha256": "1e3144f4283ef6be4c94cb49c513ab3bbbbac00ed89ae8a4946d06314bff0564"
8890
+ "sha256": "fdb871eaf32d4f1b1525a225cc5b28207359df70e1714f735eb060fac12743aa"
8886
8891
  },
8887
8892
  {
8888
8893
  "path": "scripts/bongos-mcp.js",
@@ -10572,7 +10577,7 @@
10572
10577
  {
10573
10578
  "path": "scripts/hall-preview/server.js",
10574
10579
  "mode": "0000644",
10575
- "sha256": "4529909a899a52180c5876d926be2ef2dc42a8bffef43d84c38dd9d399f2c5d2"
10580
+ "sha256": "974c71c0a21d62d5c702d611f1ff26c5e5e8eb58e3bb38271665bd56598b4200"
10576
10581
  },
10577
10582
  {
10578
10583
  "path": "scripts/hall-preview/task-visual.js",
@@ -10802,7 +10807,7 @@
10802
10807
  {
10803
10808
  "path": "src/bongos/optimizer.js",
10804
10809
  "mode": "0000644",
10805
- "sha256": "eaa5ba49269f8188222b0c979ea60e05f1e6ddc1a0ba8064f735a3f8ac25e0ce"
10810
+ "sha256": "70b093c1a7d3b9b7c169694a3dba463221297c14efde12efccf23b0a0a94dc4e"
10806
10811
  },
10807
10812
  {
10808
10813
  "path": "src/bongos/package-registry.js",
@@ -10997,7 +11002,7 @@
10997
11002
  {
10998
11003
  "path": "src/module-api.js",
10999
11004
  "mode": "0000644",
11000
- "sha256": "a0f39869818bd1f03c2aa67fe2d2dfcd62fab4a7f4c9c5ef2f69d91ab2325f08"
11005
+ "sha256": "159b8f961396d15ce8bf1a5589ec100b0b9b1d0bc02ccb8b1c37a8ce82512dd7"
11001
11006
  },
11002
11007
  {
11003
11008
  "path": "src/module-loader/catalog.js",
@@ -11697,7 +11702,7 @@
11697
11702
  {
11698
11703
  "path": "tests/claimable_blocker_status.mjs",
11699
11704
  "mode": "0000644",
11700
- "sha256": "1aae622cb425a287309bc68f5537d754ff9e31b2c4cd8506c7ec72288da69220"
11705
+ "sha256": "9106c65ea3c157953660a7e1af006724be9e781e1f74e95b36ccd76e20ffe987"
11701
11706
  },
11702
11707
  {
11703
11708
  "path": "tests/claims_bind_session.mjs",
@@ -15499,6 +15504,11 @@
15499
15504
  "mode": "0000644",
15500
15505
  "sha256": "9de6fbffd858190096bc22d556ccae101a6206adeee05bb146bd2a0a1a59d15c"
15501
15506
  },
15507
+ {
15508
+ "path": "tests/speciality_offer_ui.mjs",
15509
+ "mode": "0000644",
15510
+ "sha256": "31df61df6d4224cfe75c522d845d9baa004e627cd660e7770bf5ccc3ff4680df"
15511
+ },
15502
15512
  {
15503
15513
  "path": "tests/speciality_offered.mjs",
15504
15514
  "mode": "0000644",
@@ -15512,7 +15522,7 @@
15512
15522
  {
15513
15523
  "path": "tests/speciality_skills.mjs",
15514
15524
  "mode": "0000644",
15515
- "sha256": "391044e79f7ee0ef7b0f4c4fcf919c058d5cbe0c808162ad0d7e58004bf7404d"
15525
+ "sha256": "961eb1a8edc81d84eb567827998e0c5c3de1d288921b8ee70b1265ded4badf38"
15516
15526
  },
15517
15527
  {
15518
15528
  "path": "tests/speciality_walkthrough_ui.mjs",
@@ -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
- - 460 operations across 70 resource groups
8
+ - 461 operations across 70 resource groups
9
9
 
10
10
  ## Use it from your project
11
11
 
@@ -997,6 +997,8 @@ function createClient(opts = {}) {
997
997
  putSpecialitiesIdSkills: (args) => request("PUT", "/specialities/{id}/skills", { hasBody: true }, args),
998
998
  // POST /specialities/{id}/unoffer — rank: metic+archon — POST /specialities/:id/unoffer
999
999
  postSpecialitiesIdUnoffer: (args) => request("POST", "/specialities/{id}/unoffer", { hasBody: true }, args),
1000
+ // GET /specialities/installed-skills — rank: any-builder — GET /specialities/installed-skills
1001
+ getSpecialitiesInstalledSkills: (args) => request("GET", "/specialities/installed-skills", { hasBody: false }, args),
1000
1002
  // GET /specialities/offered — rank: any-builder — GET /specialities/offered
1001
1003
  getSpecialitiesOffered: (args) => request("GET", "/specialities/offered", { hasBody: false }, args),
1002
1004
  },
@@ -996,6 +996,8 @@ function createClient(opts = {}) {
996
996
  putSpecialitiesIdSkills: (args) => request("PUT", "/specialities/{id}/skills", { hasBody: true }, args),
997
997
  // POST /specialities/{id}/unoffer — rank: metic+archon — POST /specialities/:id/unoffer
998
998
  postSpecialitiesIdUnoffer: (args) => request("POST", "/specialities/{id}/unoffer", { hasBody: true }, args),
999
+ // GET /specialities/installed-skills — rank: any-builder — GET /specialities/installed-skills
1000
+ getSpecialitiesInstalledSkills: (args) => request("GET", "/specialities/installed-skills", { hasBody: false }, args),
999
1001
  // GET /specialities/offered — rank: any-builder — GET /specialities/offered
1000
1002
  getSpecialitiesOffered: (args) => request("GET", "/specialities/offered", { hasBody: false }, args),
1001
1003
  },
@@ -158,6 +158,7 @@ export interface GetSoftwareUpdateResponse { ok: boolean; update: unknown; door:
158
158
  export interface GetSpecialitiesIdDocumentsResponse { documents: unknown }
159
159
  export interface GetSpecialitiesIdResponse { speciality: unknown }
160
160
  export interface GetSpecialitiesIdSkillsResponse { speciality: unknown; adopted: boolean; enabled: unknown; skills: unknown }
161
+ export interface GetSpecialitiesInstalledSkillsResponse { skills: unknown }
161
162
  export interface GetSpecialitiesOfferedResponse { suggestions: unknown }
162
163
  export interface GetSpecialitiesResponse { specialities: unknown }
163
164
  export interface GetSsoPubkeyResponse { alg: unknown; format: unknown; public_key_b64: unknown }
@@ -1422,6 +1423,8 @@ export interface BongosClient {
1422
1423
  putSpecialitiesIdSkills(args: RequestArgs & { body: PutSpecialitiesIdSkillsRequest }): Promise<PutSpecialitiesIdSkillsResponse>;
1423
1424
  /** POST /specialities/{id}/unoffer — rank: metic+archon */
1424
1425
  postSpecialitiesIdUnoffer(args?: RequestArgs): Promise<PostSpecialitiesIdUnofferResponse>;
1426
+ /** GET /specialities/installed-skills — rank: any-builder */
1427
+ getSpecialitiesInstalledSkills(args?: RequestArgs): Promise<GetSpecialitiesInstalledSkillsResponse>;
1425
1428
  /** GET /specialities/offered — rank: any-builder */
1426
1429
  getSpecialitiesOffered(args?: RequestArgs): Promise<GetSpecialitiesOfferedResponse>;
1427
1430
  };
@@ -993,6 +993,8 @@ export function createClient(opts = {}) {
993
993
  putSpecialitiesIdSkills: (args) => request("PUT", "/specialities/{id}/skills", { hasBody: true }, args),
994
994
  // POST /specialities/{id}/unoffer — rank: metic+archon — POST /specialities/:id/unoffer
995
995
  postSpecialitiesIdUnoffer: (args) => request("POST", "/specialities/{id}/unoffer", { hasBody: true }, args),
996
+ // GET /specialities/installed-skills — rank: any-builder — GET /specialities/installed-skills
997
+ getSpecialitiesInstalledSkills: (args) => request("GET", "/specialities/installed-skills", { hasBody: false }, args),
996
998
  // GET /specialities/offered — rank: any-builder — GET /specialities/offered
997
999
  getSpecialitiesOffered: (args) => request("GET", "/specialities/offered", { hasBody: false }, args),
998
1000
  },
@@ -17805,6 +17805,44 @@
17805
17805
  ]
17806
17806
  }
17807
17807
  },
17808
+ "/specialities/installed-skills": {
17809
+ "get": {
17810
+ "operationId": "get_specialities_installed_skills",
17811
+ "tags": [
17812
+ "specialities"
17813
+ ],
17814
+ "summary": "GET /specialities/installed-skills",
17815
+ "description": "GET /specialities/installed-skills — every skill THIS instance has, each explained the way the adoption walkthrough explains it, so a speciality's owner can choose what it offers from the hall (task 1004404). The CHOICES only: the POST/PATCH `skills` check (unknown_skill) is still the rule, so a stale page that sends a name removed since is refused, not trusted. Nothing here is per-builder and the list is public knowledge of the install — every name is already materialised into each checkout's .claude/skills/. Mounted before '/specialities/:id' would capture it as an id. Read-only; rank: any builder.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
17816
+ "x-rank": "any-builder",
17817
+ "x-source": "modules/specialities/routes/specialities.js",
17818
+ "responses": {
17819
+ "200": {
17820
+ "description": "Success.",
17821
+ "content": {
17822
+ "application/json": {
17823
+ "schema": {
17824
+ "$ref": "#/components/schemas/GetSpecialitiesInstalledSkillsResponse"
17825
+ }
17826
+ }
17827
+ }
17828
+ },
17829
+ "400": {
17830
+ "$ref": "#/components/responses/BadRequest"
17831
+ },
17832
+ "401": {
17833
+ "$ref": "#/components/responses/Unauthorized"
17834
+ },
17835
+ "403": {
17836
+ "$ref": "#/components/responses/Forbidden"
17837
+ }
17838
+ },
17839
+ "security": [
17840
+ {
17841
+ "builderSession": []
17842
+ }
17843
+ ]
17844
+ }
17845
+ },
17808
17846
  "/specialities/offered": {
17809
17847
  "get": {
17810
17848
  "operationId": "get_specialities_offered",
@@ -23643,6 +23681,15 @@
23643
23681
  "skills"
23644
23682
  ]
23645
23683
  },
23684
+ "GetSpecialitiesInstalledSkillsResponse": {
23685
+ "type": "object",
23686
+ "properties": {
23687
+ "skills": {}
23688
+ },
23689
+ "required": [
23690
+ "skills"
23691
+ ]
23692
+ },
23646
23693
  "GetSpecialitiesOfferedResponse": {
23647
23694
  "type": "object",
23648
23695
  "properties": {
@@ -29474,9 +29521,9 @@
29474
29521
  "description": "A required dependency/feature is not configured or is temporarily down."
29475
29522
  }
29476
29523
  },
29477
- "x-endpoint-count": 460,
29478
- "x-schema-count": 492,
29524
+ "x-endpoint-count": 461,
29525
+ "x-schema-count": 493,
29479
29526
  "x-undocumented-bodies": 12,
29480
- "x-response-schemas": 334,
29527
+ "x-response-schemas": 335,
29481
29528
  "x-generated-by": "scripts/gds/gen-api-docs.js"
29482
29529
  }
@@ -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. 460 endpoints across 82 route files.
5
+ > **Generated from the live route files** — the route file is authoritative. 461 endpoints across 82 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`.
@@ -698,7 +698,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
698
698
  |---|---|---|---|---|
699
699
  | GET | `/api/bongos/software-update` | `any-builder` | — | GET /software-update — Settings → Software update (task 1004296): this project's core, the newest release its channel allows, what the ve… |
700
700
 
701
- ## `specialities` (14)
701
+ ## `specialities` (15)
702
702
 
703
703
  | Method | Path | Rank | Body | Description |
704
704
  |---|---|---|---|---|
@@ -715,6 +715,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
715
715
  | GET | `/api/bongos/specialities/:id/skills` | `any-builder` | — | GET /specialities/:id/skills — what the adoption WALKTHROUGH shows (task 1004073, ADR 0310 §3): each skill the speciality offers, explain… |
716
716
  | PUT | `/api/bongos/specialities/:id/skills` | `any-builder` | `enabled_skills` | PUT /specialities/:id/skills — the caller's ENABLED set for a speciality they hold (task 1004072, ADR 0310 §2). |
717
717
  | POST | `/api/bongos/specialities/:id/unoffer` | `metic+archon` | — | |
718
+ | GET | `/api/bongos/specialities/installed-skills` | `any-builder` | — | GET /specialities/installed-skills — every skill THIS instance has, each explained the way the adoption walkthrough explains it, so a spe… |
718
719
  | GET | `/api/bongos/specialities/offered` | `any-builder` | — | GET /specialities/offered — the suggestions for THIS builder. |
719
720
 
720
721
  ## `sso` (8)