@bongos/core 1.19.375 → 1.19.376
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 +47 -32
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +2 -0
- package/clients/bongos-client/index.cjs +2 -0
- package/clients/bongos-client/index.d.ts +5 -1
- package/clients/bongos-client/index.mjs +2 -0
- package/docs/api/openapi.json +76 -5
- package/docs/api-reference.md +4 -3
- package/docs/copy-inventory.md +128 -127
- package/docs/copy-registry.json +175 -156
- package/migrations/core_227_task_created_by.sql +83 -0
- package/modules/dev-box/app/src/vendor/bongos-client.cjs +2 -0
- package/modules/hall-ui/public/goals-lib.js +5 -5
- package/modules/hall-ui/public/goals-page.js +54 -23
- package/modules/hall-ui/public/goals-render.js +15 -0
- package/modules/hall-ui/public/task-lib.js +29 -0
- package/modules/hall-ui/public/work.js +117 -5
- package/modules/ideas/inbox.js +4 -0
- package/modules/lifecycle/db-tasks.js +61 -5
- package/modules/lifecycle/goal-rollup.js +118 -0
- package/modules/lifecycle/routes/goals.js +26 -0
- package/modules/lifecycle/routes/task-write-routes.js +3 -0
- package/modules/lifecycle/routes/tasks.js +47 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/src/module-api.js +3 -1
- package/tests/goal_sort_staleness.mjs +286 -0
- package/tests/goal_subtitle.mjs +6 -1
- package/tests/goals_lib.mjs +16 -4
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.
|
|
6
|
-
"core_contract": "1.19.
|
|
7
|
-
"source_commit": "
|
|
5
|
+
"core_version": "1.19.376",
|
|
6
|
+
"core_contract": "1.19.376",
|
|
7
|
+
"source_commit": "a431d7ef6e3018eeb8b16fbf2616b7b99ec4d5d5",
|
|
8
8
|
"source_ref": "HEAD",
|
|
9
|
-
"built_at": "2026-08-25T23:
|
|
9
|
+
"built_at": "2026-08-25T23:21:03.279Z",
|
|
10
10
|
"redaction": {
|
|
11
11
|
"model": "docs-redacted+functional-verbatim",
|
|
12
12
|
"docs_redacted": 335,
|
|
13
13
|
"agent_docs_stubbed": 22,
|
|
14
|
-
"functional_verbatim":
|
|
14
|
+
"functional_verbatim": 1557,
|
|
15
15
|
"rules": 3,
|
|
16
16
|
"gate_literals": 3,
|
|
17
17
|
"gate": "passed"
|
|
18
18
|
},
|
|
19
|
-
"file_count":
|
|
20
|
-
"tree_sha256": "
|
|
19
|
+
"file_count": 1914,
|
|
20
|
+
"tree_sha256": "6c7b5981caac40dce57dfecbee01587f18c3b4e5b4cb8fa65ebde70c9869ef53",
|
|
21
21
|
"files": [
|
|
22
22
|
{
|
|
23
23
|
"path": ".claude/skills/blocker-review/SKILL.md",
|
|
@@ -347,12 +347,12 @@
|
|
|
347
347
|
{
|
|
348
348
|
"path": "clients/bongos-client/README.md",
|
|
349
349
|
"mode": "0000644",
|
|
350
|
-
"sha256": "
|
|
350
|
+
"sha256": "c35dae1d34955947517c4481105267b0153f921a8db4b4c5d3b5293ab4b7987d"
|
|
351
351
|
},
|
|
352
352
|
{
|
|
353
353
|
"path": "clients/bongos-client/bongos-client.global.js",
|
|
354
354
|
"mode": "0000644",
|
|
355
|
-
"sha256": "
|
|
355
|
+
"sha256": "05629fc4ba2d8b3c965a1e8eadee5aece7ffbb446fb473d720df890d28b2ccba"
|
|
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": "
|
|
365
|
+
"sha256": "e72156a07def001a8ac5ca95920f079c55a49bd0fd713fd22a06a6b84d7957d3"
|
|
366
366
|
},
|
|
367
367
|
{
|
|
368
368
|
"path": "clients/bongos-client/index.d.ts",
|
|
369
369
|
"mode": "0000644",
|
|
370
|
-
"sha256": "
|
|
370
|
+
"sha256": "28f456a1b259b898b4bfc0d353c9877b5f10828beae478c2ee6aa1a66e64c33a"
|
|
371
371
|
},
|
|
372
372
|
{
|
|
373
373
|
"path": "clients/bongos-client/index.mjs",
|
|
374
374
|
"mode": "0000644",
|
|
375
|
-
"sha256": "
|
|
375
|
+
"sha256": "7332b346c70cf367f441ba15aa19a0c35180d98239b3525bc2c26285e94c6eb7"
|
|
376
376
|
},
|
|
377
377
|
{
|
|
378
378
|
"path": "clients/bongos-client/package.json",
|
|
@@ -1477,12 +1477,12 @@
|
|
|
1477
1477
|
{
|
|
1478
1478
|
"path": "docs/api-reference.md",
|
|
1479
1479
|
"mode": "0000644",
|
|
1480
|
-
"sha256": "
|
|
1480
|
+
"sha256": "96e9749fd1a6061c3ae96edf1da81a42fc6f89144bca6844870e5abcc7aeb7fe"
|
|
1481
1481
|
},
|
|
1482
1482
|
{
|
|
1483
1483
|
"path": "docs/api/openapi.json",
|
|
1484
1484
|
"mode": "0000644",
|
|
1485
|
-
"sha256": "
|
|
1485
|
+
"sha256": "a743ea7c9fbe29419a6efc5978472c8fa27da2178eef34edbc988574990733f8"
|
|
1486
1486
|
},
|
|
1487
1487
|
{
|
|
1488
1488
|
"path": "docs/architecture.md",
|
|
@@ -1507,12 +1507,12 @@
|
|
|
1507
1507
|
{
|
|
1508
1508
|
"path": "docs/copy-inventory.md",
|
|
1509
1509
|
"mode": "0000644",
|
|
1510
|
-
"sha256": "
|
|
1510
|
+
"sha256": "0b1369b8f91cd2058ff958fb7dbc97d223eaf740b779123ba1485d6473bcf652"
|
|
1511
1511
|
},
|
|
1512
1512
|
{
|
|
1513
1513
|
"path": "docs/copy-registry.json",
|
|
1514
1514
|
"mode": "0000644",
|
|
1515
|
-
"sha256": "
|
|
1515
|
+
"sha256": "08a804d711a6345dd89bfc0a0b908b0e40ee7fe5c563bf7ba9bd12dad0123735"
|
|
1516
1516
|
},
|
|
1517
1517
|
{
|
|
1518
1518
|
"path": "docs/design-contract.md",
|
|
@@ -2534,6 +2534,11 @@
|
|
|
2534
2534
|
"mode": "0000644",
|
|
2535
2535
|
"sha256": "322578d3d22b87eb07c4b9b4b521c66b0c986a937c3657d0b90123f73867461d"
|
|
2536
2536
|
},
|
|
2537
|
+
{
|
|
2538
|
+
"path": "migrations/core_227_task_created_by.sql",
|
|
2539
|
+
"mode": "0000644",
|
|
2540
|
+
"sha256": "b3fbc5d91adf6c6021859bdd8050015c0449360eb33d70c71fdeda0cc1276dd3"
|
|
2541
|
+
},
|
|
2537
2542
|
{
|
|
2538
2543
|
"path": "modules/agents/migrations/agents_001_definitions.sql",
|
|
2539
2544
|
"mode": "0000644",
|
|
@@ -2917,7 +2922,7 @@
|
|
|
2917
2922
|
{
|
|
2918
2923
|
"path": "modules/dev-box/app/src/vendor/bongos-client.cjs",
|
|
2919
2924
|
"mode": "0000644",
|
|
2920
|
-
"sha256": "
|
|
2925
|
+
"sha256": "e72156a07def001a8ac5ca95920f079c55a49bd0fd713fd22a06a6b84d7957d3"
|
|
2921
2926
|
},
|
|
2922
2927
|
{
|
|
2923
2928
|
"path": "modules/dev-box/app/test/unit.mjs",
|
|
@@ -3572,17 +3577,17 @@
|
|
|
3572
3577
|
{
|
|
3573
3578
|
"path": "modules/hall-ui/public/goals-lib.js",
|
|
3574
3579
|
"mode": "0000644",
|
|
3575
|
-
"sha256": "
|
|
3580
|
+
"sha256": "c3c4774664474b245a9eae081e41e9d9659cfbefa68b97651f58d5331b1f601b"
|
|
3576
3581
|
},
|
|
3577
3582
|
{
|
|
3578
3583
|
"path": "modules/hall-ui/public/goals-page.js",
|
|
3579
3584
|
"mode": "0000644",
|
|
3580
|
-
"sha256": "
|
|
3585
|
+
"sha256": "968063dbbdbe060a855dde61d3e2db8ade8869f09ab1024dfb20582b1a15ceeb"
|
|
3581
3586
|
},
|
|
3582
3587
|
{
|
|
3583
3588
|
"path": "modules/hall-ui/public/goals-render.js",
|
|
3584
3589
|
"mode": "0000644",
|
|
3585
|
-
"sha256": "
|
|
3590
|
+
"sha256": "99c81d1ea257d64c312e0917379b4437ba9b645ae8ba74809a1a05a095280bba"
|
|
3586
3591
|
},
|
|
3587
3592
|
{
|
|
3588
3593
|
"path": "modules/hall-ui/public/goals.css",
|
|
@@ -3867,7 +3872,7 @@
|
|
|
3867
3872
|
{
|
|
3868
3873
|
"path": "modules/hall-ui/public/task-lib.js",
|
|
3869
3874
|
"mode": "0000644",
|
|
3870
|
-
"sha256": "
|
|
3875
|
+
"sha256": "dde9fe5cc1d80829c45aa6ef4f486697345a122cf0a7054991b7c7ebc390754f"
|
|
3871
3876
|
},
|
|
3872
3877
|
{
|
|
3873
3878
|
"path": "modules/hall-ui/public/task.html",
|
|
@@ -3912,7 +3917,7 @@
|
|
|
3912
3917
|
{
|
|
3913
3918
|
"path": "modules/hall-ui/public/work.js",
|
|
3914
3919
|
"mode": "0000644",
|
|
3915
|
-
"sha256": "
|
|
3920
|
+
"sha256": "a9a33001c0cd788926c50c670718ac52552690f67a9de7a07999600907555b9f"
|
|
3916
3921
|
},
|
|
3917
3922
|
{
|
|
3918
3923
|
"path": "modules/ideas/CLAUDE.md",
|
|
@@ -3932,7 +3937,7 @@
|
|
|
3932
3937
|
{
|
|
3933
3938
|
"path": "modules/ideas/inbox.js",
|
|
3934
3939
|
"mode": "0000644",
|
|
3935
|
-
"sha256": "
|
|
3940
|
+
"sha256": "edb3fc66ff0c89fde112b691bd761478ccf621bacb0bb91f7ae94ec63c2546c7"
|
|
3936
3941
|
},
|
|
3937
3942
|
{
|
|
3938
3943
|
"path": "modules/ideas/migrations/ideas_001_grades.sql",
|
|
@@ -4072,7 +4077,7 @@
|
|
|
4072
4077
|
{
|
|
4073
4078
|
"path": "modules/lifecycle/db-tasks.js",
|
|
4074
4079
|
"mode": "0000644",
|
|
4075
|
-
"sha256": "
|
|
4080
|
+
"sha256": "94b785f970615056c9c3e896009868ef762fe78ab9f640889b9286ccef46fcf0"
|
|
4076
4081
|
},
|
|
4077
4082
|
{
|
|
4078
4083
|
"path": "modules/lifecycle/db-versions.js",
|
|
@@ -4129,6 +4134,11 @@
|
|
|
4129
4134
|
"mode": "0000644",
|
|
4130
4135
|
"sha256": "7115a27272fe2594b65e2e56a796f5bf97600cb94ba301bc21599c6bc4e60175"
|
|
4131
4136
|
},
|
|
4137
|
+
{
|
|
4138
|
+
"path": "modules/lifecycle/goal-rollup.js",
|
|
4139
|
+
"mode": "0000644",
|
|
4140
|
+
"sha256": "cd3c3c28e9e1361b1f02a8de7a973d0d4d87b916477af98b9032de87dfbc588d"
|
|
4141
|
+
},
|
|
4132
4142
|
{
|
|
4133
4143
|
"path": "modules/lifecycle/goal-suggest.js",
|
|
4134
4144
|
"mode": "0000644",
|
|
@@ -4227,7 +4237,7 @@
|
|
|
4227
4237
|
{
|
|
4228
4238
|
"path": "modules/lifecycle/routes/goals.js",
|
|
4229
4239
|
"mode": "0000644",
|
|
4230
|
-
"sha256": "
|
|
4240
|
+
"sha256": "22c4d71ae825dc0601532d45c22d37bcd656cdd408ec2fc3e8e668a916541687"
|
|
4231
4241
|
},
|
|
4232
4242
|
{
|
|
4233
4243
|
"path": "modules/lifecycle/routes/help-requests.js",
|
|
@@ -4252,12 +4262,12 @@
|
|
|
4252
4262
|
{
|
|
4253
4263
|
"path": "modules/lifecycle/routes/task-write-routes.js",
|
|
4254
4264
|
"mode": "0000644",
|
|
4255
|
-
"sha256": "
|
|
4265
|
+
"sha256": "4ef343018b69528ab9518683ba0c6878bfcf5b9398ee7a2ade21780c20218538"
|
|
4256
4266
|
},
|
|
4257
4267
|
{
|
|
4258
4268
|
"path": "modules/lifecycle/routes/tasks.js",
|
|
4259
4269
|
"mode": "0000644",
|
|
4260
|
-
"sha256": "
|
|
4270
|
+
"sha256": "87b2e23ceedac103b61007348976c257a2961954a4853ce5ff3be0e2f74a4ede"
|
|
4261
4271
|
},
|
|
4262
4272
|
{
|
|
4263
4273
|
"path": "modules/lifecycle/routes/versions.js",
|
|
@@ -4917,12 +4927,12 @@
|
|
|
4917
4927
|
{
|
|
4918
4928
|
"path": "package-lock.json",
|
|
4919
4929
|
"mode": "0000644",
|
|
4920
|
-
"sha256": "
|
|
4930
|
+
"sha256": "0cdd9747593cc2fb83327041cf2d869234271cf7e3dcc7ecfb626c43ed262155"
|
|
4921
4931
|
},
|
|
4922
4932
|
{
|
|
4923
4933
|
"path": "package.json",
|
|
4924
4934
|
"mode": "0000644",
|
|
4925
|
-
"sha256": "
|
|
4935
|
+
"sha256": "00ff5e9289bc25cc0e6d1a7226259b52b906eaf887c9dd417067d41193877d7c"
|
|
4926
4936
|
},
|
|
4927
4937
|
{
|
|
4928
4938
|
"path": "public-docs/index.html",
|
|
@@ -6807,7 +6817,7 @@
|
|
|
6807
6817
|
{
|
|
6808
6818
|
"path": "src/module-api.js",
|
|
6809
6819
|
"mode": "0000644",
|
|
6810
|
-
"sha256": "
|
|
6820
|
+
"sha256": "94c29ffd7acffe072f72060e6bf7deb322031a3521e935f77f4069cf7da1a699"
|
|
6811
6821
|
},
|
|
6812
6822
|
{
|
|
6813
6823
|
"path": "src/module-loader/catalog.js",
|
|
@@ -7839,10 +7849,15 @@
|
|
|
7839
7849
|
"mode": "0000644",
|
|
7840
7850
|
"sha256": "447e6376ae5f5e2bedf1a80b3355604544a5e349da87d110fc0135cc3cd98fac"
|
|
7841
7851
|
},
|
|
7852
|
+
{
|
|
7853
|
+
"path": "tests/goal_sort_staleness.mjs",
|
|
7854
|
+
"mode": "0000644",
|
|
7855
|
+
"sha256": "1c34a429a1e96c409e8f6e2199d79a0f75b95f25a2cd5f1a86b6f2e254d6ac40"
|
|
7856
|
+
},
|
|
7842
7857
|
{
|
|
7843
7858
|
"path": "tests/goal_subtitle.mjs",
|
|
7844
7859
|
"mode": "0000644",
|
|
7845
|
-
"sha256": "
|
|
7860
|
+
"sha256": "d3f104c710cecd545c9999149a5f02c54ba43ba8ea1e8bcd7e1659eaa2b21f33"
|
|
7846
7861
|
},
|
|
7847
7862
|
{
|
|
7848
7863
|
"path": "tests/goal_suggest.mjs",
|
|
@@ -7867,7 +7882,7 @@
|
|
|
7867
7882
|
{
|
|
7868
7883
|
"path": "tests/goals_lib.mjs",
|
|
7869
7884
|
"mode": "0000644",
|
|
7870
|
-
"sha256": "
|
|
7885
|
+
"sha256": "92aa5dbf8eba0a0aaa34bf5d25aa439ef5a9265f5e8cd374c2334670a3cdc28d"
|
|
7871
7886
|
},
|
|
7872
7887
|
{
|
|
7873
7888
|
"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
|
-
-
|
|
8
|
+
- 322 operations across 52 resource groups
|
|
9
9
|
|
|
10
10
|
## Install
|
|
11
11
|
|
|
@@ -367,6 +367,8 @@ function createClient(opts = {}) {
|
|
|
367
367
|
getGoalsInbox: (args) => request("GET", "/goals/inbox", { hasBody: false }, args),
|
|
368
368
|
// POST /goals/reorder — rank: metic+archon — POST /goals/reorder
|
|
369
369
|
postGoalsReorder: (args) => request("POST", "/goals/reorder", { hasBody: true }, args),
|
|
370
|
+
// GET /goals/rollups — rank: any-builder — GET /goals/rollups
|
|
371
|
+
getGoalsRollups: (args) => request("GET", "/goals/rollups", { hasBody: false }, args),
|
|
370
372
|
// GET /goals/suggestions — rank: any-builder — GET /goals/suggestions
|
|
371
373
|
getGoalsSuggestions: (args) => request("GET", "/goals/suggestions", { hasBody: false }, args),
|
|
372
374
|
},
|
|
@@ -366,6 +366,8 @@ function createClient(opts = {}) {
|
|
|
366
366
|
getGoalsInbox: (args) => request("GET", "/goals/inbox", { hasBody: false }, args),
|
|
367
367
|
// POST /goals/reorder — rank: metic+archon — POST /goals/reorder
|
|
368
368
|
postGoalsReorder: (args) => request("POST", "/goals/reorder", { hasBody: true }, args),
|
|
369
|
+
// GET /goals/rollups — rank: any-builder — GET /goals/rollups
|
|
370
|
+
getGoalsRollups: (args) => request("GET", "/goals/rollups", { hasBody: false }, args),
|
|
369
371
|
// GET /goals/suggestions — rank: any-builder — GET /goals/suggestions
|
|
370
372
|
getGoalsSuggestions: (args) => request("GET", "/goals/suggestions", { hasBody: false }, args),
|
|
371
373
|
},
|
|
@@ -46,6 +46,7 @@ export interface GetGoalsIdConflictsResponse { ok: boolean; goal_id: unknown; co
|
|
|
46
46
|
export interface GetGoalsIdRequestsResponse { requests: unknown }
|
|
47
47
|
export interface GetGoalsIdResponse { goal: unknown; members: unknown; criteria: unknown; dependencies: unknown }
|
|
48
48
|
export interface GetGoalsResponse { goals: unknown }
|
|
49
|
+
export interface GetGoalsRollupsResponse { rollups: unknown }
|
|
49
50
|
export interface GetGovernmentAssignmentsResponse { assignments: unknown }
|
|
50
51
|
export interface GetGovernmentPermissionsResponse { permissions: unknown; principals: unknown }
|
|
51
52
|
export interface GetGovernmentRanksResponse { ranks: unknown }
|
|
@@ -351,6 +352,7 @@ export interface PostTasksIdVoteRequest { vote: -1 | 0 | 1 }
|
|
|
351
352
|
export interface PostTasksIdVoteResponse { ok: boolean; task_id: unknown; my_vote: unknown; net_votes: unknown; total_votes: unknown }
|
|
352
353
|
export interface PostTasksNewcomerRestockResponse { ok: boolean; stamped: unknown; results: unknown }
|
|
353
354
|
export interface PostTasksRequest { version_id: string; title: string; description?: string; status?: string; touches?: string[]; est_minutes?: number; est_cost_usd?: number; manual_degree?: number; priority?: number; automation_tag?: string; credits_reward?: number; source?: string; source_ref?: string; value_summary?: string; kind?: string; discipline?: string; parallel_safe?: unknown; newcomer_friendly?: boolean; security_sensitive?: boolean; requires_rank?: string; auto_detect_touches?: boolean; criterion_ids?: unknown[]; module_key?: string; goal_id?: number }
|
|
355
|
+
export interface PostTasksResponse { task: unknown; needs_migration: unknown; criteria: unknown; idempotent: boolean }
|
|
354
356
|
export interface PostVersionsIdDoneWhenRequest { criterion_id: string; criterion_md: string; goal_id?: number; sort_order?: number }
|
|
355
357
|
export interface PostVersionsIdDoneWhenResponse { ok: boolean; criterion: unknown }
|
|
356
358
|
export interface PostVersionsRequest { id: string; name: string; status?: string; track?: string; done_when?: string; scope_doc_path?: string; criteria?: unknown[] }
|
|
@@ -655,6 +657,8 @@ export interface BongosClient {
|
|
|
655
657
|
getGoalsInbox(args?: RequestArgs): Promise<ApiResponse>;
|
|
656
658
|
/** POST /goals/reorder — rank: metic+archon */
|
|
657
659
|
postGoalsReorder(args: RequestArgs & { body: PostGoalsReorderRequest }): Promise<PostGoalsReorderResponse>;
|
|
660
|
+
/** GET /goals/rollups — rank: any-builder */
|
|
661
|
+
getGoalsRollups(args?: RequestArgs): Promise<GetGoalsRollupsResponse>;
|
|
658
662
|
/** GET /goals/suggestions — rank: any-builder */
|
|
659
663
|
getGoalsSuggestions(args?: RequestArgs): Promise<ApiResponse>;
|
|
660
664
|
};
|
|
@@ -1038,7 +1042,7 @@ export interface BongosClient {
|
|
|
1038
1042
|
/** GET /tasks — rank: any-builder */
|
|
1039
1043
|
getTasks(args?: RequestArgs): Promise<GetTasksResponse>;
|
|
1040
1044
|
/** POST /tasks — rank: metic+archon */
|
|
1041
|
-
postTasks(args: RequestArgs & { body: PostTasksRequest }): Promise<
|
|
1045
|
+
postTasks(args: RequestArgs & { body: PostTasksRequest }): Promise<PostTasksResponse>;
|
|
1042
1046
|
/** GET /tasks/{id} — rank: any-builder */
|
|
1043
1047
|
getTasksId(args?: RequestArgs): Promise<ApiResponse>;
|
|
1044
1048
|
/** PATCH /tasks/{id} — rank: metic+archon */
|
|
@@ -363,6 +363,8 @@ export function createClient(opts = {}) {
|
|
|
363
363
|
getGoalsInbox: (args) => request("GET", "/goals/inbox", { hasBody: false }, args),
|
|
364
364
|
// POST /goals/reorder — rank: metic+archon — POST /goals/reorder
|
|
365
365
|
postGoalsReorder: (args) => request("POST", "/goals/reorder", { hasBody: true }, args),
|
|
366
|
+
// GET /goals/rollups — rank: any-builder — GET /goals/rollups
|
|
367
|
+
getGoalsRollups: (args) => request("GET", "/goals/rollups", { hasBody: false }, args),
|
|
366
368
|
// GET /goals/suggestions — rank: any-builder — GET /goals/suggestions
|
|
367
369
|
getGoalsSuggestions: (args) => request("GET", "/goals/suggestions", { hasBody: false }, args),
|
|
368
370
|
},
|
package/docs/api/openapi.json
CHANGED
|
@@ -4428,6 +4428,44 @@
|
|
|
4428
4428
|
]
|
|
4429
4429
|
}
|
|
4430
4430
|
},
|
|
4431
|
+
"/goals/rollups": {
|
|
4432
|
+
"get": {
|
|
4433
|
+
"operationId": "get_goals_rollups",
|
|
4434
|
+
"tags": [
|
|
4435
|
+
"goals"
|
|
4436
|
+
],
|
|
4437
|
+
"summary": "GET /goals/rollups",
|
|
4438
|
+
"description": "GET /goals/rollups?version= — one small row per goal: readiness counters, the last-activity timestamp, the craft set, and the next claimable task (task 1003278). It replaces the Goals page's whole-version task fetch, which measured 5,229,455 bytes for ~1,400 tasks on 2026-08-25 to produce ~40 counter objects. Registered BEFORE /goals/:id or Express routes 'rollups' to the param. rank: any-builder — the same read as the goal board it feeds.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
4439
|
+
"x-rank": "any-builder",
|
|
4440
|
+
"x-source": "modules/lifecycle/routes/goals.js",
|
|
4441
|
+
"responses": {
|
|
4442
|
+
"200": {
|
|
4443
|
+
"description": "Success.",
|
|
4444
|
+
"content": {
|
|
4445
|
+
"application/json": {
|
|
4446
|
+
"schema": {
|
|
4447
|
+
"$ref": "#/components/schemas/GetGoalsRollupsResponse"
|
|
4448
|
+
}
|
|
4449
|
+
}
|
|
4450
|
+
}
|
|
4451
|
+
},
|
|
4452
|
+
"400": {
|
|
4453
|
+
"$ref": "#/components/responses/BadRequest"
|
|
4454
|
+
},
|
|
4455
|
+
"401": {
|
|
4456
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
4457
|
+
},
|
|
4458
|
+
"403": {
|
|
4459
|
+
"$ref": "#/components/responses/Forbidden"
|
|
4460
|
+
}
|
|
4461
|
+
},
|
|
4462
|
+
"security": [
|
|
4463
|
+
{
|
|
4464
|
+
"builderSession": []
|
|
4465
|
+
}
|
|
4466
|
+
]
|
|
4467
|
+
}
|
|
4468
|
+
},
|
|
4431
4469
|
"/goals/suggestions": {
|
|
4432
4470
|
"get": {
|
|
4433
4471
|
"operationId": "get_goals_suggestions",
|
|
@@ -12632,7 +12670,7 @@
|
|
|
12632
12670
|
"tasks"
|
|
12633
12671
|
],
|
|
12634
12672
|
"summary": "GET /tasks",
|
|
12635
|
-
"description": "
|
|
12673
|
+
"description": "**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
12636
12674
|
"x-rank": "any-builder",
|
|
12637
12675
|
"x-source": "modules/lifecycle/routes/tasks.js",
|
|
12638
12676
|
"responses": {
|
|
@@ -12687,7 +12725,14 @@
|
|
|
12687
12725
|
},
|
|
12688
12726
|
"responses": {
|
|
12689
12727
|
"200": {
|
|
12690
|
-
"description": "Success."
|
|
12728
|
+
"description": "Success.",
|
|
12729
|
+
"content": {
|
|
12730
|
+
"application/json": {
|
|
12731
|
+
"schema": {
|
|
12732
|
+
"$ref": "#/components/schemas/PostTasksResponse"
|
|
12733
|
+
}
|
|
12734
|
+
}
|
|
12735
|
+
}
|
|
12691
12736
|
},
|
|
12692
12737
|
"400": {
|
|
12693
12738
|
"$ref": "#/components/responses/ValidationFailed"
|
|
@@ -15130,6 +15175,15 @@
|
|
|
15130
15175
|
"goals"
|
|
15131
15176
|
]
|
|
15132
15177
|
},
|
|
15178
|
+
"GetGoalsRollupsResponse": {
|
|
15179
|
+
"type": "object",
|
|
15180
|
+
"properties": {
|
|
15181
|
+
"rollups": {}
|
|
15182
|
+
},
|
|
15183
|
+
"required": [
|
|
15184
|
+
"rollups"
|
|
15185
|
+
]
|
|
15186
|
+
},
|
|
15133
15187
|
"GetGovernmentAssignmentsResponse": {
|
|
15134
15188
|
"type": "object",
|
|
15135
15189
|
"properties": {
|
|
@@ -19974,6 +20028,23 @@
|
|
|
19974
20028
|
],
|
|
19975
20029
|
"additionalProperties": false
|
|
19976
20030
|
},
|
|
20031
|
+
"PostTasksResponse": {
|
|
20032
|
+
"type": "object",
|
|
20033
|
+
"properties": {
|
|
20034
|
+
"task": {},
|
|
20035
|
+
"needs_migration": {},
|
|
20036
|
+
"criteria": {},
|
|
20037
|
+
"idempotent": {
|
|
20038
|
+
"type": "boolean"
|
|
20039
|
+
}
|
|
20040
|
+
},
|
|
20041
|
+
"required": [
|
|
20042
|
+
"task",
|
|
20043
|
+
"needs_migration",
|
|
20044
|
+
"criteria",
|
|
20045
|
+
"idempotent"
|
|
20046
|
+
]
|
|
20047
|
+
},
|
|
19977
20048
|
"PostVersionsIdDoneWhenRequest": {
|
|
19978
20049
|
"type": "object",
|
|
19979
20050
|
"properties": {
|
|
@@ -20234,9 +20305,9 @@
|
|
|
20234
20305
|
"description": "A required dependency/feature is not configured or is temporarily down."
|
|
20235
20306
|
}
|
|
20236
20307
|
},
|
|
20237
|
-
"x-endpoint-count":
|
|
20238
|
-
"x-schema-count":
|
|
20308
|
+
"x-endpoint-count": 322,
|
|
20309
|
+
"x-schema-count": 357,
|
|
20239
20310
|
"x-undocumented-bodies": 9,
|
|
20240
|
-
"x-response-schemas":
|
|
20311
|
+
"x-response-schemas": 240,
|
|
20241
20312
|
"x-generated-by": "scripts/gds/gen-api-docs.js"
|
|
20242
20313
|
}
|
package/docs/api-reference.md
CHANGED
|
@@ -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.
|
|
5
|
+
> **Generated from the live route files** — the route file is authoritative. 322 endpoints across 52 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/<redacted>.md)): `public` < `any-builder` < `metic+archon` < `archon`.
|
|
@@ -206,7 +206,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/<redacted>
|
|
|
206
206
|
| GET | `/api/bongos/github/repos` | `any-builder` | — | acts only on the caller's OWN GitHub identity (the token they granted). |
|
|
207
207
|
| POST | `/api/bongos/github/repos` | `any-builder` | `name` | creates a repo in the caller's OWN account. |
|
|
208
208
|
|
|
209
|
-
## `goals` (
|
|
209
|
+
## `goals` (28)
|
|
210
210
|
|
|
211
211
|
| Method | Path | Rank | Body | Description |
|
|
212
212
|
|---|---|---|---|---|
|
|
@@ -236,6 +236,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/<redacted>
|
|
|
236
236
|
| PATCH | `/api/bongos/goals/:id/visibility` | `any-builder` | — | PATCH /goals/:id/visibility — make a goal public\|private (task 1952 / ADR 0112). |
|
|
237
237
|
| GET | `/api/bongos/goals/inbox` | `any-builder` | — | GET /goals/inbox — the caller's private-goals inbox (task 1952 / ADR 0112): { invitations: invites addressed to me (accept/decline); join… |
|
|
238
238
|
| POST | `/api/bongos/goals/reorder` | `metic+archon` | `version_id`, `ordered_ids` | POST /goals/reorder — Archon drag-to-reorder: set the priority order of every goal WITHIN one version (task 1760). |
|
|
239
|
+
| GET | `/api/bongos/goals/rollups` | `any-builder` | — | GET /goals/rollups?version= — one small row per goal: readiness counters, the last-activity timestamp, the craft set, and the next claima… |
|
|
239
240
|
| GET | `/api/bongos/goals/suggestions` | `any-builder` | — | GET /goals/suggestions — "which goal should this draft live in?", answered before anything is created (task 1003062 / R07). |
|
|
240
241
|
|
|
241
242
|
## `government` (13)
|
|
@@ -538,7 +539,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/<redacted>
|
|
|
538
539
|
|
|
539
540
|
| Method | Path | Rank | Body | Description |
|
|
540
541
|
|---|---|---|---|---|
|
|
541
|
-
| GET | `/api/bongos/tasks` | `any-builder` | — |
|
|
542
|
+
| GET | `/api/bongos/tasks` | `any-builder` | — | |
|
|
542
543
|
| POST | `/api/bongos/tasks` | `metic+archon` | `version_id`, `title`, `description`, `status`, `touches`, `est_minutes`, `est_cost_usd`, `manual_degree`, `priority`, `automation_tag`, `credits_reward`, `source`, `source_ref`, `value_summary`, `kind`, `discipline`, `parallel_safe`, `newcomer_friendly`, `security_sensitive`, `requires_rank`, `auto_detect_touches`, `criterion_ids`, `module_key`, `goal_id` | Task create/promote/edit (plan/scope mutation) is Metic+ as of ADR 0090 (owner decision 2026-06-26): a Metic who can run idea-triage may … |
|
|
543
544
|
| GET | `/api/bongos/tasks/:id` | `any-builder` | — | single-task read; preserved per CRITICAL §4 (supervisor hot path). |
|
|
544
545
|
| PATCH | `/api/bongos/tasks/:id` | `metic+archon` | `kind`, `discipline`, `requires_rank`, `module_key`, `goal_id`, `parent_task_id`, `parallel_safe`, `newcomer_friendly`, `xenos_claimable`, `security_sensitive`, `automation_tag`, `needs_migration`, `description`, `status` | PATCH /tasks/:id — supports body.parent_task_id (V2 C2), body.kind (V2 B1), body.discipline (mig 014), body.parallel_safe (mig 028), and … |
|