@bongos/core 1.24.14 → 1.24.15
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 +296 -136
- package/.claude/skills/blocker-review/SKILL.md +2 -0
- package/.claude/skills/session-board/SKILL.md +29 -0
- package/.claude/skills/strand-fix/SKILL.md +1 -1
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +14 -0
- package/clients/bongos-client/index.cjs +14 -0
- package/clients/bongos-client/index.d.ts +23 -2
- package/clients/bongos-client/index.mjs +14 -0
- package/docs/adr/0385-money-lives-with-a-processor-credits-stay-a-project-meter.md +4 -0
- package/docs/api/openapi.json +369 -6
- package/docs/api-reference.md +19 -4
- package/docs/architecture.md +6 -0
- package/docs/copy-inventory.md +138 -123
- package/docs/copy-registry.json +296 -171
- package/docs/file-map.md +1 -0
- package/docs/module-api-changelog.md +2 -2
- package/docs/page-inventory.json +6 -1
- package/docs/page-readings.json +1040 -1021
- package/migrations/core_289_task_short_name.sql +34 -0
- package/modules/ai-studio/db.js +10 -0
- package/modules/ai-studio/gemini.js +73 -5
- package/modules/ai-studio/openrouter.js +17 -2
- package/modules/ai-studio/routes/ai-studio.js +7 -1
- package/modules/ai-studio/studio.js +8 -0
- package/modules/builder-settings/checkout-freshness.js +71 -0
- package/modules/builder-settings/routes/settings.js +26 -0
- package/modules/builder-settings/settings.js +2 -0
- package/modules/economy/migrations/economy_002_project_account.sql +83 -0
- package/modules/economy/module.json +1 -1
- package/modules/economy/project-account.js +166 -0
- package/modules/economy/routes/project-account.js +40 -0
- package/modules/hall-ui/public/ai-studio.css +3 -0
- package/modules/hall-ui/public/ai-studio.html +2 -1
- package/modules/hall-ui/public/ai-studio.js +72 -1
- package/modules/hall-ui/public/atlas.html +1 -1
- package/modules/hall-ui/public/blockers.html +1 -1
- package/modules/hall-ui/public/board-room.html +1 -1
- package/modules/hall-ui/public/city.html +1 -1
- package/modules/hall-ui/public/collab.html +1 -1
- package/modules/hall-ui/public/commands.html +1 -1
- package/modules/hall-ui/public/copy-desk.html +1 -1
- package/modules/hall-ui/public/deploy.html +1 -1
- package/modules/hall-ui/public/diagrams.html +1 -1
- package/modules/hall-ui/public/drachmae.html +1 -1
- package/modules/hall-ui/public/fleet.html +1 -1
- package/modules/hall-ui/public/gate.html +1 -1
- package/modules/hall-ui/public/github-chip.js +85 -0
- package/modules/hall-ui/public/goal-map.html +1 -1
- package/modules/hall-ui/public/goals.html +1 -1
- package/modules/hall-ui/public/government.html +1 -1
- package/modules/hall-ui/public/idea.html +1 -1
- package/modules/hall-ui/public/ideas.html +1 -1
- package/modules/hall-ui/public/index.html +1 -1
- package/modules/hall-ui/public/market-watch-item.html +2 -2
- package/modules/hall-ui/public/market-watch-item.js +10 -3
- package/modules/hall-ui/public/market-watch-item.states.json +41 -0
- package/modules/hall-ui/public/market-watch-lib.js +36 -5
- package/modules/hall-ui/public/market-watch-rules.html +1 -1
- package/modules/hall-ui/public/market-watch-settings.html +1 -1
- package/modules/hall-ui/public/market-watch.css +5 -0
- package/modules/hall-ui/public/market-watch.html +2 -2
- package/modules/hall-ui/public/modules.html +1 -1
- package/modules/hall-ui/public/my-agents.html +1 -1
- package/modules/hall-ui/public/my-agents.js +3 -0
- package/modules/hall-ui/public/primer.html +1 -1
- package/modules/hall-ui/public/profile.html +1 -1
- package/modules/hall-ui/public/project-settings.html +1 -1
- package/modules/hall-ui/public/ranks.html +1 -1
- package/modules/hall-ui/public/roadmap.html +1 -1
- package/modules/hall-ui/public/roster.html +1 -1
- package/modules/hall-ui/public/sessions.html +1 -1
- package/modules/hall-ui/public/settings.html +1 -1
- package/modules/hall-ui/public/shell.js +22 -22
- package/modules/hall-ui/public/street.html +1 -1
- package/modules/hall-ui/public/studio.html +1 -1
- package/modules/hall-ui/public/style.css +28 -0
- package/modules/hall-ui/public/task.html +1 -1
- package/modules/hall-ui/public/thinking.html +1 -1
- package/modules/hall-ui/public/tweak-editor.html +1 -1
- package/modules/hall-ui/public/watch.html +1 -1
- package/modules/hall-ui/public/work.html +1 -1
- package/modules/ideas/blockers.js +13 -7
- package/modules/lifecycle/db-claim-reads.js +1 -1
- package/modules/lifecycle/db-ship.js +2 -2
- package/modules/lifecycle/db-tasks.js +4 -4
- package/modules/lifecycle/migrations/lifecycle_019_pay_type_gates.sql +50 -0
- package/modules/lifecycle/module.json +1 -0
- package/modules/lifecycle/pay-type-gates.js +180 -0
- package/modules/lifecycle/publish-reconciler.js +31 -1
- package/modules/lifecycle/rebase-gate.js +3 -2
- package/modules/lifecycle/routes/claims.js +3 -2
- package/modules/lifecycle/routes/pay-type-gates.js +59 -0
- package/modules/lifecycle/routes/project-settings.js +4 -0
- package/modules/lifecycle/routes/task-write-routes.js +43 -0
- package/modules/lifecycle/ship-card.js +4 -1
- package/modules/lifecycle/task-name-db.js +55 -0
- package/modules/lifecycle/task-name.js +140 -0
- package/modules/market-watch/db.js +10 -1
- package/modules/market-watch/migrations/market_watch_004_entry_corrections.sql +20 -0
- package/modules/market-watch/pages.js +20 -1
- package/modules/market-watch/proposals.js +57 -7
- package/modules/market-watch/routes/pages.js +2 -0
- package/modules/market-watch/routes/rules.js +4 -0
- package/modules/platform-identity/terms-acceptance.js +9 -9
- package/modules/public-landing/public/account-google.states.json +14 -0
- package/modules/public-landing/public/assets/cosmos.css +12 -0
- package/modules/public-landing/public/assets/hub-bar.js +44 -1
- package/modules/public-landing/public/privacy.html +5 -1
- package/modules/public-landing/public/projects-google.states.json +14 -0
- package/modules/public-landing/public/projects.html +39 -0
- package/modules/public-landing/public/terms.html +12 -2
- package/modules/ui-design/kit/fixtures/me-google.json +10 -0
- package/modules/ui-design/kit/fixtures/me-sign-in-methods-google.json +4 -0
- package/modules/ui-design/kit/serve.js +7 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +49 -1
- package/scripts/bongos/claim.js +4 -2
- package/scripts/bongos/land-watch.js +1 -0
- package/scripts/bongos/report-checkout.js +30 -0
- package/scripts/bongos/run-unit-tests.js +11 -0
- package/scripts/bongos/sessions-board.js +264 -0
- package/scripts/bongos/ship-finish.js +1 -0
- package/scripts/bongos/ship-flow.js +5 -2
- package/scripts/bongos/strand-lease.js +5 -3
- package/scripts/bongos/strand-watch.js +38 -7
- package/scripts/gds/report-checkout.js +7 -0
- package/scripts/gds/sessions-board.js +7 -0
- package/src/bongos/agent-standing-rules.js +13 -3
- package/src/bongos/routes/me.js +7 -1
- package/src/module-api.js +1 -1
- package/tests/agent_standing_rules.mjs +18 -1
- package/tests/ai_studio_billing.mjs +13 -0
- package/tests/ai_studio_gemini_models.mjs +81 -0
- package/tests/ai_studio_requests.mjs +24 -0
- package/tests/blocker_detail_hydration.mjs +5 -3
- package/tests/blocker_tasks_named_db.mjs +74 -0
- package/tests/claim_gate_ci_unblock.mjs +1 -1
- package/tests/github_chip.mjs +217 -0
- package/tests/hall_ai_studio.mjs +129 -5
- package/tests/host_topology_skips.mjs +1 -0
- package/tests/hub_account_page.mjs +3 -2
- package/tests/landing_legal_pages.mjs +3 -2
- package/tests/market_watch_data_db.mjs +6 -0
- package/tests/market_watch_pages.mjs +87 -2
- package/tests/market_watch_rules.mjs +101 -5
- package/tests/market_watch_rules_db.mjs +42 -0
- package/tests/nav_permission_atoms.mjs +1 -1
- package/tests/pay_terms.mjs +8 -0
- package/tests/pay_type_gates.mjs +234 -0
- package/tests/pay_type_gates_db.mjs +84 -0
- package/tests/project_account.mjs +125 -0
- package/tests/project_account_db.mjs +97 -0
- package/tests/self_healing_start.mjs +162 -0
- package/tests/sessions_board.mjs +153 -0
- package/tests/stop_refcheck.mjs +40 -0
- package/tests/task_name.mjs +237 -0
- package/tests/task_name_db.mjs +79 -0
- package/tests/terms_acceptance.mjs +25 -3
- package/tests/terms_grandfather_db.mjs +11 -4
|
@@ -47,6 +47,8 @@ node scripts/bongos/api.js GET /api/bongos/blockers
|
|
|
47
47
|
|
|
48
48
|
If the list is empty, print "no open blockers — nothing to review today" and exit.
|
|
49
49
|
|
|
50
|
+
Each blocker's `blocking_tasks` lists the tasks it holds with their `short_name`; name them to the person as "task N - <name>", never a bare number.
|
|
51
|
+
|
|
50
52
|
**"What's stuck on me" reads the per-person list instead (task 1004999).** A blocker has no assignee; who it waits on is the seat its ask names (owner, a building's Lead, a board), resolved to people by the same routing the City uses. When the builder asks what is stuck on THEM, fetch only theirs, and name each one's seat ("as the owner", "as the Planning Lead"):
|
|
51
53
|
|
|
52
54
|
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: session-board
|
|
3
|
+
description: >-
|
|
4
|
+
Show every session the builder has going and where they are jammed, as a board in chat. Triggers: "/session-board", "what are my sessions doing", "where are things stuck", "why is everything waiting", "show my sessions".
|
|
5
|
+
plain: >-
|
|
6
|
+
Shows, in the chat, every piece of work you have going at once: what each one is doing, what is waiting to land, and what is stuck and holding the rest up.
|
|
7
|
+
reach-for: >-
|
|
8
|
+
When you run several sessions and things seem to be waiting on each other, or you want to know which one to look at first.
|
|
9
|
+
cost: >-
|
|
10
|
+
Free. It only reads; nothing changes.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
You are showing the builder a board of everything they have in flight (task 1004957). It reads only.
|
|
14
|
+
|
|
15
|
+
## Run it
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
node scripts/bongos/sessions-board.js
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
It prints markdown: a **Jams** list first, then one table — each session's folder, its task, its stage (building, waiting to land, back from review, stuck) and what it is waiting on. Paste it into your reply as it is; it is already written for the builder.
|
|
22
|
+
|
|
23
|
+
## Then say what to do about the jams, in one or two lines
|
|
24
|
+
|
|
25
|
+
- **"New work is paused for every one of your sessions"** is the one that matters most: too many finished pieces are stuck, so no session can start new work until one comes down. Say which stuck ship nobody is fixing yet and offer `/strand-fix N` for it. Never send more than one session at the same stuck ship — a ship marked "<session> is fixing it" is that session's.
|
|
26
|
+
- **A single stuck ship** that is not pausing anything can wait; mention it, do not lead with it.
|
|
27
|
+
- **Nothing jammed**: say so in one line and stop.
|
|
28
|
+
|
|
29
|
+
`--json` prints the same as data if you need to reason over it. The startup line (`--line`) is silent unless new work is paused; this skill is how the builder sees the whole picture.
|
|
@@ -33,7 +33,7 @@ node scripts/bongos/strand-lease.js take N # exit 0: it is yours · exit 3: an
|
|
|
33
33
|
|
|
34
34
|
## Which shape is this? (read first)
|
|
35
35
|
|
|
36
|
-
`node scripts/bongos/strand-watch.js --json` — find the task. Three shapes, three owners:
|
|
36
|
+
`node scripts/bongos/strand-watch.js --json` — find the task. Each strand carries its `name`; to the builder, write it as "task N - <name>", never the bare number. Three shapes, three owners:
|
|
37
37
|
|
|
38
38
|
| shape | status | reason | this skill? |
|
|
39
39
|
|---|---|---|---|
|
|
@@ -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
|
+
- 657 operations across 83 resource groups
|
|
9
9
|
|
|
10
10
|
## Use it from your project
|
|
11
11
|
|
|
@@ -793,6 +793,8 @@ function createClient(opts = {}) {
|
|
|
793
793
|
getMeAchievements: (args) => request("GET", "/me/achievements", { hasBody: false }, args),
|
|
794
794
|
// POST /me/anthropic-link — rank: any-builder — POST /me/anthropic-link
|
|
795
795
|
postMeAnthropicLink: (args) => request("POST", "/me/anthropic-link", { hasBody: true }, args),
|
|
796
|
+
// PATCH /me/checkout-freshness — rank: any-builder — PATCH /me/checkout-freshness
|
|
797
|
+
patchMeCheckoutFreshness: (args) => request("PATCH", "/me/checkout-freshness", { hasBody: true }, args),
|
|
796
798
|
// PATCH /me/core-move-seen — rank: any-builder — PATCH /me/core-move-seen
|
|
797
799
|
patchMeCoreMoveSeen: (args) => request("PATCH", "/me/core-move-seen", { hasBody: true }, args),
|
|
798
800
|
// GET /me/credits — rank: any-builder — GET /me/credits
|
|
@@ -1022,6 +1024,12 @@ function createClient(opts = {}) {
|
|
|
1022
1024
|
// GET /pay-terms — rank: any-builder — GET /pay-terms
|
|
1023
1025
|
getPayTerms: (args) => request("GET", "/pay-terms", { hasBody: false }, args),
|
|
1024
1026
|
},
|
|
1027
|
+
"payTypeGates": {
|
|
1028
|
+
// GET /pay-type-gates — rank: any-builder — GET /pay-type-gates
|
|
1029
|
+
getPayTypeGates: (args) => request("GET", "/pay-type-gates", { hasBody: false }, args),
|
|
1030
|
+
// PUT /pay-type-gates/{payType}/{requirement} — rank: archon — PUT /pay-type-gates/:payType/:requirement
|
|
1031
|
+
putPayTypeGatesPayTypeRequirement: (args) => request("PUT", "/pay-type-gates/{payType}/{requirement}", { hasBody: true }, args),
|
|
1032
|
+
},
|
|
1025
1033
|
"payouts": {
|
|
1026
1034
|
// POST /payouts/age-records — rank: archon — POST /payouts/age-records
|
|
1027
1035
|
postPayoutsAgeRecords: (args) => request("POST", "/payouts/age-records", { hasBody: true }, args),
|
|
@@ -1064,6 +1072,10 @@ function createClient(opts = {}) {
|
|
|
1064
1072
|
// GET /project/manage-link — rank: archon — GET /project/manage-link
|
|
1065
1073
|
getProjectManageLink: (args) => request("GET", "/project/manage-link", { hasBody: false }, args),
|
|
1066
1074
|
},
|
|
1075
|
+
"projectAccount": {
|
|
1076
|
+
// GET /project-account — rank: archon — GET /project-account
|
|
1077
|
+
getProjectAccount: (args) => request("GET", "/project-account", { hasBody: false }, args),
|
|
1078
|
+
},
|
|
1067
1079
|
"projectSettings": {
|
|
1068
1080
|
// GET /project-settings — rank: metic+archon — GET /project-settings
|
|
1069
1081
|
getProjectSettings: (args) => request("GET", "/project-settings", { hasBody: false }, args),
|
|
@@ -1493,6 +1505,8 @@ function createClient(opts = {}) {
|
|
|
1493
1505
|
getTasksIdRecommendations: (args) => request("GET", "/tasks/{id}/recommendations", { hasBody: false }, args),
|
|
1494
1506
|
// POST /tasks/{id}/ship — rank: any-builder — POST /tasks/:id/ship
|
|
1495
1507
|
postTasksIdShip: (args) => request("POST", "/tasks/{id}/ship", { hasBody: true }, args),
|
|
1508
|
+
// PATCH /tasks/{id}/short-name — rank: any-builder — PATCH /tasks/:id/short-name
|
|
1509
|
+
patchTasksIdShortName: (args) => request("PATCH", "/tasks/{id}/short-name", { hasBody: true }, args),
|
|
1496
1510
|
// DELETE /tasks/{id}/visual — rank: any-builder — DELETE /tasks/:id/visual
|
|
1497
1511
|
deleteTasksIdVisual: (args) => request("DELETE", "/tasks/{id}/visual", { hasBody: false }, args),
|
|
1498
1512
|
// POST /tasks/{id}/visual — rank: any-builder — POST /tasks/:id/visual
|
|
@@ -792,6 +792,8 @@ function createClient(opts = {}) {
|
|
|
792
792
|
getMeAchievements: (args) => request("GET", "/me/achievements", { hasBody: false }, args),
|
|
793
793
|
// POST /me/anthropic-link — rank: any-builder — POST /me/anthropic-link
|
|
794
794
|
postMeAnthropicLink: (args) => request("POST", "/me/anthropic-link", { hasBody: true }, args),
|
|
795
|
+
// PATCH /me/checkout-freshness — rank: any-builder — PATCH /me/checkout-freshness
|
|
796
|
+
patchMeCheckoutFreshness: (args) => request("PATCH", "/me/checkout-freshness", { hasBody: true }, args),
|
|
795
797
|
// PATCH /me/core-move-seen — rank: any-builder — PATCH /me/core-move-seen
|
|
796
798
|
patchMeCoreMoveSeen: (args) => request("PATCH", "/me/core-move-seen", { hasBody: true }, args),
|
|
797
799
|
// GET /me/credits — rank: any-builder — GET /me/credits
|
|
@@ -1021,6 +1023,12 @@ function createClient(opts = {}) {
|
|
|
1021
1023
|
// GET /pay-terms — rank: any-builder — GET /pay-terms
|
|
1022
1024
|
getPayTerms: (args) => request("GET", "/pay-terms", { hasBody: false }, args),
|
|
1023
1025
|
},
|
|
1026
|
+
"payTypeGates": {
|
|
1027
|
+
// GET /pay-type-gates — rank: any-builder — GET /pay-type-gates
|
|
1028
|
+
getPayTypeGates: (args) => request("GET", "/pay-type-gates", { hasBody: false }, args),
|
|
1029
|
+
// PUT /pay-type-gates/{payType}/{requirement} — rank: archon — PUT /pay-type-gates/:payType/:requirement
|
|
1030
|
+
putPayTypeGatesPayTypeRequirement: (args) => request("PUT", "/pay-type-gates/{payType}/{requirement}", { hasBody: true }, args),
|
|
1031
|
+
},
|
|
1024
1032
|
"payouts": {
|
|
1025
1033
|
// POST /payouts/age-records — rank: archon — POST /payouts/age-records
|
|
1026
1034
|
postPayoutsAgeRecords: (args) => request("POST", "/payouts/age-records", { hasBody: true }, args),
|
|
@@ -1063,6 +1071,10 @@ function createClient(opts = {}) {
|
|
|
1063
1071
|
// GET /project/manage-link — rank: archon — GET /project/manage-link
|
|
1064
1072
|
getProjectManageLink: (args) => request("GET", "/project/manage-link", { hasBody: false }, args),
|
|
1065
1073
|
},
|
|
1074
|
+
"projectAccount": {
|
|
1075
|
+
// GET /project-account — rank: archon — GET /project-account
|
|
1076
|
+
getProjectAccount: (args) => request("GET", "/project-account", { hasBody: false }, args),
|
|
1077
|
+
},
|
|
1066
1078
|
"projectSettings": {
|
|
1067
1079
|
// GET /project-settings — rank: metic+archon — GET /project-settings
|
|
1068
1080
|
getProjectSettings: (args) => request("GET", "/project-settings", { hasBody: false }, args),
|
|
@@ -1492,6 +1504,8 @@ function createClient(opts = {}) {
|
|
|
1492
1504
|
getTasksIdRecommendations: (args) => request("GET", "/tasks/{id}/recommendations", { hasBody: false }, args),
|
|
1493
1505
|
// POST /tasks/{id}/ship — rank: any-builder — POST /tasks/:id/ship
|
|
1494
1506
|
postTasksIdShip: (args) => request("POST", "/tasks/{id}/ship", { hasBody: true }, args),
|
|
1507
|
+
// PATCH /tasks/{id}/short-name — rank: any-builder — PATCH /tasks/:id/short-name
|
|
1508
|
+
patchTasksIdShortName: (args) => request("PATCH", "/tasks/{id}/short-name", { hasBody: true }, args),
|
|
1495
1509
|
// DELETE /tasks/{id}/visual — rank: any-builder — DELETE /tasks/:id/visual
|
|
1496
1510
|
deleteTasksIdVisual: (args) => request("DELETE", "/tasks/{id}/visual", { hasBody: false }, args),
|
|
1497
1511
|
// POST /tasks/{id}/visual — rank: any-builder — POST /tasks/:id/visual
|
|
@@ -40,7 +40,7 @@ export interface GetAiStudioBalanceResponse { payments: unknown; test_mode: bool
|
|
|
40
40
|
export interface GetAiStudioKeysResponse { storage_configured: unknown; keys: unknown }
|
|
41
41
|
export interface GetAiStudioRequestsIdResponse { request: unknown }
|
|
42
42
|
export interface GetAiStudioRequestsResponse { requests: unknown }
|
|
43
|
-
export interface GetAiStudioStatusResponse { ok: boolean; module: unknown }
|
|
43
|
+
export interface GetAiStudioStatusResponse { ok: boolean; module: unknown; terms: unknown; adult: unknown }
|
|
44
44
|
export interface GetAiStudioTopupQuoteResponse { quote: unknown; min_micro: unknown; max_micro: unknown }
|
|
45
45
|
export interface GetArtistGateResponse { ok: boolean; mode: unknown; since: unknown; holds: boolean; truncated: unknown; reviews: unknown; halt: unknown }
|
|
46
46
|
export interface GetAuditLogResponse { rows: unknown; page: unknown }
|
|
@@ -142,6 +142,7 @@ export interface GetPageNotesIdeasResponse { page_path: unknown; ideas: unknown
|
|
|
142
142
|
export interface GetPageNotesResponse { page_id: unknown; notes: unknown }
|
|
143
143
|
export interface GetPageNotesSiteResponse { notes: unknown }
|
|
144
144
|
export interface GetPayTermsResponse { pay_terms: unknown }
|
|
145
|
+
export interface GetPayTypeGatesResponse { gates: unknown }
|
|
145
146
|
export interface GetPayoutsApprovalsResponse { approvals: unknown }
|
|
146
147
|
export interface GetPayoutsGatesBuilderIdResponse { gate: unknown }
|
|
147
148
|
export interface GetPayoutsRulesResponse { rules: unknown }
|
|
@@ -245,6 +246,8 @@ export interface PatchInboxIdBodyResponse { ok: boolean; idea: unknown; delta: u
|
|
|
245
246
|
export interface PatchInboxIdRequest { status?: "open" | "promoted" | "discarded" | "merged"; kind?: string; promoted_to_task_id?: number; reviewed_at?: unknown; merged_into_idea_id?: number; triage_note?: string }
|
|
246
247
|
export interface PatchInboxIdResponse { idea: unknown }
|
|
247
248
|
export interface PatchMarketWatchSettingsRequest { enabled?: unknown; monthly_cap_usd?: unknown; cadence?: unknown }
|
|
249
|
+
export interface PatchMeCheckoutFreshnessRequest { behind: number; branch?: string; reason: string }
|
|
250
|
+
export interface PatchMeCheckoutFreshnessResponse { ok: boolean; checkout: unknown }
|
|
248
251
|
export interface PatchMeCoreMoveSeenRequest { id: string }
|
|
249
252
|
export interface PatchMeCoreMoveSeenResponse { ok: boolean; seen: unknown }
|
|
250
253
|
export interface PatchMeCrossProjectRequest { hide_stats?: boolean; account_visibility?: string; recruiter_discoverable?: boolean }
|
|
@@ -289,6 +292,8 @@ export interface PatchSpecialitiesIdResponse { speciality: unknown }
|
|
|
289
292
|
export interface PatchTaskRecommendationsIdRequest { status: "declined" | "withdrawn" }
|
|
290
293
|
export interface PatchTaskRecommendationsIdResponse { ok: boolean; recommendation: unknown }
|
|
291
294
|
export interface PatchTasksIdRequest { kind?: string; discipline?: string; requires_rank?: string; module_key?: string; goal_id?: number; parent_task_id?: StringifiableId; parallel_safe?: unknown; newcomer_friendly?: boolean; xenos_claimable?: boolean; security_sensitive?: boolean; automation_tag?: string; needs?: unknown; needs_migration?: boolean; description?: string; title?: string; priority?: unknown; value_summary?: string; status?: unknown; pay_terms?: unknown }
|
|
295
|
+
export interface PatchTasksIdShortNameRequest { short_name: string }
|
|
296
|
+
export interface PatchTasksIdShortNameResponse { task: unknown }
|
|
292
297
|
export interface PostAccessRequestsInviteRequest { github_login: string; note?: string }
|
|
293
298
|
export interface PostAccessRequestsInviteResponse { ok: boolean; already_invited?: boolean; github_login?: unknown; request?: unknown }
|
|
294
299
|
export interface PostAccessRequestsRequest { github_login: string; display_name?: string; note?: string }
|
|
@@ -470,7 +475,7 @@ export interface PostLlmCacheStoreResponse { stored: boolean; result_cost_usd?:
|
|
|
470
475
|
export interface PostMarketWatchAskAnswerRequest { week_of?: string; picks?: unknown[]; names?: unknown[]; nothing?: boolean; builder_id?: number }
|
|
471
476
|
export interface PostMarketWatchProposalsIdDecideRequest { decision: "approve" | "decline" }
|
|
472
477
|
export interface PostMarketWatchProposalsIdVoteResponse { ok: boolean; matter_id: unknown; item_id: unknown }
|
|
473
|
-
export interface PostMarketWatchProposalsRequest { kind: string; reason?: string; item_id?: StringifiableId; dimension?: string; value?: unknown; url?: string; log_entry_id?: StringifiableId; scout?: string; name?: string }
|
|
478
|
+
export interface PostMarketWatchProposalsRequest { kind: string; reason?: string; item_id?: StringifiableId; dimension?: string; value?: unknown; url?: string; log_entry_id?: StringifiableId; takeaway?: string; wrong?: unknown; scout?: string; name?: string }
|
|
474
479
|
export interface PostMarketWatchProposalsResponse { proposal: unknown }
|
|
475
480
|
export interface PostMarketWatchRulesProposalsRequest { step: string; change: Record<string, unknown>; reason: string }
|
|
476
481
|
export interface PostMarketWatchRulesProposalsResponse { ok: boolean; proposal: unknown }
|
|
@@ -690,6 +695,8 @@ export interface PutMarketWatchSettingsKeyRequest { key: string }
|
|
|
690
695
|
export interface PutMingleOptInRequest { opted_in: boolean }
|
|
691
696
|
export interface PutMingleOptInResponse { opted_in: unknown; updated_at: unknown }
|
|
692
697
|
export interface PutMingleProjectRequest { enabled: boolean }
|
|
698
|
+
export interface PutPayTypeGatesPayTypeRequirementRequest { state?: unknown; evidence_ref?: unknown; acknowledged?: unknown }
|
|
699
|
+
export interface PutPayTypeGatesPayTypeRequirementResponse { ok: boolean; gate: unknown }
|
|
693
700
|
export interface PutProvisioningInstancesIdLogoRequest { image_b64: string; content_type: string }
|
|
694
701
|
export interface PutRenderDeployAppRequest { ownerId?: string; serviceId?: string }
|
|
695
702
|
export interface PutRenderDeployAppResponse { app: unknown }
|
|
@@ -1424,6 +1431,8 @@ export interface BongosClient {
|
|
|
1424
1431
|
getMeAchievements(args?: RequestArgs): Promise<GetMeAchievementsResponse>;
|
|
1425
1432
|
/** POST /me/anthropic-link — rank: any-builder */
|
|
1426
1433
|
postMeAnthropicLink(args: RequestArgs & { body: PostMeAnthropicLinkRequest }): Promise<PostMeAnthropicLinkResponse>;
|
|
1434
|
+
/** PATCH /me/checkout-freshness — rank: any-builder */
|
|
1435
|
+
patchMeCheckoutFreshness(args: RequestArgs & { body: PatchMeCheckoutFreshnessRequest }): Promise<PatchMeCheckoutFreshnessResponse>;
|
|
1427
1436
|
/** PATCH /me/core-move-seen — rank: any-builder */
|
|
1428
1437
|
patchMeCoreMoveSeen(args: RequestArgs & { body: PatchMeCoreMoveSeenRequest }): Promise<PatchMeCoreMoveSeenResponse>;
|
|
1429
1438
|
/** GET /me/credits — rank: any-builder */
|
|
@@ -1653,6 +1662,12 @@ export interface BongosClient {
|
|
|
1653
1662
|
/** GET /pay-terms — rank: any-builder */
|
|
1654
1663
|
getPayTerms(args?: RequestArgs): Promise<GetPayTermsResponse>;
|
|
1655
1664
|
};
|
|
1665
|
+
"payTypeGates": {
|
|
1666
|
+
/** GET /pay-type-gates — rank: any-builder */
|
|
1667
|
+
getPayTypeGates(args?: RequestArgs): Promise<GetPayTypeGatesResponse>;
|
|
1668
|
+
/** PUT /pay-type-gates/{payType}/{requirement} — rank: archon */
|
|
1669
|
+
putPayTypeGatesPayTypeRequirement(args?: RequestArgs & { body?: PutPayTypeGatesPayTypeRequirementRequest }): Promise<PutPayTypeGatesPayTypeRequirementResponse>;
|
|
1670
|
+
};
|
|
1656
1671
|
"payouts": {
|
|
1657
1672
|
/** POST /payouts/age-records — rank: archon */
|
|
1658
1673
|
postPayoutsAgeRecords(args: RequestArgs & { body: PostPayoutsAgeRecordsRequest }): Promise<PostPayoutsAgeRecordsResponse>;
|
|
@@ -1695,6 +1710,10 @@ export interface BongosClient {
|
|
|
1695
1710
|
/** GET /project/manage-link — rank: archon */
|
|
1696
1711
|
getProjectManageLink(args?: RequestArgs): Promise<GetProjectManageLinkResponse>;
|
|
1697
1712
|
};
|
|
1713
|
+
"projectAccount": {
|
|
1714
|
+
/** GET /project-account — rank: archon */
|
|
1715
|
+
getProjectAccount(args?: RequestArgs): Promise<ApiResponse>;
|
|
1716
|
+
};
|
|
1698
1717
|
"projectSettings": {
|
|
1699
1718
|
/** GET /project-settings — rank: metic+archon */
|
|
1700
1719
|
getProjectSettings(args?: RequestArgs): Promise<GetProjectSettingsResponse>;
|
|
@@ -2124,6 +2143,8 @@ export interface BongosClient {
|
|
|
2124
2143
|
getTasksIdRecommendations(args?: RequestArgs): Promise<GetTasksIdRecommendationsResponse>;
|
|
2125
2144
|
/** POST /tasks/{id}/ship — rank: any-builder */
|
|
2126
2145
|
postTasksIdShip(args?: RequestArgs): Promise<PostTasksIdShipResponse>;
|
|
2146
|
+
/** PATCH /tasks/{id}/short-name — rank: any-builder */
|
|
2147
|
+
patchTasksIdShortName(args: RequestArgs & { body: PatchTasksIdShortNameRequest }): Promise<PatchTasksIdShortNameResponse>;
|
|
2127
2148
|
/** DELETE /tasks/{id}/visual — rank: any-builder */
|
|
2128
2149
|
deleteTasksIdVisual(args?: RequestArgs): Promise<DeleteTasksIdVisualResponse>;
|
|
2129
2150
|
/** POST /tasks/{id}/visual — rank: any-builder */
|
|
@@ -789,6 +789,8 @@ export function createClient(opts = {}) {
|
|
|
789
789
|
getMeAchievements: (args) => request("GET", "/me/achievements", { hasBody: false }, args),
|
|
790
790
|
// POST /me/anthropic-link — rank: any-builder — POST /me/anthropic-link
|
|
791
791
|
postMeAnthropicLink: (args) => request("POST", "/me/anthropic-link", { hasBody: true }, args),
|
|
792
|
+
// PATCH /me/checkout-freshness — rank: any-builder — PATCH /me/checkout-freshness
|
|
793
|
+
patchMeCheckoutFreshness: (args) => request("PATCH", "/me/checkout-freshness", { hasBody: true }, args),
|
|
792
794
|
// PATCH /me/core-move-seen — rank: any-builder — PATCH /me/core-move-seen
|
|
793
795
|
patchMeCoreMoveSeen: (args) => request("PATCH", "/me/core-move-seen", { hasBody: true }, args),
|
|
794
796
|
// GET /me/credits — rank: any-builder — GET /me/credits
|
|
@@ -1018,6 +1020,12 @@ export function createClient(opts = {}) {
|
|
|
1018
1020
|
// GET /pay-terms — rank: any-builder — GET /pay-terms
|
|
1019
1021
|
getPayTerms: (args) => request("GET", "/pay-terms", { hasBody: false }, args),
|
|
1020
1022
|
},
|
|
1023
|
+
"payTypeGates": {
|
|
1024
|
+
// GET /pay-type-gates — rank: any-builder — GET /pay-type-gates
|
|
1025
|
+
getPayTypeGates: (args) => request("GET", "/pay-type-gates", { hasBody: false }, args),
|
|
1026
|
+
// PUT /pay-type-gates/{payType}/{requirement} — rank: archon — PUT /pay-type-gates/:payType/:requirement
|
|
1027
|
+
putPayTypeGatesPayTypeRequirement: (args) => request("PUT", "/pay-type-gates/{payType}/{requirement}", { hasBody: true }, args),
|
|
1028
|
+
},
|
|
1021
1029
|
"payouts": {
|
|
1022
1030
|
// POST /payouts/age-records — rank: archon — POST /payouts/age-records
|
|
1023
1031
|
postPayoutsAgeRecords: (args) => request("POST", "/payouts/age-records", { hasBody: true }, args),
|
|
@@ -1060,6 +1068,10 @@ export function createClient(opts = {}) {
|
|
|
1060
1068
|
// GET /project/manage-link — rank: archon — GET /project/manage-link
|
|
1061
1069
|
getProjectManageLink: (args) => request("GET", "/project/manage-link", { hasBody: false }, args),
|
|
1062
1070
|
},
|
|
1071
|
+
"projectAccount": {
|
|
1072
|
+
// GET /project-account — rank: archon — GET /project-account
|
|
1073
|
+
getProjectAccount: (args) => request("GET", "/project-account", { hasBody: false }, args),
|
|
1074
|
+
},
|
|
1063
1075
|
"projectSettings": {
|
|
1064
1076
|
// GET /project-settings — rank: metic+archon — GET /project-settings
|
|
1065
1077
|
getProjectSettings: (args) => request("GET", "/project-settings", { hasBody: false }, args),
|
|
@@ -1489,6 +1501,8 @@ export function createClient(opts = {}) {
|
|
|
1489
1501
|
getTasksIdRecommendations: (args) => request("GET", "/tasks/{id}/recommendations", { hasBody: false }, args),
|
|
1490
1502
|
// POST /tasks/{id}/ship — rank: any-builder — POST /tasks/:id/ship
|
|
1491
1503
|
postTasksIdShip: (args) => request("POST", "/tasks/{id}/ship", { hasBody: true }, args),
|
|
1504
|
+
// PATCH /tasks/{id}/short-name — rank: any-builder — PATCH /tasks/:id/short-name
|
|
1505
|
+
patchTasksIdShortName: (args) => request("PATCH", "/tasks/{id}/short-name", { hasBody: true }, args),
|
|
1492
1506
|
// DELETE /tasks/{id}/visual — rank: any-builder — DELETE /tasks/:id/visual
|
|
1493
1507
|
deleteTasksIdVisual: (args) => request("DELETE", "/tasks/{id}/visual", { hasBody: false }, args),
|
|
1494
1508
|
// POST /tasks/{id}/visual — rank: any-builder — POST /tasks/:id/visual
|
|
@@ -73,6 +73,10 @@ The owner answered the questions left open by the payments build plan ([task 100
|
|
|
73
73
|
- **"Verro" is Verro Labs**, the planned holding company of Cloud Bongos LLC and related entities, as now named in the EU labour row above.
|
|
74
74
|
- **ADR 0054's "credits are equity" framing is formally superseded**, as recorded in ADR 0054 itself ([task 1004967](https://cloudbongos.com/builders#/task/1004967)).
|
|
75
75
|
|
|
76
|
+
## Amendment, 2026-10-30: the processor is chosen
|
|
77
|
+
|
|
78
|
+
[ADR 0397](0397-the-payment-rail-is-stripe-connect-with-one-connected-account-per-project.md) picks Stripe Connect (fallback J.P. Morgan Payments) and fills in the per-flow map above with a primitive for each flow. The counsel items below are unchanged. [Task 1003182](https://cloudbongos.com/builders#/task/1003182) builds the project account as decided here: an append-only record of each movement and its cause, and a read-only owner view, with no money held (see `modules/economy/project-account.js`).
|
|
79
|
+
|
|
76
80
|
## Held for counsel (these block building the money-moving tasks)
|
|
77
81
|
|
|
78
82
|
1. Whether a standing signed payout rule satisfies the attributable-action requirement (Art. I).
|