forge-autonomy 2.7.32__tar.gz → 2.7.34__tar.gz

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 (333) hide show
  1. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/PKG-INFO +1 -1
  2. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/__main__.py +57 -0
  3. forge_autonomy-2.7.34/forge/api/server-openapi-v1.json +406 -0
  4. forge_autonomy-2.7.34/forge/api/server-postman-v1.json +429 -0
  5. forge_autonomy-2.7.34/forge/ep_simulator.py +688 -0
  6. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/planner/codex_cli_session.py +28 -6
  7. forge_autonomy-2.7.34/forge/provider_context.py +224 -0
  8. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/provider_security.py +47 -1
  9. forge_autonomy-2.7.34/forge/qualification/server_runtime.py +302 -0
  10. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/scheduler/ep_http_adapter.py +2 -2
  11. forge_autonomy-2.7.34/forge/server_runtime.py +712 -0
  12. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge_autonomy.egg-info/PKG-INFO +1 -1
  13. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge_autonomy.egg-info/SOURCES.txt +11 -0
  14. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/product-version.json +1 -1
  15. forge_autonomy-2.7.34/tests/test_ep_simulator.py +239 -0
  16. forge_autonomy-2.7.34/tests/test_ep_simulator_rolling_planning.py +205 -0
  17. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_installed_forge_update.py +126 -2
  18. forge_autonomy-2.7.34/tests/test_provider_context.py +97 -0
  19. forge_autonomy-2.7.34/tests/test_server_api_contract.py +45 -0
  20. forge_autonomy-2.7.34/tests/test_server_runtime.py +235 -0
  21. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/MANIFEST.in +0 -0
  22. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/README.md +0 -0
  23. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/__init__.py +0 -0
  24. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/_version.py +0 -0
  25. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/action_derivation_canary_closure.py +0 -0
  26. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/action_derivation_evidence.py +0 -0
  27. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/action_derivation_qualification.py +0 -0
  28. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/action_derivation_reattempt.py +0 -0
  29. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/ai_architect/__init__.py +0 -0
  30. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/ai_architect/provider_registry.py +0 -0
  31. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/api/installed-health-component-registry-1.0.json +0 -0
  32. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/api/operations-read-openapi-v1.json +0 -0
  33. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/api/operations-read-postman-v1.json +0 -0
  34. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/architecture/__init__.py +0 -0
  35. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/architecture/advisor.py +0 -0
  36. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/architecture/presentation.py +0 -0
  37. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/architecture/workspace.py +0 -0
  38. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/autonomous_orchestrator.py +0 -0
  39. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/business/__init__.py +0 -0
  40. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/business/advisor.py +0 -0
  41. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/business/ingress.py +0 -0
  42. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/business/presentation.py +0 -0
  43. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/business/workspace.py +0 -0
  44. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/canary.py +0 -0
  45. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/capabilities/__init__.py +0 -0
  46. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/capabilities/delegation.py +0 -0
  47. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/completion/__init__.py +0 -0
  48. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/completion/assessor.py +0 -0
  49. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/completion/host_control_observer.py +0 -0
  50. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/completion/mission.py +0 -0
  51. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/completion/repository_observer.py +0 -0
  52. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/constitutional/__init__.py +0 -0
  53. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/constitutional/assessor.py +0 -0
  54. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/core/__init__.py +0 -0
  55. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/core/json_store.py +0 -0
  56. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/decision_evidence/__init__.py +0 -0
  57. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/decision_evidence/repository.py +0 -0
  58. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/dispatcher/__init__.py +0 -0
  59. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/dispatcher/dispatcher.py +0 -0
  60. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/execution/__init__.py +0 -0
  61. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/execution/loop.py +0 -0
  62. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/execution/presentation.py +0 -0
  63. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/execution_host_configuration.py +0 -0
  64. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/foundation/__init__.py +0 -0
  65. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/foundation/loader.py +0 -0
  66. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/generation_two.py +0 -0
  67. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/generation_two_execution.py +0 -0
  68. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/governance/__init__.py +0 -0
  69. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/governance/execution_policy.py +0 -0
  70. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/governance/profiles.py +0 -0
  71. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/governance_authority.py +0 -0
  72. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/installed_health.py +0 -0
  73. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/intake.py +0 -0
  74. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/integration/__init__.py +0 -0
  75. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/integration/coordinator.py +0 -0
  76. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/integration/repository.py +0 -0
  77. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/knowledge/__init__.py +0 -0
  78. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/knowledge/consumer.py +0 -0
  79. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/knowledge/registry.py +0 -0
  80. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/lifecycle/__init__.py +0 -0
  81. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/lifecycle/store.py +0 -0
  82. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/mission_amendment.py +0 -0
  83. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/mission_cli.py +0 -0
  84. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/mission_scheduler.py +0 -0
  85. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/__init__.py +0 -0
  86. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/action.py +0 -0
  87. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/action_derivation.py +0 -0
  88. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/agent_policy.py +0 -0
  89. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/ai_architect_provider.py +0 -0
  90. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/ai_architect_session.py +0 -0
  91. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/ai_provider_registry.py +0 -0
  92. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/architecture_mission.py +0 -0
  93. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/architecture_reasoning.py +0 -0
  94. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/architecture_review.py +0 -0
  95. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/codex_runtime_prompt.py +0 -0
  96. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/constitutional_validation.py +0 -0
  97. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/criterion_assessment.py +0 -0
  98. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/criterion_observation.py +0 -0
  99. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/decision_evidence.py +0 -0
  100. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/execution_host.py +0 -0
  101. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/foundation.py +0 -0
  102. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/historical_intent.py +0 -0
  103. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/integration.py +0 -0
  104. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/intent.py +0 -0
  105. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/intent_authoring.py +0 -0
  106. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/mission.py +0 -0
  107. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/mission_candidate.py +0 -0
  108. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/mission_completion.py +0 -0
  109. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/mission_planner.py +0 -0
  110. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/mission_recommendation.py +0 -0
  111. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/phase_completion.py +0 -0
  112. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/planning.py +0 -0
  113. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/producer.py +0 -0
  114. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/prompt_artifact.py +0 -0
  115. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/proposal.py +0 -0
  116. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/runtime_prompt.py +0 -0
  117. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/models/solution_template.py +0 -0
  118. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/operations_read_api.py +0 -0
  119. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/operator_identity.py +0 -0
  120. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/planner/__init__.py +0 -0
  121. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/planner/action_derivation.py +0 -0
  122. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/planner/durable_derivation.py +0 -0
  123. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/planner/engine.py +0 -0
  124. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/planner/openai_responses.py +0 -0
  125. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/planner/provider_adapter.py +0 -0
  126. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/planning/__init__.py +0 -0
  127. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/planning/loader.py +0 -0
  128. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/planning/registry.py +0 -0
  129. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/portfolio_intelligence.py +0 -0
  130. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/programme_authorization.py +0 -0
  131. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/prompts/__init__.py +0 -0
  132. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/prompts/codex_cli.py +0 -0
  133. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/prompts/generator.py +0 -0
  134. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/proposals/__init__.py +0 -0
  135. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/proposals/generator.py +0 -0
  136. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/qualification/__init__.py +0 -0
  137. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/qualification/bootstrap_sequence.py +0 -0
  138. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/qualification/criterion_completion.py +0 -0
  139. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/qualification/generation_one.py +0 -0
  140. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/qualification/installed_smoke.py +0 -0
  141. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/recommendations/__init__.py +0 -0
  142. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/recommendations/engine.py +0 -0
  143. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/repository_truth.py +0 -0
  144. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/review/__init__.py +0 -0
  145. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/review/engine.py +0 -0
  146. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/runtime/__init__.py +0 -0
  147. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/runtime/bootstrap.py +0 -0
  148. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/runtime/data_root.py +0 -0
  149. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/runtime/database.py +0 -0
  150. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/runtime/dynamic_mission.py +0 -0
  151. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/runtime/evidence.py +0 -0
  152. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/runtime/execution_context.py +0 -0
  153. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/runtime/health.py +0 -0
  154. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/runtime/mission_controller.py +0 -0
  155. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/runtime/operational_reset.py +0 -0
  156. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/runtime/runner.py +0 -0
  157. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/runtime/service.py +0 -0
  158. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/scheduler/__init__.py +0 -0
  159. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/scheduler/adapter.py +0 -0
  160. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/scheduler/ep_v12.py +0 -0
  161. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/scheduler/scheduler.py +0 -0
  162. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/capability-registry-1.0.schema.json +0 -0
  163. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/capability.schema.json +0 -0
  164. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/common.schema.json +0 -0
  165. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/decision-evidence-1.0.schema.json +0 -0
  166. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/engineering-goal-0.5.schema.json +0 -0
  167. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/engineering-increment-proposal-0.5.schema.json +0 -0
  168. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/engineering-mode.schema.json +0 -0
  169. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/engineering-plan-0.5.schema.json +0 -0
  170. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/engineering-platform-peer-configuration-1.0.schema.json +0 -0
  171. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/engineering-platform-peer-configuration-1.1.schema.json +0 -0
  172. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/engineering-prompt-artifact-0.7.schema.json +0 -0
  173. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/engineering-proposal-0.6.schema.json +0 -0
  174. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/evidence-reference-0.5.schema.json +0 -0
  175. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/foundation-document.schema.json +0 -0
  176. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/governance-profile.schema.json +0 -0
  177. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/knowledge-source-0.4.schema.json +0 -0
  178. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/knowledge-source.schema.json +0 -0
  179. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/mission-candidate-1.0.schema.json +0 -0
  180. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/mission-candidate-1.1.schema.json +0 -0
  181. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/phase-completion-1.0.schema.json +0 -0
  182. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/planning-document-0.5.schema.json +0 -0
  183. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/repository-catalog.schema.json +0 -0
  184. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/repository.schema.json +0 -0
  185. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/solution-template-1.0.schema.json +0 -0
  186. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/schemas/workspace.schema.json +0 -0
  187. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/secure_store.py +0 -0
  188. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/solutions/__init__.py +0 -0
  189. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/solutions/catalogue.py +0 -0
  190. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/solutions/generator.py +0 -0
  191. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/state/__init__.py +0 -0
  192. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/state/mission_state.py +0 -0
  193. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge/workspace/__init__.py +0 -0
  194. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge_autonomy.egg-info/dependency_links.txt +0 -0
  195. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge_autonomy.egg-info/entry_points.txt +0 -0
  196. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/forge_autonomy.egg-info/top_level.txt +0 -0
  197. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/pyproject.toml +0 -0
  198. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/capability-registry-1.0.schema.json +0 -0
  199. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/capability.schema.json +0 -0
  200. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/common.schema.json +0 -0
  201. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/decision-evidence-1.0.schema.json +0 -0
  202. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/engineering-goal-0.5.schema.json +0 -0
  203. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/engineering-increment-proposal-0.5.schema.json +0 -0
  204. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/engineering-mode.schema.json +0 -0
  205. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/engineering-plan-0.5.schema.json +0 -0
  206. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/engineering-prompt-artifact-0.7.schema.json +0 -0
  207. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/engineering-proposal-0.6.schema.json +0 -0
  208. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/evidence-reference-0.5.schema.json +0 -0
  209. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/foundation-document.schema.json +0 -0
  210. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/governance-profile.schema.json +0 -0
  211. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/knowledge-source-0.4.schema.json +0 -0
  212. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/knowledge-source.schema.json +0 -0
  213. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/mission-candidate-1.0.schema.json +0 -0
  214. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/mission-candidate-1.1.schema.json +0 -0
  215. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/phase-completion-1.0.schema.json +0 -0
  216. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/planning-document-0.5.schema.json +0 -0
  217. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/repository-catalog.schema.json +0 -0
  218. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/repository.schema.json +0 -0
  219. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/solution-template-1.0.schema.json +0 -0
  220. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/schemas/workspace.schema.json +0 -0
  221. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/setup.cfg +0 -0
  222. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_action_derivation.py +0 -0
  223. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_action_derivation_canary_closure.py +0 -0
  224. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_action_derivation_evidence.py +0 -0
  225. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_action_derivation_qualification.py +0 -0
  226. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_adaptive_action_sizing_design.py +0 -0
  227. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_agent_policy.py +0 -0
  228. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_aggregate_health_roadmap.py +0 -0
  229. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_ai_architect_provider.py +0 -0
  230. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_ai_architect_session.py +0 -0
  231. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_ai_development_projection.py +0 -0
  232. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_ai_provider_registry.py +0 -0
  233. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_architecture_reasoning.py +0 -0
  234. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_architecture_review_engine.py +0 -0
  235. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_architecture_workspace.py +0 -0
  236. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_autonomous_orchestrator.py +0 -0
  237. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_bootstrap_adapter.py +0 -0
  238. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_bootstrap_mission_canary.py +0 -0
  239. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_bootstrap_mission_runner.py +0 -0
  240. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_bootstrap_mission_scheduler.py +0 -0
  241. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_bootstrap_sequence_qualification.py +0 -0
  242. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_business_governance_ingress.py +0 -0
  243. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_business_workspace.py +0 -0
  244. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_canonical_data_root.py +0 -0
  245. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_capability_delegation.py +0 -0
  246. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_codex_cli_runtime_prompt.py +0 -0
  247. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_codex_cli_session.py +0 -0
  248. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_constitutional_validation.py +0 -0
  249. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_criterion_assessment_contract.py +0 -0
  250. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_criterion_ep_http_boundary.py +0 -0
  251. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_criterion_planning_context.py +0 -0
  252. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_decision_evidence.py +0 -0
  253. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_default_project_quality_policy.py +0 -0
  254. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_distribution_identity.py +0 -0
  255. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_durable_action_derivation.py +0 -0
  256. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_dynamic_mission_capability.py +0 -0
  257. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_engineering_action_architecture.py +0 -0
  258. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_engineering_intent_authoring.py +0 -0
  259. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_engineering_intent_lifecycle.py +0 -0
  260. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_engineering_mission.py +0 -0
  261. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_engineering_planning.py +0 -0
  262. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_engineering_prompt_artifacts.py +0 -0
  263. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_engineering_proposals.py +0 -0
  264. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_ep_http_adapter.py +0 -0
  265. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_execution_context.py +0 -0
  266. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_execution_host_configuration.py +0 -0
  267. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_execution_host_contract.py +0 -0
  268. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_execution_loop.py +0 -0
  269. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_existing_release_reconciliation.py +0 -0
  270. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_forge_console_admin_parity_contract.py +0 -0
  271. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_forge_console_configuration_contract.py +0 -0
  272. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_forge_console_hosting_contract.py +0 -0
  273. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_forge_operations_console_roadmap.py +0 -0
  274. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_forge_outer_loop_ci_roadmap.py +0 -0
  275. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_forge_v1_bootstrap_scheduler_contract.py +0 -0
  276. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_forge_v1_implementation_dag.py +0 -0
  277. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_foundation_loader.py +0 -0
  278. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_foundation_models.py +0 -0
  279. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_generation_one_bootstrap_qualification.py +0 -0
  280. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_generation_two_execution.py +0 -0
  281. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_generation_two_mission_intake.py +0 -0
  282. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_governance_authority.py +0 -0
  283. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_governed_coverage.py +0 -0
  284. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_historical_engineering_intent.py +0 -0
  285. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_host_control_completion.py +0 -0
  286. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_inner_loop_ci_contract.py +0 -0
  287. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_installed_dynamic_mission_runtime.py +0 -0
  288. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_integration_coordination.py +0 -0
  289. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_knowledge_consumption.py +0 -0
  290. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_live_project_roadmap_contract.py +0 -0
  291. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_mission_completion_evaluator.py +0 -0
  292. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_mission_controller.py +0 -0
  293. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_mission_dispatcher.py +0 -0
  294. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_mission_planner.py +0 -0
  295. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_mission_recommendation_engine.py +0 -0
  296. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_mission_recommendation_lifecycle.py +0 -0
  297. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_mission_runtime_projection.py +0 -0
  298. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_mission_runtime_scheduler.py +0 -0
  299. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_mission_state_store.py +0 -0
  300. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_mission_status.py +0 -0
  301. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_openai_action_derivation.py +0 -0
  302. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_operational_reset.py +0 -0
  303. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_operations_health.py +0 -0
  304. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_operations_read_api.py +0 -0
  305. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_operator_identity.py +0 -0
  306. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_phase_completion.py +0 -0
  307. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_platform_contract_documents.py +0 -0
  308. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_portfolio_intelligence_operation.py +0 -0
  309. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_producer_contract.py +0 -0
  310. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_product_version_operations.py +0 -0
  311. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_production_release_workflow.py +0 -0
  312. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_productization_reconciliation.py +0 -0
  313. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_programme_authorization.py +0 -0
  314. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_provider_security.py +0 -0
  315. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_pypi_distribution_readback.py +0 -0
  316. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_recovered_partial_completion.py +0 -0
  317. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_release_operation.py +0 -0
  318. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_repository_truth.py +0 -0
  319. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_role_aware_conversations_contract.py +0 -0
  320. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_runtime_bootstrap.py +0 -0
  321. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_runtime_database.py +0 -0
  322. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_runtime_evidence.py +0 -0
  323. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_runtime_health.py +0 -0
  324. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_runtime_instance_persistence.py +0 -0
  325. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_runtime_prompt_generation.py +0 -0
  326. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_runtime_service.py +0 -0
  327. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_runtime_status_projection.py +0 -0
  328. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_scheduler_dependency_boundary.py +0 -0
  329. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_schemas.py +0 -0
  330. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_secure_store.py +0 -0
  331. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_solution_templates.py +0 -0
  332. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_substantive_mission_completion.py +0 -0
  333. {forge_autonomy-2.7.32 → forge_autonomy-2.7.34}/tests/test_terminal_continuation_replay.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: forge-autonomy
3
- Version: 2.7.32
3
+ Version: 2.7.34
4
4
  Summary: Forge mission planning, producer contracts, and evidence interpretation runtime.
5
5
  Author: Forge maintainers
6
6
  License-Expression: Apache-2.0
@@ -93,6 +93,28 @@ def main(argv: list[str] | None = None) -> int:
93
93
  server_commands = server.add_subparsers(dest="server_command", required=True)
94
94
  server_commands.add_parser("init", help="create and validate the configured Forge data root")
95
95
  server_commands.add_parser("status", help="print read-only runtime status as JSON")
96
+ server_run = server_commands.add_parser("run", help="run the persistent foreground Forge Server")
97
+ server_run.add_argument("--credential-file", required=True)
98
+ server_run.add_argument("--host", default="127.0.0.1")
99
+ server_run.add_argument("--port", required=True, type=int)
100
+ server_run.add_argument("--provider-id", default="codex-chatgpt-session")
101
+ server_run.add_argument("--tick-interval", type=float, default=0.25)
102
+ provider_context = server_commands.add_parser(
103
+ "provider-context", help="manage the instance-owned provider execution context"
104
+ )
105
+ provider_context_commands = provider_context.add_subparsers(dest="provider_context_command", required=True)
106
+ provider_context_show = provider_context_commands.add_parser("show", help="read one secret-free provider context")
107
+ provider_context_show.add_argument("--provider-id", default="codex-chatgpt-session")
108
+ provider_context_configure = provider_context_commands.add_parser(
109
+ "configure", help="write one guarded, secret-free provider context"
110
+ )
111
+ provider_context_configure.add_argument("--provider-id", default="codex-chatgpt-session")
112
+ provider_context_configure.add_argument("--provider-type", required=True)
113
+ provider_context_configure.add_argument("--executable-path", required=True)
114
+ provider_context_configure.add_argument("--provider-home", required=True)
115
+ provider_context_configure.add_argument("--provider-config-home", required=True)
116
+ provider_context_configure.add_argument("--profile")
117
+ provider_context_configure.add_argument("--expected-digest")
96
118
  reset = server_commands.add_parser("reset", help="operate the Forge-owned operational-history reset")
97
119
  reset_commands = reset.add_subparsers(dest="reset_command", required=True)
98
120
  reset_commands.add_parser("preview", help="inspect a read-only reset plan")
@@ -190,6 +212,41 @@ def main(argv: list[str] | None = None) -> int:
190
212
  operations_api.add_argument("--host", default="127.0.0.1")
191
213
  operations_api.add_argument("--port", type=int, default=8765)
192
214
  args = parser.parse_args(argv)
215
+ if args.command == "server" and args.server_command == "run":
216
+ if args.data_root is None:
217
+ return _failure("server run", ValueError("--data-root is required for Forge Server"))
218
+ try:
219
+ from .server_runtime import ForgeServerRuntime
220
+ ForgeServerRuntime(
221
+ data_root=args.data_root, credential_file=args.credential_file,
222
+ host=args.host, port=args.port, provider_id=args.provider_id,
223
+ tick_interval=args.tick_interval,
224
+ ).serve_forever()
225
+ return 0
226
+ except (OSError, ValueError, RuntimeError, PermissionError) as error:
227
+ return _failure("server run", error)
228
+ if args.command == "server" and args.server_command == "provider-context":
229
+ if args.data_root is None:
230
+ return _failure("server provider-context", ValueError("--data-root is required for provider-context"))
231
+ try:
232
+ from .provider_context import ProviderExecutionContextService
233
+ from .runtime.service import RuntimeServiceLock
234
+ service = ProviderExecutionContextService(args.data_root)
235
+ if args.provider_context_command == "show":
236
+ result = service.read(args.provider_id).to_safe_dict()
237
+ else:
238
+ root = DataRootResolver(cli_data_root=args.data_root).resolve()
239
+ with RuntimeServiceLock(root / "forge.db").acquire():
240
+ result = service.configure(
241
+ provider_id=args.provider_id, provider_type=args.provider_type,
242
+ executable_path=args.executable_path, provider_home=args.provider_home,
243
+ provider_config_home=args.provider_config_home, profile=args.profile,
244
+ expected_digest=args.expected_digest,
245
+ ).to_safe_dict()
246
+ print(json.dumps(result, sort_keys=True))
247
+ return 0
248
+ except (OSError, ValueError, RuntimeError, PermissionError) as error:
249
+ return _failure("server provider-context", error)
193
250
  if args.command == "health":
194
251
  if args.data_root is None:
195
252
  return _failure("health snapshot", ValueError("--data-root is required for health snapshot"))
@@ -0,0 +1,406 @@
1
+ {
2
+ "openapi": "3.1.0",
3
+ "info": {
4
+ "title": "Forge Server Runtime API",
5
+ "version": "1.0.0",
6
+ "description": "Authenticated loopback API for one explicit Forge Server instance. Forge business semantics remain owned by application services."
7
+ },
8
+ "servers": [
9
+ {
10
+ "url": "http://127.0.0.1:{port}",
11
+ "variables": {
12
+ "port": {
13
+ "default": "8765"
14
+ }
15
+ }
16
+ }
17
+ ],
18
+ "security": [
19
+ {
20
+ "bearerAuth": []
21
+ }
22
+ ],
23
+ "paths": {
24
+ "/v1/status": {
25
+ "get": {
26
+ "summary": "Read installed runtime status",
27
+ "responses": {
28
+ "200": {
29
+ "description": "Accepted JSON response"
30
+ },
31
+ "401": {
32
+ "description": "Authentication required"
33
+ },
34
+ "409": {
35
+ "description": "Fail-closed application or runtime conflict"
36
+ }
37
+ }
38
+ }
39
+ },
40
+ "/v1/health": {
41
+ "get": {
42
+ "summary": "Read aggregate health",
43
+ "responses": {
44
+ "200": {
45
+ "description": "Accepted JSON response"
46
+ },
47
+ "401": {
48
+ "description": "Authentication required"
49
+ },
50
+ "409": {
51
+ "description": "Fail-closed application or runtime conflict"
52
+ }
53
+ }
54
+ }
55
+ },
56
+ "/v1/readiness": {
57
+ "get": {
58
+ "summary": "Read Server/provider/peer/scheduler readiness",
59
+ "responses": {
60
+ "200": {
61
+ "description": "Accepted JSON response"
62
+ },
63
+ "401": {
64
+ "description": "Authentication required"
65
+ },
66
+ "409": {
67
+ "description": "Fail-closed application or runtime conflict"
68
+ }
69
+ }
70
+ }
71
+ },
72
+ "/v1/instance": {
73
+ "get": {
74
+ "summary": "Read instance identity and deployment bindings",
75
+ "responses": {
76
+ "200": {
77
+ "description": "Accepted JSON response"
78
+ },
79
+ "401": {
80
+ "description": "Authentication required"
81
+ },
82
+ "409": {
83
+ "description": "Fail-closed application or runtime conflict"
84
+ }
85
+ }
86
+ }
87
+ },
88
+ "/v1/version": {
89
+ "get": {
90
+ "summary": "Read product version and storage schema",
91
+ "responses": {
92
+ "200": {
93
+ "description": "Accepted JSON response"
94
+ },
95
+ "401": {
96
+ "description": "Authentication required"
97
+ },
98
+ "409": {
99
+ "description": "Fail-closed application or runtime conflict"
100
+ }
101
+ }
102
+ }
103
+ },
104
+ "/v1/provider-context": {
105
+ "get": {
106
+ "summary": "Read secret-free instance provider context",
107
+ "responses": {
108
+ "200": {
109
+ "description": "Accepted JSON response"
110
+ },
111
+ "401": {
112
+ "description": "Authentication required"
113
+ },
114
+ "409": {
115
+ "description": "Fail-closed application or runtime conflict"
116
+ }
117
+ }
118
+ },
119
+ "post": {
120
+ "summary": "Configure secret-free instance provider context",
121
+ "responses": {
122
+ "200": {
123
+ "description": "Accepted JSON response"
124
+ },
125
+ "401": {
126
+ "description": "Authentication required"
127
+ },
128
+ "409": {
129
+ "description": "Fail-closed application or runtime conflict"
130
+ }
131
+ },
132
+ "requestBody": {
133
+ "required": true,
134
+ "content": {
135
+ "application/json": {
136
+ "schema": {
137
+ "$ref": "#/components/schemas/JsonObject"
138
+ }
139
+ }
140
+ }
141
+ }
142
+ }
143
+ },
144
+ "/v1/execution-host/preflight": {
145
+ "get": {
146
+ "summary": "Perform authenticated EP compatibility preflight",
147
+ "responses": {
148
+ "200": {
149
+ "description": "Accepted JSON response"
150
+ },
151
+ "401": {
152
+ "description": "Authentication required"
153
+ },
154
+ "409": {
155
+ "description": "Fail-closed application or runtime conflict"
156
+ }
157
+ }
158
+ }
159
+ },
160
+ "/v1/execution-host/configure": {
161
+ "post": {
162
+ "summary": "Configure the Forge-owned EP peer binding",
163
+ "responses": {
164
+ "200": {
165
+ "description": "Accepted JSON response"
166
+ },
167
+ "401": {
168
+ "description": "Authentication required"
169
+ },
170
+ "409": {
171
+ "description": "Fail-closed application or runtime conflict"
172
+ }
173
+ },
174
+ "requestBody": {
175
+ "required": true,
176
+ "content": {
177
+ "application/json": {
178
+ "schema": {
179
+ "$ref": "#/components/schemas/JsonObject"
180
+ }
181
+ }
182
+ }
183
+ }
184
+ }
185
+ },
186
+ "/v1/missions/inspect": {
187
+ "post": {
188
+ "summary": "Inspect a Mission document",
189
+ "responses": {
190
+ "200": {
191
+ "description": "Accepted JSON response"
192
+ },
193
+ "401": {
194
+ "description": "Authentication required"
195
+ },
196
+ "409": {
197
+ "description": "Fail-closed application or runtime conflict"
198
+ }
199
+ },
200
+ "requestBody": {
201
+ "required": true,
202
+ "content": {
203
+ "application/json": {
204
+ "schema": {
205
+ "$ref": "#/components/schemas/JsonObject"
206
+ }
207
+ }
208
+ }
209
+ }
210
+ }
211
+ },
212
+ "/v1/missions/approve-business": {
213
+ "post": {
214
+ "summary": "Record Business approval through existing governance services",
215
+ "responses": {
216
+ "200": {
217
+ "description": "Accepted JSON response"
218
+ },
219
+ "401": {
220
+ "description": "Authentication required"
221
+ },
222
+ "409": {
223
+ "description": "Fail-closed application or runtime conflict"
224
+ }
225
+ },
226
+ "requestBody": {
227
+ "required": true,
228
+ "content": {
229
+ "application/json": {
230
+ "schema": {
231
+ "$ref": "#/components/schemas/JsonObject"
232
+ }
233
+ }
234
+ }
235
+ }
236
+ }
237
+ },
238
+ "/v1/missions/approve-architecture": {
239
+ "post": {
240
+ "summary": "Record Architecture approval through existing governance services",
241
+ "responses": {
242
+ "200": {
243
+ "description": "Accepted JSON response"
244
+ },
245
+ "401": {
246
+ "description": "Authentication required"
247
+ },
248
+ "409": {
249
+ "description": "Fail-closed application or runtime conflict"
250
+ }
251
+ },
252
+ "requestBody": {
253
+ "required": true,
254
+ "content": {
255
+ "application/json": {
256
+ "schema": {
257
+ "$ref": "#/components/schemas/JsonObject"
258
+ }
259
+ }
260
+ }
261
+ }
262
+ }
263
+ },
264
+ "/v1/missions/admit": {
265
+ "post": {
266
+ "summary": "Admit a fully governed Mission",
267
+ "responses": {
268
+ "200": {
269
+ "description": "Accepted JSON response"
270
+ },
271
+ "401": {
272
+ "description": "Authentication required"
273
+ },
274
+ "409": {
275
+ "description": "Fail-closed application or runtime conflict"
276
+ }
277
+ },
278
+ "requestBody": {
279
+ "required": true,
280
+ "content": {
281
+ "application/json": {
282
+ "schema": {
283
+ "$ref": "#/components/schemas/JsonObject"
284
+ }
285
+ }
286
+ }
287
+ }
288
+ }
289
+ },
290
+ "/v1/missions/{mission_id}": {
291
+ "get": {
292
+ "summary": "Read Mission lifecycle and evidence lineage",
293
+ "responses": {
294
+ "200": {
295
+ "description": "Accepted JSON response"
296
+ },
297
+ "401": {
298
+ "description": "Authentication required"
299
+ },
300
+ "409": {
301
+ "description": "Fail-closed application or runtime conflict"
302
+ }
303
+ },
304
+ "parameters": [
305
+ {
306
+ "name": "mission_id",
307
+ "in": "path",
308
+ "required": true,
309
+ "schema": {
310
+ "type": "string",
311
+ "minLength": 1
312
+ }
313
+ }
314
+ ]
315
+ }
316
+ },
317
+ "/v1/missions/{mission_id}/controller/start": {
318
+ "post": {
319
+ "summary": "Start one admitted zero-Action Mission",
320
+ "responses": {
321
+ "200": {
322
+ "description": "Accepted JSON response"
323
+ },
324
+ "401": {
325
+ "description": "Authentication required"
326
+ },
327
+ "409": {
328
+ "description": "Fail-closed application or runtime conflict"
329
+ }
330
+ },
331
+ "parameters": [
332
+ {
333
+ "name": "mission_id",
334
+ "in": "path",
335
+ "required": true,
336
+ "schema": {
337
+ "type": "string",
338
+ "minLength": 1
339
+ }
340
+ }
341
+ ],
342
+ "requestBody": {
343
+ "required": true,
344
+ "content": {
345
+ "application/json": {
346
+ "schema": {
347
+ "$ref": "#/components/schemas/JsonObject"
348
+ }
349
+ }
350
+ }
351
+ }
352
+ }
353
+ },
354
+ "/v1/missions/{mission_id}/controller/reopen": {
355
+ "post": {
356
+ "summary": "Resume the same durable Mission",
357
+ "responses": {
358
+ "200": {
359
+ "description": "Accepted JSON response"
360
+ },
361
+ "401": {
362
+ "description": "Authentication required"
363
+ },
364
+ "409": {
365
+ "description": "Fail-closed application or runtime conflict"
366
+ }
367
+ },
368
+ "parameters": [
369
+ {
370
+ "name": "mission_id",
371
+ "in": "path",
372
+ "required": true,
373
+ "schema": {
374
+ "type": "string",
375
+ "minLength": 1
376
+ }
377
+ }
378
+ ],
379
+ "requestBody": {
380
+ "required": true,
381
+ "content": {
382
+ "application/json": {
383
+ "schema": {
384
+ "$ref": "#/components/schemas/JsonObject"
385
+ }
386
+ }
387
+ }
388
+ }
389
+ }
390
+ }
391
+ },
392
+ "components": {
393
+ "securitySchemes": {
394
+ "bearerAuth": {
395
+ "type": "http",
396
+ "scheme": "bearer"
397
+ }
398
+ },
399
+ "schemas": {
400
+ "JsonObject": {
401
+ "type": "object",
402
+ "additionalProperties": true
403
+ }
404
+ }
405
+ }
406
+ }