@bongos/core 1.20.65 → 1.20.67

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.65",
6
- "core_contract": "1.20.65",
7
- "source_commit": "d83ddd9aee9444dee8d60cf40c8dcb9b3d32e296",
5
+ "core_version": "1.20.67",
6
+ "core_contract": "1.20.67",
7
+ "source_commit": "f9d377ba4db9a888be98ccdc33dfa744f2fe42e1",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-10-01T11:03:38.854Z",
9
+ "built_at": "2026-10-01T12:17:48.054Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
12
  "docs_redacted": 572,
13
13
  "agent_docs_stubbed": 27,
14
- "functional_verbatim": 2790,
14
+ "functional_verbatim": 2794,
15
15
  "rules": 3,
16
16
  "gate_literals": 3,
17
17
  "gate": "passed"
18
18
  },
19
- "file_count": 3390,
20
- "tree_sha256": "ede972bceb550b8da7d974492895636275f2f66415178c7632b00d1d85e3dbe0",
19
+ "file_count": 3394,
20
+ "tree_sha256": "29720287357c556122714254794fef70196d31c26ab8c996e135f629c207ddc4",
21
21
  "files": [
22
22
  {
23
23
  "path": ".claude/skills/ask-for-help/SKILL.md",
@@ -317,12 +317,12 @@
317
317
  {
318
318
  "path": "clients/bongos-client/README.md",
319
319
  "mode": "0000644",
320
- "sha256": "87352a8f884ec57b9263ac7596f8c66a5f353b633658304f2b531d31b9cf9b44"
320
+ "sha256": "3350163ed447189b523028f711e3ef1a400ea375ebe7123f2515add8b6a89de1"
321
321
  },
322
322
  {
323
323
  "path": "clients/bongos-client/bongos-client.global.js",
324
324
  "mode": "0000644",
325
- "sha256": "0a2e5d5157aeecb5ba74d68533e8267bc733f06eff2a72025c2fefce196c4c4e"
325
+ "sha256": "a863d3db1a112c490648e0f2b3eaddf3f2e8c9ebe107ec298ea5ff0c663a5e6a"
326
326
  },
327
327
  {
328
328
  "path": "clients/bongos-client/examples/hello-world.mjs",
@@ -332,17 +332,17 @@
332
332
  {
333
333
  "path": "clients/bongos-client/index.cjs",
334
334
  "mode": "0000644",
335
- "sha256": "1b62998873e5e55e5ddd827b48b4698e851859c667f2993d2552b79fae4e9009"
335
+ "sha256": "06bf39230e1c813494dc85130694754d1eb6b3fd55d3e93a684dd238bf6bc22b"
336
336
  },
337
337
  {
338
338
  "path": "clients/bongos-client/index.d.ts",
339
339
  "mode": "0000644",
340
- "sha256": "425cfa53b1e0bf7d7ff08675e7732312fe14e6b6bf84bb3d627beffbebbd73ad"
340
+ "sha256": "2345d96c47f3851443f8b1adc5dac4556705e7f63f9875a4c62252bf833f17d4"
341
341
  },
342
342
  {
343
343
  "path": "clients/bongos-client/index.mjs",
344
344
  "mode": "0000644",
345
- "sha256": "1a73be7803ba716ee5e03cdffdb807d2700d8cd398ce4f22a07a3fe809c3aa76"
345
+ "sha256": "313cfd428b7fd04a9fec6e56cdc1ddabb69af6ca144d7e09d2384a50d48b53df"
346
346
  },
347
347
  {
348
348
  "path": "clients/bongos-client/package.json",
@@ -2262,12 +2262,12 @@
2262
2262
  {
2263
2263
  "path": "docs/api-reference.md",
2264
2264
  "mode": "0000644",
2265
- "sha256": "630d2344ea6f8a380f99022dfab1d2c4a79b2c1804259f42f6954cb769536407"
2265
+ "sha256": "0abf904bcf32aef68bd70592d09cb986e4538cae62c2b9b268af8904d8a483fb"
2266
2266
  },
2267
2267
  {
2268
2268
  "path": "docs/api/openapi.json",
2269
2269
  "mode": "0000644",
2270
- "sha256": "bbfc9546a939b4472a734d121f4db659667ad2e647e005b882a7a7c76589a287"
2270
+ "sha256": "026ea9ba339051ada00869b8363718fae4fcded3be6eae98bcc60a37b9e844dc"
2271
2271
  },
2272
2272
  {
2273
2273
  "path": "docs/architecture.md",
@@ -2292,12 +2292,12 @@
2292
2292
  {
2293
2293
  "path": "docs/copy-inventory.md",
2294
2294
  "mode": "0000644",
2295
- "sha256": "765526f0b2be77a911f05073a341621c66f0dc58f811b1f1b0b6568f9fd66bb6"
2295
+ "sha256": "e9952e33a68f435169f1419d51516525720c199b3614ab498bed6ef88b1fcf9b"
2296
2296
  },
2297
2297
  {
2298
2298
  "path": "docs/copy-registry.json",
2299
2299
  "mode": "0000644",
2300
- "sha256": "cf0bb2d1df17c7959ed1b55ed0abbb38d19fe185a6ae04f3795031fe5a0215d1"
2300
+ "sha256": "6a22a22ab67b87b5c9f2a3e739456a3a25fda7f47f87d39387f07d11e640a9c5"
2301
2301
  },
2302
2302
  {
2303
2303
  "path": "docs/design/apex-pass-2-direction.md",
@@ -2802,7 +2802,7 @@
2802
2802
  {
2803
2803
  "path": "docs/module-api-changelog.md",
2804
2804
  "mode": "0000644",
2805
- "sha256": "9754d3deec186136216507d8dfc84c40eaf82c4ca40c63f48ad60884527452bf"
2805
+ "sha256": "0d8f18797252cebe1b06df77e839a7f7a96058f16ab5086d1b4d387f029a6d73"
2806
2806
  },
2807
2807
  {
2808
2808
  "path": "docs/modules-contract.md",
@@ -2892,7 +2892,7 @@
2892
2892
  {
2893
2893
  "path": "docs/page-readings.json",
2894
2894
  "mode": "0000644",
2895
- "sha256": "4ac5010fab3d565d448bfd39c14304f02a11fe9a3c788a7962b17d954b8e8742"
2895
+ "sha256": "c73ea1caffb844edabb207a75e6605fc3610de230413cf5f1d8d6cb20571c8b3"
2896
2896
  },
2897
2897
  {
2898
2898
  "path": "docs/project-context.template.md",
@@ -4762,7 +4762,7 @@
4762
4762
  {
4763
4763
  "path": "modules/government/catalog.js",
4764
4764
  "mode": "0000644",
4765
- "sha256": "0559d78f54b4b8a89ac4e6924d6dad4e2693a7e54f943532e83e4ac966868b76"
4765
+ "sha256": "f3d82f60997e944eb7108c36bafa9d9be8469c5980b5460abfdf410ffa601dea"
4766
4766
  },
4767
4767
  {
4768
4768
  "path": "modules/government/charter.js",
@@ -5527,7 +5527,7 @@
5527
5527
  {
5528
5528
  "path": "modules/hall-ui/public/goals-lib.js",
5529
5529
  "mode": "0000644",
5530
- "sha256": "943bb6fa906e2e864c40db2366032edf19030941c4fcc49522ad886138f30d32"
5530
+ "sha256": "e93fe0b2b5407638d5961f97b6b7066c87261f30e822f4b4a3ed8ca205d737a6"
5531
5531
  },
5532
5532
  {
5533
5533
  "path": "modules/hall-ui/public/goals-page.js",
@@ -5537,7 +5537,7 @@
5537
5537
  {
5538
5538
  "path": "modules/hall-ui/public/goals-render.js",
5539
5539
  "mode": "0000644",
5540
- "sha256": "b8d66321aaf0f14009a4bd73eef94e25e43da5bf604312955f3782591a050c2c"
5540
+ "sha256": "9e7b9b9fdaa84dba3abfe920277a7ac5d188e51b231e53264663ead766539af9"
5541
5541
  },
5542
5542
  {
5543
5543
  "path": "modules/hall-ui/public/goals.css",
@@ -6027,7 +6027,7 @@
6027
6027
  {
6028
6028
  "path": "modules/hall-ui/public/task.js",
6029
6029
  "mode": "0000644",
6030
- "sha256": "e8b6a31475d246619a3dd72003f6ee41254b296f6b7ba80bb5b114edd591c0e2"
6030
+ "sha256": "98b8c9991d9a2b99d95f9e007048a598a2c1d56340046f9de517e8c972f0a9f7"
6031
6031
  },
6032
6032
  {
6033
6033
  "path": "modules/hall-ui/public/task.states.json",
@@ -6654,10 +6654,15 @@
6654
6654
  "mode": "0000644",
6655
6655
  "sha256": "593c5a96579f1df60f1fa232f6f31414541372a8a5277126e78b5046bcd990ac"
6656
6656
  },
6657
+ {
6658
+ "path": "modules/lifecycle/goal-move.js",
6659
+ "mode": "0000644",
6660
+ "sha256": "9f176232145d0e173d9a7fd08906186c127749c409469b7af1c02b071c9f3d23"
6661
+ },
6657
6662
  {
6658
6663
  "path": "modules/lifecycle/goal-rollup.js",
6659
6664
  "mode": "0000644",
6660
- "sha256": "1debae561ef745ba22440ea2b32f27dd567e9e7ed56f8a5509e90fc1ddecd10e"
6665
+ "sha256": "646d48ee5c1e4d49a5824799a369595dfd1f63bd1c2d0f571c4e6b584b1202f5"
6661
6666
  },
6662
6667
  {
6663
6668
  "path": "modules/lifecycle/goal-suggest.js",
@@ -6792,7 +6797,7 @@
6792
6797
  {
6793
6798
  "path": "modules/lifecycle/module.json",
6794
6799
  "mode": "0000644",
6795
- "sha256": "75b5ab14761c7c83b44219a0d4540b064548a38ecb1de20eab540c5cbebf162b"
6800
+ "sha256": "4eaad6ef027c1e2f3baa2d589a963e721d1f4c20201ed003e412953ea570ee8e"
6796
6801
  },
6797
6802
  {
6798
6803
  "path": "modules/lifecycle/page-tweak-approve.js",
@@ -6909,6 +6914,11 @@
6909
6914
  "mode": "0000644",
6910
6915
  "sha256": "474b9fa9e13a731f39ab15de74a75ee4878155eb2236d25b0f12011c1df99583"
6911
6916
  },
6917
+ {
6918
+ "path": "modules/lifecycle/routes/goal-move.js",
6919
+ "mode": "0000644",
6920
+ "sha256": "9b5ed11cf59a69105d861fc6bd01bddc5c7d3d29913b4d1e9d8daf73434ea083"
6921
+ },
6912
6922
  {
6913
6923
  "path": "modules/lifecycle/routes/goal-route-authz.js",
6914
6924
  "mode": "0000644",
@@ -7042,7 +7052,7 @@
7042
7052
  {
7043
7053
  "path": "modules/lifecycle/task-status.js",
7044
7054
  "mode": "0000644",
7045
- "sha256": "28db8b28430bbb1bc901b300322ce42ed5e9254e0b934941d3647b83c92b2083"
7055
+ "sha256": "9f369ac7aa724834ea524e9b8325eb61121775f7329b8415882b63f0fb2413a1"
7046
7056
  },
7047
7057
  {
7048
7058
  "path": "modules/lifecycle/task-visual-db.js",
@@ -9447,12 +9457,12 @@
9447
9457
  {
9448
9458
  "path": "package-lock.json",
9449
9459
  "mode": "0000644",
9450
- "sha256": "9c2fa6e82319388a9b4b7c68acb6aabf12cf447cc9df068c9351540e39e41f6e"
9460
+ "sha256": "9be55c91a4dca24195b37382d26365f219573b3976277264ee1fe3ba22dfe26d"
9451
9461
  },
9452
9462
  {
9453
9463
  "path": "package.json",
9454
9464
  "mode": "0000644",
9455
- "sha256": "253fd4502f205668e930fb1863b1dbc47f376462139e3a33809d84bb62157110"
9465
+ "sha256": "de2bbaa1c168ead63aaa8b11cc97cc3d09ba3901600ca585cf89b6a0b6d1e28b"
9456
9466
  },
9457
9467
  {
9458
9468
  "path": "public-docs/index.html",
@@ -9472,7 +9482,7 @@
9472
9482
  {
9473
9483
  "path": "release-notes.json",
9474
9484
  "mode": "0000644",
9475
- "sha256": "e041a1335bad43a910cce4057eaf312ec70054008fef566a5b07f373fbddd8aa"
9485
+ "sha256": "7ab5e0a36ee422c30e77ac94e361201db8627303bb0b1832a3273a6f79623ab5"
9476
9486
  },
9477
9487
  {
9478
9488
  "path": "scripts/bongos-mcp.js",
@@ -10157,7 +10167,7 @@
10157
10167
  {
10158
10168
  "path": "scripts/gds/goal.js",
10159
10169
  "mode": "0000644",
10160
- "sha256": "6cd8b2e7d23a4a8351f4018d2eec9403bb7eb16391e77fa2583a5f4c612e3046"
10170
+ "sha256": "320841b1e4df014966ea9b6b70645ecb7915b412f94b8fa0d9835dae5b9446c5"
10161
10171
  },
10162
10172
  {
10163
10173
  "path": "scripts/gds/grade-correlation-audit.js",
@@ -11192,7 +11202,7 @@
11192
11202
  {
11193
11203
  "path": "scripts/hall-preview/refresh-fixtures.js",
11194
11204
  "mode": "0000644",
11195
- "sha256": "47341c63092f7966c97a6df38fc78e68ead92595b275a818ddd23b3c4bdd92f3"
11205
+ "sha256": "fa5796ae4a5171382a3d7584ef22ee73d7cf855d2a6b0f574041cb03a3a8cf5c"
11196
11206
  },
11197
11207
  {
11198
11208
  "path": "scripts/hall-preview/scrub-identity.js",
@@ -11492,7 +11502,7 @@
11492
11502
  {
11493
11503
  "path": "src/bongos/route-rank-check.js",
11494
11504
  "mode": "0000644",
11495
- "sha256": "3d7c62d9c3925bc1ebafeae7d90ff09fc22a09c75c2ec47382e12bcff8d017ad"
11505
+ "sha256": "c31e753d353b6c8c6b1f4e9af80a31afc995568aea9fd4ad8ab408e093a6f786"
11496
11506
  },
11497
11507
  {
11498
11508
  "path": "src/bongos/routes.js",
@@ -11652,7 +11662,7 @@
11652
11662
  {
11653
11663
  "path": "src/module-api.js",
11654
11664
  "mode": "0000644",
11655
- "sha256": "b8165107a23910ad35f528a86cd39ddff17a185fe7081f7cb8fb03f0c072a813"
11665
+ "sha256": "99c605fa0bdc5cda9e9d0d238d24cf2001a253ba3d6b26e3d0e8a18172c5db8f"
11656
11666
  },
11657
11667
  {
11658
11668
  "path": "src/module-loader/catalog.js",
@@ -12362,7 +12372,7 @@
12362
12372
  {
12363
12373
  "path": "tests/claim_from_task_and_home.mjs",
12364
12374
  "mode": "0000644",
12365
- "sha256": "71eb311b1b9c35c0bf5088089b16f51697b21dd662825f2c34d9123e8222510d"
12375
+ "sha256": "d401a998dae081c41b84f6726fb4470d443d6183127073b85fa978ada519e19c"
12366
12376
  },
12367
12377
  {
12368
12378
  "path": "tests/claim_gate_ci_unblock.mjs",
@@ -12784,6 +12794,11 @@
12784
12794
  "mode": "0000644",
12785
12795
  "sha256": "af5f2cbeb241470d4a819a8531aeb4069cbb4fe913bc479f3542661c39ce5ba7"
12786
12796
  },
12797
+ {
12798
+ "path": "tests/dep_blocked_ready_cards.mjs",
12799
+ "mode": "0000644",
12800
+ "sha256": "4a1d9c1476ff90ff1543376a2907d5b0d359114f425de492df32a75fb4af1b98"
12801
+ },
12787
12802
  {
12788
12803
  "path": "tests/dependencies_migration.mjs",
12789
12804
  "mode": "0000644",
@@ -13349,6 +13364,11 @@
13349
13364
  "mode": "0000644",
13350
13365
  "sha256": "a465047f1e25c6cdeedf75f53337851224b7207c95d5135d1353504b3c660087"
13351
13366
  },
13367
+ {
13368
+ "path": "tests/goal_move.mjs",
13369
+ "mode": "0000644",
13370
+ "sha256": "7a7caded5d4d1f26b9f37a4c2c55636adc6f10ad2633f2b3260d7c4f31ebacd8"
13371
+ },
13352
13372
  {
13353
13373
  "path": "tests/goal_names.mjs",
13354
13374
  "mode": "0000644",
@@ -13372,7 +13392,7 @@
13372
13392
  {
13373
13393
  "path": "tests/goal_sort_staleness.mjs",
13374
13394
  "mode": "0000644",
13375
- "sha256": "0d11ed0c0e9516466edc14c3b7ccaaa9a78b25019f99e04bda96f65a5b96848f"
13395
+ "sha256": "cab3b1a34a3f5a5d6d5868f8bbdc88e98159ae3104e520e3a7bf6308682c1b99"
13376
13396
  },
13377
13397
  {
13378
13398
  "path": "tests/goal_subtitle.mjs",
@@ -13417,7 +13437,7 @@
13417
13437
  {
13418
13438
  "path": "tests/goals_lib.mjs",
13419
13439
  "mode": "0000644",
13420
- "sha256": "92aa5dbf8eba0a0aaa34bf5d25aa439ef5a9265f5e8cd374c2334670a3cdc28d"
13440
+ "sha256": "f15ba51892ef04e37f3aadfcc5e35430e67217226233d9bb4864ae8023bfede7"
13421
13441
  },
13422
13442
  {
13423
13443
  "path": "tests/government_abuse_matrix.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
- - 484 operations across 73 resource groups
8
+ - 485 operations across 73 resource groups
9
9
 
10
10
  ## Use it from your project
11
11
 
@@ -449,6 +449,8 @@ function createClient(opts = {}) {
449
449
  postGoalsIdMembers: (args) => request("POST", "/goals/{id}/members", { hasBody: true }, args),
450
450
  // PATCH /goals/{id}/members/{builderId} — rank: any-builder — PATCH /goals/:id/members/:builderId
451
451
  patchGoalsIdMembersBuilderId: (args) => request("PATCH", "/goals/{id}/members/{builderId}", { hasBody: true }, args),
452
+ // POST /goals/{id}/move — rank: archon — POST /goals/:id/move
453
+ postGoalsIdMove: (args) => request("POST", "/goals/{id}/move", { hasBody: true }, args),
452
454
  // POST /goals/{id}/reopen — rank: metic+archon — POST /goals/:id/reopen
453
455
  postGoalsIdReopen: (args) => request("POST", "/goals/{id}/reopen", { hasBody: true }, args),
454
456
  // GET /goals/{id}/requests — rank: any-builder — GET /goals/:id/requests
@@ -448,6 +448,8 @@ function createClient(opts = {}) {
448
448
  postGoalsIdMembers: (args) => request("POST", "/goals/{id}/members", { hasBody: true }, args),
449
449
  // PATCH /goals/{id}/members/{builderId} — rank: any-builder — PATCH /goals/:id/members/:builderId
450
450
  patchGoalsIdMembersBuilderId: (args) => request("PATCH", "/goals/{id}/members/{builderId}", { hasBody: true }, args),
451
+ // POST /goals/{id}/move — rank: archon — POST /goals/:id/move
452
+ postGoalsIdMove: (args) => request("POST", "/goals/{id}/move", { hasBody: true }, args),
451
453
  // POST /goals/{id}/reopen — rank: metic+archon — POST /goals/:id/reopen
452
454
  postGoalsIdReopen: (args) => request("POST", "/goals/{id}/reopen", { hasBody: true }, args),
453
455
  // GET /goals/{id}/requests — rank: any-builder — GET /goals/:id/requests
@@ -320,6 +320,8 @@ export interface PostGoalsIdJoinResponse { ok: boolean; member: unknown }
320
320
  export interface PostGoalsIdLeaveResponse { ok: boolean }
321
321
  export interface PostGoalsIdMembersRequest { membership_kind?: string; builder_id?: StringifiableId }
322
322
  export interface PostGoalsIdMembersResponse { ok: boolean; member: unknown }
323
+ export interface PostGoalsIdMoveRequest { version_id: string; admit_reason?: string }
324
+ export interface PostGoalsIdMoveResponse { ok: boolean; goal: unknown; from_version_id: unknown; to_version_id: unknown; moved_task_ids: unknown; moved_criterion_ids: unknown; admitted: unknown }
323
325
  export interface PostGoalsIdReopenResponse { ok: boolean; goal: unknown }
324
326
  export interface PostGoalsIdRequestsReqIdRespondRequest { action: string }
325
327
  export interface PostGoalsIdRequestsReqIdRespondResponse { ok: boolean; action: unknown; request: unknown; member?: unknown }
@@ -893,6 +895,8 @@ export interface BongosClient {
893
895
  postGoalsIdMembers(args?: RequestArgs & { body?: PostGoalsIdMembersRequest }): Promise<PostGoalsIdMembersResponse>;
894
896
  /** PATCH /goals/{id}/members/{builderId} — rank: any-builder */
895
897
  patchGoalsIdMembersBuilderId(args: RequestArgs & { body: PatchGoalsIdMembersBuilderIdRequest }): Promise<PatchGoalsIdMembersBuilderIdResponse>;
898
+ /** POST /goals/{id}/move — rank: archon */
899
+ postGoalsIdMove(args: RequestArgs & { body: PostGoalsIdMoveRequest }): Promise<PostGoalsIdMoveResponse>;
896
900
  /** POST /goals/{id}/reopen — rank: metic+archon */
897
901
  postGoalsIdReopen(args?: RequestArgs): Promise<PostGoalsIdReopenResponse>;
898
902
  /** GET /goals/{id}/requests — rank: any-builder */
@@ -445,6 +445,8 @@ export function createClient(opts = {}) {
445
445
  postGoalsIdMembers: (args) => request("POST", "/goals/{id}/members", { hasBody: true }, args),
446
446
  // PATCH /goals/{id}/members/{builderId} — rank: any-builder — PATCH /goals/:id/members/:builderId
447
447
  patchGoalsIdMembersBuilderId: (args) => request("PATCH", "/goals/{id}/members/{builderId}", { hasBody: true }, args),
448
+ // POST /goals/{id}/move — rank: archon — POST /goals/:id/move
449
+ postGoalsIdMove: (args) => request("POST", "/goals/{id}/move", { hasBody: true }, args),
448
450
  // POST /goals/{id}/reopen — rank: metic+archon — POST /goals/:id/reopen
449
451
  postGoalsIdReopen: (args) => request("POST", "/goals/{id}/reopen", { hasBody: true }, args),
450
452
  // GET /goals/{id}/requests — rank: any-builder — GET /goals/:id/requests
@@ -7470,6 +7470,72 @@
7470
7470
  ]
7471
7471
  }
7472
7472
  },
7473
+ "/goals/{id}/move": {
7474
+ "post": {
7475
+ "operationId": "post_goals_id_move",
7476
+ "tags": [
7477
+ "goals"
7478
+ ],
7479
+ "summary": "POST /goals/:id/move",
7480
+ "description": "(perm:version.create) — re-homes a goal and its tasks across versions.\n\n**Rank:** `archon` — Archon only (rank and identity management + the escalation keys — the trust boundary).\n\n**Permissions:** `version.create` (all required).",
7481
+ "x-rank": "archon",
7482
+ "x-source": "modules/lifecycle/routes/goal-move.js",
7483
+ "x-permissions": [
7484
+ "version.create"
7485
+ ],
7486
+ "parameters": [
7487
+ {
7488
+ "name": "id",
7489
+ "in": "path",
7490
+ "required": true,
7491
+ "schema": {
7492
+ "type": "string"
7493
+ },
7494
+ "description": "Path parameter `id`."
7495
+ }
7496
+ ],
7497
+ "requestBody": {
7498
+ "required": true,
7499
+ "content": {
7500
+ "application/json": {
7501
+ "schema": {
7502
+ "$ref": "#/components/schemas/PostGoalsIdMoveRequest"
7503
+ }
7504
+ }
7505
+ },
7506
+ "x-validated": true
7507
+ },
7508
+ "responses": {
7509
+ "200": {
7510
+ "description": "Success.",
7511
+ "content": {
7512
+ "application/json": {
7513
+ "schema": {
7514
+ "$ref": "#/components/schemas/PostGoalsIdMoveResponse"
7515
+ }
7516
+ }
7517
+ }
7518
+ },
7519
+ "400": {
7520
+ "$ref": "#/components/responses/ValidationFailed"
7521
+ },
7522
+ "401": {
7523
+ "$ref": "#/components/responses/Unauthorized"
7524
+ },
7525
+ "403": {
7526
+ "$ref": "#/components/responses/Forbidden"
7527
+ },
7528
+ "404": {
7529
+ "$ref": "#/components/responses/NotFound"
7530
+ }
7531
+ },
7532
+ "security": [
7533
+ {
7534
+ "builderSession": []
7535
+ }
7536
+ ]
7537
+ }
7538
+ },
7473
7539
  "/goals/{id}/reopen": {
7474
7540
  "post": {
7475
7541
  "operationId": "post_goals_id_reopen",
@@ -27248,6 +27314,47 @@
27248
27314
  "member"
27249
27315
  ]
27250
27316
  },
27317
+ "PostGoalsIdMoveRequest": {
27318
+ "type": "object",
27319
+ "properties": {
27320
+ "version_id": {
27321
+ "type": "string",
27322
+ "minLength": 1,
27323
+ "maxLength": 64
27324
+ },
27325
+ "admit_reason": {
27326
+ "type": "string",
27327
+ "maxLength": 2000
27328
+ }
27329
+ },
27330
+ "required": [
27331
+ "version_id"
27332
+ ],
27333
+ "additionalProperties": false
27334
+ },
27335
+ "PostGoalsIdMoveResponse": {
27336
+ "type": "object",
27337
+ "properties": {
27338
+ "ok": {
27339
+ "type": "boolean"
27340
+ },
27341
+ "goal": {},
27342
+ "from_version_id": {},
27343
+ "to_version_id": {},
27344
+ "moved_task_ids": {},
27345
+ "moved_criterion_ids": {},
27346
+ "admitted": {}
27347
+ },
27348
+ "required": [
27349
+ "ok",
27350
+ "goal",
27351
+ "from_version_id",
27352
+ "to_version_id",
27353
+ "moved_task_ids",
27354
+ "moved_criterion_ids",
27355
+ "admitted"
27356
+ ]
27357
+ },
27251
27358
  "PostGoalsIdReopenResponse": {
27252
27359
  "type": "object",
27253
27360
  "properties": {
@@ -30890,9 +30997,9 @@
30890
30997
  "description": "A required dependency/feature is not configured or is temporarily down."
30891
30998
  }
30892
30999
  },
30893
- "x-endpoint-count": 484,
30894
- "x-schema-count": 511,
31000
+ "x-endpoint-count": 485,
31001
+ "x-schema-count": 513,
30895
31002
  "x-undocumented-bodies": 12,
30896
- "x-response-schemas": 342,
31003
+ "x-response-schemas": 343,
30897
31004
  "x-generated-by": "scripts/gds/gen-api-docs.js"
30898
31005
  }
@@ -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. 484 endpoints across 88 route files.
5
+ > **Generated from the live route files** — the route file is authoritative. 485 endpoints across 89 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`.
@@ -296,7 +296,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
296
296
  | POST | `/api/bongos/goal-task-relevance/:id/decide` | `metic+archon` | `decision`, `note` | task.promote — same atom as the read (task.promote's own gate). |
297
297
  | GET | `/api/bongos/goal-task-relevance/pending` | `metic+archon` | — | task.promote (metic+archon) — the reused review-queue atom. |
298
298
 
299
- ## `goals` (33)
299
+ ## `goals` (34)
300
300
 
301
301
  | Method | Path | Rank | Body | Description |
302
302
  |---|---|---|---|---|
@@ -317,6 +317,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
317
317
  | POST | `/api/bongos/goals/:id/leave` | `any-builder` | — | POST /goals/:id/leave — leave a goal you're in. |
318
318
  | POST | `/api/bongos/goals/:id/members` | `any-builder` | `membership_kind`, `builder_id` | POST /goals/:id/members — the goal's own authority (owner \| manager \| Archon) invites a builder to the goal (task 1762: widened from Arch… |
319
319
  | PATCH | `/api/bongos/goals/:id/members/:builderId` | `any-builder` | `membership_kind` | PATCH /goals/:id/members/:builderId — membership management by the goal's own authority (task 1735): the owner, a manager, or an Archon p… |
320
+ | POST | `/api/bongos/goals/:id/move` | `archon` | `version_id`, `admit_reason` | (perm:version.create) — re-homes a goal and its tasks across versions. |
320
321
  | POST | `/api/bongos/goals/:id/reopen` | `metic+archon` | — | POST /goals/:id/reopen — bring an archived goal back to open (ADR 0086 §6 / BV1.R64). |
321
322
  | GET | `/api/bongos/goals/:id/requests` | `any-builder` | — | GET /goals/:id/requests — the goal's own pending invite/join-request queue (task 1953): every pending row on THIS goal, both kinds — outs… |
322
323
  | POST | `/api/bongos/goals/:id/requests` | `any-builder` | `note` | POST /goals/:id/requests — a builder asks to join a (private or protected) goal (task 1952 / ADR 0112). |