@bongos/core 1.19.1081 → 1.20.1

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.
Files changed (251) hide show
  1. package/.bongos-core.json +526 -191
  2. package/.claude/skills/planning-session/SKILL.md +6 -2
  3. package/clients/bongos-client/README.md +1 -1
  4. package/clients/bongos-client/bongos-client.global.js +32 -0
  5. package/clients/bongos-client/index.cjs +32 -0
  6. package/clients/bongos-client/index.d.ts +51 -6
  7. package/clients/bongos-client/index.mjs +32 -0
  8. package/docs/adr/0099-delayed-redacted-mirror-export.md +5 -1
  9. package/docs/adr/0111-instance-hosting-provisioning-module.md +1 -0
  10. package/docs/adr/0120-pay-on-land-and-builder-owned-rebase-gate.md +17 -0
  11. package/docs/adr/0176-private-repo-deploy-keys.md +2 -0
  12. package/docs/adr/0310-a-speciality-offers-skills-and-the-adopter-chooses-them.md +1 -1
  13. package/docs/adr/0348-the-web-tier-may-look-read-only-at-what-an-owners-render-key-can-see.md +53 -0
  14. package/docs/adr/0349-a-version-preview-is-a-sandboxed-child-the-web-tier-launches.md +106 -0
  15. package/docs/adr/0350-the-hub-holds-a-per-project-write-deploy-key-so-a-hosted-upgrade-reaches-github.md +103 -0
  16. package/docs/adr/README.md +3 -0
  17. package/docs/api/openapi.json +851 -19
  18. package/docs/api-reference.md +33 -9
  19. package/docs/architecture.md +6 -2
  20. package/docs/copy-inventory.md +620 -553
  21. package/docs/copy-registry.json +1467 -820
  22. package/docs/file-map.md +2 -0
  23. package/docs/module-api-changelog.md +6 -0
  24. package/docs/modules-contract.md +1 -0
  25. package/docs/page-inventory.json +38 -4
  26. package/docs/page-readings.json +1674 -1566
  27. package/migrations/core_260_goals_working_area.sql +63 -0
  28. package/migrations/core_261_grade_attempts_verdicts.sql +24 -0
  29. package/migrations/core_262_drop_builder_box_blocked.sql +33 -0
  30. package/modules/agents/lib/validate.js +43 -0
  31. package/modules/autonomy/gauge.js +38 -2
  32. package/modules/grading/grader-subagent.js +37 -2
  33. package/modules/grading/grader-workers/reader.js +65 -5
  34. package/modules/hall-ui/public/approval-queue.css +33 -7
  35. package/modules/hall-ui/public/approval-queue.js +9 -2
  36. package/modules/hall-ui/public/atlas.html +1 -1
  37. package/modules/hall-ui/public/blockers.html +1 -1
  38. package/modules/hall-ui/public/board-room.html +1 -1
  39. package/modules/hall-ui/public/brand-holes.js +121 -0
  40. package/modules/hall-ui/public/collab.html +1 -1
  41. package/modules/hall-ui/public/collab.js +1 -1
  42. package/modules/hall-ui/public/copy-desk.html +1 -1
  43. package/modules/hall-ui/public/deploy.html +6 -1
  44. package/modules/hall-ui/public/deploy.js +22 -8
  45. package/modules/hall-ui/public/diagrams.html +1 -1
  46. package/modules/hall-ui/public/dom-utils.js +20 -0
  47. package/modules/hall-ui/public/drachmae.html +1 -1
  48. package/modules/hall-ui/public/fleet.html +1 -1
  49. package/modules/hall-ui/public/gate.html +1 -1
  50. package/modules/hall-ui/public/goals.html +1 -1
  51. package/modules/hall-ui/public/government.html +1 -1
  52. package/modules/hall-ui/public/idea.html +1 -1
  53. package/modules/hall-ui/public/idea.js +28 -0
  54. package/modules/hall-ui/public/ideas.html +1 -1
  55. package/modules/hall-ui/public/ideas.js +19 -3
  56. package/modules/hall-ui/public/index.html +5 -1
  57. package/modules/hall-ui/public/modules.html +1 -1
  58. package/modules/hall-ui/public/primer.html +1 -1
  59. package/modules/hall-ui/public/profile-nudge.js +21 -4
  60. package/modules/hall-ui/public/profile.html +1 -1
  61. package/modules/hall-ui/public/profile.js +1 -1
  62. package/modules/hall-ui/public/project-settings.html +1 -1
  63. package/modules/hall-ui/public/ranks.html +1 -1
  64. package/modules/hall-ui/public/roadmap.html +1 -1
  65. package/modules/hall-ui/public/roster.html +1 -1
  66. package/modules/hall-ui/public/sessions.html +1 -1
  67. package/modules/hall-ui/public/settings.html +19 -30
  68. package/modules/hall-ui/public/settings.js +24 -177
  69. package/modules/hall-ui/public/settings.states.json +1 -1
  70. package/modules/hall-ui/public/shell.js +4 -2
  71. package/modules/hall-ui/public/studio.css +14 -8
  72. package/modules/hall-ui/public/studio.html +5 -4
  73. package/modules/hall-ui/public/task.html +1 -1
  74. package/modules/hall-ui/public/thinking.css +6 -3
  75. package/modules/hall-ui/public/thinking.html +1 -1
  76. package/modules/hall-ui/public/tweak-editor-lib.js +82 -1
  77. package/modules/hall-ui/public/tweak-editor.css +142 -11
  78. package/modules/hall-ui/public/tweak-editor.html +25 -9
  79. package/modules/hall-ui/public/tweak-editor.js +243 -10
  80. package/modules/hall-ui/public/watch.html +1 -1
  81. package/modules/hall-ui/public/work.html +1 -1
  82. package/modules/hall-ui/records/approval-queue.md +6 -0
  83. package/modules/hall-ui/records/tweak-editor.md +6 -0
  84. package/modules/ideas/ratify.js +36 -8
  85. package/modules/ideas/routes/ratify-goal.js +6 -0
  86. package/modules/lifecycle/db-analytics.js +79 -10
  87. package/modules/lifecycle/db-claims.js +48 -1
  88. package/modules/lifecycle/db-deps-criteria.js +94 -40
  89. package/modules/lifecycle/db-goals.js +4 -1
  90. package/modules/lifecycle/db-grade.js +9 -1
  91. package/modules/lifecycle/db-relevance-flags.js +183 -0
  92. package/modules/lifecycle/db-versions.js +4 -3
  93. package/modules/lifecycle/db.js +19 -0
  94. package/modules/lifecycle/done-when.js +5 -3
  95. package/modules/lifecycle/est-advisory.js +31 -4
  96. package/modules/lifecycle/goal-task-relevance-advisory.js +153 -0
  97. package/modules/lifecycle/goal-task-relevance-judge.js +226 -0
  98. package/modules/lifecycle/migrations/lifecycle_014_goal_task_relevance_flags.sql +82 -0
  99. package/modules/lifecycle/module.json +2 -1
  100. package/modules/lifecycle/routes/claims.js +8 -1
  101. package/modules/lifecycle/routes/goal-task-relevance.js +72 -0
  102. package/modules/lifecycle/routes/goals.js +1 -1
  103. package/modules/lifecycle/routes/tasks.js +27 -24
  104. package/modules/lifecycle/routes/visuals.js +9 -0
  105. package/modules/lifecycle/ship-preflight.js +7 -11
  106. package/modules/lifecycle/task-visuals.js +109 -5
  107. package/modules/npm-release/module.json +2 -1
  108. package/modules/npm-release/preview/commands.js +81 -0
  109. package/modules/npm-release/preview/divert.js +95 -0
  110. package/modules/npm-release/preview/env.js +78 -0
  111. package/modules/npm-release/preview/proxy.js +107 -0
  112. package/modules/npm-release/preview/runtime.js +83 -0
  113. package/modules/npm-release/preview/supervisor.js +175 -0
  114. package/modules/npm-release/public/work.js +65 -1
  115. package/modules/npm-release/routes/preview.js +133 -0
  116. package/modules/provisioning/app-status.js +83 -0
  117. package/modules/provisioning/module.json +2 -1
  118. package/modules/provisioning/pollers/app-liveness.js +110 -0
  119. package/modules/provisioning/render-lookup.js +68 -0
  120. package/modules/provisioning/render-standup.js +44 -1
  121. package/modules/provisioning/routes/render-standup.js +81 -6
  122. package/modules/provisioning/starter-bundles.js +4 -1
  123. package/modules/public-landing/public/account-private.states.json +14 -0
  124. package/modules/public-landing/public/account.html +513 -0
  125. package/modules/public-landing/public/account.probes.json +37 -0
  126. package/modules/public-landing/public/account.states.json +16 -0
  127. package/modules/public-landing/public/index.html +5 -2
  128. package/modules/public-landing/public/projects.html +661 -18
  129. package/modules/public-landing/public/projects.states.json +8 -1
  130. package/modules/render-deploy/deploys.js +203 -0
  131. package/modules/render-deploy/migrations/render_deploy_001_app.sql +22 -0
  132. package/modules/render-deploy/module.json +25 -0
  133. package/modules/render-deploy/public/deploy.css +10 -0
  134. package/modules/render-deploy/public/deploy.js +249 -0
  135. package/modules/render-deploy/render.js +56 -0
  136. package/modules/render-deploy/routes/act.js +88 -0
  137. package/modules/render-deploy/routes/app.js +65 -0
  138. package/modules/render-deploy/routes/history.js +38 -0
  139. package/modules/specialities/db.js +27 -8
  140. package/modules/specialities/migrations/specialities_003_skills.sql +46 -0
  141. package/modules/specialities/routes/specialities.js +51 -3
  142. package/modules/specialities/skills.js +94 -0
  143. package/modules/specialities/specialities.js +56 -9
  144. package/modules/ui-design/kit/fixtures/me-cross-project-private.json +12 -0
  145. package/modules/ui-design/kit/fixtures/me__cross-project.json +15 -0
  146. package/modules/ui-design/kit/fixtures/provisioning-instance-render.json +39 -0
  147. package/modules/ui-design/kit/lib.js +3 -1
  148. package/modules/ui-design/kit/serve.js +96 -0
  149. package/package-lock.json +2 -2
  150. package/package.json +1 -1
  151. package/release-notes.json +163 -0
  152. package/scripts/gds/agents-sync.js +13 -3
  153. package/scripts/gds/autobongos-run.js +80 -2
  154. package/scripts/gds/autobongos-service.cmd +12 -0
  155. package/scripts/gds/copy-apply.js +14 -0
  156. package/scripts/gds/dev-box-guard.js +3 -2
  157. package/scripts/gds/fitness.js +9 -0
  158. package/scripts/gds/grade-correlation-audit.js +42 -12
  159. package/scripts/gds/grade-replay.js +1 -1
  160. package/scripts/gds/provision-core-upgrade.js +38 -7
  161. package/scripts/gds/provision-pin-key.js +176 -0
  162. package/scripts/gds/provision-render.js +62 -31
  163. package/scripts/gds/provision-teardown.js +7 -2
  164. package/scripts/gds/provision-units.js +31 -0
  165. package/scripts/gds/provision.js +10 -10
  166. package/scripts/gds/publish-manifest.js +1 -0
  167. package/scripts/gds/render-api.js +19 -0
  168. package/scripts/gds/render-payload.js +39 -65
  169. package/scripts/gds/run-unit-tests.js +10 -0
  170. package/scripts/gds/ship-finish.js +19 -20
  171. package/scripts/gds/smoke-dependencies.sh +37 -8
  172. package/scripts/gds/status.js +12 -4
  173. package/scripts/gds/upgrade.js +2 -2
  174. package/scripts/public-mirror-export.js +7 -1
  175. package/src/bongos/module-scope-map.js +13 -0
  176. package/src/bongos/serve-internal.js +3 -1
  177. package/src/module-api.js +10 -1
  178. package/src/platform-server.js +39 -0
  179. package/tests/account_privacy_flags.mjs +10 -6
  180. package/tests/agents_authoring.mjs +15 -1
  181. package/tests/agents_sync.mjs +106 -5
  182. package/tests/agents_validate.mjs +45 -0
  183. package/tests/api_path_404.mjs +6 -0
  184. package/tests/autobongos_cadence.mjs +7 -0
  185. package/tests/autobongos_loop.mjs +136 -1
  186. package/tests/autonomy_gauge.mjs +62 -0
  187. package/tests/blocker_hall_live_proof.mjs +275 -0
  188. package/tests/claim_gate_ci_unblock.mjs +116 -0
  189. package/tests/claim_gate_rebase.mjs +15 -3
  190. package/tests/collab_page.mjs +10 -0
  191. package/tests/conductor_main_e2e.mjs +97 -0
  192. package/tests/core_262_drop_box_blocked_db.mjs +143 -0
  193. package/tests/core_upgrade_runner.mjs +1 -0
  194. package/tests/dependency_writes_atomic.mjs +191 -0
  195. package/tests/deploy_page_projects.mjs +2 -1
  196. package/tests/effective_visibility_predicate.mjs +15 -0
  197. package/tests/est_advisory.mjs +27 -0
  198. package/tests/goal_map_page.mjs +26 -0
  199. package/tests/goal_task_relevance.mjs +518 -0
  200. package/tests/goal_working_area.mjs +146 -0
  201. package/tests/grade_attempts.mjs +61 -0
  202. package/tests/grade_attribution.mjs +23 -0
  203. package/tests/grade_correlation_audit.mjs +54 -1
  204. package/tests/grader_reader_lens.mjs +55 -2
  205. package/tests/grader_root_outage.mjs +6 -1
  206. package/tests/grader_subagent_tools_arg.mjs +102 -0
  207. package/tests/hall_approval_queue.mjs +54 -2
  208. package/tests/hall_settings_world.mjs +3 -1
  209. package/tests/hall_tweak_editor.mjs +316 -11
  210. package/tests/hub_account_page.mjs +394 -0
  211. package/tests/idea_detail_page.mjs +64 -0
  212. package/tests/idea_goal_ratification.mjs +64 -0
  213. package/tests/idea_spark_hall.mjs +60 -9
  214. package/tests/ideator_full_idea_shapes_space_proof.mjs +1 -1
  215. package/tests/landing_page.mjs +6 -3
  216. package/tests/module-scope-map.mjs +31 -8
  217. package/tests/module_api.mjs +1 -0
  218. package/tests/module_loader.mjs +1 -1
  219. package/tests/nav_permission_atoms.mjs +1 -1
  220. package/tests/no_phantom_mirror_workflow.mjs +24 -0
  221. package/tests/npm_release_preview_commands.mjs +89 -0
  222. package/tests/npm_release_preview_divert.mjs +164 -0
  223. package/tests/npm_release_preview_env.mjs +100 -0
  224. package/tests/npm_release_preview_proxy.mjs +162 -0
  225. package/tests/npm_release_preview_routes.mjs +208 -0
  226. package/tests/npm_release_preview_supervisor.mjs +203 -0
  227. package/tests/pin_write_key.mjs +383 -0
  228. package/tests/planning_session_skill.mjs +27 -0
  229. package/tests/platform_boot.mjs +71 -0
  230. package/tests/profile_nudge_links.mjs +86 -0
  231. package/tests/profile_ui_cross_project.mjs +1 -1
  232. package/tests/projects_hub.mjs +2 -2
  233. package/tests/projects_hub_app_status.mjs +249 -0
  234. package/tests/projects_hub_app_step.mjs +282 -52
  235. package/tests/projects_hub_render_connect.mjs +295 -0
  236. package/tests/provision_render.mjs +121 -28
  237. package/tests/provision_settings_apply.mjs +62 -0
  238. package/tests/provisioning_app_status.mjs +204 -0
  239. package/tests/provisioning_render_route.mjs +126 -6
  240. package/tests/render_check.mjs +2 -1
  241. package/tests/render_deploy.mjs +495 -0
  242. package/tests/ship_preflight.mjs +61 -8
  243. package/tests/smoke_dependencies_witness.mjs +46 -0
  244. package/tests/speciality_skills.mjs +214 -0
  245. package/tests/studio_room_height.mjs +70 -0
  246. package/tests/task_detail_includes.mjs +10 -0
  247. package/tests/task_visuals_instance_root.mjs +150 -0
  248. package/tests/tweak_batch_apply.mjs +21 -0
  249. package/tests/ui_design_kit.mjs +36 -4
  250. package/tests/upgrade.mjs +1 -1
  251. package/tests/upgrade_persist_pin.mjs +24 -0
@@ -125,6 +125,10 @@
125
125
  "name": "github",
126
126
  "description": "Endpoints under `/api/bongos/github`."
127
127
  },
128
+ {
129
+ "name": "goal-task-relevance",
130
+ "description": "Endpoints under `/api/bongos/goal-task-relevance`."
131
+ },
128
132
  {
129
133
  "name": "goals",
130
134
  "description": "Endpoints under `/api/bongos/goals`."
@@ -229,6 +233,10 @@
229
233
  "name": "removal-proposals",
230
234
  "description": "Endpoints under `/api/bongos/removal-proposals`."
231
235
  },
236
+ {
237
+ "name": "render-deploy",
238
+ "description": "Endpoints under `/api/bongos/render-deploy`."
239
+ },
232
240
  {
233
241
  "name": "scouting",
234
242
  "description": "Endpoints under `/api/bongos/scouting`."
@@ -5598,6 +5606,113 @@
5598
5606
  ]
5599
5607
  }
5600
5608
  },
5609
+ "/goal-task-relevance/pending": {
5610
+ "get": {
5611
+ "operationId": "get_goal_task_relevance_pending",
5612
+ "tags": [
5613
+ "goal-task-relevance"
5614
+ ],
5615
+ "summary": "GET /goal-task-relevance/pending",
5616
+ "description": "task.promote (metic+archon) — the reused review-queue atom.\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `task.promote` (all required).",
5617
+ "x-rank": "metic+archon",
5618
+ "x-source": "modules/lifecycle/routes/goal-task-relevance.js",
5619
+ "x-permissions": [
5620
+ "task.promote"
5621
+ ],
5622
+ "responses": {
5623
+ "200": {
5624
+ "description": "Success.",
5625
+ "content": {
5626
+ "application/json": {
5627
+ "schema": {
5628
+ "$ref": "#/components/schemas/GetGoalTaskRelevancePendingResponse"
5629
+ }
5630
+ }
5631
+ }
5632
+ },
5633
+ "400": {
5634
+ "$ref": "#/components/responses/BadRequest"
5635
+ },
5636
+ "401": {
5637
+ "$ref": "#/components/responses/Unauthorized"
5638
+ },
5639
+ "403": {
5640
+ "$ref": "#/components/responses/Forbidden"
5641
+ }
5642
+ },
5643
+ "security": [
5644
+ {
5645
+ "builderSession": []
5646
+ }
5647
+ ]
5648
+ }
5649
+ },
5650
+ "/goal-task-relevance/{id}/decide": {
5651
+ "post": {
5652
+ "operationId": "post_goal_task_relevance_id_decide",
5653
+ "tags": [
5654
+ "goal-task-relevance"
5655
+ ],
5656
+ "summary": "POST /goal-task-relevance/:id/decide",
5657
+ "description": "task.promote — same atom as the read (task.promote's own gate). Hand-written catch (not asyncHandler, per its own header note): maps decideRelevanceFlag's SELF_DECIDE_FORBIDDEN to a named 403.\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `task.promote` (all required).",
5658
+ "x-rank": "metic+archon",
5659
+ "x-source": "modules/lifecycle/routes/goal-task-relevance.js",
5660
+ "x-permissions": [
5661
+ "task.promote"
5662
+ ],
5663
+ "parameters": [
5664
+ {
5665
+ "name": "id",
5666
+ "in": "path",
5667
+ "required": true,
5668
+ "schema": {
5669
+ "type": "string"
5670
+ },
5671
+ "description": "Path parameter `id`."
5672
+ }
5673
+ ],
5674
+ "requestBody": {
5675
+ "required": true,
5676
+ "content": {
5677
+ "application/json": {
5678
+ "schema": {
5679
+ "$ref": "#/components/schemas/PostGoalTaskRelevanceIdDecideRequest"
5680
+ }
5681
+ }
5682
+ },
5683
+ "x-validated": true
5684
+ },
5685
+ "responses": {
5686
+ "200": {
5687
+ "description": "Success.",
5688
+ "content": {
5689
+ "application/json": {
5690
+ "schema": {
5691
+ "$ref": "#/components/schemas/PostGoalTaskRelevanceIdDecideResponse"
5692
+ }
5693
+ }
5694
+ }
5695
+ },
5696
+ "400": {
5697
+ "$ref": "#/components/responses/ValidationFailed"
5698
+ },
5699
+ "401": {
5700
+ "$ref": "#/components/responses/Unauthorized"
5701
+ },
5702
+ "403": {
5703
+ "$ref": "#/components/responses/Forbidden"
5704
+ },
5705
+ "404": {
5706
+ "$ref": "#/components/responses/NotFound"
5707
+ }
5708
+ },
5709
+ "security": [
5710
+ {
5711
+ "builderSession": []
5712
+ }
5713
+ ]
5714
+ }
5715
+ },
5601
5716
  "/goals": {
5602
5717
  "get": {
5603
5718
  "operationId": "get_goals",
@@ -12966,6 +13081,168 @@
12966
13081
  ]
12967
13082
  }
12968
13083
  },
13084
+ "/npm-release/preview": {
13085
+ "get": {
13086
+ "operationId": "get_npm_release_preview",
13087
+ "tags": [
13088
+ "npm-release"
13089
+ ],
13090
+ "summary": "GET /npm-release/preview",
13091
+ "description": "**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
13092
+ "x-rank": "any-builder",
13093
+ "x-source": "modules/npm-release/routes/preview.js",
13094
+ "responses": {
13095
+ "200": {
13096
+ "description": "Success."
13097
+ },
13098
+ "400": {
13099
+ "$ref": "#/components/responses/BadRequest"
13100
+ },
13101
+ "401": {
13102
+ "$ref": "#/components/responses/Unauthorized"
13103
+ },
13104
+ "403": {
13105
+ "$ref": "#/components/responses/Forbidden"
13106
+ }
13107
+ },
13108
+ "security": [
13109
+ {
13110
+ "builderSession": []
13111
+ }
13112
+ ]
13113
+ },
13114
+ "post": {
13115
+ "operationId": "post_npm_release_preview",
13116
+ "tags": [
13117
+ "npm-release"
13118
+ ],
13119
+ "summary": "POST /npm-release/preview",
13120
+ "description": "**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
13121
+ "x-rank": "any-builder",
13122
+ "x-source": "modules/npm-release/routes/preview.js",
13123
+ "requestBody": {
13124
+ "required": true,
13125
+ "content": {
13126
+ "application/json": {
13127
+ "schema": {
13128
+ "$ref": "#/components/schemas/PostNpmReleasePreviewRequest"
13129
+ }
13130
+ }
13131
+ },
13132
+ "x-validated": true
13133
+ },
13134
+ "responses": {
13135
+ "200": {
13136
+ "description": "Success."
13137
+ },
13138
+ "400": {
13139
+ "$ref": "#/components/responses/ValidationFailed"
13140
+ },
13141
+ "401": {
13142
+ "$ref": "#/components/responses/Unauthorized"
13143
+ },
13144
+ "403": {
13145
+ "$ref": "#/components/responses/Forbidden"
13146
+ }
13147
+ },
13148
+ "security": [
13149
+ {
13150
+ "builderSession": []
13151
+ }
13152
+ ]
13153
+ },
13154
+ "delete": {
13155
+ "operationId": "delete_npm_release_preview",
13156
+ "tags": [
13157
+ "npm-release"
13158
+ ],
13159
+ "summary": "DELETE /npm-release/preview",
13160
+ "description": "**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
13161
+ "x-rank": "any-builder",
13162
+ "x-source": "modules/npm-release/routes/preview.js",
13163
+ "responses": {
13164
+ "200": {
13165
+ "description": "Success."
13166
+ },
13167
+ "400": {
13168
+ "$ref": "#/components/responses/BadRequest"
13169
+ },
13170
+ "401": {
13171
+ "$ref": "#/components/responses/Unauthorized"
13172
+ },
13173
+ "403": {
13174
+ "$ref": "#/components/responses/Forbidden"
13175
+ }
13176
+ },
13177
+ "security": [
13178
+ {
13179
+ "builderSession": []
13180
+ }
13181
+ ]
13182
+ }
13183
+ },
13184
+ "/npm-release/preview/enter": {
13185
+ "get": {
13186
+ "operationId": "get_npm_release_preview_enter",
13187
+ "tags": [
13188
+ "npm-release"
13189
+ ],
13190
+ "summary": "GET /npm-release/preview/enter",
13191
+ "description": "**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
13192
+ "x-rank": "any-builder",
13193
+ "x-source": "modules/npm-release/routes/preview.js",
13194
+ "responses": {
13195
+ "200": {
13196
+ "description": "Success."
13197
+ },
13198
+ "400": {
13199
+ "$ref": "#/components/responses/BadRequest"
13200
+ },
13201
+ "401": {
13202
+ "$ref": "#/components/responses/Unauthorized"
13203
+ },
13204
+ "403": {
13205
+ "$ref": "#/components/responses/Forbidden"
13206
+ }
13207
+ },
13208
+ "security": [
13209
+ {
13210
+ "builderSession": []
13211
+ }
13212
+ ]
13213
+ }
13214
+ },
13215
+ "/npm-release/preview/exit": {
13216
+ "get": {
13217
+ "operationId": "get_npm_release_preview_exit",
13218
+ "tags": [
13219
+ "npm-release"
13220
+ ],
13221
+ "summary": "GET /npm-release/preview/exit",
13222
+ "description": "**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
13223
+ "x-rank": "any-builder",
13224
+ "x-source": "modules/npm-release/routes/preview.js",
13225
+ "responses": {
13226
+ "200": {
13227
+ "description": "Success."
13228
+ },
13229
+ "400": {
13230
+ "$ref": "#/components/responses/BadRequest"
13231
+ },
13232
+ "401": {
13233
+ "$ref": "#/components/responses/Unauthorized"
13234
+ },
13235
+ "403": {
13236
+ "$ref": "#/components/responses/Forbidden"
13237
+ }
13238
+ },
13239
+ "security": [
13240
+ {
13241
+ "builderSession": []
13242
+ }
13243
+ ]
13244
+ }
13245
+ },
12969
13246
  "/npm-release/task/{id}": {
12970
13247
  "get": {
12971
13248
  "operationId": "get_npm_release_task_id",
@@ -14646,13 +14923,13 @@
14646
14923
  }
14647
14924
  },
14648
14925
  "/provisioning/instances/{id}/render": {
14649
- "post": {
14650
- "operationId": "post_provisioning_instances_id_render",
14926
+ "get": {
14927
+ "operationId": "get_provisioning_instances_id_render",
14651
14928
  "tags": [
14652
14929
  "provisioning"
14653
14930
  ],
14654
- "summary": "POST /provisioning/instances/:id/render",
14655
- "description": "POST /provisioning/instances/:id/render — rank: any authenticated builder, and OWNER ONLY: the key is the owner's and so is the account it acts in, so an archon on someone else's project gets the same 404 as a stranger. The reply is a receipt; nothing has happened on Render when it is sent.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
14931
+ "summary": "GET /provisioning/instances/:id/render",
14932
+ "description": "GET /provisioning/instances/:id/render — rank: any authenticated builder, and OWNER ONLY, like the POST (task 1004353). Where the project's app setup on Render stands: the stage, the app's address, the Render links, a failure as one sentence with the answers a Retry re-sends, and the env var NAMES still to set there (task 1004062's manifest — never a value; this platform holds none). Read from the row alone: nothing here calls Render, and there is no key to hold. `app` is null when the project's app has no platform chosen.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
14656
14933
  "x-rank": "any-builder",
14657
14934
  "x-source": "modules/provisioning/routes/render-standup.js",
14658
14935
  "parameters": [
@@ -14666,24 +14943,74 @@
14666
14943
  "description": "Path parameter `id`."
14667
14944
  }
14668
14945
  ],
14669
- "requestBody": {
14670
- "required": true,
14671
- "content": {
14672
- "application/json": {
14673
- "schema": {
14674
- "$ref": "#/components/schemas/PostProvisioningInstancesIdRenderRequest"
14675
- }
14676
- }
14677
- },
14678
- "x-validated": true
14679
- },
14680
14946
  "responses": {
14681
14947
  "200": {
14682
14948
  "description": "Success.",
14683
14949
  "content": {
14684
14950
  "application/json": {
14685
14951
  "schema": {
14686
- "$ref": "#/components/schemas/PostProvisioningInstancesIdRenderResponse"
14952
+ "$ref": "#/components/schemas/GetProvisioningInstancesIdRenderResponse"
14953
+ }
14954
+ }
14955
+ }
14956
+ },
14957
+ "400": {
14958
+ "$ref": "#/components/responses/BadRequest"
14959
+ },
14960
+ "401": {
14961
+ "$ref": "#/components/responses/Unauthorized"
14962
+ },
14963
+ "403": {
14964
+ "$ref": "#/components/responses/Forbidden"
14965
+ },
14966
+ "404": {
14967
+ "$ref": "#/components/responses/NotFound"
14968
+ }
14969
+ },
14970
+ "security": [
14971
+ {
14972
+ "builderSession": []
14973
+ }
14974
+ ]
14975
+ },
14976
+ "post": {
14977
+ "operationId": "post_provisioning_instances_id_render",
14978
+ "tags": [
14979
+ "provisioning"
14980
+ ],
14981
+ "summary": "POST /provisioning/instances/:id/render",
14982
+ "description": "POST /provisioning/instances/:id/render — rank: any authenticated builder, and OWNER ONLY: the key is the owner's and so is the account it acts in, so an archon on someone else's project gets the same 404 as a stranger. The reply is a receipt; nothing has happened on Render when it is sent.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
14983
+ "x-rank": "any-builder",
14984
+ "x-source": "modules/provisioning/routes/render-standup.js",
14985
+ "parameters": [
14986
+ {
14987
+ "name": "id",
14988
+ "in": "path",
14989
+ "required": true,
14990
+ "schema": {
14991
+ "type": "string"
14992
+ },
14993
+ "description": "Path parameter `id`."
14994
+ }
14995
+ ],
14996
+ "requestBody": {
14997
+ "required": true,
14998
+ "content": {
14999
+ "application/json": {
15000
+ "schema": {
15001
+ "$ref": "#/components/schemas/PostProvisioningInstancesIdRenderRequest"
15002
+ }
15003
+ }
15004
+ },
15005
+ "x-validated": true
15006
+ },
15007
+ "responses": {
15008
+ "200": {
15009
+ "description": "Success.",
15010
+ "content": {
15011
+ "application/json": {
15012
+ "schema": {
15013
+ "$ref": "#/components/schemas/PostProvisioningInstancesIdRenderResponse"
14687
15014
  }
14688
15015
  }
14689
15016
  }
@@ -15046,6 +15373,48 @@
15046
15373
  "security": []
15047
15374
  }
15048
15375
  },
15376
+ "/provisioning/render/lookup": {
15377
+ "post": {
15378
+ "operationId": "post_provisioning_render_lookup",
15379
+ "tags": [
15380
+ "provisioning"
15381
+ ],
15382
+ "summary": "POST /provisioning/render/lookup",
15383
+ "description": "POST /provisioning/render/lookup — rank: any authenticated builder. What the owner's Render key can see: its workspaces, and the web services in the one they name. The ONLY Render call this process makes (ADR 0348): GET only, the key held for this request and never stored, logged or sent back. POST so the key travels in a body, never a URL.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
15384
+ "x-rank": "any-builder",
15385
+ "x-source": "modules/provisioning/routes/render-standup.js",
15386
+ "requestBody": {
15387
+ "required": true,
15388
+ "content": {
15389
+ "application/json": {
15390
+ "schema": {
15391
+ "$ref": "#/components/schemas/PostProvisioningRenderLookupRequest"
15392
+ }
15393
+ }
15394
+ },
15395
+ "x-validated": true
15396
+ },
15397
+ "responses": {
15398
+ "200": {
15399
+ "description": "Success."
15400
+ },
15401
+ "400": {
15402
+ "$ref": "#/components/responses/ValidationFailed"
15403
+ },
15404
+ "401": {
15405
+ "$ref": "#/components/responses/Unauthorized"
15406
+ },
15407
+ "403": {
15408
+ "$ref": "#/components/responses/Forbidden"
15409
+ }
15410
+ },
15411
+ "security": [
15412
+ {
15413
+ "builderSession": []
15414
+ }
15415
+ ]
15416
+ }
15417
+ },
15049
15418
  "/provisioning/slug-available": {
15050
15419
  "get": {
15051
15420
  "operationId": "get_provisioning_slug_available",
@@ -15744,6 +16113,183 @@
15744
16113
  ]
15745
16114
  }
15746
16115
  },
16116
+ "/render-deploy/act": {
16117
+ "post": {
16118
+ "operationId": "post_render_deploy_act",
16119
+ "tags": [
16120
+ "render-deploy"
16121
+ ],
16122
+ "summary": "POST /render-deploy/act",
16123
+ "description": "**Rank:** `archon` — Archon only (rank and identity management + the escalation keys — the trust boundary).\n\n**Permissions:** `core.pin.move` (all required).",
16124
+ "x-rank": "archon",
16125
+ "x-source": "modules/render-deploy/routes/act.js",
16126
+ "x-permissions": [
16127
+ "core.pin.move"
16128
+ ],
16129
+ "requestBody": {
16130
+ "required": false,
16131
+ "content": {
16132
+ "application/json": {
16133
+ "schema": {
16134
+ "$ref": "#/components/schemas/PostRenderDeployActRequest"
16135
+ }
16136
+ }
16137
+ },
16138
+ "x-validated": true
16139
+ },
16140
+ "responses": {
16141
+ "200": {
16142
+ "description": "Success.",
16143
+ "content": {
16144
+ "application/json": {
16145
+ "schema": {
16146
+ "$ref": "#/components/schemas/PostRenderDeployActResponse"
16147
+ }
16148
+ }
16149
+ }
16150
+ },
16151
+ "400": {
16152
+ "$ref": "#/components/responses/ValidationFailed"
16153
+ },
16154
+ "401": {
16155
+ "$ref": "#/components/responses/Unauthorized"
16156
+ },
16157
+ "403": {
16158
+ "$ref": "#/components/responses/Forbidden"
16159
+ }
16160
+ },
16161
+ "security": [
16162
+ {
16163
+ "builderSession": []
16164
+ }
16165
+ ]
16166
+ }
16167
+ },
16168
+ "/render-deploy/app": {
16169
+ "get": {
16170
+ "operationId": "get_render_deploy_app",
16171
+ "tags": [
16172
+ "render-deploy"
16173
+ ],
16174
+ "summary": "GET /render-deploy/app",
16175
+ "description": "**Rank:** `archon` — Archon only (rank and identity management + the escalation keys — the trust boundary).\n\n**Permissions:** `core.pin.move` (all required).",
16176
+ "x-rank": "archon",
16177
+ "x-source": "modules/render-deploy/routes/app.js",
16178
+ "x-permissions": [
16179
+ "core.pin.move"
16180
+ ],
16181
+ "responses": {
16182
+ "200": {
16183
+ "description": "Success.",
16184
+ "content": {
16185
+ "application/json": {
16186
+ "schema": {
16187
+ "$ref": "#/components/schemas/GetRenderDeployAppResponse"
16188
+ }
16189
+ }
16190
+ }
16191
+ },
16192
+ "400": {
16193
+ "$ref": "#/components/responses/BadRequest"
16194
+ },
16195
+ "401": {
16196
+ "$ref": "#/components/responses/Unauthorized"
16197
+ },
16198
+ "403": {
16199
+ "$ref": "#/components/responses/Forbidden"
16200
+ }
16201
+ },
16202
+ "security": [
16203
+ {
16204
+ "builderSession": []
16205
+ }
16206
+ ]
16207
+ },
16208
+ "put": {
16209
+ "operationId": "put_render_deploy_app",
16210
+ "tags": [
16211
+ "render-deploy"
16212
+ ],
16213
+ "summary": "PUT /render-deploy/app",
16214
+ "description": "**Rank:** `archon` — Archon only (rank and identity management + the escalation keys — the trust boundary).\n\n**Permissions:** `core.pin.move` (all required).",
16215
+ "x-rank": "archon",
16216
+ "x-source": "modules/render-deploy/routes/app.js",
16217
+ "x-permissions": [
16218
+ "core.pin.move"
16219
+ ],
16220
+ "requestBody": {
16221
+ "required": false,
16222
+ "content": {
16223
+ "application/json": {
16224
+ "schema": {
16225
+ "$ref": "#/components/schemas/PutRenderDeployAppRequest"
16226
+ }
16227
+ }
16228
+ },
16229
+ "x-validated": true
16230
+ },
16231
+ "responses": {
16232
+ "200": {
16233
+ "description": "Success.",
16234
+ "content": {
16235
+ "application/json": {
16236
+ "schema": {
16237
+ "$ref": "#/components/schemas/PutRenderDeployAppResponse"
16238
+ }
16239
+ }
16240
+ }
16241
+ },
16242
+ "400": {
16243
+ "$ref": "#/components/responses/ValidationFailed"
16244
+ },
16245
+ "401": {
16246
+ "$ref": "#/components/responses/Unauthorized"
16247
+ },
16248
+ "403": {
16249
+ "$ref": "#/components/responses/Forbidden"
16250
+ }
16251
+ },
16252
+ "security": [
16253
+ {
16254
+ "builderSession": []
16255
+ }
16256
+ ]
16257
+ }
16258
+ },
16259
+ "/render-deploy/history": {
16260
+ "get": {
16261
+ "operationId": "get_render_deploy_history",
16262
+ "tags": [
16263
+ "render-deploy"
16264
+ ],
16265
+ "summary": "GET /render-deploy/history",
16266
+ "description": "**Rank:** `archon` — Archon only (rank and identity management + the escalation keys — the trust boundary).\n\n**Permissions:** `core.pin.move` (all required).",
16267
+ "x-rank": "archon",
16268
+ "x-source": "modules/render-deploy/routes/history.js",
16269
+ "x-permissions": [
16270
+ "core.pin.move"
16271
+ ],
16272
+ "responses": {
16273
+ "200": {
16274
+ "description": "Success."
16275
+ },
16276
+ "400": {
16277
+ "$ref": "#/components/responses/BadRequest"
16278
+ },
16279
+ "401": {
16280
+ "$ref": "#/components/responses/Unauthorized"
16281
+ },
16282
+ "403": {
16283
+ "$ref": "#/components/responses/Forbidden"
16284
+ }
16285
+ },
16286
+ "security": [
16287
+ {
16288
+ "builderSession": []
16289
+ }
16290
+ ]
16291
+ }
16292
+ },
15747
16293
  "/scouting": {
15748
16294
  "get": {
15749
16295
  "operationId": "get_scouting",
@@ -17451,6 +17997,69 @@
17451
17997
  ]
17452
17998
  }
17453
17999
  },
18000
+ "/specialities/{id}/skills": {
18001
+ "put": {
18002
+ "operationId": "put_specialities_id_skills",
18003
+ "tags": [
18004
+ "specialities"
18005
+ ],
18006
+ "summary": "PUT /specialities/:id/skills",
18007
+ "description": "PUT /specialities/:id/skills — the caller's ENABLED set for a speciality they hold (task 1004072, ADR 0310 §2). Replaces the set whole: the walkthrough (task 1004073) sends the decisions it collected, so a partial patch would leave a skill switched on that the person was never shown again. Own adoption only, and only while active. Every name must be offered by the speciality AND exist here. rank: any builder, on their own row only.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
18008
+ "x-rank": "any-builder",
18009
+ "x-source": "modules/specialities/routes/specialities.js",
18010
+ "parameters": [
18011
+ {
18012
+ "name": "id",
18013
+ "in": "path",
18014
+ "required": true,
18015
+ "schema": {
18016
+ "type": "string"
18017
+ },
18018
+ "description": "Path parameter `id`."
18019
+ }
18020
+ ],
18021
+ "requestBody": {
18022
+ "required": true,
18023
+ "content": {
18024
+ "application/json": {
18025
+ "schema": {
18026
+ "$ref": "#/components/schemas/PutSpecialitiesIdSkillsRequest"
18027
+ }
18028
+ }
18029
+ },
18030
+ "x-validated": true
18031
+ },
18032
+ "responses": {
18033
+ "200": {
18034
+ "description": "Success.",
18035
+ "content": {
18036
+ "application/json": {
18037
+ "schema": {
18038
+ "$ref": "#/components/schemas/PutSpecialitiesIdSkillsResponse"
18039
+ }
18040
+ }
18041
+ }
18042
+ },
18043
+ "400": {
18044
+ "$ref": "#/components/responses/ValidationFailed"
18045
+ },
18046
+ "401": {
18047
+ "$ref": "#/components/responses/Unauthorized"
18048
+ },
18049
+ "403": {
18050
+ "$ref": "#/components/responses/Forbidden"
18051
+ },
18052
+ "404": {
18053
+ "$ref": "#/components/responses/NotFound"
18054
+ }
18055
+ },
18056
+ "security": [
18057
+ {
18058
+ "builderSession": []
18059
+ }
18060
+ ]
18061
+ }
18062
+ },
17454
18063
  "/specialities/{id}/unoffer": {
17455
18064
  "post": {
17456
18065
  "operationId": "post_specialities_id_unoffer",
@@ -21446,6 +22055,17 @@
21446
22055
  "repos"
21447
22056
  ]
21448
22057
  },
22058
+ "GetGoalTaskRelevancePendingResponse": {
22059
+ "type": "object",
22060
+ "properties": {
22061
+ "flags": {},
22062
+ "count": {}
22063
+ },
22064
+ "required": [
22065
+ "flags",
22066
+ "count"
22067
+ ]
22068
+ },
21449
22069
  "GetGoalsIdConflictsResponse": {
21450
22070
  "type": "object",
21451
22071
  "properties": {
@@ -22249,6 +22869,25 @@
22249
22869
  "reason"
22250
22870
  ]
22251
22871
  },
22872
+ "GetProvisioningInstancesIdRenderResponse": {
22873
+ "type": "object",
22874
+ "properties": {
22875
+ "ok": {
22876
+ "type": "boolean"
22877
+ },
22878
+ "app": {},
22879
+ "env_vars": {},
22880
+ "values_held": {
22881
+ "type": "boolean"
22882
+ }
22883
+ },
22884
+ "required": [
22885
+ "ok",
22886
+ "app",
22887
+ "env_vars",
22888
+ "values_held"
22889
+ ]
22890
+ },
22252
22891
  "GetProvisioningInstancesIdResponse": {
22253
22892
  "type": "object",
22254
22893
  "properties": {
@@ -22500,6 +23139,15 @@
22500
23139
  "count"
22501
23140
  ]
22502
23141
  },
23142
+ "GetRenderDeployAppResponse": {
23143
+ "type": "object",
23144
+ "properties": {
23145
+ "app": {}
23146
+ },
23147
+ "required": [
23148
+ "app"
23149
+ ]
23150
+ },
22503
23151
  "GetScoutingHandleResponse": {
22504
23152
  "type": "object",
22505
23153
  "properties": {
@@ -23512,6 +24160,12 @@
23512
24160
  },
23513
24161
  "sellable": {
23514
24162
  "type": "boolean"
24163
+ },
24164
+ "skills": {
24165
+ "type": "array",
24166
+ "items": {
24167
+ "type": "string"
24168
+ }
23515
24169
  }
23516
24170
  },
23517
24171
  "additionalProperties": false
@@ -24741,6 +25395,39 @@
24741
25395
  "repo"
24742
25396
  ]
24743
25397
  },
25398
+ "PostGoalTaskRelevanceIdDecideRequest": {
25399
+ "type": "object",
25400
+ "properties": {
25401
+ "decision": {
25402
+ "type": "string",
25403
+ "enum": [
25404
+ "confirmed_gaming",
25405
+ "false_positive"
25406
+ ]
25407
+ },
25408
+ "note": {
25409
+ "type": "string",
25410
+ "maxLength": 2000
25411
+ }
25412
+ },
25413
+ "required": [
25414
+ "decision"
25415
+ ],
25416
+ "additionalProperties": false
25417
+ },
25418
+ "PostGoalTaskRelevanceIdDecideResponse": {
25419
+ "type": "object",
25420
+ "properties": {
25421
+ "ok": {
25422
+ "type": "boolean"
25423
+ },
25424
+ "flag": {}
25425
+ },
25426
+ "required": [
25427
+ "ok",
25428
+ "flag"
25429
+ ]
25430
+ },
24744
25431
  "PostGoalsIdArchiveRequest": {
24745
25432
  "type": "object",
24746
25433
  "properties": {
@@ -25601,6 +26288,10 @@
25601
26288
  "notes_md": {
25602
26289
  "type": "string",
25603
26290
  "maxLength": 10000
26291
+ },
26292
+ "success_criterion": {
26293
+ "type": "string",
26294
+ "maxLength": 2000
25604
26295
  }
25605
26296
  },
25606
26297
  "required": [
@@ -26152,6 +26843,19 @@
26152
26843
  "message"
26153
26844
  ]
26154
26845
  },
26846
+ "PostNpmReleasePreviewRequest": {
26847
+ "type": "object",
26848
+ "properties": {
26849
+ "version": {
26850
+ "type": "string",
26851
+ "maxLength": 32
26852
+ }
26853
+ },
26854
+ "required": [
26855
+ "version"
26856
+ ],
26857
+ "additionalProperties": false
26858
+ },
26155
26859
  "PostOverrideRequestsIdDecideRequest": {
26156
26860
  "type": "object",
26157
26861
  "properties": {
@@ -26209,6 +26913,12 @@
26209
26913
  },
26210
26914
  "sellable": {
26211
26915
  "type": "boolean"
26916
+ },
26917
+ "skills": {
26918
+ "type": "array",
26919
+ "items": {
26920
+ "type": "string"
26921
+ }
26212
26922
  }
26213
26923
  },
26214
26924
  "required": [
@@ -26446,6 +27156,21 @@
26446
27156
  "region": {
26447
27157
  "type": "string",
26448
27158
  "maxLength": 40
27159
+ },
27160
+ "runtime": {
27161
+ "type": "string",
27162
+ "maxLength": 20
27163
+ },
27164
+ "build_command": {
27165
+ "type": "string",
27166
+ "maxLength": 500
27167
+ },
27168
+ "start_command": {
27169
+ "type": "string",
27170
+ "maxLength": 500
27171
+ },
27172
+ "database": {
27173
+ "type": "boolean"
26449
27174
  }
26450
27175
  },
26451
27176
  "required": [
@@ -26466,6 +27191,9 @@
26466
27191
  },
26467
27192
  "action": {},
26468
27193
  "mode": {},
27194
+ "with_setup": {
27195
+ "type": "boolean"
27196
+ },
26469
27197
  "message": {}
26470
27198
  },
26471
27199
  "required": [
@@ -26473,6 +27201,7 @@
26473
27201
  "queued",
26474
27202
  "action",
26475
27203
  "mode",
27204
+ "with_setup",
26476
27205
  "message"
26477
27206
  ]
26478
27207
  },
@@ -26587,6 +27316,23 @@
26587
27316
  ],
26588
27317
  "additionalProperties": false
26589
27318
  },
27319
+ "PostProvisioningRenderLookupRequest": {
27320
+ "type": "object",
27321
+ "properties": {
27322
+ "key": {
27323
+ "type": "string",
27324
+ "maxLength": 200
27325
+ },
27326
+ "owner_id": {
27327
+ "type": "string",
27328
+ "maxLength": 80
27329
+ }
27330
+ },
27331
+ "required": [
27332
+ "key"
27333
+ ],
27334
+ "additionalProperties": false
27335
+ },
26590
27336
  "PostRemovalProposalsIdDecideRequest": {
26591
27337
  "type": "object",
26592
27338
  "properties": {
@@ -26603,6 +27349,39 @@
26603
27349
  ],
26604
27350
  "additionalProperties": false
26605
27351
  },
27352
+ "PostRenderDeployActRequest": {
27353
+ "type": "object",
27354
+ "properties": {
27355
+ "action": {
27356
+ "type": "string",
27357
+ "maxLength": 16
27358
+ },
27359
+ "deployId": {
27360
+ "type": "string",
27361
+ "maxLength": 80
27362
+ },
27363
+ "confirm": {},
27364
+ "expectLiveDeployId": {}
27365
+ },
27366
+ "additionalProperties": false
27367
+ },
27368
+ "PostRenderDeployActResponse": {
27369
+ "type": "object",
27370
+ "properties": {
27371
+ "ok": {
27372
+ "type": "boolean"
27373
+ },
27374
+ "action": {},
27375
+ "started": {},
27376
+ "render": {}
27377
+ },
27378
+ "required": [
27379
+ "ok",
27380
+ "action",
27381
+ "started",
27382
+ "render"
27383
+ ]
27384
+ },
26606
27385
  "PostSearchMarkRequest": {
26607
27386
  "type": "object",
26608
27387
  "properties": {
@@ -27035,6 +27814,12 @@
27035
27814
  },
27036
27815
  "sellable": {
27037
27816
  "type": "boolean"
27817
+ },
27818
+ "skills": {
27819
+ "type": "array",
27820
+ "items": {
27821
+ "type": "string"
27822
+ }
27038
27823
  }
27039
27824
  },
27040
27825
  "required": [
@@ -28044,6 +28829,53 @@
28044
28829
  ],
28045
28830
  "additionalProperties": false
28046
28831
  },
28832
+ "PutRenderDeployAppRequest": {
28833
+ "type": "object",
28834
+ "properties": {
28835
+ "ownerId": {
28836
+ "type": "string",
28837
+ "maxLength": 80
28838
+ },
28839
+ "serviceId": {
28840
+ "type": "string",
28841
+ "maxLength": 80
28842
+ }
28843
+ },
28844
+ "additionalProperties": false
28845
+ },
28846
+ "PutRenderDeployAppResponse": {
28847
+ "type": "object",
28848
+ "properties": {
28849
+ "app": {}
28850
+ },
28851
+ "required": [
28852
+ "app"
28853
+ ]
28854
+ },
28855
+ "PutSpecialitiesIdSkillsRequest": {
28856
+ "type": "object",
28857
+ "properties": {
28858
+ "enabled_skills": {
28859
+ "type": "array",
28860
+ "items": {
28861
+ "type": "string"
28862
+ }
28863
+ }
28864
+ },
28865
+ "required": [
28866
+ "enabled_skills"
28867
+ ],
28868
+ "additionalProperties": false
28869
+ },
28870
+ "PutSpecialitiesIdSkillsResponse": {
28871
+ "type": "object",
28872
+ "properties": {
28873
+ "adoption": {}
28874
+ },
28875
+ "required": [
28876
+ "adoption"
28877
+ ]
28878
+ },
28047
28879
  "PutTasksIdDependenciesRequest": {
28048
28880
  "type": "object",
28049
28881
  "properties": {
@@ -28195,9 +29027,9 @@
28195
29027
  "description": "A required dependency/feature is not configured or is temporarily down."
28196
29028
  }
28197
29029
  },
28198
- "x-endpoint-count": 440,
28199
- "x-schema-count": 473,
29030
+ "x-endpoint-count": 454,
29031
+ "x-schema-count": 486,
28200
29032
  "x-undocumented-bodies": 11,
28201
- "x-response-schemas": 323,
29033
+ "x-response-schemas": 330,
28202
29034
  "x-generated-by": "scripts/gds/gen-api-docs.js"
28203
29035
  }