@bongos/core 1.21.112 → 1.21.114
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 +616 -186
- package/.claude/skills/ask-for-help/SKILL.md +1 -1
- package/.claude/skills/bongos-feedback/SKILL.md +1 -1
- package/.claude/skills/builder-sequence/SKILL.md +1 -1
- package/.claude/skills/builder-ship/SKILL.md +1 -0
- package/GOVERNMENT.md +128 -11
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +28 -0
- package/clients/bongos-client/index.cjs +28 -0
- package/clients/bongos-client/index.d.ts +45 -2
- package/clients/bongos-client/index.mjs +28 -0
- package/docs/adr/0372-an-ask-is-stored-per-docket-matter-and-the-server-refuses-slop.md +33 -0
- package/docs/adr/0373-an-ai-session-files-a-blocker-with-an-ask.md +31 -0
- package/docs/adr/0374-a-building-lead-is-a-held-position-appointed-by-a-people-matter.md +30 -0
- package/docs/adr/0375-who-may-build-without-a-vote-comes-from-the-form-of-government.md +38 -0
- package/docs/adr/0376-every-ask-is-routed-to-a-real-seat-on-the-server.md +30 -0
- package/docs/adr/0377-governance-is-a-held-position-read-on-me.md +24 -0
- package/docs/adr/0378-a-leads-build-outs-are-rows-built-at-once-or-by-a-passed-vote.md +33 -0
- package/docs/adr/0379-the-treasury-is-pots-per-goal-a-reserve-and-borrowing-over-real-spend.md +32 -0
- package/docs/adr/0380-a-strictness-preset-is-a-bundle-of-laws-switched-by-one-laws-vote.md +26 -0
- package/docs/adr/README.md +10 -1
- package/docs/api/openapi.json +989 -87
- package/docs/api-reference.md +18 -4
- package/docs/copy-inventory.md +343 -262
- package/docs/copy-registry.json +1223 -426
- package/docs/file-map.md +2 -1
- package/docs/module-api-changelog.md +4 -0
- package/docs/packs/engineer.md +2 -1
- package/docs/page-inventory.json +91 -6
- package/docs/page-readings.json +5017 -4458
- package/modules/builder-settings/law-locks.js +202 -0
- package/modules/builder-settings/routes/settings.js +66 -6
- package/modules/builder-settings/settings.js +7 -0
- package/modules/discord/ship-broadcast.js +22 -13
- package/modules/government/asks-db.js +54 -0
- package/modules/government/asks.js +269 -0
- package/modules/government/board-idea-reads.js +68 -0
- package/modules/government/board.js +21 -57
- package/modules/government/build-rights.js +148 -0
- package/modules/government/buildouts.js +160 -0
- package/modules/government/counts.js +81 -0
- package/modules/government/db.js +242 -0
- package/modules/government/decision-board.js +234 -8
- package/modules/government/decision-rules.js +2 -0
- package/modules/government/docket.js +114 -6
- package/modules/government/law-board.js +131 -0
- package/modules/government/laws.js +241 -0
- package/modules/government/leads.js +170 -0
- package/modules/government/migrations/government_027_laws.sql +143 -0
- package/modules/government/migrations/government_028_asks.sql +57 -0
- package/modules/government/migrations/government_029_leads.sql +135 -0
- package/modules/government/migrations/government_030_buildouts.sql +111 -0
- package/modules/government/migrations/government_031_treasury.sql +107 -0
- package/modules/government/module.json +2 -1
- package/modules/government/pollers/treasury-borrow.js +62 -0
- package/modules/government/positions.js +107 -0
- package/modules/government/presets.js +149 -0
- package/modules/government/routes/government.js +425 -2
- package/modules/government/routing.js +154 -0
- package/modules/government/treasury-db.js +166 -0
- package/modules/government/treasury.js +241 -0
- package/modules/hall-ui/public/atlas.html +2 -2
- package/modules/hall-ui/public/blockers.html +2 -2
- package/modules/hall-ui/public/board-room.html +2 -2
- package/modules/hall-ui/public/board-room.js +2 -0
- package/modules/hall-ui/public/city-draw.js +604 -11
- package/modules/hall-ui/public/city.css +157 -1
- package/modules/hall-ui/public/city.html +37 -7
- package/modules/hall-ui/public/city.js +441 -21
- package/modules/hall-ui/public/city.states.json +110 -5
- package/modules/hall-ui/public/collab.html +2 -2
- package/modules/hall-ui/public/commands.html +2 -2
- package/modules/hall-ui/public/copy-desk.html +2 -2
- package/modules/hall-ui/public/craft-mode.js +112 -29
- package/modules/hall-ui/public/deploy.html +2 -2
- package/modules/hall-ui/public/diagram-viewer.css +12 -0
- package/modules/hall-ui/public/diagram-viewer.js +4 -0
- package/modules/hall-ui/public/diagrams.html +2 -2
- package/modules/hall-ui/public/drachmae.html +2 -2
- package/modules/hall-ui/public/fleet.html +2 -2
- package/modules/hall-ui/public/gate.html +2 -2
- package/modules/hall-ui/public/goal-map.html +2 -2
- package/modules/hall-ui/public/goals.html +2 -2
- package/modules/hall-ui/public/gov-feeds.js +141 -0
- package/modules/hall-ui/public/gov-living.js +1002 -0
- package/modules/hall-ui/public/gov-positions.js +97 -0
- package/modules/hall-ui/public/government.html +2 -2
- package/modules/hall-ui/public/hall-render.js +3 -0
- package/modules/hall-ui/public/idea.html +2 -2
- package/modules/hall-ui/public/ideas.html +2 -2
- package/modules/hall-ui/public/index.html +3 -3
- package/modules/hall-ui/public/modules.html +2 -2
- package/modules/hall-ui/public/my-agents.css +334 -0
- package/modules/hall-ui/public/my-agents.html +72 -0
- package/modules/hall-ui/public/my-agents.js +603 -0
- package/modules/hall-ui/public/my-agents.states.json +37 -0
- package/modules/hall-ui/public/primer.html +2 -2
- package/modules/hall-ui/public/profile-connections.js +40 -28
- package/modules/hall-ui/public/profile.html +2 -2
- package/modules/hall-ui/public/project-settings.html +2 -2
- package/modules/hall-ui/public/ranks.html +2 -2
- package/modules/hall-ui/public/roadmap.html +2 -2
- package/modules/hall-ui/public/room.css +8 -0
- package/modules/hall-ui/public/roster.html +2 -2
- package/modules/hall-ui/public/sessions.html +2 -2
- package/modules/hall-ui/public/settings.html +2 -2
- package/modules/hall-ui/public/shell.js +116 -16
- package/modules/hall-ui/public/street-card.js +18 -1
- package/modules/hall-ui/public/street-deck.css +299 -0
- package/modules/hall-ui/public/street-deck.js +1145 -0
- package/modules/hall-ui/public/street-depth.js +712 -0
- package/modules/hall-ui/public/street-desk.js +5 -2
- package/modules/hall-ui/public/street-draw.js +109 -16
- package/modules/hall-ui/public/street-inside.js +137 -22
- package/modules/hall-ui/public/street-office.js +705 -0
- package/modules/hall-ui/public/street.css +161 -11
- package/modules/hall-ui/public/street.html +41 -11
- package/modules/hall-ui/public/street.js +78 -66
- package/modules/hall-ui/public/street.states.json +129 -21
- package/modules/hall-ui/public/studio.html +2 -2
- package/modules/hall-ui/public/style.css +5 -1
- package/modules/hall-ui/public/task.html +2 -2
- package/modules/hall-ui/public/thinking.html +2 -2
- package/modules/hall-ui/public/tweak-editor.html +2 -2
- package/modules/hall-ui/public/watch.html +2 -2
- package/modules/hall-ui/public/watch.js +14 -1
- package/modules/hall-ui/public/work.html +2 -2
- package/modules/hall-ui/records/living-city.md +57 -0
- package/modules/hall-ui/records/my-agents.md +21 -0
- package/modules/hall-ui/records/oversight-family.md +1 -0
- package/modules/hall-ui/records/profile-connections.md +10 -0
- package/modules/hall-ui/records/reading-rooms.md +2 -0
- package/modules/ideas/routes/blockers.js +92 -3
- package/modules/lifecycle/module.json +2 -1
- package/modules/lifecycle/moving.js +17 -1
- package/modules/lifecycle/routes/moving.js +6 -0
- package/modules/lifecycle/routes/project-settings.js +23 -0
- package/modules/onboarding/approval-broadcast.js +8 -0
- package/modules/onboarding/routes/access-requests.js +16 -6
- package/modules/platform-identity/connections.js +13 -2
- package/modules/platform-identity/routes/connections.js +7 -1
- package/modules/public-landing/public/account-private.states.json +2 -2
- package/modules/public-landing/public/account.html +65 -5
- package/modules/public-landing/public/account.states.json +3 -3
- package/modules/public-landing/public/assets/world/r2-bongos-chrome-b.jpg.json +1 -1
- package/modules/public-landing/public/assets/world/r2-bongos-chrome-b.webp +0 -0
- package/modules/public-landing/public/assets/world/r2-bongos-chrome-b.webp.json +13 -0
- package/modules/public-landing/public/assets/world/r2-chrome-blob-one.jpg.json +1 -1
- package/modules/public-landing/public/assets/world/r2-chrome-blob-one.webp +0 -0
- package/modules/public-landing/public/assets/world/r2-chrome-blob-one.webp.json +13 -0
- package/modules/public-landing/public/assets/world/r2-chrome-blobs-set.jpg.json +1 -1
- package/modules/public-landing/public/assets/world/r2-chrome-blobs-set.webp +0 -0
- package/modules/public-landing/public/assets/world/r2-chrome-blobs-set.webp.json +13 -0
- package/modules/public-landing/public/assets/world.css +4 -4
- package/modules/public-landing/public/connections-empty.states.json +14 -0
- package/modules/public-landing/public/connections-inactive.states.json +14 -0
- package/modules/public-landing/public/connections.html +450 -0
- package/modules/public-landing/public/connections.probes.json +414 -0
- package/modules/public-landing/public/connections.states.json +17 -0
- package/modules/public-landing/public/contact.html +2 -2
- package/modules/public-landing/public/guild.html +2 -2
- package/modules/public-landing/public/index.html +2 -2
- package/modules/public-landing/public/invitations.html +2 -2
- package/modules/public-landing/public/privacy.html +2 -2
- package/modules/public-landing/public/projects.html +2 -2
- package/modules/public-landing/public/projects.probes.json +6 -2
- package/modules/public-landing/public/terms.html +2 -2
- package/modules/ui-design/kit/fixtures/connections-empty.json +12 -0
- package/modules/ui-design/kit/fixtures/connections-inactive.json +7 -0
- package/modules/ui-design/kit/fixtures/connections.json +22 -0
- package/modules/ui-design/kit/serve.js +95 -0
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +128 -0
- package/scripts/discord/README.md +8 -5
- package/scripts/discord/post.js +12 -1
- package/scripts/gds/artifact-audit.js +20 -3
- package/scripts/gds/ask.js +164 -0
- package/scripts/gds/autobongos-run.js +20 -5
- package/scripts/gds/autobongos-tweak-lane.js +262 -0
- package/scripts/gds/autobongos-verify.js +21 -2
- package/scripts/gds/claim.js +2 -0
- package/scripts/gds/government-walk.js +638 -4
- package/scripts/gds/pulse.js +9 -6
- package/scripts/gds/ship-escalation.js +22 -3
- package/scripts/gds/ship-finish.js +5 -4
- package/scripts/gds/ship-merge-gate.js +18 -6
- package/scripts/gds/tweak-halt.js +1 -0
- package/scripts/hall-preview/README.md +41 -1
- package/scripts/hall-preview/pref-writes.js +140 -0
- package/scripts/hall-preview/refresh-fixtures.js +101 -7
- package/scripts/hall-preview/scrub-identity.js +366 -7
- package/scripts/hall-preview/server.js +27 -1
- package/scripts/render-diagrams.sh +4 -2
- package/src/bongos/auth-idp.js +6 -1
- package/src/bongos/project-settings.js +41 -0
- package/src/bongos/route-rank-check.js +27 -0
- package/src/bongos/routes/me.js +68 -7
- package/src/bongos/serve-internal.js +5 -1
- package/src/module-api.js +7 -1
- package/src/platform-server.js +10 -0
- package/tests/application_lifecycle.mjs +47 -5
- package/tests/autobongos_tweak_lane.mjs +208 -0
- package/tests/conductor_main_e2e.mjs +21 -0
- package/tests/connections_api.mjs +18 -0
- package/tests/craft_mode_nav.mjs +5 -3
- package/tests/craft_mode_tallies.mjs +52 -16
- package/tests/discord_approvals.mjs +11 -0
- package/tests/discord_channels.mjs +20 -0
- package/tests/fixtures/gov-seated.mjs +64 -0
- package/tests/fixtures/government-ask-cards.json +1284 -0
- package/tests/government_act_alone_buildings.mjs +1 -0
- package/tests/government_agent_asks.mjs +322 -0
- package/tests/government_asks.mjs +408 -0
- package/tests/government_build_rights.mjs +253 -0
- package/tests/government_buildouts.mjs +382 -0
- package/tests/government_counts.mjs +143 -0
- package/tests/government_decision_rules.mjs +5 -1
- package/tests/government_laws.mjs +488 -0
- package/tests/government_laws_session.mjs +321 -0
- package/tests/government_leads.mjs +375 -0
- package/tests/government_positions.mjs +127 -0
- package/tests/government_presets.mjs +215 -0
- package/tests/government_routes.mjs +8 -1
- package/tests/government_routing.mjs +118 -0
- package/tests/government_seed.mjs +5 -0
- package/tests/government_treasury.mjs +394 -0
- package/tests/governor_docket.mjs +26 -2
- package/tests/hall_buildouts.mjs +208 -0
- package/tests/hall_city.mjs +14 -6
- package/tests/hall_city_living.mjs +617 -0
- package/tests/hall_gov_counts.mjs +336 -0
- package/tests/hall_gov_living.mjs +636 -0
- package/tests/hall_gov_real_site.mjs +655 -0
- package/tests/hall_matter_card.mjs +6 -1
- package/tests/hall_my_agents.mjs +481 -0
- package/tests/hall_nav.mjs +107 -4
- package/tests/hall_page_gate_map.mjs +4 -0
- package/tests/hall_preview_governor_fixtures.mjs +30 -3
- package/tests/hall_preview_scrub.mjs +59 -1
- package/tests/hall_preview_security.mjs +169 -0
- package/tests/hall_reading_world.mjs +44 -0
- package/tests/hall_roster_world.mjs +6 -2
- package/tests/hall_street.mjs +18 -2
- package/tests/hall_street_amend.mjs +1 -1
- package/tests/hall_street_deck.mjs +609 -0
- package/tests/hall_street_depth.mjs +559 -0
- package/tests/hall_street_desk.mjs +1 -1
- package/tests/hall_street_inside.mjs +29 -5
- package/tests/hall_tweak_editor.mjs +4 -1
- package/tests/hub_account_page.mjs +94 -3
- package/tests/hub_connections_page.mjs +507 -0
- package/tests/hub_invite_badge.mjs +1 -1
- package/tests/idp_device_exchange.mjs +18 -0
- package/tests/landing_legal_pages.mjs +8 -5
- package/tests/landing_page.mjs +23 -4
- package/tests/nav_permission_atoms.mjs +4 -1
- package/tests/profile_connections_ui.mjs +88 -25
- package/tests/projects_hub.mjs +15 -0
- package/tests/render_check.mjs +2 -2
- package/tests/ship_broadcast_routing.mjs +57 -16
- package/tests/ship_broadcast_server.mjs +40 -7
- package/tests/ship_merge_gate.mjs +19 -0
- package/tests/ui_design_kit.mjs +2 -2
- package/tests/watch_applications_queue.mjs +23 -0
package/docs/api/openapi.json
CHANGED
|
@@ -2388,7 +2388,7 @@
|
|
|
2388
2388
|
"blockers"
|
|
2389
2389
|
],
|
|
2390
2390
|
"summary": "POST /blockers",
|
|
2391
|
-
"description": "FILE a blocker (contribution, not resolution).\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
2391
|
+
"description": "FILE a blocker (contribution, not resolution). Body: { title, body_md?, source?, source_ref?, ask? } — `ask` is the card a person answers (task 1004703, see THE ASK above); a slop ask files nothing (400 `ask_refused`). An AI session filing by hand (a CLI session, any `source` but a templated script's) must send one: without it, 400 `ask_required` (task 1004704). → 201 { blocker, ask } (ask: the stored card, or null).\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
2392
2392
|
"x-rank": "any-builder",
|
|
2393
2393
|
"x-source": "modules/ideas/routes/blockers.js",
|
|
2394
2394
|
"requestBody": {
|
|
@@ -8554,6 +8554,168 @@
|
|
|
8554
8554
|
]
|
|
8555
8555
|
}
|
|
8556
8556
|
},
|
|
8557
|
+
"/government/asks/check": {
|
|
8558
|
+
"post": {
|
|
8559
|
+
"operationId": "post_government_asks_check",
|
|
8560
|
+
"tags": [
|
|
8561
|
+
"government"
|
|
8562
|
+
],
|
|
8563
|
+
"summary": "POST /government/asks/check",
|
|
8564
|
+
"description": "board.vote.cast — CHECK an ask without storing it (task 1004703): the agent's dry run before it files. Answers the same verdict a write would: { ok: true, ask } (the stored form), or 400 `ask_refused` whose message says in plain words what to fix and whose details list every broken rule. Writes nothing and reads nothing; the docket's own atom (xenos floor), like the write. Body: the ask — { question, options: [{ key, label, result, act? }], recommend: { key, why }, waits_on, if_nobody_answers, detail? } — bare, or as { ask }.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).\n\n**Permissions:** `board.vote.cast` (all required).",
|
|
8565
|
+
"x-rank": "any-builder",
|
|
8566
|
+
"x-source": "modules/government/routes/government.js",
|
|
8567
|
+
"x-permissions": [
|
|
8568
|
+
"board.vote.cast"
|
|
8569
|
+
],
|
|
8570
|
+
"responses": {
|
|
8571
|
+
"200": {
|
|
8572
|
+
"description": "Success.",
|
|
8573
|
+
"content": {
|
|
8574
|
+
"application/json": {
|
|
8575
|
+
"schema": {
|
|
8576
|
+
"$ref": "#/components/schemas/PostGovernmentAsksCheckResponse"
|
|
8577
|
+
}
|
|
8578
|
+
}
|
|
8579
|
+
}
|
|
8580
|
+
},
|
|
8581
|
+
"400": {
|
|
8582
|
+
"$ref": "#/components/responses/BadRequest"
|
|
8583
|
+
},
|
|
8584
|
+
"401": {
|
|
8585
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
8586
|
+
},
|
|
8587
|
+
"403": {
|
|
8588
|
+
"$ref": "#/components/responses/Forbidden"
|
|
8589
|
+
}
|
|
8590
|
+
},
|
|
8591
|
+
"security": [
|
|
8592
|
+
{
|
|
8593
|
+
"builderSession": []
|
|
8594
|
+
}
|
|
8595
|
+
]
|
|
8596
|
+
}
|
|
8597
|
+
},
|
|
8598
|
+
"/government/asks/{matterId}": {
|
|
8599
|
+
"put": {
|
|
8600
|
+
"operationId": "put_government_asks_matterId",
|
|
8601
|
+
"tags": [
|
|
8602
|
+
"government"
|
|
8603
|
+
],
|
|
8604
|
+
"summary": "PUT /government/asks/:matterId",
|
|
8605
|
+
"description": "board.vote.cast — put an ASK on a docket matter (task 1004703): the one shape every request from an agent to a person takes. The matter is named by its docket id (`blockers:12`, `board:34`); the writer must hold the docket's atom AND see the matter, through the same per-source gate the docket applies (docket.findMatter), so an ask is never written onto a matter its writer cannot see. A slop ask is refused (400 `ask_refused`, every fix named) and nothing is stored. A second PUT replaces the ask whole. Body: the ask (as POST /government/asks/check). → 200 { ok, matter_id, ask }\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).\n\n**Permissions:** `board.vote.cast` (all required).",
|
|
8606
|
+
"x-rank": "any-builder",
|
|
8607
|
+
"x-source": "modules/government/routes/government.js",
|
|
8608
|
+
"x-permissions": [
|
|
8609
|
+
"board.vote.cast"
|
|
8610
|
+
],
|
|
8611
|
+
"parameters": [
|
|
8612
|
+
{
|
|
8613
|
+
"name": "matterId",
|
|
8614
|
+
"in": "path",
|
|
8615
|
+
"required": true,
|
|
8616
|
+
"schema": {
|
|
8617
|
+
"type": "string"
|
|
8618
|
+
},
|
|
8619
|
+
"description": "Path parameter `matterId`."
|
|
8620
|
+
}
|
|
8621
|
+
],
|
|
8622
|
+
"responses": {
|
|
8623
|
+
"200": {
|
|
8624
|
+
"description": "Success.",
|
|
8625
|
+
"content": {
|
|
8626
|
+
"application/json": {
|
|
8627
|
+
"schema": {
|
|
8628
|
+
"$ref": "#/components/schemas/PutGovernmentAsksMatterIdResponse"
|
|
8629
|
+
}
|
|
8630
|
+
}
|
|
8631
|
+
}
|
|
8632
|
+
},
|
|
8633
|
+
"400": {
|
|
8634
|
+
"$ref": "#/components/responses/BadRequest"
|
|
8635
|
+
},
|
|
8636
|
+
"401": {
|
|
8637
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
8638
|
+
},
|
|
8639
|
+
"403": {
|
|
8640
|
+
"$ref": "#/components/responses/Forbidden"
|
|
8641
|
+
},
|
|
8642
|
+
"404": {
|
|
8643
|
+
"$ref": "#/components/responses/NotFound"
|
|
8644
|
+
}
|
|
8645
|
+
},
|
|
8646
|
+
"security": [
|
|
8647
|
+
{
|
|
8648
|
+
"builderSession": []
|
|
8649
|
+
}
|
|
8650
|
+
]
|
|
8651
|
+
}
|
|
8652
|
+
},
|
|
8653
|
+
"/government/asks/{matterId}/pass": {
|
|
8654
|
+
"post": {
|
|
8655
|
+
"operationId": "post_government_asks_matterId_pass",
|
|
8656
|
+
"tags": [
|
|
8657
|
+
"government"
|
|
8658
|
+
],
|
|
8659
|
+
"summary": "POST /government/asks/:matterId/pass",
|
|
8660
|
+
"description": "board.vote.cast — PASS AN ASK ON to another seat (task 1004705, the direction desk). Only whoever the ask waits on today may hand it on (routing.passRefusal, from real seats: its Lead, the owner seat, a board's holders), and only an ask that is stored; a board sitting is its voters' and is never passed. The ask is kept word for word; only its seat changes, so it leaves the passer's \"to do\" and lands on the new seat's. Body: { seat } → 200 { ok, matter_id, ask, route }\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).\n\n**Permissions:** `board.vote.cast` (all required).",
|
|
8661
|
+
"x-rank": "any-builder",
|
|
8662
|
+
"x-source": "modules/government/routes/government.js",
|
|
8663
|
+
"x-permissions": [
|
|
8664
|
+
"board.vote.cast"
|
|
8665
|
+
],
|
|
8666
|
+
"parameters": [
|
|
8667
|
+
{
|
|
8668
|
+
"name": "matterId",
|
|
8669
|
+
"in": "path",
|
|
8670
|
+
"required": true,
|
|
8671
|
+
"schema": {
|
|
8672
|
+
"type": "string"
|
|
8673
|
+
},
|
|
8674
|
+
"description": "Path parameter `matterId`."
|
|
8675
|
+
}
|
|
8676
|
+
],
|
|
8677
|
+
"requestBody": {
|
|
8678
|
+
"required": true,
|
|
8679
|
+
"content": {
|
|
8680
|
+
"application/json": {
|
|
8681
|
+
"schema": {
|
|
8682
|
+
"$ref": "#/components/schemas/PostGovernmentAsksMatterIdPassRequest"
|
|
8683
|
+
}
|
|
8684
|
+
}
|
|
8685
|
+
},
|
|
8686
|
+
"x-validated": true
|
|
8687
|
+
},
|
|
8688
|
+
"responses": {
|
|
8689
|
+
"200": {
|
|
8690
|
+
"description": "Success.",
|
|
8691
|
+
"content": {
|
|
8692
|
+
"application/json": {
|
|
8693
|
+
"schema": {
|
|
8694
|
+
"$ref": "#/components/schemas/PostGovernmentAsksMatterIdPassResponse"
|
|
8695
|
+
}
|
|
8696
|
+
}
|
|
8697
|
+
}
|
|
8698
|
+
},
|
|
8699
|
+
"400": {
|
|
8700
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
8701
|
+
},
|
|
8702
|
+
"401": {
|
|
8703
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
8704
|
+
},
|
|
8705
|
+
"403": {
|
|
8706
|
+
"$ref": "#/components/responses/Forbidden"
|
|
8707
|
+
},
|
|
8708
|
+
"404": {
|
|
8709
|
+
"$ref": "#/components/responses/NotFound"
|
|
8710
|
+
}
|
|
8711
|
+
},
|
|
8712
|
+
"security": [
|
|
8713
|
+
{
|
|
8714
|
+
"builderSession": []
|
|
8715
|
+
}
|
|
8716
|
+
]
|
|
8717
|
+
}
|
|
8718
|
+
},
|
|
8557
8719
|
"/government/assignments": {
|
|
8558
8720
|
"get": {
|
|
8559
8721
|
"operationId": "get_government_assignments",
|
|
@@ -9038,25 +9200,25 @@
|
|
|
9038
9200
|
]
|
|
9039
9201
|
}
|
|
9040
9202
|
},
|
|
9041
|
-
"/government/board/
|
|
9203
|
+
"/government/board/laws": {
|
|
9042
9204
|
"post": {
|
|
9043
|
-
"operationId": "
|
|
9205
|
+
"operationId": "post_government_board_laws",
|
|
9044
9206
|
"tags": [
|
|
9045
9207
|
"government"
|
|
9046
9208
|
],
|
|
9047
|
-
"summary": "POST /government/board/
|
|
9048
|
-
"description": "board.item.open —
|
|
9209
|
+
"summary": "POST /government/board/laws",
|
|
9210
|
+
"description": "board.item.open — propose a change to the project's LAWS (task 1004706): laws to enact, laws in force to repeal, or both, filed as an amendment of kind 'laws' and sat under the constitution IN FORCE, like every amendment. Nothing here writes a law — only the sitting passing does, inside its closing transaction. The same atom as proposing any amendment. Body: { enact?: [{ text, effect_on_ai?, locks? }], repeal?: [law id], rationale_md? } text one line, 3-100 characters: what every agent obeys effect_on_ai one line, at most 200: what it means for an agent locks at most 8 of { setting, value } (fixes it) or { setting, max } (caps it)\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `board.item.open` (all required).",
|
|
9049
9211
|
"x-rank": "metic+archon",
|
|
9050
9212
|
"x-source": "modules/government/routes/government.js",
|
|
9051
9213
|
"x-permissions": [
|
|
9052
9214
|
"board.item.open"
|
|
9053
9215
|
],
|
|
9054
9216
|
"requestBody": {
|
|
9055
|
-
"required":
|
|
9217
|
+
"required": false,
|
|
9056
9218
|
"content": {
|
|
9057
9219
|
"application/json": {
|
|
9058
9220
|
"schema": {
|
|
9059
|
-
"$ref": "#/components/schemas/
|
|
9221
|
+
"$ref": "#/components/schemas/PostGovernmentBoardLawsRequest"
|
|
9060
9222
|
}
|
|
9061
9223
|
}
|
|
9062
9224
|
},
|
|
@@ -9068,7 +9230,7 @@
|
|
|
9068
9230
|
"content": {
|
|
9069
9231
|
"application/json": {
|
|
9070
9232
|
"schema": {
|
|
9071
|
-
"$ref": "#/components/schemas/
|
|
9233
|
+
"$ref": "#/components/schemas/PostGovernmentBoardLawsResponse"
|
|
9072
9234
|
}
|
|
9073
9235
|
}
|
|
9074
9236
|
}
|
|
@@ -9090,59 +9252,43 @@
|
|
|
9090
9252
|
]
|
|
9091
9253
|
}
|
|
9092
9254
|
},
|
|
9093
|
-
"/government/
|
|
9094
|
-
"
|
|
9095
|
-
"operationId": "
|
|
9255
|
+
"/government/board/matters": {
|
|
9256
|
+
"post": {
|
|
9257
|
+
"operationId": "post_government_board_matters",
|
|
9096
9258
|
"tags": [
|
|
9097
9259
|
"government"
|
|
9098
9260
|
],
|
|
9099
|
-
"summary": "
|
|
9100
|
-
"description": "board.
|
|
9101
|
-
"x-rank": "
|
|
9261
|
+
"summary": "POST /government/board/matters",
|
|
9262
|
+
"description": "board.item.open — put a MATTER to a building's sitting (task 1004529): the board's new subjects, one per building other than the charter. Refused unless the building's row names a sitting — under the default rows every building is decided as today and this route opens nothing. The sitting is snapshotted from the row (who and how). Body: { area, title, detail_md?, action? } action (People only): { type: 'assign_rank' | 'unassign_rank', builder_id, rank_key } — carried out when the sitting passes, under the same walls as the direct route; or { type: 'appoint_lead', building, builder_id, charter? } | { type: 'remove_lead', building } (task 1004709) — the Lead of a building. Where People is decided as today this one matter sits under the board in force instead of refusing. Or, at any building, { type: 'build_out', building, capsule, name?, line? } (task 1004711) — a build-out put to a vote; POST /government/buildouts files it for the holder.\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `board.item.open` (all required).",
|
|
9263
|
+
"x-rank": "metic+archon",
|
|
9102
9264
|
"x-source": "modules/government/routes/government.js",
|
|
9103
9265
|
"x-permissions": [
|
|
9104
|
-
"board.
|
|
9266
|
+
"board.item.open"
|
|
9105
9267
|
],
|
|
9106
|
-
"
|
|
9107
|
-
"
|
|
9108
|
-
|
|
9109
|
-
|
|
9110
|
-
|
|
9111
|
-
|
|
9112
|
-
|
|
9113
|
-
|
|
9114
|
-
"$ref": "#/components/responses/Unauthorized"
|
|
9268
|
+
"requestBody": {
|
|
9269
|
+
"required": true,
|
|
9270
|
+
"content": {
|
|
9271
|
+
"application/json": {
|
|
9272
|
+
"schema": {
|
|
9273
|
+
"$ref": "#/components/schemas/PostGovernmentBoardMattersRequest"
|
|
9274
|
+
}
|
|
9275
|
+
}
|
|
9115
9276
|
},
|
|
9116
|
-
"
|
|
9117
|
-
"$ref": "#/components/responses/Forbidden"
|
|
9118
|
-
}
|
|
9277
|
+
"x-validated": true
|
|
9119
9278
|
},
|
|
9120
|
-
"security": [
|
|
9121
|
-
{
|
|
9122
|
-
"builderSession": []
|
|
9123
|
-
}
|
|
9124
|
-
]
|
|
9125
|
-
}
|
|
9126
|
-
},
|
|
9127
|
-
"/government/docket": {
|
|
9128
|
-
"get": {
|
|
9129
|
-
"operationId": "get_government_docket",
|
|
9130
|
-
"tags": [
|
|
9131
|
-
"government"
|
|
9132
|
-
],
|
|
9133
|
-
"summary": "GET /government/docket",
|
|
9134
|
-
"description": "board.vote.cast — the governor's DOCKET (task 1004523, goal 1000125): ONE read of every matter waiting on, or moving for, a governor, which the Governor City screens all draw from. Same coarse atom as the room (xenos floor: whoever the constitution may enfranchise may open the city); the real scoping is PER SOURCE, inside docket.js — each source is shown only to a viewer holding the same atom its own list route requires, and a hidden source reports `not_yours` with no rows (ADR 0016, server-side, uncached). Response (docket.buildDocket): { viewer: { id }, generated_at, line, // \"3 matters wait on you · 2 moving\" counts: { needs, moving, settled }, matters: [{ id: '<source>:<id>', source, building, rule, state, title, short, where, opened_at, deadline, proposer: { id, login, name } | null, tally: { for, against, open, needs } | null, href, ref }], buildings: [{ key, name, group, counts, matter_ids }], // street order sources: [{ source, building, label, status, count, reason }], // status: live | not_yours | coming | off | unavailable readings: [{ key, label, building, status, value, figure, line, hot, reason }], vocabulary: { buildings, rules, states } } `building` ∈ charter rules disputes people planning automation review release treasury; `rule` ∈ decide first consent majority unanimous signoff rule (or null); `state` ∈ needs moving settled. Nothing is ever sample data: a source with nothing recorded yet is `coming`, never a placeholder row.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).\n\n**Permissions:** `board.vote.cast` (all required).",
|
|
9135
|
-
"x-rank": "any-builder",
|
|
9136
|
-
"x-source": "modules/government/routes/government.js",
|
|
9137
|
-
"x-permissions": [
|
|
9138
|
-
"board.vote.cast"
|
|
9139
|
-
],
|
|
9140
9279
|
"responses": {
|
|
9141
9280
|
"200": {
|
|
9142
|
-
"description": "Success."
|
|
9281
|
+
"description": "Success.",
|
|
9282
|
+
"content": {
|
|
9283
|
+
"application/json": {
|
|
9284
|
+
"schema": {
|
|
9285
|
+
"$ref": "#/components/schemas/PostGovernmentBoardMattersResponse"
|
|
9286
|
+
}
|
|
9287
|
+
}
|
|
9288
|
+
}
|
|
9143
9289
|
},
|
|
9144
9290
|
"400": {
|
|
9145
|
-
"$ref": "#/components/responses/
|
|
9291
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
9146
9292
|
},
|
|
9147
9293
|
"401": {
|
|
9148
9294
|
"$ref": "#/components/responses/Unauthorized"
|
|
@@ -9158,32 +9304,43 @@
|
|
|
9158
9304
|
]
|
|
9159
9305
|
}
|
|
9160
9306
|
},
|
|
9161
|
-
"/government/
|
|
9162
|
-
"
|
|
9163
|
-
"operationId": "
|
|
9307
|
+
"/government/board/presets": {
|
|
9308
|
+
"post": {
|
|
9309
|
+
"operationId": "post_government_board_presets",
|
|
9164
9310
|
"tags": [
|
|
9165
9311
|
"government"
|
|
9166
9312
|
],
|
|
9167
|
-
"summary": "
|
|
9168
|
-
"description": "
|
|
9169
|
-
"x-rank": "archon",
|
|
9313
|
+
"summary": "POST /government/board/presets",
|
|
9314
|
+
"description": "board.item.open — SWITCH the project's strictness preset (task 1004715). A switch is a vote: ONE laws amendment (the same path as POST /government/board/laws) that enacts the preset's laws not in force and repeals the other presets' laws that are. Nothing here writes a law; only the sitting passing does. The same atom as proposing any law. Body: { preset: 'open' | 'guild' | 'factory' }\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `board.item.open` (all required).",
|
|
9315
|
+
"x-rank": "metic+archon",
|
|
9170
9316
|
"x-source": "modules/government/routes/government.js",
|
|
9171
9317
|
"x-permissions": [
|
|
9172
|
-
"
|
|
9318
|
+
"board.item.open"
|
|
9173
9319
|
],
|
|
9320
|
+
"requestBody": {
|
|
9321
|
+
"required": true,
|
|
9322
|
+
"content": {
|
|
9323
|
+
"application/json": {
|
|
9324
|
+
"schema": {
|
|
9325
|
+
"$ref": "#/components/schemas/PostGovernmentBoardPresetsRequest"
|
|
9326
|
+
}
|
|
9327
|
+
}
|
|
9328
|
+
},
|
|
9329
|
+
"x-validated": true
|
|
9330
|
+
},
|
|
9174
9331
|
"responses": {
|
|
9175
9332
|
"200": {
|
|
9176
9333
|
"description": "Success.",
|
|
9177
9334
|
"content": {
|
|
9178
9335
|
"application/json": {
|
|
9179
9336
|
"schema": {
|
|
9180
|
-
"$ref": "#/components/schemas/
|
|
9337
|
+
"$ref": "#/components/schemas/PostGovernmentBoardPresetsResponse"
|
|
9181
9338
|
}
|
|
9182
9339
|
}
|
|
9183
9340
|
}
|
|
9184
9341
|
},
|
|
9185
9342
|
"400": {
|
|
9186
|
-
"$ref": "#/components/responses/
|
|
9343
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
9187
9344
|
},
|
|
9188
9345
|
"401": {
|
|
9189
9346
|
"$ref": "#/components/responses/Unauthorized"
|
|
@@ -9199,25 +9356,25 @@
|
|
|
9199
9356
|
]
|
|
9200
9357
|
}
|
|
9201
9358
|
},
|
|
9202
|
-
"/government/
|
|
9359
|
+
"/government/buildouts": {
|
|
9203
9360
|
"post": {
|
|
9204
|
-
"operationId": "
|
|
9361
|
+
"operationId": "post_government_buildouts",
|
|
9205
9362
|
"tags": [
|
|
9206
9363
|
"government"
|
|
9207
9364
|
],
|
|
9208
|
-
"summary": "POST /government/
|
|
9209
|
-
"description": "
|
|
9210
|
-
"x-rank": "
|
|
9365
|
+
"summary": "POST /government/buildouts",
|
|
9366
|
+
"description": "board.vote.cast — a Lead's BUILD-OUT (task 1004711, ADR 0378): a committee room, a new floor, an annex, or growing the building into a district. The coarse atom is the room's (every builder who reads the Leads); the wall is server-side and per request: only the building's HOLDER — its Lead in office, or the owner seat (every active Archon) when it is unseated — may ask (403 not_the_holder). build_rights (build-rights.js, the one rule) then decides: at once → 201 { path: 'at_once', buildout }, on the record now and drawn as a live site; otherwise → 201 { path: 'vote', matter, item }, filed as a build_out matter through the same openMatter the matters route runs, drawn as a ghost with the sitting's tally until it closes. Body: { building, capsule: committee|floor|annex|district, name?, line? }\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).\n\n**Permissions:** `board.vote.cast` (all required).",
|
|
9367
|
+
"x-rank": "any-builder",
|
|
9211
9368
|
"x-source": "modules/government/routes/government.js",
|
|
9212
9369
|
"x-permissions": [
|
|
9213
|
-
"
|
|
9370
|
+
"board.vote.cast"
|
|
9214
9371
|
],
|
|
9215
9372
|
"requestBody": {
|
|
9216
9373
|
"required": true,
|
|
9217
9374
|
"content": {
|
|
9218
9375
|
"application/json": {
|
|
9219
9376
|
"schema": {
|
|
9220
|
-
"$ref": "#/components/schemas/
|
|
9377
|
+
"$ref": "#/components/schemas/PostGovernmentBuildoutsRequest"
|
|
9221
9378
|
}
|
|
9222
9379
|
}
|
|
9223
9380
|
},
|
|
@@ -9229,7 +9386,7 @@
|
|
|
9229
9386
|
"content": {
|
|
9230
9387
|
"application/json": {
|
|
9231
9388
|
"schema": {
|
|
9232
|
-
"$ref": "#/components/schemas/
|
|
9389
|
+
"$ref": "#/components/schemas/PostGovernmentBuildoutsResponse"
|
|
9233
9390
|
}
|
|
9234
9391
|
}
|
|
9235
9392
|
}
|
|
@@ -9251,15 +9408,312 @@
|
|
|
9251
9408
|
]
|
|
9252
9409
|
}
|
|
9253
9410
|
},
|
|
9254
|
-
"/government/
|
|
9411
|
+
"/government/constitution": {
|
|
9255
9412
|
"get": {
|
|
9256
|
-
"operationId": "
|
|
9413
|
+
"operationId": "get_government_constitution",
|
|
9257
9414
|
"tags": [
|
|
9258
9415
|
"government"
|
|
9259
9416
|
],
|
|
9260
|
-
"summary": "GET /government/
|
|
9261
|
-
"description": "
|
|
9262
|
-
"x-rank": "
|
|
9417
|
+
"summary": "GET /government/constitution",
|
|
9418
|
+
"description": "board.vote.cast — the Constitution view (R18 of goal 1000069): the live board block plus the full amendment history, passed and returned alike. Same atom as the room — reading the rule you vote under is part of casting, and the section teaches (criterion C5). The live value resolves fresh per request, so an amendment applied a moment ago reads back immediately (the same instant-effect posture as everything else here).\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).\n\n**Permissions:** `board.vote.cast` (all required).",
|
|
9419
|
+
"x-rank": "any-builder",
|
|
9420
|
+
"x-source": "modules/government/routes/government.js",
|
|
9421
|
+
"x-permissions": [
|
|
9422
|
+
"board.vote.cast"
|
|
9423
|
+
],
|
|
9424
|
+
"responses": {
|
|
9425
|
+
"200": {
|
|
9426
|
+
"description": "Success."
|
|
9427
|
+
},
|
|
9428
|
+
"400": {
|
|
9429
|
+
"$ref": "#/components/responses/BadRequest"
|
|
9430
|
+
},
|
|
9431
|
+
"401": {
|
|
9432
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
9433
|
+
},
|
|
9434
|
+
"403": {
|
|
9435
|
+
"$ref": "#/components/responses/Forbidden"
|
|
9436
|
+
}
|
|
9437
|
+
},
|
|
9438
|
+
"security": [
|
|
9439
|
+
{
|
|
9440
|
+
"builderSession": []
|
|
9441
|
+
}
|
|
9442
|
+
]
|
|
9443
|
+
}
|
|
9444
|
+
},
|
|
9445
|
+
"/government/counts": {
|
|
9446
|
+
"get": {
|
|
9447
|
+
"operationId": "get_government_counts",
|
|
9448
|
+
"tags": [
|
|
9449
|
+
"government"
|
|
9450
|
+
],
|
|
9451
|
+
"summary": "GET /government/counts",
|
|
9452
|
+
"description": "board.vote.cast — the government's COUNTS in one read (task 1004716): what is on the viewer (\"to do\"), what waits on others, what is to decide, how many agents are working and how much is moving. The docket's own atom and its own per-source gates (counts.countsFor reads the docket this viewer would), so a count never includes a matter the viewer could not see. Response: { viewer: { id }, generated_at, on_you, on_others, open, agents_at_work, moving, routed, yours: [matter id], others: [matter id] } (a figure that could not be read is null, never 0).\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).\n\n**Permissions:** `board.vote.cast` (all required).",
|
|
9453
|
+
"x-rank": "any-builder",
|
|
9454
|
+
"x-source": "modules/government/routes/government.js",
|
|
9455
|
+
"x-permissions": [
|
|
9456
|
+
"board.vote.cast"
|
|
9457
|
+
],
|
|
9458
|
+
"responses": {
|
|
9459
|
+
"200": {
|
|
9460
|
+
"description": "Success."
|
|
9461
|
+
},
|
|
9462
|
+
"400": {
|
|
9463
|
+
"$ref": "#/components/responses/BadRequest"
|
|
9464
|
+
},
|
|
9465
|
+
"401": {
|
|
9466
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
9467
|
+
},
|
|
9468
|
+
"403": {
|
|
9469
|
+
"$ref": "#/components/responses/Forbidden"
|
|
9470
|
+
}
|
|
9471
|
+
},
|
|
9472
|
+
"security": [
|
|
9473
|
+
{
|
|
9474
|
+
"builderSession": []
|
|
9475
|
+
}
|
|
9476
|
+
]
|
|
9477
|
+
}
|
|
9478
|
+
},
|
|
9479
|
+
"/government/docket": {
|
|
9480
|
+
"get": {
|
|
9481
|
+
"operationId": "get_government_docket",
|
|
9482
|
+
"tags": [
|
|
9483
|
+
"government"
|
|
9484
|
+
],
|
|
9485
|
+
"summary": "GET /government/docket",
|
|
9486
|
+
"description": "board.vote.cast — the governor's DOCKET (task 1004523, goal 1000125): ONE read of every matter waiting on, or moving for, a governor, which the Governor City screens all draw from. Same coarse atom as the room (xenos floor: whoever the constitution may enfranchise may open the city); the real scoping is PER SOURCE, inside docket.js — each source is shown only to a viewer holding the same atom its own list route requires, and a hidden source reports `not_yours` with no rows (ADR 0016, server-side, uncached). Response (docket.buildDocket): { viewer: { id }, generated_at, line, // \"3 matters wait on you · 2 moving\" counts: { needs, moving, settled }, matters: [{ id: '<source>:<id>', source, building, rule, state, title, short, where, opened_at, deadline, proposer: { id, login, name } | null, tally: { for, against, open, needs } | null, href, ref, ask?: { question, options, recommend, waits_on, // task 1004703: if_nobody_answers, detail, written_at } }], // the stored ask buildings: [{ key, name, group, counts, matter_ids }], // street order sources: [{ source, building, label, status, count, reason }], // status: live | not_yours | coming | off | unavailable readings: [{ key, label, building, status, value, figure, line, hot, reason }], vocabulary: { buildings, rules, states } } `building` ∈ charter rules disputes people planning automation review release treasury; `rule` ∈ decide first consent majority unanimous signoff rule (or null); `state` ∈ needs moving settled. Nothing is ever sample data: a source with nothing recorded yet is `coming`, never a placeholder row.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).\n\n**Permissions:** `board.vote.cast` (all required).",
|
|
9487
|
+
"x-rank": "any-builder",
|
|
9488
|
+
"x-source": "modules/government/routes/government.js",
|
|
9489
|
+
"x-permissions": [
|
|
9490
|
+
"board.vote.cast"
|
|
9491
|
+
],
|
|
9492
|
+
"responses": {
|
|
9493
|
+
"200": {
|
|
9494
|
+
"description": "Success."
|
|
9495
|
+
},
|
|
9496
|
+
"400": {
|
|
9497
|
+
"$ref": "#/components/responses/BadRequest"
|
|
9498
|
+
},
|
|
9499
|
+
"401": {
|
|
9500
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
9501
|
+
},
|
|
9502
|
+
"403": {
|
|
9503
|
+
"$ref": "#/components/responses/Forbidden"
|
|
9504
|
+
}
|
|
9505
|
+
},
|
|
9506
|
+
"security": [
|
|
9507
|
+
{
|
|
9508
|
+
"builderSession": []
|
|
9509
|
+
}
|
|
9510
|
+
]
|
|
9511
|
+
}
|
|
9512
|
+
},
|
|
9513
|
+
"/government/laws": {
|
|
9514
|
+
"get": {
|
|
9515
|
+
"operationId": "get_government_laws",
|
|
9516
|
+
"tags": [
|
|
9517
|
+
"government"
|
|
9518
|
+
],
|
|
9519
|
+
"summary": "GET /government/laws",
|
|
9520
|
+
"description": "board.vote.cast — the law book (task 1004706): every law in force, oldest first, each with who passed it (the government it was decided under, its proposer, who said yes, the sitting) and when. ?include=repealed adds the laws repealed since, with when and by which sitting. Every builder's agents obey these, so the read floors where the room's does. A read; nothing here writes a law.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).\n\n**Permissions:** `board.vote.cast` (all required).",
|
|
9521
|
+
"x-rank": "any-builder",
|
|
9522
|
+
"x-source": "modules/government/routes/government.js",
|
|
9523
|
+
"x-permissions": [
|
|
9524
|
+
"board.vote.cast"
|
|
9525
|
+
],
|
|
9526
|
+
"responses": {
|
|
9527
|
+
"200": {
|
|
9528
|
+
"description": "Success."
|
|
9529
|
+
},
|
|
9530
|
+
"400": {
|
|
9531
|
+
"$ref": "#/components/responses/BadRequest"
|
|
9532
|
+
},
|
|
9533
|
+
"401": {
|
|
9534
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
9535
|
+
},
|
|
9536
|
+
"403": {
|
|
9537
|
+
"$ref": "#/components/responses/Forbidden"
|
|
9538
|
+
}
|
|
9539
|
+
},
|
|
9540
|
+
"security": [
|
|
9541
|
+
{
|
|
9542
|
+
"builderSession": []
|
|
9543
|
+
}
|
|
9544
|
+
]
|
|
9545
|
+
}
|
|
9546
|
+
},
|
|
9547
|
+
"/government/leads": {
|
|
9548
|
+
"get": {
|
|
9549
|
+
"operationId": "get_government_leads",
|
|
9550
|
+
"tags": [
|
|
9551
|
+
"government"
|
|
9552
|
+
],
|
|
9553
|
+
"summary": "GET /government/leads",
|
|
9554
|
+
"description": "board.vote.cast — the Lead of each building (task 1004709): the nine buildings in street order, each with its Lead in office (who, their charter, since when, the sitting that appointed them) or null, and who answers for it — its Lead, or the owner (every active Archon, the founding one first) when it is unseated. ?include=past adds the appointments that have ended. A read; a Lead is appointed and removed only by a passed People matter (POST /government/board/matters, action appoint_lead or remove_lead).\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).\n\n**Permissions:** `board.vote.cast` (all required).",
|
|
9555
|
+
"x-rank": "any-builder",
|
|
9556
|
+
"x-source": "modules/government/routes/government.js",
|
|
9557
|
+
"x-permissions": [
|
|
9558
|
+
"board.vote.cast"
|
|
9559
|
+
],
|
|
9560
|
+
"responses": {
|
|
9561
|
+
"200": {
|
|
9562
|
+
"description": "Success."
|
|
9563
|
+
},
|
|
9564
|
+
"400": {
|
|
9565
|
+
"$ref": "#/components/responses/BadRequest"
|
|
9566
|
+
},
|
|
9567
|
+
"401": {
|
|
9568
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
9569
|
+
},
|
|
9570
|
+
"403": {
|
|
9571
|
+
"$ref": "#/components/responses/Forbidden"
|
|
9572
|
+
}
|
|
9573
|
+
},
|
|
9574
|
+
"security": [
|
|
9575
|
+
{
|
|
9576
|
+
"builderSession": []
|
|
9577
|
+
}
|
|
9578
|
+
]
|
|
9579
|
+
}
|
|
9580
|
+
},
|
|
9581
|
+
"/government/permissions": {
|
|
9582
|
+
"get": {
|
|
9583
|
+
"operationId": "get_government_permissions",
|
|
9584
|
+
"tags": [
|
|
9585
|
+
"government"
|
|
9586
|
+
],
|
|
9587
|
+
"summary": "GET /government/permissions",
|
|
9588
|
+
"description": "government.manage — the permission catalog + principals, straight from code (the catalog is CODE, not a table); no DB read. Principals are read-only by construction. Three flags the tab renders its locks from, and the tab must read all three rather than just `grantable`, because since ADR 0172 grantability depends on WHICH rank is selected: • `grantable` — the CUSTOM-rank answer (system:false). Unchanged meaning. • `system` — an in-app Archon power: locked on a custom rank, togglable on a sub-Archon rank. • `substrate` — locked EVERYWHERE, on every rank, forever (ADR 0043).\n\n**Rank:** `archon` — Archon only (rank and identity management + the escalation keys — the trust boundary).\n\n**Permissions:** `government.manage` (all required).",
|
|
9589
|
+
"x-rank": "archon",
|
|
9590
|
+
"x-source": "modules/government/routes/government.js",
|
|
9591
|
+
"x-permissions": [
|
|
9592
|
+
"government.manage"
|
|
9593
|
+
],
|
|
9594
|
+
"responses": {
|
|
9595
|
+
"200": {
|
|
9596
|
+
"description": "Success.",
|
|
9597
|
+
"content": {
|
|
9598
|
+
"application/json": {
|
|
9599
|
+
"schema": {
|
|
9600
|
+
"$ref": "#/components/schemas/GetGovernmentPermissionsResponse"
|
|
9601
|
+
}
|
|
9602
|
+
}
|
|
9603
|
+
}
|
|
9604
|
+
},
|
|
9605
|
+
"400": {
|
|
9606
|
+
"$ref": "#/components/responses/BadRequest"
|
|
9607
|
+
},
|
|
9608
|
+
"401": {
|
|
9609
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
9610
|
+
},
|
|
9611
|
+
"403": {
|
|
9612
|
+
"$ref": "#/components/responses/Forbidden"
|
|
9613
|
+
}
|
|
9614
|
+
},
|
|
9615
|
+
"security": [
|
|
9616
|
+
{
|
|
9617
|
+
"builderSession": []
|
|
9618
|
+
}
|
|
9619
|
+
]
|
|
9620
|
+
}
|
|
9621
|
+
},
|
|
9622
|
+
"/government/presets": {
|
|
9623
|
+
"get": {
|
|
9624
|
+
"operationId": "get_government_presets",
|
|
9625
|
+
"tags": [
|
|
9626
|
+
"government"
|
|
9627
|
+
],
|
|
9628
|
+
"summary": "GET /government/presets",
|
|
9629
|
+
"description": "board.vote.cast — HOW STRICT the project runs its agents (task 1004715): the three strictness presets (Open workshop, Guild, Factory), which one the laws in force amount to (read, never stored: null when none), and for each its laws and the locks a switch to it would leave in force. A read.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).\n\n**Permissions:** `board.vote.cast` (all required).",
|
|
9630
|
+
"x-rank": "any-builder",
|
|
9631
|
+
"x-source": "modules/government/routes/government.js",
|
|
9632
|
+
"x-permissions": [
|
|
9633
|
+
"board.vote.cast"
|
|
9634
|
+
],
|
|
9635
|
+
"responses": {
|
|
9636
|
+
"200": {
|
|
9637
|
+
"description": "Success."
|
|
9638
|
+
},
|
|
9639
|
+
"400": {
|
|
9640
|
+
"$ref": "#/components/responses/BadRequest"
|
|
9641
|
+
},
|
|
9642
|
+
"401": {
|
|
9643
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
9644
|
+
},
|
|
9645
|
+
"403": {
|
|
9646
|
+
"$ref": "#/components/responses/Forbidden"
|
|
9647
|
+
}
|
|
9648
|
+
},
|
|
9649
|
+
"security": [
|
|
9650
|
+
{
|
|
9651
|
+
"builderSession": []
|
|
9652
|
+
}
|
|
9653
|
+
]
|
|
9654
|
+
}
|
|
9655
|
+
},
|
|
9656
|
+
"/government/rank-sets/apply": {
|
|
9657
|
+
"post": {
|
|
9658
|
+
"operationId": "post_government_rank_sets_apply",
|
|
9659
|
+
"tags": [
|
|
9660
|
+
"government"
|
|
9661
|
+
],
|
|
9662
|
+
"summary": "POST /government/rank-sets/apply",
|
|
9663
|
+
"description": "government.manage — add a RECOMMENDED RANK SET (task 1004400): the custom ranks recommendations.js names for a project type and size, each with its grants. It is the create form and the grant toggle run in a loop, under the same checks: a rank that already exists is LEFT ALONE (never re-granted, never relabelled — an owner may have edited it), and every grant is re-checked with catalog.isGrantableTo, so a set can never write what the toggle would refuse. Re-applying is safe; the reply says what was added.\n\n**Rank:** `archon` — Archon only (rank and identity management + the escalation keys — the trust boundary).\n\n**Permissions:** `government.manage` (all required).",
|
|
9664
|
+
"x-rank": "archon",
|
|
9665
|
+
"x-source": "modules/government/routes/government.js",
|
|
9666
|
+
"x-permissions": [
|
|
9667
|
+
"government.manage"
|
|
9668
|
+
],
|
|
9669
|
+
"requestBody": {
|
|
9670
|
+
"required": true,
|
|
9671
|
+
"content": {
|
|
9672
|
+
"application/json": {
|
|
9673
|
+
"schema": {
|
|
9674
|
+
"$ref": "#/components/schemas/PostGovernmentRankSetsApplyRequest"
|
|
9675
|
+
}
|
|
9676
|
+
}
|
|
9677
|
+
},
|
|
9678
|
+
"x-validated": true
|
|
9679
|
+
},
|
|
9680
|
+
"responses": {
|
|
9681
|
+
"200": {
|
|
9682
|
+
"description": "Success.",
|
|
9683
|
+
"content": {
|
|
9684
|
+
"application/json": {
|
|
9685
|
+
"schema": {
|
|
9686
|
+
"$ref": "#/components/schemas/PostGovernmentRankSetsApplyResponse"
|
|
9687
|
+
}
|
|
9688
|
+
}
|
|
9689
|
+
}
|
|
9690
|
+
},
|
|
9691
|
+
"400": {
|
|
9692
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
9693
|
+
},
|
|
9694
|
+
"401": {
|
|
9695
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
9696
|
+
},
|
|
9697
|
+
"403": {
|
|
9698
|
+
"$ref": "#/components/responses/Forbidden"
|
|
9699
|
+
}
|
|
9700
|
+
},
|
|
9701
|
+
"security": [
|
|
9702
|
+
{
|
|
9703
|
+
"builderSession": []
|
|
9704
|
+
}
|
|
9705
|
+
]
|
|
9706
|
+
}
|
|
9707
|
+
},
|
|
9708
|
+
"/government/ranks": {
|
|
9709
|
+
"get": {
|
|
9710
|
+
"operationId": "get_government_ranks",
|
|
9711
|
+
"tags": [
|
|
9712
|
+
"government"
|
|
9713
|
+
],
|
|
9714
|
+
"summary": "GET /government/ranks",
|
|
9715
|
+
"description": "government.manage — the full rank list with each rank's grants.\n\n**Rank:** `archon` — Archon only (rank and identity management + the escalation keys — the trust boundary).\n\n**Permissions:** `government.manage` (all required).",
|
|
9716
|
+
"x-rank": "archon",
|
|
9263
9717
|
"x-source": "modules/government/routes/government.js",
|
|
9264
9718
|
"x-permissions": [
|
|
9265
9719
|
"government.manage"
|
|
@@ -9534,32 +9988,191 @@
|
|
|
9534
9988
|
"x-rank": "archon",
|
|
9535
9989
|
"x-source": "modules/government/routes/government.js",
|
|
9536
9990
|
"x-permissions": [
|
|
9537
|
-
"government.manage"
|
|
9991
|
+
"government.manage"
|
|
9992
|
+
],
|
|
9993
|
+
"parameters": [
|
|
9994
|
+
{
|
|
9995
|
+
"name": "rankKey",
|
|
9996
|
+
"in": "path",
|
|
9997
|
+
"required": true,
|
|
9998
|
+
"schema": {
|
|
9999
|
+
"type": "string"
|
|
10000
|
+
},
|
|
10001
|
+
"description": "Path parameter `rankKey`."
|
|
10002
|
+
}
|
|
10003
|
+
],
|
|
10004
|
+
"responses": {
|
|
10005
|
+
"200": {
|
|
10006
|
+
"description": "Success.",
|
|
10007
|
+
"content": {
|
|
10008
|
+
"application/json": {
|
|
10009
|
+
"schema": {
|
|
10010
|
+
"$ref": "#/components/schemas/PostGovernmentRanksRankKeyResetResponse"
|
|
10011
|
+
}
|
|
10012
|
+
}
|
|
10013
|
+
}
|
|
10014
|
+
},
|
|
10015
|
+
"400": {
|
|
10016
|
+
"$ref": "#/components/responses/BadRequest"
|
|
10017
|
+
},
|
|
10018
|
+
"401": {
|
|
10019
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
10020
|
+
},
|
|
10021
|
+
"403": {
|
|
10022
|
+
"$ref": "#/components/responses/Forbidden"
|
|
10023
|
+
},
|
|
10024
|
+
"404": {
|
|
10025
|
+
"$ref": "#/components/responses/NotFound"
|
|
10026
|
+
}
|
|
10027
|
+
},
|
|
10028
|
+
"security": [
|
|
10029
|
+
{
|
|
10030
|
+
"builderSession": []
|
|
10031
|
+
}
|
|
10032
|
+
]
|
|
10033
|
+
}
|
|
10034
|
+
},
|
|
10035
|
+
"/government/treasury": {
|
|
10036
|
+
"get": {
|
|
10037
|
+
"operationId": "get_government_treasury",
|
|
10038
|
+
"tags": [
|
|
10039
|
+
"government"
|
|
10040
|
+
],
|
|
10041
|
+
"summary": "GET /government/treasury",
|
|
10042
|
+
"description": "board.vote.cast — THE TREASURY (task 1004712, ADR 0379): this month's real spend and last month's, the spend cap (a project setting, off by default: no limit), the reserve, and every open goal's pot — its budget, what the reserve lent it this month, its real spend this month (cost_log through the goal's tasks) and its borrow, if it asked. Plus who answers for the Treasury today. A read; the room's atom, as GET /government/leads.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).\n\n**Permissions:** `board.vote.cast` (all required).",
|
|
10043
|
+
"x-rank": "any-builder",
|
|
10044
|
+
"x-source": "modules/government/routes/government.js",
|
|
10045
|
+
"x-permissions": [
|
|
10046
|
+
"board.vote.cast"
|
|
10047
|
+
],
|
|
10048
|
+
"responses": {
|
|
10049
|
+
"200": {
|
|
10050
|
+
"description": "Success."
|
|
10051
|
+
},
|
|
10052
|
+
"400": {
|
|
10053
|
+
"$ref": "#/components/responses/BadRequest"
|
|
10054
|
+
},
|
|
10055
|
+
"401": {
|
|
10056
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
10057
|
+
},
|
|
10058
|
+
"403": {
|
|
10059
|
+
"$ref": "#/components/responses/Forbidden"
|
|
10060
|
+
}
|
|
10061
|
+
},
|
|
10062
|
+
"security": [
|
|
10063
|
+
{
|
|
10064
|
+
"builderSession": []
|
|
10065
|
+
}
|
|
10066
|
+
]
|
|
10067
|
+
}
|
|
10068
|
+
},
|
|
10069
|
+
"/government/treasury/borrows/{borrowId}/answer": {
|
|
10070
|
+
"post": {
|
|
10071
|
+
"operationId": "post_government_treasury_borrows_borrowId_answer",
|
|
10072
|
+
"tags": [
|
|
10073
|
+
"government"
|
|
10074
|
+
],
|
|
10075
|
+
"summary": "POST /government/treasury/borrows/:borrowId/answer",
|
|
10076
|
+
"description": "board.vote.cast — ANSWER A BORROW: lend it all, lend half, or say no. The room's atom; the wall is the direction desk's: only whoever the borrow's ask waits on today may answer it (routing.routeMatter over real seats: the Treasury's Lead, or the owner seat while it is unseated, or the seat it was passed to). Answered once; a second answer is 409. Saying no stops nothing: with no spend limit, work runs on and the overspend is debt. Body: { key: 'lend' | 'half' | 'no' } → 200 { ok, borrow }\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).\n\n**Permissions:** `board.vote.cast` (all required).",
|
|
10077
|
+
"x-rank": "any-builder",
|
|
10078
|
+
"x-source": "modules/government/routes/government.js",
|
|
10079
|
+
"x-permissions": [
|
|
10080
|
+
"board.vote.cast"
|
|
10081
|
+
],
|
|
10082
|
+
"parameters": [
|
|
10083
|
+
{
|
|
10084
|
+
"name": "borrowId",
|
|
10085
|
+
"in": "path",
|
|
10086
|
+
"required": true,
|
|
10087
|
+
"schema": {
|
|
10088
|
+
"type": "string"
|
|
10089
|
+
},
|
|
10090
|
+
"description": "Path parameter `borrowId`."
|
|
10091
|
+
}
|
|
10092
|
+
],
|
|
10093
|
+
"requestBody": {
|
|
10094
|
+
"required": true,
|
|
10095
|
+
"content": {
|
|
10096
|
+
"application/json": {
|
|
10097
|
+
"schema": {
|
|
10098
|
+
"$ref": "#/components/schemas/PostGovernmentTreasuryBorrowsBorrowIdAnswerRequest"
|
|
10099
|
+
}
|
|
10100
|
+
}
|
|
10101
|
+
},
|
|
10102
|
+
"x-validated": true
|
|
10103
|
+
},
|
|
10104
|
+
"responses": {
|
|
10105
|
+
"200": {
|
|
10106
|
+
"description": "Success.",
|
|
10107
|
+
"content": {
|
|
10108
|
+
"application/json": {
|
|
10109
|
+
"schema": {
|
|
10110
|
+
"$ref": "#/components/schemas/PostGovernmentTreasuryBorrowsBorrowIdAnswerResponse"
|
|
10111
|
+
}
|
|
10112
|
+
}
|
|
10113
|
+
}
|
|
10114
|
+
},
|
|
10115
|
+
"400": {
|
|
10116
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
10117
|
+
},
|
|
10118
|
+
"401": {
|
|
10119
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
10120
|
+
},
|
|
10121
|
+
"403": {
|
|
10122
|
+
"$ref": "#/components/responses/Forbidden"
|
|
10123
|
+
},
|
|
10124
|
+
"404": {
|
|
10125
|
+
"$ref": "#/components/responses/NotFound"
|
|
10126
|
+
}
|
|
10127
|
+
},
|
|
10128
|
+
"security": [
|
|
10129
|
+
{
|
|
10130
|
+
"builderSession": []
|
|
10131
|
+
}
|
|
10132
|
+
]
|
|
10133
|
+
}
|
|
10134
|
+
},
|
|
10135
|
+
"/government/treasury/pots/{goalId}": {
|
|
10136
|
+
"put": {
|
|
10137
|
+
"operationId": "put_government_treasury_pots_goalId",
|
|
10138
|
+
"tags": [
|
|
10139
|
+
"government"
|
|
10140
|
+
],
|
|
10141
|
+
"summary": "PUT /government/treasury/pots/:goalId",
|
|
10142
|
+
"description": "board.vote.cast — GIVE A GOAL A POT, change its budget, or take it away (budget_usd: null). The room's atom; the wall is server-side and per request: only whoever answers for the Treasury today — its Lead, or the owner seat while it is unseated — may (403 not_the_holder). Only an open goal. Body: { budget_usd: number | null } → 200 { ok, pot | removed }\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).\n\n**Permissions:** `board.vote.cast` (all required).",
|
|
10143
|
+
"x-rank": "any-builder",
|
|
10144
|
+
"x-source": "modules/government/routes/government.js",
|
|
10145
|
+
"x-permissions": [
|
|
10146
|
+
"board.vote.cast"
|
|
9538
10147
|
],
|
|
9539
10148
|
"parameters": [
|
|
9540
10149
|
{
|
|
9541
|
-
"name": "
|
|
10150
|
+
"name": "goalId",
|
|
9542
10151
|
"in": "path",
|
|
9543
10152
|
"required": true,
|
|
9544
10153
|
"schema": {
|
|
9545
10154
|
"type": "string"
|
|
9546
10155
|
},
|
|
9547
|
-
"description": "Path parameter `
|
|
10156
|
+
"description": "Path parameter `goalId`."
|
|
9548
10157
|
}
|
|
9549
10158
|
],
|
|
9550
|
-
"
|
|
9551
|
-
"
|
|
9552
|
-
|
|
9553
|
-
"
|
|
9554
|
-
"
|
|
9555
|
-
"
|
|
9556
|
-
"$ref": "#/components/schemas/PostGovernmentRanksRankKeyResetResponse"
|
|
9557
|
-
}
|
|
10159
|
+
"requestBody": {
|
|
10160
|
+
"required": false,
|
|
10161
|
+
"content": {
|
|
10162
|
+
"application/json": {
|
|
10163
|
+
"schema": {
|
|
10164
|
+
"$ref": "#/components/schemas/PutGovernmentTreasuryPotsGoalIdRequest"
|
|
9558
10165
|
}
|
|
9559
10166
|
}
|
|
9560
10167
|
},
|
|
10168
|
+
"x-validated": true
|
|
10169
|
+
},
|
|
10170
|
+
"responses": {
|
|
10171
|
+
"200": {
|
|
10172
|
+
"description": "Success."
|
|
10173
|
+
},
|
|
9561
10174
|
"400": {
|
|
9562
|
-
"$ref": "#/components/responses/
|
|
10175
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
9563
10176
|
},
|
|
9564
10177
|
"401": {
|
|
9565
10178
|
"$ref": "#/components/responses/Unauthorized"
|
|
@@ -15957,6 +16570,58 @@
|
|
|
15957
16570
|
]
|
|
15958
16571
|
}
|
|
15959
16572
|
},
|
|
16573
|
+
"/project-settings/spend-cap": {
|
|
16574
|
+
"patch": {
|
|
16575
|
+
"operationId": "patch_project_settings_spend_cap",
|
|
16576
|
+
"tags": [
|
|
16577
|
+
"project-settings"
|
|
16578
|
+
],
|
|
16579
|
+
"summary": "PATCH /project-settings/spend-cap",
|
|
16580
|
+
"description": "PATCH /project-settings/spend-cap — body { usd: number | null } (task 1004712, ADR 0379). The owner's ruling: NO spend limit by default; a cap is this optional setting, off until set. null turns it off (the row is deleted). rank: project.settings.manage (metic+, government_010), the same atom as the other writes on this page; who decides at the Treasury may put it to a sitting (requireActAlone). GET /government/treasury reads it back as `cap`.\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `project.settings.manage` (all required).",
|
|
16581
|
+
"x-rank": "metic+archon",
|
|
16582
|
+
"x-source": "modules/lifecycle/routes/project-settings.js",
|
|
16583
|
+
"x-permissions": [
|
|
16584
|
+
"project.settings.manage"
|
|
16585
|
+
],
|
|
16586
|
+
"requestBody": {
|
|
16587
|
+
"required": false,
|
|
16588
|
+
"content": {
|
|
16589
|
+
"application/json": {
|
|
16590
|
+
"schema": {
|
|
16591
|
+
"$ref": "#/components/schemas/PatchProjectSettingsSpendCapRequest"
|
|
16592
|
+
}
|
|
16593
|
+
}
|
|
16594
|
+
},
|
|
16595
|
+
"x-validated": true
|
|
16596
|
+
},
|
|
16597
|
+
"responses": {
|
|
16598
|
+
"200": {
|
|
16599
|
+
"description": "Success.",
|
|
16600
|
+
"content": {
|
|
16601
|
+
"application/json": {
|
|
16602
|
+
"schema": {
|
|
16603
|
+
"$ref": "#/components/schemas/PatchProjectSettingsSpendCapResponse"
|
|
16604
|
+
}
|
|
16605
|
+
}
|
|
16606
|
+
}
|
|
16607
|
+
},
|
|
16608
|
+
"400": {
|
|
16609
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
16610
|
+
},
|
|
16611
|
+
"401": {
|
|
16612
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
16613
|
+
},
|
|
16614
|
+
"403": {
|
|
16615
|
+
"$ref": "#/components/responses/Forbidden"
|
|
16616
|
+
}
|
|
16617
|
+
},
|
|
16618
|
+
"security": [
|
|
16619
|
+
{
|
|
16620
|
+
"builderSession": []
|
|
16621
|
+
}
|
|
16622
|
+
]
|
|
16623
|
+
}
|
|
16624
|
+
},
|
|
15960
16625
|
"/project-settings/tweak-autopickup": {
|
|
15961
16626
|
"get": {
|
|
15962
16627
|
"operationId": "get_project_settings_tweak_autopickup",
|
|
@@ -28472,6 +29137,30 @@
|
|
|
28472
29137
|
"sentence"
|
|
28473
29138
|
]
|
|
28474
29139
|
},
|
|
29140
|
+
"PatchProjectSettingsSpendCapRequest": {
|
|
29141
|
+
"type": "object",
|
|
29142
|
+
"properties": {
|
|
29143
|
+
"usd": {}
|
|
29144
|
+
},
|
|
29145
|
+
"additionalProperties": false
|
|
29146
|
+
},
|
|
29147
|
+
"PatchProjectSettingsSpendCapResponse": {
|
|
29148
|
+
"type": "object",
|
|
29149
|
+
"properties": {
|
|
29150
|
+
"ok": {
|
|
29151
|
+
"type": "boolean"
|
|
29152
|
+
},
|
|
29153
|
+
"on": {},
|
|
29154
|
+
"usd": {},
|
|
29155
|
+
"sentence": {}
|
|
29156
|
+
},
|
|
29157
|
+
"required": [
|
|
29158
|
+
"ok",
|
|
29159
|
+
"on",
|
|
29160
|
+
"usd",
|
|
29161
|
+
"sentence"
|
|
29162
|
+
]
|
|
29163
|
+
},
|
|
28475
29164
|
"PatchProjectSettingsTweakAutopickupRequest": {
|
|
28476
29165
|
"type": "object",
|
|
28477
29166
|
"properties": {
|
|
@@ -29262,6 +29951,9 @@
|
|
|
29262
29951
|
"source_ref": {
|
|
29263
29952
|
"type": "string",
|
|
29264
29953
|
"maxLength": 256
|
|
29954
|
+
},
|
|
29955
|
+
"ask": {
|
|
29956
|
+
"type": "object"
|
|
29265
29957
|
}
|
|
29266
29958
|
},
|
|
29267
29959
|
"required": [
|
|
@@ -29276,7 +29968,11 @@
|
|
|
29276
29968
|
"type": "boolean"
|
|
29277
29969
|
},
|
|
29278
29970
|
"reason": {},
|
|
29279
|
-
"blocker": {}
|
|
29971
|
+
"blocker": {},
|
|
29972
|
+
"ask": {},
|
|
29973
|
+
"ask_saved": {
|
|
29974
|
+
"type": "boolean"
|
|
29975
|
+
}
|
|
29280
29976
|
}
|
|
29281
29977
|
},
|
|
29282
29978
|
"PostClaimsBatchReleaseRequest": {
|
|
@@ -30640,6 +31336,54 @@
|
|
|
30640
31336
|
"spec_task"
|
|
30641
31337
|
]
|
|
30642
31338
|
},
|
|
31339
|
+
"PostGovernmentAsksCheckResponse": {
|
|
31340
|
+
"type": "object",
|
|
31341
|
+
"properties": {
|
|
31342
|
+
"ok": {
|
|
31343
|
+
"type": "boolean"
|
|
31344
|
+
},
|
|
31345
|
+
"ask": {},
|
|
31346
|
+
"question_words": {},
|
|
31347
|
+
"rules": {}
|
|
31348
|
+
},
|
|
31349
|
+
"required": [
|
|
31350
|
+
"ok",
|
|
31351
|
+
"ask",
|
|
31352
|
+
"question_words",
|
|
31353
|
+
"rules"
|
|
31354
|
+
]
|
|
31355
|
+
},
|
|
31356
|
+
"PostGovernmentAsksMatterIdPassRequest": {
|
|
31357
|
+
"type": "object",
|
|
31358
|
+
"properties": {
|
|
31359
|
+
"seat": {
|
|
31360
|
+
"type": "string",
|
|
31361
|
+
"minLength": 1,
|
|
31362
|
+
"maxLength": 80
|
|
31363
|
+
}
|
|
31364
|
+
},
|
|
31365
|
+
"required": [
|
|
31366
|
+
"seat"
|
|
31367
|
+
],
|
|
31368
|
+
"additionalProperties": false
|
|
31369
|
+
},
|
|
31370
|
+
"PostGovernmentAsksMatterIdPassResponse": {
|
|
31371
|
+
"type": "object",
|
|
31372
|
+
"properties": {
|
|
31373
|
+
"ok": {
|
|
31374
|
+
"type": "boolean"
|
|
31375
|
+
},
|
|
31376
|
+
"matter_id": {},
|
|
31377
|
+
"ask": {},
|
|
31378
|
+
"route": {}
|
|
31379
|
+
},
|
|
31380
|
+
"required": [
|
|
31381
|
+
"ok",
|
|
31382
|
+
"matter_id",
|
|
31383
|
+
"ask",
|
|
31384
|
+
"route"
|
|
31385
|
+
]
|
|
31386
|
+
},
|
|
30643
31387
|
"PostGovernmentAssignmentsRequest": {
|
|
30644
31388
|
"type": "object",
|
|
30645
31389
|
"properties": {
|
|
@@ -30818,6 +31562,39 @@
|
|
|
30818
31562
|
"item"
|
|
30819
31563
|
]
|
|
30820
31564
|
},
|
|
31565
|
+
"PostGovernmentBoardLawsRequest": {
|
|
31566
|
+
"type": "object",
|
|
31567
|
+
"properties": {
|
|
31568
|
+
"enact": {
|
|
31569
|
+
"type": "array"
|
|
31570
|
+
},
|
|
31571
|
+
"repeal": {
|
|
31572
|
+
"type": "array"
|
|
31573
|
+
},
|
|
31574
|
+
"rationale_md": {
|
|
31575
|
+
"type": "string",
|
|
31576
|
+
"maxLength": 5000
|
|
31577
|
+
}
|
|
31578
|
+
},
|
|
31579
|
+
"additionalProperties": false
|
|
31580
|
+
},
|
|
31581
|
+
"PostGovernmentBoardLawsResponse": {
|
|
31582
|
+
"type": "object",
|
|
31583
|
+
"properties": {
|
|
31584
|
+
"ok": {
|
|
31585
|
+
"type": "boolean"
|
|
31586
|
+
},
|
|
31587
|
+
"amendment": {},
|
|
31588
|
+
"item": {},
|
|
31589
|
+
"proposal": {}
|
|
31590
|
+
},
|
|
31591
|
+
"required": [
|
|
31592
|
+
"ok",
|
|
31593
|
+
"amendment",
|
|
31594
|
+
"item",
|
|
31595
|
+
"proposal"
|
|
31596
|
+
]
|
|
31597
|
+
},
|
|
30821
31598
|
"PostGovernmentBoardMattersRequest": {
|
|
30822
31599
|
"type": "object",
|
|
30823
31600
|
"properties": {
|
|
@@ -30860,6 +31637,83 @@
|
|
|
30860
31637
|
"decided"
|
|
30861
31638
|
]
|
|
30862
31639
|
},
|
|
31640
|
+
"PostGovernmentBoardPresetsRequest": {
|
|
31641
|
+
"type": "object",
|
|
31642
|
+
"properties": {
|
|
31643
|
+
"preset": {
|
|
31644
|
+
"type": "string",
|
|
31645
|
+
"maxLength": 32
|
|
31646
|
+
}
|
|
31647
|
+
},
|
|
31648
|
+
"required": [
|
|
31649
|
+
"preset"
|
|
31650
|
+
],
|
|
31651
|
+
"additionalProperties": false
|
|
31652
|
+
},
|
|
31653
|
+
"PostGovernmentBoardPresetsResponse": {
|
|
31654
|
+
"type": "object",
|
|
31655
|
+
"properties": {
|
|
31656
|
+
"ok": {
|
|
31657
|
+
"type": "boolean"
|
|
31658
|
+
},
|
|
31659
|
+
"preset": {},
|
|
31660
|
+
"amendment": {},
|
|
31661
|
+
"item": {},
|
|
31662
|
+
"proposal": {}
|
|
31663
|
+
},
|
|
31664
|
+
"required": [
|
|
31665
|
+
"ok",
|
|
31666
|
+
"preset",
|
|
31667
|
+
"amendment",
|
|
31668
|
+
"item",
|
|
31669
|
+
"proposal"
|
|
31670
|
+
]
|
|
31671
|
+
},
|
|
31672
|
+
"PostGovernmentBuildoutsRequest": {
|
|
31673
|
+
"type": "object",
|
|
31674
|
+
"properties": {
|
|
31675
|
+
"building": {
|
|
31676
|
+
"type": "string",
|
|
31677
|
+
"maxLength": 32
|
|
31678
|
+
},
|
|
31679
|
+
"capsule": {
|
|
31680
|
+
"type": "string",
|
|
31681
|
+
"maxLength": 32
|
|
31682
|
+
},
|
|
31683
|
+
"name": {
|
|
31684
|
+
"type": "string",
|
|
31685
|
+
"maxLength": 80
|
|
31686
|
+
},
|
|
31687
|
+
"line": {
|
|
31688
|
+
"type": "string",
|
|
31689
|
+
"maxLength": 280
|
|
31690
|
+
}
|
|
31691
|
+
},
|
|
31692
|
+
"required": [
|
|
31693
|
+
"building",
|
|
31694
|
+
"capsule"
|
|
31695
|
+
],
|
|
31696
|
+
"additionalProperties": false
|
|
31697
|
+
},
|
|
31698
|
+
"PostGovernmentBuildoutsResponse": {
|
|
31699
|
+
"type": "object",
|
|
31700
|
+
"properties": {
|
|
31701
|
+
"ok": {
|
|
31702
|
+
"type": "boolean"
|
|
31703
|
+
},
|
|
31704
|
+
"path": {},
|
|
31705
|
+
"buildout": {},
|
|
31706
|
+
"rights": {},
|
|
31707
|
+
"matter": {},
|
|
31708
|
+
"item": {},
|
|
31709
|
+
"decided": {}
|
|
31710
|
+
},
|
|
31711
|
+
"required": [
|
|
31712
|
+
"ok",
|
|
31713
|
+
"path",
|
|
31714
|
+
"rights"
|
|
31715
|
+
]
|
|
31716
|
+
},
|
|
30863
31717
|
"PostGovernmentRankSetsApplyRequest": {
|
|
30864
31718
|
"type": "object",
|
|
30865
31719
|
"properties": {
|
|
@@ -30947,6 +31801,32 @@
|
|
|
30947
31801
|
"rank"
|
|
30948
31802
|
]
|
|
30949
31803
|
},
|
|
31804
|
+
"PostGovernmentTreasuryBorrowsBorrowIdAnswerRequest": {
|
|
31805
|
+
"type": "object",
|
|
31806
|
+
"properties": {
|
|
31807
|
+
"key": {
|
|
31808
|
+
"type": "string",
|
|
31809
|
+
"maxLength": 16
|
|
31810
|
+
}
|
|
31811
|
+
},
|
|
31812
|
+
"required": [
|
|
31813
|
+
"key"
|
|
31814
|
+
],
|
|
31815
|
+
"additionalProperties": false
|
|
31816
|
+
},
|
|
31817
|
+
"PostGovernmentTreasuryBorrowsBorrowIdAnswerResponse": {
|
|
31818
|
+
"type": "object",
|
|
31819
|
+
"properties": {
|
|
31820
|
+
"ok": {
|
|
31821
|
+
"type": "boolean"
|
|
31822
|
+
},
|
|
31823
|
+
"borrow": {}
|
|
31824
|
+
},
|
|
31825
|
+
"required": [
|
|
31826
|
+
"ok",
|
|
31827
|
+
"borrow"
|
|
31828
|
+
]
|
|
31829
|
+
},
|
|
30950
31830
|
"PostGuildRequestsIdAcceptRequest": {
|
|
30951
31831
|
"type": "object",
|
|
30952
31832
|
"properties": {
|
|
@@ -34245,6 +35125,21 @@
|
|
|
34245
35125
|
"backend_only"
|
|
34246
35126
|
]
|
|
34247
35127
|
},
|
|
35128
|
+
"PutGovernmentAsksMatterIdResponse": {
|
|
35129
|
+
"type": "object",
|
|
35130
|
+
"properties": {
|
|
35131
|
+
"ok": {
|
|
35132
|
+
"type": "boolean"
|
|
35133
|
+
},
|
|
35134
|
+
"matter_id": {},
|
|
35135
|
+
"ask": {}
|
|
35136
|
+
},
|
|
35137
|
+
"required": [
|
|
35138
|
+
"ok",
|
|
35139
|
+
"matter_id",
|
|
35140
|
+
"ask"
|
|
35141
|
+
]
|
|
35142
|
+
},
|
|
34248
35143
|
"PutGovernmentRanksRankKeyPermissionsPermissionKeyResponse": {
|
|
34249
35144
|
"type": "object",
|
|
34250
35145
|
"properties": {
|
|
@@ -34262,6 +35157,13 @@
|
|
|
34262
35157
|
"granted"
|
|
34263
35158
|
]
|
|
34264
35159
|
},
|
|
35160
|
+
"PutGovernmentTreasuryPotsGoalIdRequest": {
|
|
35161
|
+
"type": "object",
|
|
35162
|
+
"properties": {
|
|
35163
|
+
"budget_usd": {}
|
|
35164
|
+
},
|
|
35165
|
+
"additionalProperties": false
|
|
35166
|
+
},
|
|
34265
35167
|
"PutMingleOptInRequest": {
|
|
34266
35168
|
"type": "object",
|
|
34267
35169
|
"properties": {
|
|
@@ -34563,9 +35465,9 @@
|
|
|
34563
35465
|
"description": "A required dependency/feature is not configured or is temporarily down."
|
|
34564
35466
|
}
|
|
34565
35467
|
},
|
|
34566
|
-
"x-endpoint-count":
|
|
34567
|
-
"x-schema-count":
|
|
35468
|
+
"x-endpoint-count": 555,
|
|
35469
|
+
"x-schema-count": 592,
|
|
34568
35470
|
"x-undocumented-bodies": 12,
|
|
34569
|
-
"x-response-schemas":
|
|
35471
|
+
"x-response-schemas": 390,
|
|
34570
35472
|
"x-generated-by": "scripts/gds/gen-api-docs.js"
|
|
34571
35473
|
}
|