ouroboros-ai 0.44.1.dev2__tar.gz → 0.44.1.dev3__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 (1242) hide show
  1. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/PKG-INFO +1 -1
  2. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/cli-reference.md +7 -7
  3. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/runtime-capability-matrix.md +7 -2
  4. ouroboros_ai-0.44.1.dev3/docs/runtime-guides/antigravity.md +154 -0
  5. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/runtime-guides/skill-capability-guides.md +1 -0
  6. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/_version.py +2 -2
  7. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/backends/capabilities.py +18 -0
  8. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/backends/model_catalog.py +2 -1
  9. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/auto.py +1 -0
  10. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/config.py +7 -0
  11. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/init.py +1 -0
  12. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/mcp.py +1 -0
  13. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/run.py +1 -0
  14. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/setup.py +65 -0
  15. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/config/__init__.py +2 -0
  16. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/config/loader.py +93 -2
  17. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/config/models.py +20 -1
  18. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/config_tui/app.py +12 -2
  19. ouroboros_ai-0.44.1.dev3/src/ouroboros/orchestrator/antigravity_cli_runtime.py +218 -0
  20. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/backend_limits.py +1 -0
  21. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/runtime_factory.py +9 -0
  22. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_surface.py +1 -0
  23. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_setup.py +61 -0
  24. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/config/test_loader.py +79 -0
  25. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/config/test_models.py +16 -0
  26. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/config_tui/test_app.py +28 -0
  27. ouroboros_ai-0.44.1.dev3/tests/unit/orchestrator/test_antigravity_cli_runtime.py +300 -0
  28. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude/settings.json +0 -0
  29. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/.mcp.json +0 -0
  30. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/SKILL_CAPABILITY_GUIDE.md +0 -0
  31. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/marketplace.json +0 -0
  32. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/plugin.json +0 -0
  33. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/auto/SKILL.md +0 -0
  34. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/brownfield/SKILL.md +0 -0
  35. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/cancel/SKILL.md +0 -0
  36. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/evaluate/SKILL.md +0 -0
  37. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/evolve/SKILL.md +0 -0
  38. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/help/SKILL.md +0 -0
  39. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/interview/SKILL.md +0 -0
  40. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/pm/SKILL.md +0 -0
  41. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/publish/SKILL.md +0 -0
  42. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/qa/SKILL.md +0 -0
  43. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/ralph/SKILL.md +0 -0
  44. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/resume-session/SKILL.md +0 -0
  45. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/run/SKILL.md +0 -0
  46. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/seed/SKILL.md +0 -0
  47. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/setup/SKILL.md +0 -0
  48. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/status/SKILL.md +0 -0
  49. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/tutorial/SKILL.md +0 -0
  50. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/unstuck/SKILL.md +0 -0
  51. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/update/SKILL.md +0 -0
  52. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.claude-plugin/skills/welcome/SKILL.md +0 -0
  53. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.codex/config.toml +0 -0
  54. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.codex/hooks.json +0 -0
  55. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.env.example +0 -0
  56. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  57. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  58. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  59. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.github/ISSUE_TEMPLATE/question.yml +0 -0
  60. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  61. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.github/dependabot.yml +0 -0
  62. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.github/workflows/auto-boundary.yml +0 -0
  63. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.github/workflows/auto-perf-budget.yml +0 -0
  64. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.github/workflows/dev-publish.yml +0 -0
  65. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.github/workflows/lint.yml +0 -0
  66. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.github/workflows/max-turns-envelope.yml +0 -0
  67. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.github/workflows/release.yml +0 -0
  68. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.github/workflows/test.yml +0 -0
  69. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.gitignore +0 -0
  70. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.mcp.json +0 -0
  71. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.ouroboros/mechanical.toml +0 -0
  72. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.ouroboros/seeds/seed_73827177a2a3.yaml +0 -0
  73. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.ouroboros/seeds/seed_78c8e6e41813.yaml +0 -0
  74. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.pre-commit-config.yaml +0 -0
  75. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/.python-version +0 -0
  76. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/AGENTS.md +0 -0
  77. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/CHANGELOG.md +0 -0
  78. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/CLAUDE.md +0 -0
  79. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/CODE_OF_CONDUCT.md +0 -0
  80. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/CONTRIBUTING.md +0 -0
  81. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/Code-Review-Claude.md +0 -0
  82. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/Code-Review-Codex.md +0 -0
  83. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/HANDOFF.md +0 -0
  84. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/LICENSE +0 -0
  85. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/README.ko.md +0 -0
  86. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/README.md +0 -0
  87. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/README.zh-CN.md +0 -0
  88. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/SECURITY.md +0 -0
  89. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/UNINSTALL.md +0 -0
  90. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/commands/cancel.md +0 -0
  91. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/commands/evaluate.md +0 -0
  92. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/commands/evolve.md +0 -0
  93. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/commands/help.md +0 -0
  94. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/commands/interview.md +0 -0
  95. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/commands/ralph.md +0 -0
  96. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/commands/run.md +0 -0
  97. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/commands/seed.md +0 -0
  98. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/commands/setup.md +0 -0
  99. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/commands/status.md +0 -0
  100. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/commands/tutorial.md +0 -0
  101. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/commands/unstuck.md +0 -0
  102. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/commands/welcome.md +0 -0
  103. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/crates/ouroboros-tui/.gitignore +0 -0
  104. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/crates/ouroboros-tui/Cargo.lock +0 -0
  105. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/crates/ouroboros-tui/Cargo.toml +0 -0
  106. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/crates/ouroboros-tui/README.md +0 -0
  107. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/crates/ouroboros-tui/src/db.rs +0 -0
  108. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/crates/ouroboros-tui/src/main.rs +0 -0
  109. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/crates/ouroboros-tui/src/mock.rs +0 -0
  110. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/crates/ouroboros-tui/src/state.rs +0 -0
  111. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/crates/ouroboros-tui/src/views/dashboard.rs +0 -0
  112. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/crates/ouroboros-tui/src/views/execution.rs +0 -0
  113. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/crates/ouroboros-tui/src/views/lineage.rs +0 -0
  114. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/crates/ouroboros-tui/src/views/logs.rs +0 -0
  115. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/crates/ouroboros-tui/src/views/mod.rs +0 -0
  116. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/crates/ouroboros-tui/src/views/session_selector.rs +0 -0
  117. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/README.md +0 -0
  118. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/agentos/control-journal.md +0 -0
  119. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/agentos/fat-harness-baseline-metrics.md +0 -0
  120. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/agentos/issue-sequencing-graph.md +0 -0
  121. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/agentos/profile-taxonomy.md +0 -0
  122. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/agentos/projection-followups.md +0 -0
  123. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/agentos/projection-v1-scope.md +0 -0
  124. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/agentos/release-readiness.md +0 -0
  125. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/agentos/runtime-contract.md +0 -0
  126. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/agentos/traceguard-observation-protocol.md +0 -0
  127. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/agentos/traceguard-vs-legacy-benchmark.md +0 -0
  128. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/agentos/workflow-ir-projection-mapping.md +0 -0
  129. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/agentos/workflow-ir-v1.md +0 -0
  130. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/api/README.md +0 -0
  131. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/api/core.md +0 -0
  132. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/api/mcp.md +0 -0
  133. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/architecture.md +0 -0
  134. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/auto-interview-convergence-contract.md +0 -0
  135. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/auto-runtime-semantics.md +0 -0
  136. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/config-reference.md +0 -0
  137. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/contributing/agent-os-kernel-terminology.md +0 -0
  138. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/contributing/architecture-overview.md +0 -0
  139. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/contributing/control-contract.md +0 -0
  140. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/contributing/control-plane-followups.md +0 -0
  141. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/contributing/findings-registry.md +0 -0
  142. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/contributing/issue-quality-policy.md +0 -0
  143. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/contributing/key-patterns.md +0 -0
  144. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/contributing/testing-guide.md +0 -0
  145. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/contributing/verifier-evidence-policy.md +0 -0
  146. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/contributing/watchdog-cancellation.md +0 -0
  147. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/events.md +0 -0
  148. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/examples/mcp-config.yaml +0 -0
  149. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/examples/workflows/design-code-verify.md +0 -0
  150. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/examples/workflows/high-context-inverted-interview.md +0 -0
  151. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/examples/workflows/research-to-deliverable.md +0 -0
  152. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/getting-started.md +0 -0
  153. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/guides/agent-process-lifecycle.md +0 -0
  154. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/guides/evaluation-pipeline.md +0 -0
  155. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/guides/evolution-loop.md +0 -0
  156. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/guides/execution-vs-evaluation.md +0 -0
  157. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/guides/issue-176-subagent-mcp-inheritance.md +0 -0
  158. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/guides/mcp-best-practices.md +0 -0
  159. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/guides/mcp-bridge.md +0 -0
  160. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/guides/ooo-skill-dispatch-router.md +0 -0
  161. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/guides/opencode-subagent-bridge.md +0 -0
  162. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/guides/qa-backends.md +0 -0
  163. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/guides/safe-but-wrong-output.md +0 -0
  164. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/guides/seed-authoring.md +0 -0
  165. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/guides/tui-usage.md +0 -0
  166. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/guides/windows-wsl-troubleshooting.md +0 -0
  167. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/images/PLACEHOLDER_README.md +0 -0
  168. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/images/ouroboros.png +0 -0
  169. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/interview-advisory-fanout-comparison.html +0 -0
  170. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/ooo-auto-analysis.md +0 -0
  171. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/ooo-auto-evolution-plan.md +0 -0
  172. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/platform-support.md +0 -0
  173. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/config-coherence.md +0 -0
  174. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/context-first-inverted-interview.md +0 -0
  175. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/contract-ledger.md +0 -0
  176. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/decomposition-reliability.md +0 -0
  177. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/disposable-memory.md +0 -0
  178. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/frugality-control-loop.md +0 -0
  179. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/frugality-proof-producers.md +0 -0
  180. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/interview-hardening.md +0 -0
  181. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/interview-milestone-lateral-contract.md +0 -0
  182. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/inverted-interview-intent-preservation.md +0 -0
  183. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/mesh.md +0 -0
  184. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/plugin-artifact-state-hook-contract.md +0 -0
  185. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/plugin-tool-call-hook-contract.md +0 -0
  186. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/runtime-delegation-contract.md +0 -0
  187. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/runtime-timeout-contract.md +0 -0
  188. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/spend-actuator-effort-dial.md +0 -0
  189. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/spend-estimator.md +0 -0
  190. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/transparency-breadcrumb-tui.md +0 -0
  191. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/userlevel-plugins.md +0 -0
  192. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/rfc/verdict-envelope-v1.md +0 -0
  193. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/runtime-guides/claude-code.md +0 -0
  194. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/runtime-guides/codex.md +0 -0
  195. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/runtime-guides/copilot.md +0 -0
  196. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/runtime-guides/gemini.md +0 -0
  197. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/runtime-guides/gjc.md +0 -0
  198. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/runtime-guides/goose.md +0 -0
  199. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/runtime-guides/hermes.md +0 -0
  200. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/runtime-guides/kiro.md +0 -0
  201. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/runtime-guides/opencode.md +0 -0
  202. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/docs/runtime-guides/pi.md +0 -0
  203. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/examples/coordinator_test_seed.yaml +0 -0
  204. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/examples/dummy_seed.yaml +0 -0
  205. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/examples/parallel_subac_test_seed.yaml +0 -0
  206. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/examples/subac_test_seed.yaml +0 -0
  207. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/examples/task_manager/README.md +0 -0
  208. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/examples/task_manager/__init__.py +0 -0
  209. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/examples/task_manager/__main__.py +0 -0
  210. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/examples/task_manager/cli.py +0 -0
  211. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/examples/task_manager/models.py +0 -0
  212. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/examples/task_manager/storage.py +0 -0
  213. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/examples/test_display.py +0 -0
  214. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/hooks/hooks.json +0 -0
  215. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/llms-full.txt +0 -0
  216. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/llms.txt +0 -0
  217. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/project-context.md +0 -0
  218. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/pyproject.toml +0 -0
  219. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/scripts/check-auto-boundary.py +0 -0
  220. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/scripts/check-auto-perf-budget.py +0 -0
  221. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/scripts/check-max-turns-envelope.py +0 -0
  222. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/scripts/deleak_toolsearch.py +0 -0
  223. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/scripts/drift-monitor.py +0 -0
  224. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/scripts/install.sh +0 -0
  225. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/scripts/keyword-detector.py +0 -0
  226. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/scripts/mcp-serve.sh +0 -0
  227. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/scripts/ralph-rewind.py +0 -0
  228. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/scripts/ralph.py +0 -0
  229. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/scripts/ralph.sh +0 -0
  230. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/scripts/session-start.py +0 -0
  231. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/scripts/sync-plugin-version.py +0 -0
  232. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/scripts/version-check.py +0 -0
  233. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/auto/SKILL.md +0 -0
  234. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/brownfield/SKILL.md +0 -0
  235. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/cancel/SKILL.md +0 -0
  236. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/config/SKILL.md +0 -0
  237. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/evaluate/SKILL.md +0 -0
  238. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/evolve/SKILL.md +0 -0
  239. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/help/SKILL.md +0 -0
  240. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/interview/SKILL.md +0 -0
  241. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/pm/SKILL.md +0 -0
  242. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/publish/SKILL.md +0 -0
  243. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/qa/SKILL.md +0 -0
  244. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/ralph/SKILL.md +0 -0
  245. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/resume-session/SKILL.md +0 -0
  246. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/run/SKILL.md +0 -0
  247. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/seed/SKILL.md +0 -0
  248. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/setup/SKILL.md +0 -0
  249. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/status/SKILL.md +0 -0
  250. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/tutorial/SKILL.md +0 -0
  251. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/unstuck/SKILL.md +0 -0
  252. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/update/SKILL.md +0 -0
  253. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/skills/welcome/SKILL.md +0 -0
  254. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/__init__.py +0 -0
  255. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/__main__.py +0 -0
  256. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/__init__.py +0 -0
  257. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/advocate.md +0 -0
  258. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/analysis-agent.md +0 -0
  259. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/architect.md +0 -0
  260. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/breadth-keeper.md +0 -0
  261. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/code-executor.md +0 -0
  262. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/codebase-explorer.md +0 -0
  263. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/consensus-reviewer.md +0 -0
  264. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/contrarian.md +0 -0
  265. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/evaluator.md +0 -0
  266. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/hacker.md +0 -0
  267. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/judge.md +0 -0
  268. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/loader.py +0 -0
  269. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/ontologist.md +0 -0
  270. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/ontology-analyst.md +0 -0
  271. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/qa-judge.md +0 -0
  272. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/research-agent.md +0 -0
  273. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/researcher.md +0 -0
  274. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/seed-architect.md +0 -0
  275. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/seed-closer.md +0 -0
  276. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/semantic-evaluator.md +0 -0
  277. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/simplifier.md +0 -0
  278. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/agents/socratic-interviewer.md +0 -0
  279. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/__init__.py +0 -0
  280. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/adapters.py +0 -0
  281. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/answerer.py +0 -0
  282. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/auto_fill.py +0 -0
  283. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/blocker_attribution.py +0 -0
  284. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/checkpoint_commits.py +0 -0
  285. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/domain_inference.py +0 -0
  286. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/domain_profile.py +0 -0
  287. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/execution_acceptance.py +0 -0
  288. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/gap_detector.py +0 -0
  289. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/grading.py +0 -0
  290. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/handoff_contract.py +0 -0
  291. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/intent_guard.py +0 -0
  292. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/interview_driver.py +0 -0
  293. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/lateral_routing.py +0 -0
  294. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/ledger.py +0 -0
  295. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/ledger_seed.py +0 -0
  296. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/listeners.py +0 -0
  297. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/pipeline.py +0 -0
  298. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/policies.py +0 -0
  299. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/profiles/__init__.py +0 -0
  300. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/profiles/coding.py +0 -0
  301. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/profiles/research.py +0 -0
  302. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/progress.py +0 -0
  303. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/provenance.py +0 -0
  304. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/recovery_plan.py +0 -0
  305. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/repo_context.py +0 -0
  306. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/resume_render.py +0 -0
  307. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/runtime_routing.py +0 -0
  308. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/safe_defaults.py +0 -0
  309. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/seed_repairer.py +0 -0
  310. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/seed_reviewer.py +0 -0
  311. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/state.py +0 -0
  312. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/task_class_application.py +0 -0
  313. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/task_classes.py +0 -0
  314. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/auto/worktree.py +0 -0
  315. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/backends/__init__.py +0 -0
  316. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/bigbang/__init__.py +0 -0
  317. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/bigbang/ambiguity.py +0 -0
  318. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/bigbang/brownfield.py +0 -0
  319. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/bigbang/explore.py +0 -0
  320. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/bigbang/interview.py +0 -0
  321. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/bigbang/pm_completion.py +0 -0
  322. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/bigbang/pm_document.py +0 -0
  323. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/bigbang/pm_interview.py +0 -0
  324. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/bigbang/pm_seed.py +0 -0
  325. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/bigbang/question_classifier.py +0 -0
  326. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/bigbang/seed_generator.py +0 -0
  327. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/claude_permissions.py +0 -0
  328. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/__init__.py +0 -0
  329. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/__init__.py +0 -0
  330. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/cancel.py +0 -0
  331. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/codex.py +0 -0
  332. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/detect.py +0 -0
  333. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/dispatch.py +0 -0
  334. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/job.py +0 -0
  335. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/mcp_doctor.py +0 -0
  336. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/plugin.py +0 -0
  337. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/plugin_dispatch.py +0 -0
  338. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/pm.py +0 -0
  339. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/qa.py +0 -0
  340. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/resume.py +0 -0
  341. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/status.py +0 -0
  342. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/tui.py +0 -0
  343. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/uninstall.py +0 -0
  344. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/commands/workflow_ir.py +0 -0
  345. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/formatters/__init__.py +0 -0
  346. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/formatters/panels.py +0 -0
  347. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/formatters/progress.py +0 -0
  348. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/formatters/prompting.py +0 -0
  349. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/formatters/tables.py +0 -0
  350. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/formatters/workflow_display.py +0 -0
  351. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/jsonc.py +0 -0
  352. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/main.py +0 -0
  353. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/cli/opencode_config.py +0 -0
  354. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/codex/__init__.py +0 -0
  355. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/codex/artifacts.py +0 -0
  356. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/codex/cli_policy.py +0 -0
  357. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/codex/ouroboros.md +0 -0
  358. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/codex/runtime_profile.py +0 -0
  359. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/codex_permissions.py +0 -0
  360. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/config/_model_defaults.py +0 -0
  361. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/config_tui/__init__.py +0 -0
  362. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/config_tui/__main__.py +0 -0
  363. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/config_tui/fields.py +0 -0
  364. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/config_tui/launcher.py +0 -0
  365. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/config_tui/persistence.py +0 -0
  366. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/copilot/__init__.py +0 -0
  367. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/copilot/cli_policy.py +0 -0
  368. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/copilot/model_discovery.py +0 -0
  369. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/copilot/runtime_profile.py +0 -0
  370. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/copilot_permissions.py +0 -0
  371. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/__init__.py +0 -0
  372. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/ac_tree.py +0 -0
  373. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/context.py +0 -0
  374. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/control_contract.py +0 -0
  375. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/directive.py +0 -0
  376. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/errors.py +0 -0
  377. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/file_lock.py +0 -0
  378. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/git_workflow.py +0 -0
  379. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/hitl_contract.py +0 -0
  380. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/hitl_resume.py +0 -0
  381. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/hitl_state.py +0 -0
  382. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/initial_context.py +0 -0
  383. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/json_utils.py +0 -0
  384. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/lineage.py +0 -0
  385. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/ontology_aspect.py +0 -0
  386. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/ontology_questions.py +0 -0
  387. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/project_paths.py +0 -0
  388. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/retry.py +0 -0
  389. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/runtime_transition.py +0 -0
  390. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/security.py +0 -0
  391. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/seed.py +0 -0
  392. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/seed_contract.py +0 -0
  393. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/seed_contract_prompt.py +0 -0
  394. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/text.py +0 -0
  395. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/ttl_cache.py +0 -0
  396. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/types.py +0 -0
  397. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/core/worktree.py +0 -0
  398. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evaluation/__init__.py +0 -0
  399. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evaluation/artifact_collector.py +0 -0
  400. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evaluation/checklist.py +0 -0
  401. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evaluation/consensus.py +0 -0
  402. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evaluation/detector.py +0 -0
  403. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evaluation/json_utils.py +0 -0
  404. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evaluation/languages.py +0 -0
  405. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evaluation/mechanical.py +0 -0
  406. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evaluation/models.py +0 -0
  407. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evaluation/pipeline.py +0 -0
  408. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evaluation/semantic.py +0 -0
  409. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evaluation/trigger.py +0 -0
  410. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evaluation/verification_artifacts.py +0 -0
  411. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/events/__init__.py +0 -0
  412. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/events/base.py +0 -0
  413. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/events/control.py +0 -0
  414. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/events/evaluation.py +0 -0
  415. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/events/hitl.py +0 -0
  416. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/events/interview.py +0 -0
  417. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/events/io.py +0 -0
  418. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/events/io_recorder.py +0 -0
  419. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/events/lineage.py +0 -0
  420. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/events/ontology.py +0 -0
  421. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evolution/__init__.py +0 -0
  422. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evolution/convergence.py +0 -0
  423. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evolution/directive_mapping.py +0 -0
  424. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evolution/loop.py +0 -0
  425. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evolution/material_progress.py +0 -0
  426. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evolution/projector.py +0 -0
  427. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evolution/reflect.py +0 -0
  428. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evolution/regression.py +0 -0
  429. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evolution/watchdog.py +0 -0
  430. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/evolution/wonder.py +0 -0
  431. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/gjc_bridge/index.ts +0 -0
  432. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/harness/__init__.py +0 -0
  433. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/harness/claim_term_guard.py +0 -0
  434. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/harness/deliver_gate.py +0 -0
  435. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/harness/deliver_routing.py +0 -0
  436. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/harness/journal.py +0 -0
  437. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/harness/projection.py +0 -0
  438. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/harness/projection_builder.py +0 -0
  439. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/harness/run_snapshot.py +0 -0
  440. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/hermes/__init__.py +0 -0
  441. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/hermes/artifacts.py +0 -0
  442. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/kiro/__init__.py +0 -0
  443. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/kiro/cli_policy.py +0 -0
  444. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/__init__.py +0 -0
  445. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/bridge/__init__.py +0 -0
  446. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/bridge/bridge.py +0 -0
  447. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/bridge/config.py +0 -0
  448. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/bridge/factory.py +0 -0
  449. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/client/__init__.py +0 -0
  450. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/client/adapter.py +0 -0
  451. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/client/manager.py +0 -0
  452. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/client/protocol.py +0 -0
  453. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/errors.py +0 -0
  454. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/job_manager.py +0 -0
  455. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/resources/__init__.py +0 -0
  456. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/resources/handlers.py +0 -0
  457. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/server/__init__.py +0 -0
  458. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/server/adapter.py +0 -0
  459. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/server/protocol.py +0 -0
  460. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/server/security.py +0 -0
  461. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/__init__.py +0 -0
  462. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/ac_tree_hud_handler.py +0 -0
  463. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/ac_tree_hud_render.py +0 -0
  464. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/assignment.py +0 -0
  465. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/authoring_handlers.py +0 -0
  466. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/auto_handler.py +0 -0
  467. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/background.py +0 -0
  468. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/bridge_mixin.py +0 -0
  469. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/brownfield_handler.py +0 -0
  470. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/dashboard.py +0 -0
  471. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/definitions.py +0 -0
  472. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/evaluation_handlers.py +0 -0
  473. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/evolution_handlers.py +0 -0
  474. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/execution_handlers.py +0 -0
  475. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/job_handlers.py +0 -0
  476. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/pm_handler.py +0 -0
  477. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/projection_handlers.py +0 -0
  478. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/qa.py +0 -0
  479. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/query_handlers.py +0 -0
  480. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/ralph_handlers.py +0 -0
  481. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/registry.py +0 -0
  482. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/tools/subagent.py +0 -0
  483. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/mcp/types.py +0 -0
  484. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/observability/__init__.py +0 -0
  485. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/observability/drift.py +0 -0
  486. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/observability/logging.py +0 -0
  487. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/observability/retrospective.py +0 -0
  488. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/opencode/__init__.py +0 -0
  489. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/opencode/plugin/__init__.py +0 -0
  490. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/opencode/plugin/opencode-plugin.d.ts +0 -0
  491. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/opencode/plugin/ouroboros-bridge.test.ts +0 -0
  492. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/opencode/plugin/ouroboros-bridge.ts +0 -0
  493. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/opencode/plugin/package.json +0 -0
  494. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/opencode/plugin/tsconfig.json +0 -0
  495. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/__init__.py +0 -0
  496. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/adapter.py +0 -0
  497. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/agent_process.py +0 -0
  498. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/agent_runtime_context.py +0 -0
  499. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/baseline_metrics.py +0 -0
  500. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/baseline_metrics_capture.py +0 -0
  501. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/baseline_metrics_format.py +0 -0
  502. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/capabilities.py +0 -0
  503. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/claude_worker_runtime.py +0 -0
  504. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/codex_cli_runtime.py +0 -0
  505. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/codex_mcp_runtime.py +0 -0
  506. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/codex_mcp_session_pool.py +0 -0
  507. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/codex_session_index.py +0 -0
  508. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/command_dispatcher.py +0 -0
  509. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/context_governor.py +0 -0
  510. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/control_bus.py +0 -0
  511. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/control_plane.py +0 -0
  512. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/coordinator.py +0 -0
  513. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/copilot_cli_runtime.py +0 -0
  514. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/decomposition_params.py +0 -0
  515. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/dependency_analyzer.py +0 -0
  516. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/effort_routing.py +0 -0
  517. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/events.py +0 -0
  518. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/evidence_schema.py +0 -0
  519. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/execution_runtime_scope.py +0 -0
  520. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/execution_strategy.py +0 -0
  521. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/failure_taxonomy.py +0 -0
  522. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/frugality_proof.py +0 -0
  523. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/gemini_cli_runtime.py +0 -0
  524. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/gjc_runtime.py +0 -0
  525. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/goose_runtime.py +0 -0
  526. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/heartbeat.py +0 -0
  527. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/hermes_runtime.py +0 -0
  528. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/kiro_adapter.py +0 -0
  529. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/level_context.py +0 -0
  530. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/mcp_config.py +0 -0
  531. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/mcp_tools.py +0 -0
  532. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/opencode_event_normalizer.py +0 -0
  533. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/opencode_runtime.py +0 -0
  534. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/parallel_executor.py +0 -0
  535. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/parallel_executor_models.py +0 -0
  536. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/phase_wrappers.py +0 -0
  537. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/pi_runtime.py +0 -0
  538. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/policy.py +0 -0
  539. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/profile_loader.py +0 -0
  540. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/profile_strategy.py +0 -0
  541. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/rate_limit.py +0 -0
  542. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/runner.py +0 -0
  543. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/runtime_error.py +0 -0
  544. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/runtime_evidence.py +0 -0
  545. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/runtime_message_projection.py +0 -0
  546. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/runtime_param_negotiation.py +0 -0
  547. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/session.py +0 -0
  548. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/skill_intercept.py +0 -0
  549. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/skill_tool_mapping.py +0 -0
  550. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/stage.py +0 -0
  551. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/subagent_label.py +0 -0
  552. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/traceguard_benchmark_capture.py +0 -0
  553. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/verifier.py +0 -0
  554. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/worker_runtime.py +0 -0
  555. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/workflow_ir.py +0 -0
  556. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/workflow_ir_adapter.py +0 -0
  557. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/workflow_lifecycle.py +0 -0
  558. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator/workflow_state.py +0 -0
  559. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/orchestrator_stage.py +0 -0
  560. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/persistence/__init__.py +0 -0
  561. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/persistence/brownfield.py +0 -0
  562. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/persistence/checkpoint.py +0 -0
  563. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/persistence/event_store.py +0 -0
  564. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/persistence/migrations/__init__.py +0 -0
  565. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/persistence/migrations/runner.py +0 -0
  566. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/persistence/migrations/scripts/001_initial.sql +0 -0
  567. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/persistence/migrations/scripts/002_brownfield.sql +0 -0
  568. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/persistence/schema.py +0 -0
  569. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/persistence/uow.py +0 -0
  570. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/__init__.py +0 -0
  571. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/agents/__init__.py +0 -0
  572. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/agents/pool.py +0 -0
  573. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/agents/registry.py +0 -0
  574. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/digest.py +0 -0
  575. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/firewall.py +0 -0
  576. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/hooks.py +0 -0
  577. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/ledger_adapter.py +0 -0
  578. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/lockfile.py +0 -0
  579. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/manifest.py +0 -0
  580. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/schemas/0.1/_source.json +0 -0
  581. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/schemas/0.1/audit-event.schema.json +0 -0
  582. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/schemas/0.1/plugin.schema.json +0 -0
  583. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/schemas/0.2/_source.json +0 -0
  584. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/schemas/0.2/audit-event.schema.json +0 -0
  585. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/schemas/0.2/plugin.schema.json +0 -0
  586. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/schemas/0.3/_source.json +0 -0
  587. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/schemas/0.3/audit-event.schema.json +0 -0
  588. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/schemas/0.3/plugin.schema.json +0 -0
  589. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/schemas/0.4/_source.json +0 -0
  590. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/schemas/0.4/audit-event.schema.json +0 -0
  591. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/schemas/0.4/plugin.schema.json +0 -0
  592. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/skills/__init__.py +0 -0
  593. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/skills/docs.py +0 -0
  594. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/skills/executor.py +0 -0
  595. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/skills/keywords.py +0 -0
  596. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/skills/registry.py +0 -0
  597. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/trust_store.py +0 -0
  598. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/plugin/userlevel_registry.py +0 -0
  599. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/pm/__init__.py +0 -0
  600. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/pm/handoff.py +0 -0
  601. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/pm/renderer.py +0 -0
  602. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/profiles/analysis.yaml +0 -0
  603. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/profiles/code.yaml +0 -0
  604. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/profiles/research.yaml +0 -0
  605. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/__init__.py +0 -0
  606. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/anthropic_adapter.py +0 -0
  607. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/base.py +0 -0
  608. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/claude_code_adapter.py +0 -0
  609. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/codex_cli_adapter.py +0 -0
  610. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/codex_cli_stream.py +0 -0
  611. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/copilot_cli_adapter.py +0 -0
  612. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/factory.py +0 -0
  613. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/gemini_cli_adapter.py +0 -0
  614. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/gemini_event_normalizer.py +0 -0
  615. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/gjc_llm_adapter.py +0 -0
  616. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/gjc_rpc_protocol.py +0 -0
  617. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/goose_cli_adapter.py +0 -0
  618. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/hermes_cli_adapter.py +0 -0
  619. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/kiro_adapter.py +0 -0
  620. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/litellm_adapter.py +0 -0
  621. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/opencode_adapter.py +0 -0
  622. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/ourocode_acp_client.py +0 -0
  623. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/ourocode_llm_adapter.py +0 -0
  624. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/pi_llm_adapter.py +0 -0
  625. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/profiles.py +0 -0
  626. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/retry.py +0 -0
  627. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/providers/tool_use_diagnostics.py +0 -0
  628. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/py.typed +0 -0
  629. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/ralph_loop.py +0 -0
  630. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/resilience/__init__.py +0 -0
  631. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/resilience/lateral.py +0 -0
  632. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/resilience/recovery.py +0 -0
  633. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/resilience/stagnation.py +0 -0
  634. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/router/__init__.py +0 -0
  635. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/router/command_parser.py +0 -0
  636. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/router/dispatch.py +0 -0
  637. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/router/registry.py +0 -0
  638. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/router/types.py +0 -0
  639. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/runtime/__init__.py +0 -0
  640. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/runtime/child_env.py +0 -0
  641. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/runtime/controls.py +0 -0
  642. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/runtime/watchdog.py +0 -0
  643. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/runtime_instruction_artifacts.py +0 -0
  644. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/sandbox.py +0 -0
  645. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/skills/__init__.py +0 -0
  646. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/skills/artifacts.py +0 -0
  647. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/strategies/__init__.py +0 -0
  648. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/strategies/devil_advocate.py +0 -0
  649. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/__init__.py +0 -0
  650. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/app.py +0 -0
  651. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/components/__init__.py +0 -0
  652. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/components/agents_panel.py +0 -0
  653. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/components/event_log.py +0 -0
  654. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/components/progress.py +0 -0
  655. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/components/token_tracker.py +0 -0
  656. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/events.py +0 -0
  657. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/screens/__init__.py +0 -0
  658. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/screens/confirm_rewind.py +0 -0
  659. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/screens/dashboard.py +0 -0
  660. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/screens/dashboard_v2.py +0 -0
  661. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/screens/dashboard_v3.py +0 -0
  662. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/screens/debug.py +0 -0
  663. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/screens/execution.py +0 -0
  664. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/screens/hud_dashboard.py +0 -0
  665. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/screens/lineage_detail.py +0 -0
  666. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/screens/lineage_selector.py +0 -0
  667. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/screens/logs.py +0 -0
  668. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/screens/session_selector.py +0 -0
  669. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/widgets/__init__.py +0 -0
  670. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/widgets/ac_progress.py +0 -0
  671. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/widgets/ac_tree.py +0 -0
  672. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/widgets/agent_activity.py +0 -0
  673. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/widgets/cost_tracker.py +0 -0
  674. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/widgets/drift_meter.py +0 -0
  675. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/widgets/lineage_tree.py +0 -0
  676. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/widgets/parallel_graph.py +0 -0
  677. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/tui/widgets/phase_progress.py +0 -0
  678. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/verification/__init__.py +0 -0
  679. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/verification/extractor.py +0 -0
  680. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/verification/models.py +0 -0
  681. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/src/ouroboros/verification/verifier.py +0 -0
  682. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/__init__.py +0 -0
  683. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/_envelope_wiring.py +0 -0
  684. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/canonical/README.md +0 -0
  685. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/canonical/__init__.py +0 -0
  686. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/canonical/cli-todo/expected.yaml +0 -0
  687. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/canonical/cli-todo/goal.txt +0 -0
  688. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/canonical/conftest.py +0 -0
  689. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/canonical/test_canonical.py +0 -0
  690. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/canonical/test_conftest.py +0 -0
  691. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/conformance/__init__.py +0 -0
  692. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/conformance/workflow_ir/__init__.py +0 -0
  693. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/conformance/workflow_ir/fixtures.py +0 -0
  694. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/conformance/workflow_ir/test_negative_fixtures.py +0 -0
  695. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/conformance/workflow_ir/test_plugin_firewall_contract.py +0 -0
  696. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/conformance/workflow_ir/test_positive_fixtures.py +0 -0
  697. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/conftest.py +0 -0
  698. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/e2e/__init__.py +0 -0
  699. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/e2e/conftest.py +0 -0
  700. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/e2e/mcp_bridge_test_config.yaml +0 -0
  701. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/e2e/test_cli_commands.py +0 -0
  702. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/e2e/test_full_workflow.py +0 -0
  703. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/e2e/test_session_persistence.py +0 -0
  704. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/fixtures/fake_ourocode_acp.py +0 -0
  705. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/fixtures/plugins-fixture/README.md +0 -0
  706. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/fixtures/plugins-fixture/plugins/github-pr-ops/github_pr_ops/__init__.py +0 -0
  707. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/fixtures/plugins-fixture/plugins/github-pr-ops/github_pr_ops/__main__.py +0 -0
  708. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/fixtures/plugins-fixture/plugins/github-pr-ops/ouroboros.plugin.json +0 -0
  709. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/fixtures/projection/mechanical_evaluation_events.json +0 -0
  710. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/fixtures/router/skills/frontmatter-body/run/SKILL.md +0 -0
  711. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/fixtures/seeds/mechanical-eval-minimal.yaml +0 -0
  712. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/__init__.py +0 -0
  713. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/auto/__init__.py +0 -0
  714. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/auto/test_dispatch_to_seed_e2e.py +0 -0
  715. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/auto/test_domain_profile_plurality.py +0 -0
  716. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/auto/test_end_to_end_product.py +0 -0
  717. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/auto/test_interview_deadline_partial_product_regression.py +0 -0
  718. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/auto/test_status_unified.py +0 -0
  719. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/conftest.py +0 -0
  720. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/mcp/__init__.py +0 -0
  721. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/mcp/bridge/__init__.py +0 -0
  722. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/mcp/bridge/test_bridge_server_to_server.py +0 -0
  723. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/mcp/conftest.py +0 -0
  724. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/mcp/test_client_adapter.py +0 -0
  725. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/mcp/test_client_manager.py +0 -0
  726. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/mcp/test_server_adapter.py +0 -0
  727. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/orchestrator/__init__.py +0 -0
  728. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/orchestrator/test_agent_process_three_surface_acceptance.py +0 -0
  729. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/plugin/__init__.py +0 -0
  730. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/plugin/test_e2e.py +0 -0
  731. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/plugin/test_orchestration.py +0 -0
  732. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/plugin/test_wheel_packaging.py +0 -0
  733. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/test_cancel_subprocess_termination.py +0 -0
  734. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/test_codex_cli_passthrough_smoke.py +0 -0
  735. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/test_codex_skill_fallback.py +0 -0
  736. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/test_codex_skill_smoke.py +0 -0
  737. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/test_copilot_cli_smoke.py +0 -0
  738. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/test_entry_point.py +0 -0
  739. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/test_ir_projection_consistency.py +0 -0
  740. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/test_mechanical_eval_projection.py +0 -0
  741. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/integration/test_pi_native_smoke.py +0 -0
  742. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/test-execution-plan.md +0 -0
  743. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/__init__.py +0 -0
  744. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/agents/__init__.py +0 -0
  745. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/agents/test_loader.py +0 -0
  746. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/conftest.py +0 -0
  747. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_821_acceptance_matrix.py +0 -0
  748. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_adapters_client_gates.py +0 -0
  749. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_adapters_ralph_poller.py +0 -0
  750. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_answer_refiner_adapter.py +0 -0
  751. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_answer_source_log.py +0 -0
  752. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_answerer_via_domain_profile.py +0 -0
  753. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_auto_fill.py +0 -0
  754. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_auto_policies.py +0 -0
  755. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_auto_worktree.py +0 -0
  756. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_blocker_attribution.py +0 -0
  757. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_checkpoint_commits.py +0 -0
  758. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_cli_progress.py +0 -0
  759. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_domain_inference.py +0 -0
  760. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_domain_profile_coding_parity.py +0 -0
  761. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_domain_profile_contracts.py +0 -0
  762. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_execution_acceptance.py +0 -0
  763. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_handoff_contract.py +0 -0
  764. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_intent_guard.py +0 -0
  765. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_interview_answer_refiner.py +0 -0
  766. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_interview_driver_event_store_wiring.py +0 -0
  767. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_interview_pipeline.py +0 -0
  768. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_interview_stagnation_lateral.py +0 -0
  769. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_inverted_interview_intent_guard.py +0 -0
  770. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_lateral_routing_safe_default.py +0 -0
  771. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_ledger_committed_decisions.py +0 -0
  772. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_ledger_grading_answerer.py +0 -0
  773. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_ledger_seed.py +0 -0
  774. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_pipeline_deadline.py +0 -0
  775. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_pipeline_defaulted_sections_surface.py +0 -0
  776. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_pipeline_domain_profile.py +0 -0
  777. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_pipeline_evaluate.py +0 -0
  778. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_pipeline_interview_deadline_closure.py +0 -0
  779. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_pipeline_interview_observer_drain.py +0 -0
  780. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_pipeline_lateral.py +0 -0
  781. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_pipeline_oscillation_lateral.py +0 -0
  782. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_pipeline_partial_product_terminal.py +0 -0
  783. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_pipeline_provenance.py +0 -0
  784. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_pipeline_ralph_handoff.py +0 -0
  785. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_pipeline_runtime_probe_envelope.py +0 -0
  786. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_pipeline_task_class_envelope.py +0 -0
  787. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_pipeline_watchdog_integration.py +0 -0
  788. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_progress.py +0 -0
  789. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_recovery_plan.py +0 -0
  790. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_research_profile.py +0 -0
  791. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_run_starter_idempotency.py +0 -0
  792. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_runtime_routing.py +0 -0
  793. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_runtime_semantics.py +0 -0
  794. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_safe_default_lateral_escalation.py +0 -0
  795. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_safe_default_observability.py +0 -0
  796. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_safe_defaults_domain_profile.py +0 -0
  797. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_safe_defaults_freedom_policy.py +0 -0
  798. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_safe_defaults_prompt_non_goals.py +0 -0
  799. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_seed_repairer_bounded.py +0 -0
  800. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_state.py +0 -0
  801. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_state_provenance.py +0 -0
  802. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_stop_reason_code.py +0 -0
  803. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_task_class_application.py +0 -0
  804. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_task_classes.py +0 -0
  805. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/auto/test_user_preference_and_floor.py +0 -0
  806. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/backends/test_capabilities.py +0 -0
  807. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/backends/test_model_catalog.py +0 -0
  808. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/__init__.py +0 -0
  809. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_ambiguity.py +0 -0
  810. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_brownfield.py +0 -0
  811. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_classifier_context.py +0 -0
  812. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_decide_later_items.py +0 -0
  813. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_explore.py +0 -0
  814. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_interview.py +0 -0
  815. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_interview_async_io.py +0 -0
  816. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_interview_no_web_search_hint.py +0 -0
  817. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_interview_research_prefix.py +0 -0
  818. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_interview_start_persist_failure.py +0 -0
  819. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_pm_completion.py +0 -0
  820. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_pm_document_generator.py +0 -0
  821. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_pm_document_writer.py +0 -0
  822. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_pm_interview.py +0 -0
  823. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_pm_interview_brownfield_db.py +0 -0
  824. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_pm_seed_ac12.py +0 -0
  825. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_pm_seed_save.py +0 -0
  826. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_question_classifier.py +0 -0
  827. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/bigbang/test_seed_generator.py +0 -0
  828. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/__init__.py +0 -0
  829. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/commands/test_config_bare_dispatch.py +0 -0
  830. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/commands/test_tui_command.py +0 -0
  831. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/conftest.py +0 -0
  832. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/formatters/__init__.py +0 -0
  833. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/formatters/test_console.py +0 -0
  834. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/formatters/test_panels.py +0 -0
  835. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/formatters/test_progress.py +0 -0
  836. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/formatters/test_prompting.py +0 -0
  837. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/formatters/test_tables.py +0 -0
  838. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/formatters/test_workflow_display.py +0 -0
  839. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_auto_command.py +0 -0
  840. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_auto_domain_activation.py +0 -0
  841. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_auto_provenance.py +0 -0
  842. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_auto_runtime_dispatch.py +0 -0
  843. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_bridge_plugin_hardening.py +0 -0
  844. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_bridge_plugin_lifecycle.py +0 -0
  845. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_cancel.py +0 -0
  846. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_codex_command.py +0 -0
  847. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_config.py +0 -0
  848. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_debug_tool_started_callbacks.py +0 -0
  849. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_detached_auto_wait_command.py +0 -0
  850. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_detect_allowed_tools_wiring.py +0 -0
  851. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_dispatch_command.py +0 -0
  852. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_doc_commands.py +0 -0
  853. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_init_hitl.py +0 -0
  854. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_init_pm_seed_detection.py +0 -0
  855. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_init_runtime.py +0 -0
  856. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_job_command.py +0 -0
  857. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_jsonc.py +0 -0
  858. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_main.py +0 -0
  859. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_mcp_doctor.py +0 -0
  860. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_mcp_nested_guard.py +0 -0
  861. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_mcp_pid_registry.py +0 -0
  862. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_mcp_shell_env.py +0 -0
  863. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_mcp_shutdown_drain.py +0 -0
  864. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_mcp_startup_cleanup.py +0 -0
  865. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_mcp_validate_transport_stderr.py +0 -0
  866. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_opencode_config.py +0 -0
  867. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_plugin_command.py +0 -0
  868. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_plugin_command_mutating.py +0 -0
  869. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_plugin_dispatch.py +0 -0
  870. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_pm.py +0 -0
  871. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_pm_brownfield.py +0 -0
  872. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_pm_completion.py +0 -0
  873. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_pm_interactive_logging.py +0 -0
  874. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_pm_missing_litellm.py +0 -0
  875. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_pm_overwrite.py +0 -0
  876. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_pm_runtime_adapter.py +0 -0
  877. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_pm_select_repos.py +0 -0
  878. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_resume.py +0 -0
  879. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_run_qa.py +0 -0
  880. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_run_runtime_routing.py +0 -0
  881. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_status.py +0 -0
  882. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_status_run.py +0 -0
  883. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/cli/test_uninstall.py +0 -0
  884. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/codex/test_cli_policy.py +0 -0
  885. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/config/__init__.py +0 -0
  886. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/config/test_loader_env.py +0 -0
  887. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/config_tui/__init__.py +0 -0
  888. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/config_tui/test_fields.py +0 -0
  889. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/config_tui/test_launcher.py +0 -0
  890. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/config_tui/test_persistence.py +0 -0
  891. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/copilot/__init__.py +0 -0
  892. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/copilot/test_cli_policy.py +0 -0
  893. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/copilot/test_model_discovery.py +0 -0
  894. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/copilot/test_permissions.py +0 -0
  895. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/__init__.py +0 -0
  896. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_ac_tree.py +0 -0
  897. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_context.py +0 -0
  898. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_control_contract.py +0 -0
  899. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_directive.py +0 -0
  900. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_errors.py +0 -0
  901. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_file_lock.py +0 -0
  902. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_git_workflow.py +0 -0
  903. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_hitl_contract.py +0 -0
  904. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_hitl_resume.py +0 -0
  905. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_hitl_state.py +0 -0
  906. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_initial_context.py +0 -0
  907. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_lineage.py +0 -0
  908. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_ontology_aspect.py +0 -0
  909. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_ontology_questions.py +0 -0
  910. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_project_paths.py +0 -0
  911. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_retry.py +0 -0
  912. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_runtime_transition.py +0 -0
  913. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_security.py +0 -0
  914. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_seed.py +0 -0
  915. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_seed_project_path_callers.py +0 -0
  916. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_ttl_cache.py +0 -0
  917. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_types.py +0 -0
  918. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/core/test_worktree.py +0 -0
  919. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/__init__.py +0 -0
  920. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/test_artifact_collector_file_prefix.py +0 -0
  921. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/test_checklist.py +0 -0
  922. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/test_consensus.py +0 -0
  923. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/test_detector.py +0 -0
  924. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/test_json_utils.py +0 -0
  925. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/test_languages.py +0 -0
  926. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/test_mechanical.py +0 -0
  927. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/test_models.py +0 -0
  928. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/test_pipeline_stage1_reuse.py +0 -0
  929. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/test_pipeline_trigger_consensus.py +0 -0
  930. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/test_review_fixes.py +0 -0
  931. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/test_semantic.py +0 -0
  932. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/test_trigger.py +0 -0
  933. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/test_trigger_consensus.py +0 -0
  934. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/test_verification_artifacts.py +0 -0
  935. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evaluation/test_verification_artifacts_allowed_tools_wiring.py +0 -0
  936. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/events/__init__.py +0 -0
  937. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/events/test_base.py +0 -0
  938. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/events/test_control_events.py +0 -0
  939. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/events/test_hitl_events.py +0 -0
  940. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/events/test_io_events.py +0 -0
  941. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/events/test_io_recorder.py +0 -0
  942. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evolution/test_backend_drift.py +0 -0
  943. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evolution/test_directive_mapping.py +0 -0
  944. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evolution/test_evolve_step_agent_process_integration.py +0 -0
  945. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evolution/test_generation_watchdog.py +0 -0
  946. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evolution/test_material_progress.py +0 -0
  947. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/evolution/test_wonder_scope.py +0 -0
  948. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/harness/__init__.py +0 -0
  949. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/harness/test_claim_term_guard.py +0 -0
  950. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/harness/test_deliver_gate.py +0 -0
  951. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/harness/test_deliver_routing.py +0 -0
  952. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/harness/test_journal_normalizer.py +0 -0
  953. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/harness/test_projection_builder.py +0 -0
  954. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/harness/test_projection_records.py +0 -0
  955. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/harness/test_run_snapshot.py +0 -0
  956. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/hermes/test_artifacts.py +0 -0
  957. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/__init__.py +0 -0
  958. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/bridge/__init__.py +0 -0
  959. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/bridge/test_bridge.py +0 -0
  960. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/bridge/test_config.py +0 -0
  961. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/bridge/test_factory.py +0 -0
  962. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/bridge/test_handler_wiring.py +0 -0
  963. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/bridge/test_stability.py +0 -0
  964. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/client/__init__.py +0 -0
  965. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/client/test_adapter.py +0 -0
  966. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/client/test_adapter_transport_lifecycle.py +0 -0
  967. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/client/test_manager.py +0 -0
  968. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/conftest.py +0 -0
  969. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/resources/test_handlers.py +0 -0
  970. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/server/__init__.py +0 -0
  971. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/server/test_adapter.py +0 -0
  972. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/server/test_adapter_max_turns_envelope_wiring.py +0 -0
  973. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/server/test_security.py +0 -0
  974. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/test_errors.py +0 -0
  975. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/test_job_manager.py +0 -0
  976. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/test_job_manager_drain.py +0 -0
  977. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/test_types.py +0 -0
  978. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/__init__.py +0 -0
  979. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/conftest.py +0 -0
  980. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_ac_tree_hud_footer.py +0 -0
  981. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_ac_tree_hud_handler.py +0 -0
  982. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_ac_tree_hud_handler_completed.py +0 -0
  983. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_ac_tree_hud_handler_cursor_changed.py +0 -0
  984. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_ac_tree_hud_handler_invalid_session.py +0 -0
  985. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_ac_tree_hud_handler_no_execution.py +0 -0
  986. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_ac_tree_hud_handler_waiting.py +0 -0
  987. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_ac_tree_hud_max_nodes.py +0 -0
  988. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_ac_tree_hud_render_depth2.py +0 -0
  989. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_ac_tree_hud_render_depth3.py +0 -0
  990. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_ac_tree_hud_status_icons.py +0 -0
  991. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_ac_tree_hud_truncation.py +0 -0
  992. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_assignment.py +0 -0
  993. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_authoring_allowed_tools_wiring.py +0 -0
  994. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_auto_handler_ralph_runtime.py +0 -0
  995. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_auto_handler_resume_lines.py +0 -0
  996. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_auto_interview_construction.py +0 -0
  997. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_bridge_mixin_runtime_context.py +0 -0
  998. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_brownfield_handler.py +0 -0
  999. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_checklist_verify.py +0 -0
  1000. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_client_gates.py +0 -0
  1001. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_definitions.py +0 -0
  1002. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_definitions_runtime_context.py +0 -0
  1003. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_evaluate_multi_ac.py +0 -0
  1004. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_evolve_checkpoint_commits.py +0 -0
  1005. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_evolve_step_bridge_aware.py +0 -0
  1006. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_execute_seed_path_resolution.py +0 -0
  1007. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_generate_seed_force_flag.py +0 -0
  1008. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_handler_subagent_wiring.py +0 -0
  1009. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_interview_allowed_tools_wiring.py +0 -0
  1010. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_interview_completion_signal_prefix_guard.py +0 -0
  1011. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_interview_done_streak.py +0 -0
  1012. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_interview_intent_guard.py +0 -0
  1013. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_interview_lateral_review_advisory.py +0 -0
  1014. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_interview_length_guard_envelope.py +0 -0
  1015. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_interview_persists_session_on_failure.py +0 -0
  1016. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_interview_reopen_seed_ready.py +0 -0
  1017. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_interview_response_diagnostics.py +0 -0
  1018. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_interview_strict_mcp_config_wiring.py +0 -0
  1019. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_job_instance_cancel_keys.py +0 -0
  1020. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_job_invalid_arguments.py +0 -0
  1021. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_lateral_think_handler.py +0 -0
  1022. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_mcp_manager_wiring.py +0 -0
  1023. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_pm_handler.py +0 -0
  1024. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_pm_handler_allowed_tools_wiring.py +0 -0
  1025. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_pm_handler_pending_reframe.py +0 -0
  1026. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_qa_allowed_tools_wiring.py +0 -0
  1027. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_qa_parser.py +0 -0
  1028. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_ralph_handler.py +0 -0
  1029. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_registry.py +0 -0
  1030. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_round5_fixes.py +0 -0
  1031. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_start_auto.py +0 -0
  1032. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_start_evaluate.py +0 -0
  1033. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_start_execute_seed_idempotency.py +0 -0
  1034. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_subagent.py +0 -0
  1035. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/mcp/tools/test_unstuck_bridge_aware.py +0 -0
  1036. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/observability/__init__.py +0 -0
  1037. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/observability/test_drift.py +0 -0
  1038. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/observability/test_logging.py +0 -0
  1039. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/observability/test_retrospective.py +0 -0
  1040. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/__init__.py +0 -0
  1041. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_adapter.py +0 -0
  1042. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_agent_process.py +0 -0
  1043. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_agent_runtime_context.py +0 -0
  1044. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_backend_limits.py +0 -0
  1045. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_baseline_metrics.py +0 -0
  1046. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_baseline_metrics_capture.py +0 -0
  1047. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_baseline_metrics_format.py +0 -0
  1048. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_capabilities.py +0 -0
  1049. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_claude_worker_runtime.py +0 -0
  1050. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_codex_cli_runtime.py +0 -0
  1051. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_codex_mcp_runtime.py +0 -0
  1052. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_codex_mcp_session_pool.py +0 -0
  1053. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_codex_recursion_guard.py +0 -0
  1054. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_codex_session_index.py +0 -0
  1055. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_command_dispatcher.py +0 -0
  1056. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_context_governor.py +0 -0
  1057. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_control_bus.py +0 -0
  1058. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_control_plane.py +0 -0
  1059. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_coordinator.py +0 -0
  1060. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_copilot_cli_runtime.py +0 -0
  1061. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_dead_router_removed.py +0 -0
  1062. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_decomposition_params.py +0 -0
  1063. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_dependency_analyzer.py +0 -0
  1064. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_effort_routed_event.py +0 -0
  1065. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_effort_routing.py +0 -0
  1066. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_events.py +0 -0
  1067. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_evidence_schema.py +0 -0
  1068. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_execution_runtime_scope.py +0 -0
  1069. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_execution_strategy.py +0 -0
  1070. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_failure_taxonomy.py +0 -0
  1071. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_frugality_proof.py +0 -0
  1072. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_gemini_cli_runtime.py +0 -0
  1073. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_gjc_runtime.py +0 -0
  1074. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_goose_runtime.py +0 -0
  1075. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_hermes_runtime.py +0 -0
  1076. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_inflight_cancellation.py +0 -0
  1077. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_level_context.py +0 -0
  1078. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_mcp_config.py +0 -0
  1079. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_mcp_tools.py +0 -0
  1080. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_opencode_runtime.py +0 -0
  1081. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_parallel_executor.py +0 -0
  1082. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_parallel_executor_atomic_judgment.py +0 -0
  1083. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_parallel_executor_recursive_depth.py +0 -0
  1084. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_parallel_executor_retry_resume.py +0 -0
  1085. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_phase_wrappers.py +0 -0
  1086. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_pi_runtime.py +0 -0
  1087. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_policy.py +0 -0
  1088. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_profile_loader.py +0 -0
  1089. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_profile_strategy.py +0 -0
  1090. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_rate_limit.py +0 -0
  1091. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_reasoning_effort_routing.py +0 -0
  1092. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_rfc_v2_integration.py +0 -0
  1093. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_runner.py +0 -0
  1094. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_runner_allowed_tools_wiring.py +0 -0
  1095. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_runner_cancellation.py +0 -0
  1096. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_runtime_error.py +0 -0
  1097. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_runtime_evidence.py +0 -0
  1098. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_runtime_factory.py +0 -0
  1099. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_runtime_message_projection.py +0 -0
  1100. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_runtime_param_negotiation.py +0 -0
  1101. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_sandbox_class.py +0 -0
  1102. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_seed_prompt.py +0 -0
  1103. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_session.py +0 -0
  1104. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_skill_tool_mapping.py +0 -0
  1105. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_stage_resolution.py +0 -0
  1106. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_subagent_orchestration.py +0 -0
  1107. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_traceguard_benchmark_capture.py +0 -0
  1108. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_verifier.py +0 -0
  1109. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_worker_runtime.py +0 -0
  1110. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_workflow_ir.py +0 -0
  1111. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_workflow_ir_adapter.py +0 -0
  1112. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_workflow_ir_plugin_adapter.py +0 -0
  1113. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_workflow_lifecycle.py +0 -0
  1114. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_workflow_lifecycle_conformance.py +0 -0
  1115. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_workflow_lifecycle_events.py +0 -0
  1116. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_workflow_projection_boundary.py +0 -0
  1117. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/test_workflow_state.py +0 -0
  1118. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/orchestrator/workflow_ir_conformance_fixtures.py +0 -0
  1119. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/persistence/__init__.py +0 -0
  1120. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/persistence/test_brownfield_store.py +0 -0
  1121. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/persistence/test_checkpoint.py +0 -0
  1122. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/persistence/test_event_store.py +0 -0
  1123. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/persistence/test_schema.py +0 -0
  1124. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/persistence/test_uow.py +0 -0
  1125. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/__init__.py +0 -0
  1126. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/agents/__init__.py +0 -0
  1127. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/agents/test_registry.py +0 -0
  1128. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/skills/__init__.py +0 -0
  1129. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/skills/test_keywords.py +0 -0
  1130. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/skills/test_registry.py +0 -0
  1131. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/test_digest.py +0 -0
  1132. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/test_firewall.py +0 -0
  1133. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/test_firewall_tool_call_dispatch.py +0 -0
  1134. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/test_hook_permission_scopes.py +0 -0
  1135. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/test_hooks_contract.py +0 -0
  1136. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/test_ledger_adapter.py +0 -0
  1137. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/test_lifecycle_observability.py +0 -0
  1138. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/test_lockfile.py +0 -0
  1139. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/test_manifest.py +0 -0
  1140. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/test_manifest_descriptor.py +0 -0
  1141. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/test_manifest_hook_validation.py +0 -0
  1142. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/test_manifest_schema_0_3.py +0 -0
  1143. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/test_manifest_schema_0_4.py +0 -0
  1144. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/test_trust_store.py +0 -0
  1145. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/plugin/test_userlevel_registry.py +0 -0
  1146. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/pm/__init__.py +0 -0
  1147. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/pm/test_renderer.py +0 -0
  1148. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/__init__.py +0 -0
  1149. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_anthropic_adapter_io_recorder.py +0 -0
  1150. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_base.py +0 -0
  1151. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_claude_code_adapter.py +0 -0
  1152. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_codex_cli_adapter.py +0 -0
  1153. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_copilot_cli_adapter.py +0 -0
  1154. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_factory.py +0 -0
  1155. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_factory_copilot.py +0 -0
  1156. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_gemini_cli_adapter.py +0 -0
  1157. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_gjc_llm_adapter.py +0 -0
  1158. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_goose_cli_adapter.py +0 -0
  1159. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_hermes_cli_adapter.py +0 -0
  1160. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_litellm_adapter.py +0 -0
  1161. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_litellm_adapter_io_recorder.py +0 -0
  1162. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_opencode_adapter.py +0 -0
  1163. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_ourocode_acp_client.py +0 -0
  1164. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_ourocode_llm_adapter.py +0 -0
  1165. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_pi_llm_adapter.py +0 -0
  1166. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_profiles.py +0 -0
  1167. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_public_exports.py +0 -0
  1168. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_retry.py +0 -0
  1169. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/providers/test_tool_use_diagnostics.py +0 -0
  1170. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/resilience/__init__.py +0 -0
  1171. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/resilience/test_lateral.py +0 -0
  1172. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/resilience/test_recovery.py +0 -0
  1173. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/resilience/test_stagnation.py +0 -0
  1174. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/router/__init__.py +0 -0
  1175. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/router/test_command_parser.py +0 -0
  1176. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/router/test_dispatch.py +0 -0
  1177. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/router/test_dispatch_result_shapes.py +0 -0
  1178. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/router/test_extract_first_argument.py +0 -0
  1179. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/router/test_invalid_dispatch_input_types.py +0 -0
  1180. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/router/test_malformed_unknown_dispatch_errors.py +0 -0
  1181. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/router/test_not_handled_resolution.py +0 -0
  1182. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/router/test_packaged_auto_dispatch.py +0 -0
  1183. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/router/test_registry.py +0 -0
  1184. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/router/test_repository_dispatch_guard.py +0 -0
  1185. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/router/test_router_resolution_pipeline.py +0 -0
  1186. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/router/test_typed_frontmatter_fields.py +0 -0
  1187. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/router/test_valid_dispatch_normalization.py +0 -0
  1188. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/runtime/__init__.py +0 -0
  1189. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/runtime/test_controls.py +0 -0
  1190. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/runtime/test_watchdog.py +0 -0
  1191. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/scripts/__init__.py +0 -0
  1192. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/scripts/test_check_auto_boundary.py +0 -0
  1193. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/scripts/test_check_auto_perf_budget.py +0 -0
  1194. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/scripts/test_check_max_turns_envelope.py +0 -0
  1195. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/scripts/test_claude_hook_settings.py +0 -0
  1196. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/scripts/test_hook_script_stdio.py +0 -0
  1197. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/scripts/test_install_runtime_selection.py +0 -0
  1198. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/scripts/test_keyword_detector.py +0 -0
  1199. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/scripts/test_ralph_shell_project_dir.py +0 -0
  1200. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/scripts/test_session_start.py +0 -0
  1201. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/scripts/test_sync_plugin_version.py +0 -0
  1202. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/scripts/test_version_check.py +0 -0
  1203. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/skills/test_breadcrumb_footer_contract.py +0 -0
  1204. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/skills/test_skill_artifacts.py +0 -0
  1205. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_artifact_collector.py +0 -0
  1206. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_claude_plugin_skill_guide.py +0 -0
  1207. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_codex_artifacts.py +0 -0
  1208. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_convergence.py +0 -0
  1209. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_dashboard.py +0 -0
  1210. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_dependencies_configured.py +0 -0
  1211. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_detached_auto_docs.py +0 -0
  1212. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_evolve_rewind.py +0 -0
  1213. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_evolve_step.py +0 -0
  1214. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_graceful_shutdown.py +0 -0
  1215. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_kiro_adapters.py +0 -0
  1216. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_lineage.py +0 -0
  1217. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_main_entry_point.py +0 -0
  1218. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_module_structure.py +0 -0
  1219. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_project_initialization.py +0 -0
  1220. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_projector_directives.py +0 -0
  1221. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_projector_rewind.py +0 -0
  1222. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_ralph_loop_budget.py +0 -0
  1223. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_ralph_loop_progress.py +0 -0
  1224. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_ralph_loop_timeout.py +0 -0
  1225. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_ralph_parser.py +0 -0
  1226. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_ralph_rewind.py +0 -0
  1227. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_ralph_shell.py +0 -0
  1228. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_regression.py +0 -0
  1229. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_runtime_instruction_artifacts.py +0 -0
  1230. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_runtime_skill_capability_docs.py +0 -0
  1231. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_tooling_configuration.py +0 -0
  1232. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/test_verification.py +0 -0
  1233. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/tui/__init__.py +0 -0
  1234. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/tui/test_app.py +0 -0
  1235. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/tui/test_cancelled_display.py +0 -0
  1236. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/tui/test_events.py +0 -0
  1237. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/tui/test_lineage_viewer.py +0 -0
  1238. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/tui/test_screens.py +0 -0
  1239. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/tui/test_session_selector_replay.py +0 -0
  1240. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tests/unit/tui/test_widgets.py +0 -0
  1241. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/tools/sync_github_project.py +0 -0
  1242. {ouroboros_ai-0.44.1.dev2 → ouroboros_ai-0.44.1.dev3}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ouroboros-ai
3
- Version: 0.44.1.dev2
3
+ Version: 0.44.1.dev3
4
4
  Summary: Specification-first workflow engine for AI coding agents. Works with Claude Code and Codex CLI.
5
5
  Author-email: Q00 <jqyu.lee@gmail.com>
6
6
  License-File: LICENSE
@@ -68,7 +68,7 @@ ouroboros auto "Build a local-first habit tracker CLI"
68
68
  | Option | Description |
69
69
  |--------|-------------|
70
70
  | `--resume TEXT` | Resume an existing auto session id |
71
- | `--runtime TEXT` | Runtime backend for the **run-handoff** phase. Shipped values: `claude`, `codex`, `opencode`, `hermes`, `gemini`, `goose`, `kiro`, `copilot`, `pi`, `gjc`. Authoring phases (interview, seed generation, seed repair) **always run in-process** inside the Ouroboros MCP server in `ooo auto` flow — see [What `--runtime` controls in `ooo auto`](#what---runtime-controls-in-ooo-auto) below. |
71
+ | `--runtime TEXT` | Runtime backend for the **run-handoff** phase. Shipped values: `claude`, `codex`, `opencode`, `hermes`, `gemini`, `goose`, `kiro`, `copilot`, `pi`, `gjc`, `antigravity`. Authoring phases (interview, seed generation, seed repair) **always run in-process** inside the Ouroboros MCP server in `ooo auto` flow — see [What `--runtime` controls in `ooo auto`](#what---runtime-controls-in-ooo-auto) below. |
72
72
  | `--max-interview-rounds INTEGER` | Maximum automatic interview rounds; prevents unbounded interview loops |
73
73
  | `--max-repair-rounds INTEGER` | Maximum Seed repair rounds; prevents unbounded repair loops |
74
74
  | `--skip-run` | Stop after creating an A-grade Seed |
@@ -243,7 +243,7 @@ ouroboros setup [OPTIONS]
243
243
 
244
244
  | Option | Description |
245
245
  |--------|-------------|
246
- | `-r, --runtime TEXT` | Runtime backend to configure. Shipped values: `claude`, `codex`, `opencode`, `hermes`, `gemini`, `goose`, `kiro`, `copilot`, `pi`, `gjc`. Auto-detected if omitted |
246
+ | `-r, --runtime TEXT` | Runtime backend to configure. Shipped values: `claude`, `codex`, `opencode`, `hermes`, `gemini`, `goose`, `kiro`, `copilot`, `pi`, `gjc`, `antigravity`. Auto-detected if omitted |
247
247
  | `--opencode-mode TEXT` | OpenCode integration mode: `plugin` (default, recommended — bridge plugin for interactive sessions) or `subprocess` (headless/CI). Mutually exclusive — see [OpenCode runtime guide](runtime-guides/opencode.md#configuration) |
248
248
  | `--non-interactive` | Skip interactive prompts (for scripted installs) |
249
249
  | `--mcp-mode TEXT` | Codex MCP config mode: `auto` (default), `preserve`, or `stdio` |
@@ -343,7 +343,7 @@ ouroboros init [start] [OPTIONS] [CONTEXT]
343
343
  | `-r, --resume TEXT` | Resume an existing interview by ID |
344
344
  | `--state-dir DIRECTORY` | Custom directory for interview state files |
345
345
  | `-o, --orchestrator` | Use Claude Code for the interview/seed flow; combine with `--runtime` to choose the workflow handoff backend |
346
- | `--runtime TEXT` | Agent runtime backend for the workflow execution step after seed generation. Shipped values: `claude`, `codex`, `opencode`, `hermes`, `gemini`, `goose`, `kiro`, `copilot`, `pi`, `gjc`. Custom adapters registered in `runtime_factory.py` are also accepted. |
346
+ | `--runtime TEXT` | Agent runtime backend for the workflow execution step after seed generation. Shipped values: `claude`, `codex`, `opencode`, `hermes`, `gemini`, `goose`, `kiro`, `copilot`, `pi`, `gjc`, `antigravity`. Custom adapters registered in `runtime_factory.py` are also accepted. |
347
347
  | `--llm-backend TEXT` | LLM backend for interview, ambiguity scoring, and seed generation (`claude_code`, `litellm`, `codex`, `copilot`, `opencode`, `gemini`, `goose`, `kiro`, `pi`, `gjc`) |
348
348
  | `-d, --debug` | Show verbose logs including debug messages |
349
349
 
@@ -416,7 +416,7 @@ ouroboros run [workflow] [OPTIONS] SEED_FILE
416
416
  | Option | Description |
417
417
  |--------|-------------|
418
418
  | `-o/-O, --orchestrator/--no-orchestrator` | Use the agent-runtime orchestrator for execution (default: enabled) |
419
- | `--runtime TEXT` | Agent runtime backend override (`claude`, `codex`, `opencode`, `hermes`, `gemini`, `copilot`, `goose`, `kiro`, `pi`, `gjc`). Uses configured default if omitted |
419
+ | `--runtime TEXT` | Agent runtime backend override (`claude`, `codex`, `opencode`, `hermes`, `gemini`, `copilot`, `goose`, `kiro`, `pi`, `gjc`, `antigravity`). Uses configured default if omitted |
420
420
  | `-r, --resume TEXT` | Resume a previous orchestrator session by ID |
421
421
  | `--mcp-config PATH` | Path to MCP client configuration YAML file |
422
422
  | `--mcp-tool-prefix TEXT` | Prefix to add to all MCP tool names (e.g., `mcp_`) |
@@ -945,7 +945,7 @@ ouroboros mcp serve [OPTIONS]
945
945
  | `-p, --port INTEGER` | Port to bind to (default: 8080) |
946
946
  | `-t, --transport TEXT` | Transport type: `stdio`, `sse`, or `streamable-http` (default: stdio). Note: `http` is only a client config alias for outbound MCP connections and is NOT a valid serve transport. |
947
947
  | `--db TEXT` | Path to the EventStore database file |
948
- | `--runtime TEXT` | Agent runtime backend for orchestrator-driven tools (`claude`, `codex`, `opencode`, `hermes`, `gemini`, `copilot`, `goose`, `kiro`, `pi`, `gjc`). Affects which tool variants are instantiated |
948
+ | `--runtime TEXT` | Agent runtime backend for orchestrator-driven tools (`claude`, `codex`, `opencode`, `hermes`, `gemini`, `copilot`, `goose`, `kiro`, `pi`, `gjc`, `antigravity`). Affects which tool variants are instantiated |
949
949
  | `--llm-backend TEXT` | LLM backend for interview/seed/evaluation tools (`claude_code`, `litellm`, `codex`, `copilot`, `opencode`, `gemini`, `goose`, `kiro`, `pi`, `gjc`). Affects which tool variants are instantiated |
950
950
 
951
951
  **Examples:**
@@ -1027,7 +1027,7 @@ ouroboros mcp info [OPTIONS]
1027
1027
 
1028
1028
  | Option | Description |
1029
1029
  |--------|-------------|
1030
- | `--runtime TEXT` | Agent runtime backend for orchestrator-driven tools (`claude`, `codex`, `opencode`, `hermes`, `gemini`, `copilot`, `goose`, `kiro`, `pi`, `gjc`). Affects which tool variants are instantiated |
1030
+ | `--runtime TEXT` | Agent runtime backend for orchestrator-driven tools (`claude`, `codex`, `opencode`, `hermes`, `gemini`, `copilot`, `goose`, `kiro`, `pi`, `gjc`, `antigravity`). Affects which tool variants are instantiated |
1031
1031
  | `--llm-backend TEXT` | LLM backend for interview/seed/evaluation tools (`claude_code`, `litellm`, `codex`, `copilot`, `opencode`, `gemini`, `goose`, `kiro`, `pi`, `gjc`). Affects which tool variants are instantiated |
1032
1032
 
1033
1033
  **Available Tools:**
@@ -1066,7 +1066,7 @@ The table below covers the most commonly used variables. For the full list — i
1066
1066
  | `ANTHROPIC_API_KEY` | — | Anthropic API key for Claude models |
1067
1067
  | `OPENAI_API_KEY` | — | OpenAI API key for LiteLLM / Codex CLI |
1068
1068
  | `OPENROUTER_API_KEY` | — | OpenRouter API key for consensus and LiteLLM |
1069
- | `OUROBOROS_AGENT_RUNTIME` | `orchestrator.runtime_backend` | Override the runtime backend (`claude`, `codex`, `opencode`, `hermes`, `gemini`, `goose`, `kiro`, `copilot`, `pi`, `gjc`) |
1069
+ | `OUROBOROS_AGENT_RUNTIME` | `orchestrator.runtime_backend` | Override the runtime backend (`claude`, `codex`, `opencode`, `hermes`, `gemini`, `goose`, `kiro`, `copilot`, `pi`, `gjc`, `antigravity`) |
1070
1070
  | `OUROBOROS_RUNTIME` | `orchestrator.runtime_backend` (fallback) | Shortcut env var honored by both `orchestrator.runtime_backend` and `llm.backend` resolution when their dedicated env vars are unset |
1071
1071
  | `OUROBOROS_KIRO_CLI_PATH` | `orchestrator.kiro_cli_path` | Explicit path to `kiro-cli` binary when it is not on `PATH` |
1072
1072
  | `OUROBOROS_AGENT_PERMISSION_MODE` | `orchestrator.permission_mode` | Permission mode for Claude Code / Codex runtimes (no-op for OpenCode) |
@@ -13,7 +13,7 @@ The runtime backend is selected via the `orchestrator.runtime_backend` config ke
13
13
 
14
14
  ```yaml
15
15
  orchestrator:
16
- runtime_backend: claude # Supported values: claude | codex | opencode | hermes | gemini | kiro | copilot | pi | gjc
16
+ runtime_backend: claude # Supported values: claude | codex | opencode | hermes | gemini | kiro | copilot | pi | gjc | antigravity
17
17
  # The runtime abstraction layer also accepts custom
18
18
  # adapters registered in runtime_factory.py
19
19
  ```
@@ -26,10 +26,15 @@ ouroboros run workflow --runtime codex seed.yaml
26
26
 
27
27
  You can also override the configured backend with the `OUROBOROS_AGENT_RUNTIME` environment variable.
28
28
 
29
- > **Extensibility:** Ouroboros uses a pluggable `AgentRuntime` protocol. Claude Code, Codex CLI, OpenCode, Hermes, Gemini CLI, Kiro CLI, GitHub Copilot CLI, Pi CLI, and GJC are the natively shipped backends; additional runtimes can be registered by implementing the protocol and extending `runtime_factory.py`. See [Architecture — How to add a new runtime adapter](architecture.md#how-to-add-a-new-runtime-adapter).
29
+ > **Extensibility:** Ouroboros uses a pluggable `AgentRuntime` protocol. Claude Code, Codex CLI, OpenCode, Hermes, Gemini CLI, Kiro CLI, GitHub Copilot CLI, Pi CLI, GJC, and the Antigravity CLI (`agy`, Google's Gemini-CLI successor — runtime-only) are the natively shipped backends; additional runtimes can be registered by implementing the protocol and extending `runtime_factory.py`. See [Architecture — How to add a new runtime adapter](architecture.md#how-to-add-a-new-runtime-adapter). For the full Antigravity contract, see [runtime-guides/antigravity.md](runtime-guides/antigravity.md).
30
30
 
31
31
  ## Capability Matrix
32
32
 
33
+ > **Note — runtime-only backends not yet threaded as columns:** The tables below
34
+ > predate the runtime-only backends added more recently. Their per-capability
35
+ > contract lives in the per-runtime guide rather than as a column here:
36
+ > Antigravity (`agy`) → [runtime-guides/antigravity.md](runtime-guides/antigravity.md).
37
+
33
38
  ### Workflow Layer (identical across runtimes)
34
39
 
35
40
  These capabilities are part of the Ouroboros core engine and work the same way regardless of runtime backend.
@@ -0,0 +1,154 @@
1
+ # Antigravity CLI Runtime
2
+
3
+ Run Ouroboros workflows on top of the locally installed **Antigravity CLI**
4
+ (the `agy` binary) — Google's successor to the Gemini CLI.
5
+
6
+ On **2026-06-18** the Gemini CLI stops serving the Google AI Pro / Ultra / free
7
+ consumer tiers and migrates those users to the Antigravity CLI (enterprise and
8
+ API-key Gemini access is unaffected). If you authenticated the Gemini runtime
9
+ through a Pro/Ultra subscription, switch the affected stages to the
10
+ `antigravity` runtime.
11
+
12
+ The Antigravity runtime extends the Gemini runtime (Antigravity is Google's
13
+ Gemini-CLI successor): Ouroboros owns the orchestration loop and shells out to
14
+ `agy` per task. `agy -p` prints a **plain-text** response (there is no
15
+ `--output-format` flag), so the runtime surfaces the final answer as assistant
16
+ messages and checkpoints at the Ouroboros layer (event store + lineage) rather
17
+ than inside the subprocess.
18
+
19
+ ## Prerequisites
20
+
21
+ | Requirement | Why |
22
+ |-------------------|------------------------------------------------------------------|
23
+ | `agy` CLI | Provider — the Antigravity CLI binary, installed in `~/.local/bin`|
24
+ | Google auth | Run `agy` once (browser OAuth) — Google AI Pro/Ultra/free, or set `ANTIGRAVITY_API_KEY` |
25
+ | Ouroboros (base) | `pip install ouroboros-ai` — no provider-specific extras |
26
+
27
+ > Antigravity runs on the **base** Ouroboros package. It does **not** require
28
+ > the `[claude]` extra.
29
+
30
+ ## Quick start
31
+
32
+ ```bash
33
+ # 1. Authenticate the Antigravity CLI (one-time browser OAuth)
34
+ agy # first launch opens the sign-in flow
35
+
36
+ # 2. Point Ouroboros at Antigravity (config.yaml or the settings GUI)
37
+ ouroboros config # GUI: set Execute/Evaluate/... runtime to "antigravity"
38
+ # or set OUROBOROS_ANTIGRAVITY_CLI_PATH / orchestrator.antigravity_cli_path
39
+
40
+ # 3. Run a workflow
41
+ ouroboros run workflow seed.yaml --runtime antigravity
42
+ ```
43
+
44
+ ## CLI path resolution
45
+
46
+ The runtime looks for the binary in this order:
47
+
48
+ 1. Constructor argument `cli_path=...`
49
+ 2. `OUROBOROS_ANTIGRAVITY_CLI_PATH` environment variable
50
+ 3. `orchestrator.antigravity_cli_path` in `~/.ouroboros/config.yaml`
51
+ 4. `agy` on `$PATH`
52
+
53
+ ## Configuration
54
+
55
+ ```yaml
56
+ # ~/.ouroboros/config.yaml
57
+ orchestrator:
58
+ runtime_backend: antigravity
59
+ antigravity_cli_path: ~/.local/bin/agy # optional; auto-detected
60
+ ```
61
+
62
+ Antigravity is **runtime-only** — it drives the agentic orchestrator but is not
63
+ registered as an LLM-completion backend (`agy -p` returns plain text, not a
64
+ structured JSON/schema payload), so it is not a valid `llm.backend` value. Use
65
+ the runtime via `orchestrator.runtime_backend`, per-stage routing, or
66
+ `--runtime antigravity`. For completion-level diversity (consensus / role
67
+ models) route Gemini/other vendors through `litellm`/OpenRouter.
68
+
69
+ ### Per-stage routing
70
+
71
+ Antigravity shines as a cross-vendor stage in a multi-LLM pipeline — for
72
+ example, generate with one vendor and verify with another:
73
+
74
+ ```yaml
75
+ orchestrator:
76
+ runtime_backend: claude
77
+ runtime_profile:
78
+ stages:
79
+ execute: claude # generate
80
+ evaluate: antigravity # cross-vendor verification (Gemini 3.x via agy)
81
+ ```
82
+
83
+ ## Headless contract
84
+
85
+ Each task spawns:
86
+
87
+ ```text
88
+ agy -p <PROMPT> \
89
+ --dangerously-skip-permissions \
90
+ [--model <MODEL>]
91
+ ```
92
+
93
+ | Flag | Why |
94
+ |----------------------------------|-----------------------------------------------------------|
95
+ | `-p` (`--print` / `--prompt`) | Runs a single prompt non-interactively, prints the answer |
96
+ | `--dangerously-skip-permissions` | Auto-approves tool requests so the subprocess never blocks|
97
+ | `--model` | Forwarded only for an explicit, non-sentinel model id |
98
+
99
+ `agy` exposes no granular accept-edits-only mode, so both Ouroboros
100
+ non-blocking permission modes map to the single skip flag:
101
+
102
+ | Ouroboros permission mode | `agy` behavior | Notes |
103
+ |---------------------------|---------------------------------|-----------------------------------------------|
104
+ | `acceptEdits` (default) | `--dangerously-skip-permissions`| Over-approximated to full skip (no narrower mode) |
105
+ | `bypassPermissions` | `--dangerously-skip-permissions`| Explicit full bypass |
106
+
107
+ The interactive Ouroboros `default` mode is normalized to `acceptEdits` (with an
108
+ audit log) because a headless `agy -p` invocation cannot service a TTY approval
109
+ prompt.
110
+
111
+ > ⚠️ **Security note — `acceptEdits` is full auto-approval here.** Unlike the
112
+ > Gemini parent runtime (where `acceptEdits` maps to the narrower edits-only
113
+ > `--approval-mode auto_edit`), `agy` exposes no edits-only mode, so on
114
+ > Antigravity **both** `acceptEdits` (the default) and `bypassPermissions`
115
+ > resolve to `--dangerously-skip-permissions` — every tool request is
116
+ > auto-approved, not just file edits. This is `agy`'s all-or-nothing permission
117
+ > model, and it applies only when you explicitly select the `antigravity`
118
+ > backend. Run Antigravity stages in a sandbox/worktree (Ouroboros uses managed
119
+ > git worktrees by default) and do not select it for untrusted inputs if you
120
+ > need edits-only containment — use the Claude, Codex, or Gemini runtime there
121
+ > instead.
122
+
123
+ Available models (`agy models`): Gemini 3.5 Flash, Gemini 3.1 Pro, Claude
124
+ Sonnet 4.6, Claude Opus 4.6, GPT-OSS 120B (subject to your plan). Antigravity is
125
+ a **sentinel-model backend** — by default Ouroboros lets `agy` pick its own
126
+ configured model and only forwards `--model` when you set an explicit id.
127
+
128
+ ## Capabilities
129
+
130
+ | Capability | Status |
131
+ |--------------------------|-------------------------------------------------------|
132
+ | Headless execution | ✅ `agy -p` |
133
+ | Tool calls | ✅ (Antigravity-managed via `--dangerously-skip-permissions`) |
134
+ | Structured event stream | ❌ plain-text stdout (no `--output-format`) |
135
+ | Session resumption | ❌ not surfaced in v1 (recovery at the Ouroboros lineage layer) |
136
+ | LLM-completion backend | ❌ runtime-only |
137
+
138
+ If you need a structured event stream or resumable sessions, use the Claude,
139
+ Codex, or Grok runtime.
140
+
141
+ ## Troubleshooting
142
+
143
+ **`agy` not found.** Install the Antigravity CLI, then set
144
+ `OUROBOROS_ANTIGRAVITY_CLI_PATH=/abs/path/to/agy` or
145
+ `orchestrator.antigravity_cli_path`.
146
+
147
+ **The CLI hangs waiting for input.** The runtime always passes
148
+ `--dangerously-skip-permissions` and `-p`. If you see a hang, confirm you are
149
+ invoking the runtime through `ouroboros run` (or the MCP server) rather than
150
+ driving `agy` directly.
151
+
152
+ **Gemini stopped working on 2026-06-18.** That is the consumer-tier Gemini CLI
153
+ cutoff. Switch the affected stages to `antigravity`, or keep Gemini via an
154
+ enterprise/API-key credential (unaffected).
@@ -42,6 +42,7 @@ its rendered guide or a documented fallback.
42
42
  | Kiro | `~/.kiro/steering/ouroboros-skill-capability-guide.md` | Installed by Kiro setup as a global steering file. |
43
43
  | Copilot | `~/.copilot/ouroboros-instructions/AGENTS.md` | Installed by Copilot setup; Ouroboros Copilot runtime also injects that directory through `COPILOT_CUSTOM_INSTRUCTIONS_DIRS`. |
44
44
  | GJC | `<agent-dir>/rules/ouroboros-skill-capability-guide.md` | Installed by GJC setup as a setup-owned, renderer-generated capability artifact. |
45
+ | Antigravity | No setup-owned capability artifact yet | Known gap: Antigravity (the `agy` binary, Google's Gemini CLI successor) can be selected as a runtime, but setup does not yet install a durable agy-owned instruction artifact. Use `render_backend_skill_capability_guide("antigravity")` when building Antigravity prompts until a stable artifact surface exists. |
45
46
  | Goose | No setup-owned capability artifact yet | Known gap: setup can select Goose as a runtime, but no durable Goose instruction surface or Goose-specific `SkillExecutionCapability` entries are registered yet. Keep skill requirements runtime-neutral and rely on runtime-local operator guidance until a Goose artifact installer exists. |
46
47
  | Pi | No setup-owned capability artifact yet | Known gap: Pi has generic rendered capability guidance in the registry, but setup does not yet install it into a durable Pi-owned instruction artifact. Use `render_backend_skill_capability_guide("pi")` when building Pi prompts until a stable artifact surface exists. |
47
48
 
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '0.44.1.dev2'
22
- __version_tuple__ = version_tuple = (0, 44, 1, 'dev2')
21
+ __version__ = version = '0.44.1.dev3'
22
+ __version_tuple__ = version_tuple = (0, 44, 1, 'dev3')
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -491,6 +491,24 @@ _CAPABILITIES: tuple[BackendCapability, ...] = (
491
491
  supports_tool_envelope=False,
492
492
  skill_execution_capabilities=_GENERIC_SKILL_EXECUTION_CAPABILITIES,
493
493
  ),
494
+ BackendCapability(
495
+ # Antigravity is Google's successor to the Gemini CLI (the ``agy``
496
+ # binary). Gemini CLI stops serving the Pro/Ultra/free consumer tiers
497
+ # on 2026-06-18 and migrates those users to Antigravity. Runtime-only:
498
+ # ``agy -p`` prints a plain-text response (no ``--output-format``), so
499
+ # it drives the agentic orchestrator runtime but does not back
500
+ # structured LLM completions or auto-interview answering.
501
+ name="antigravity",
502
+ aliases=("agy",),
503
+ supports_runtime=True,
504
+ supports_llm=False,
505
+ supports_interview_driver=False,
506
+ switchable_runtime=True,
507
+ cli_name="agy",
508
+ cli_config_key="antigravity_cli_path",
509
+ supports_tool_envelope=False,
510
+ skill_execution_capabilities=_GENERIC_SKILL_EXECUTION_CAPABILITIES,
511
+ ),
494
512
  BackendCapability(
495
513
  # ourocode is an LLM-completion backend only: it streams a single Claude
496
514
  # turn over ACP (`ourocode --acp`, its OAuth `:claude_api`) with no tool
@@ -36,7 +36,7 @@ from ouroboros.config._model_defaults import DEFAULT_OPUS_MODEL, DEFAULT_SONNET_
36
36
  # than a Claude model id. Mirrors the loader's sentinel frozensets
37
37
  # (_CODEX_LLM_BACKENDS et al.); the mirror is locked by a unit test.
38
38
  _SENTINEL_MODEL_BACKENDS = frozenset(
39
- {"codex", "opencode", "kiro", "copilot", "hermes", "pi", "gjc"}
39
+ {"codex", "opencode", "kiro", "copilot", "hermes", "pi", "gjc", "antigravity"}
40
40
  )
41
41
 
42
42
  # The sentinel the loader maps Claude-incapable backends to.
@@ -183,6 +183,7 @@ _CLI_PATH_GETTERS: dict[str, str] = {
183
183
  "goose": "get_goose_cli_path",
184
184
  "pi": "get_pi_cli_path",
185
185
  "gjc": "get_gjc_cli_path",
186
+ "antigravity": "get_antigravity_cli_path",
186
187
  "ourocode": "get_ourocode_cli_path",
187
188
  }
188
189
 
@@ -109,6 +109,7 @@ class AgentRuntimeBackend(str, Enum): # noqa: UP042
109
109
  KIRO = "kiro"
110
110
  PI = "pi"
111
111
  GJC = "gjc"
112
+ ANTIGRAVITY = "antigravity"
112
113
 
113
114
 
114
115
  app = typer.Typer(
@@ -462,6 +462,10 @@ def backend(
462
462
  from ouroboros.config import get_pi_cli_path
463
463
 
464
464
  cli_path = get_pi_cli_path()
465
+ elif new_backend == "antigravity":
466
+ from ouroboros.config import get_antigravity_cli_path
467
+
468
+ cli_path = get_antigravity_cli_path()
465
469
  if not cli_path:
466
470
  cli_path = shutil.which(cli_name)
467
471
  if not cli_path:
@@ -500,6 +504,7 @@ def backend(
500
504
  # print_error to set a flag.
501
505
  from ouroboros.cli.commands import setup as setup_mod
502
506
  from ouroboros.cli.commands.setup import (
507
+ _setup_antigravity,
503
508
  _setup_claude,
504
509
  _setup_codex,
505
510
  _setup_gemini,
@@ -536,6 +541,8 @@ def backend(
536
541
  _setup_goose(cli_path)
537
542
  elif new_backend == "pi":
538
543
  _setup_pi(cli_path)
544
+ elif new_backend == "antigravity":
545
+ _setup_antigravity(cli_path)
539
546
  except Exception as exc:
540
547
  setup_failed = True
541
548
  console.quiet = prev_quiet
@@ -72,6 +72,7 @@ class AgentRuntimeBackend(str, Enum): # noqa: UP042
72
72
  COPILOT = "copilot"
73
73
  PI = "pi"
74
74
  GJC = "gjc"
75
+ ANTIGRAVITY = "antigravity"
75
76
 
76
77
 
77
78
  class LLMBackend(str, Enum): # noqa: UP042
@@ -71,6 +71,7 @@ class AgentRuntimeBackend(str, Enum): # noqa: UP042
71
71
  GOOSE = "goose"
72
72
  PI = "pi"
73
73
  GJC = "gjc"
74
+ ANTIGRAVITY = "antigravity"
74
75
 
75
76
 
76
77
  class LLMBackend(str, Enum): # noqa: UP042
@@ -122,6 +122,7 @@ class AgentRuntimeBackend(str, Enum): # noqa: UP042
122
122
  KIRO = "kiro"
123
123
  PI = "pi"
124
124
  GJC = "gjc"
125
+ ANTIGRAVITY = "antigravity"
125
126
 
126
127
 
127
128
  def _derive_quality_bar(seed: "Seed") -> str:
@@ -246,6 +246,15 @@ def _detect_runtimes() -> dict[str, str | None]:
246
246
  "gjc"
247
247
  )
248
248
 
249
+ # Antigravity (agy): explicit-path config first, then PATH.
250
+ try:
251
+ from ouroboros.config import get_antigravity_cli_path
252
+
253
+ antigravity_path = get_antigravity_cli_path()
254
+ except Exception:
255
+ antigravity_path = None
256
+ runtimes["antigravity"] = antigravity_path or shutil.which("agy")
257
+
249
258
  return runtimes
250
259
 
251
260
 
@@ -2112,6 +2121,52 @@ def _setup_gemini(gemini_path: str) -> None:
2112
2121
  _install_runtime_instruction_artifact("gemini")
2113
2122
 
2114
2123
 
2124
+ def _setup_runtime_only_backend(backend: str, cli_path: str, cli_config_key: str) -> None:
2125
+ """Configure a runtime-only backend (Antigravity / Grok).
2126
+
2127
+ These backends drive the agentic orchestrator runtime but have no
2128
+ LLM-completion adapter (``supports_llm=False``), so this intentionally sets
2129
+ ONLY ``orchestrator.runtime_backend`` + the CLI path and leaves
2130
+ ``llm.backend`` untouched (it is a completion-only contract that rejects
2131
+ these backends). No setup-owned instruction artifact is installed yet — a
2132
+ documented gap in ``docs/runtime-guides/skill-capability-guides.md``.
2133
+ """
2134
+ from ouroboros.config.loader import create_default_config, ensure_config_dir
2135
+
2136
+ config_dir = ensure_config_dir()
2137
+ config_path = config_dir / "config.yaml"
2138
+
2139
+ if config_path.exists():
2140
+ config_dict = yaml.safe_load(config_path.read_text(encoding="utf-8")) or {}
2141
+ else:
2142
+ create_default_config(config_dir)
2143
+ config_dict = yaml.safe_load(config_path.read_text(encoding="utf-8")) or {}
2144
+
2145
+ if not isinstance(config_dict, dict):
2146
+ print_error(
2147
+ f"~/.ouroboros/config.yaml top-level is not a mapping — aborting {backend} setup."
2148
+ )
2149
+ return
2150
+
2151
+ orch = config_dict.get("orchestrator")
2152
+ if not isinstance(orch, dict):
2153
+ orch = {}
2154
+ config_dict["orchestrator"] = orch
2155
+ orch["runtime_backend"] = backend
2156
+ orch[cli_config_key] = cli_path
2157
+
2158
+ with config_path.open("w", encoding="utf-8") as f:
2159
+ yaml.dump(config_dict, f, default_flow_style=False, sort_keys=False)
2160
+
2161
+ print_success(f"Configured {backend} runtime (CLI: {cli_path})")
2162
+ print_info(f"Config saved to: {config_path}")
2163
+
2164
+
2165
+ def _setup_antigravity(antigravity_path: str) -> None:
2166
+ """Configure Ouroboros for the Antigravity CLI (``agy``) runtime."""
2167
+ _setup_runtime_only_backend("antigravity", antigravity_path, "antigravity_cli_path")
2168
+
2169
+
2115
2170
  def _setup_pi(pi_path: str) -> None:
2116
2171
  """Configure Ouroboros for the Pi CLI runtime.
2117
2172
 
@@ -3171,6 +3226,16 @@ def setup(
3171
3226
  )
3172
3227
  raise typer.Exit(1)
3173
3228
  _setup_goose(goose_path)
3229
+ elif selected in ("antigravity", "agy"):
3230
+ antigravity_path = available.get("antigravity")
3231
+ if not antigravity_path:
3232
+ print_error(
3233
+ "Antigravity CLI (agy) not found.\n"
3234
+ "Install it, set OUROBOROS_ANTIGRAVITY_CLI_PATH, or configure "
3235
+ "orchestrator.antigravity_cli_path."
3236
+ )
3237
+ raise typer.Exit(1)
3238
+ _setup_antigravity(antigravity_path)
3174
3239
  else:
3175
3240
  print_error(f"Unsupported runtime: {selected}")
3176
3241
  raise typer.Exit(1)
@@ -31,6 +31,7 @@ from ouroboros.config.loader import (
31
31
  get_agent_permission_mode,
32
32
  get_agent_reasoning_effort,
33
33
  get_agent_runtime_backend,
34
+ get_antigravity_cli_path,
34
35
  get_assertion_extraction_model,
35
36
  get_clarification_model,
36
37
  get_cli_path,
@@ -149,6 +150,7 @@ __all__ = [
149
150
  "get_mechanical_detector_model",
150
151
  "get_codex_cli_path",
151
152
  "get_copilot_cli_path",
153
+ "get_antigravity_cli_path",
152
154
  "get_gemini_cli_path",
153
155
  "get_gjc_cli_path",
154
156
  "get_goose_cli_path",
@@ -77,6 +77,11 @@ _COPILOT_LLM_BACKENDS = frozenset({"copilot", "copilot_cli"})
77
77
  _HERMES_LLM_BACKENDS = frozenset({"hermes", "hermes_cli"})
78
78
  _PI_LLM_BACKENDS = frozenset({"pi", "pi_cli"})
79
79
  _GJC_LLM_BACKENDS = frozenset({"gjc", "gjc_cli"})
80
+ # Antigravity (`agy`) is runtime-only and Claude-incapable: it runs its own
81
+ # Gemini/Claude models, so generic Claude default ids map to the CLI's own
82
+ # configured default (the "default" sentinel), exactly like the other
83
+ # non-Claude CLI backends above.
84
+ _ANTIGRAVITY_LLM_BACKENDS = frozenset({"antigravity", "agy"})
80
85
  _OPENCODE_BACKENDS = frozenset({"opencode", "opencode_cli"})
81
86
  _CODEX_DEFAULT_MODEL = "default"
82
87
  _KIRO_DEFAULT_MODEL = "default"
@@ -84,6 +89,7 @@ _COPILOT_DEFAULT_MODEL = "default"
84
89
  _HERMES_DEFAULT_MODEL = "default"
85
90
  _PI_DEFAULT_MODEL = "default"
86
91
  _GJC_DEFAULT_MODEL = "default"
92
+ _ANTIGRAVITY_DEFAULT_MODEL = "default"
87
93
  _PLACEHOLDER_API_KEY_PREFIX = "YOUR_"
88
94
  _PLACEHOLDER_API_KEY_SUFFIX = "_API_KEY"
89
95
  _DEFAULT_MAX_PARALLEL_WORKERS = 3
@@ -169,6 +175,7 @@ _UNTRUSTED_ENV_DENYLIST = frozenset(
169
175
  "OUROBOROS_GEMINI_CLI_PATH",
170
176
  "OUROBOROS_PI_CLI_PATH",
171
177
  "OUROBOROS_GJC_CLI_PATH",
178
+ "OUROBOROS_ANTIGRAVITY_CLI_PATH",
172
179
  "OUROBOROS_OUROCODE_CLI_PATH",
173
180
  # Bare provider aliases (no OUROBOROS_ prefix) that adapters also
174
181
  # honor and then execute. Any new such alias MUST be added here:
@@ -1381,6 +1388,41 @@ def get_gemini_cli_path() -> str | None:
1381
1388
  return None
1382
1389
 
1383
1390
 
1391
+ def get_antigravity_cli_path() -> str | None:
1392
+ """Get the Antigravity CLI path (``agy``) from environment or config.
1393
+
1394
+ Priority:
1395
+ 1. OUROBOROS_ANTIGRAVITY_CLI_PATH environment variable
1396
+ 2. config.yaml orchestrator.antigravity_cli_path
1397
+ 3. None (resolve from PATH at runtime)
1398
+
1399
+ Stale env var / config values that don't point to an executable are
1400
+ treated as missing so callers fall back to PATH discovery instead of
1401
+ persisting an unusable path. Mirrors the strictness of `shutil.which`
1402
+ used for the other runtime backends in the setup detection path.
1403
+
1404
+ Returns:
1405
+ Path to the Antigravity CLI binary or None.
1406
+ """
1407
+ env_path = os.environ.get("OUROBOROS_ANTIGRAVITY_CLI_PATH", "").strip()
1408
+ if env_path:
1409
+ resolved = str(Path(env_path).expanduser())
1410
+ if shutil.which(resolved):
1411
+ return resolved
1412
+
1413
+ try:
1414
+ config = load_config()
1415
+ antigravity_path = getattr(config.orchestrator, "antigravity_cli_path", None)
1416
+ if antigravity_path:
1417
+ resolved = str(Path(antigravity_path).expanduser())
1418
+ if shutil.which(resolved):
1419
+ return resolved
1420
+ except ConfigError:
1421
+ pass
1422
+
1423
+ return None
1424
+
1425
+
1384
1426
  def get_llm_backend() -> str:
1385
1427
  """Get default LLM backend from environment variable or config.
1386
1428
 
@@ -1486,7 +1528,7 @@ def get_llm_backend_for_stage(
1486
1528
  parsed_stage = stage if isinstance(stage, Stage) else parse_stage(stage)
1487
1529
  try:
1488
1530
  config = load_config()
1489
- return resolve_runtime_for_stage(
1531
+ resolved = resolve_runtime_for_stage(
1490
1532
  parsed_stage,
1491
1533
  stages=_runtime_profile_stage_map(config),
1492
1534
  default=_runtime_profile_default(config),
@@ -1497,6 +1539,40 @@ def get_llm_backend_for_stage(
1497
1539
  # caller's default agent before the documented get_llm_backend() default.
1498
1540
  return _explicit_llm_backend_override() or fallback_runtime_backend or get_llm_backend()
1499
1541
 
1542
+ return _guard_llm_completion_backend(resolved)
1543
+
1544
+
1545
+ def _backend_supports_llm(name: str | None) -> bool:
1546
+ """Whether a backend can serve LLM completions (vs. being runtime-only).
1547
+
1548
+ Runtime-only backends (e.g. ``antigravity``, ``grok``) declare
1549
+ ``supports_llm=False`` in the capability registry: they drive the agentic
1550
+ orchestrator runtime but have no LLM-completion adapter.
1551
+ """
1552
+ if not name:
1553
+ return False
1554
+ capability = get_backend_capability(name)
1555
+ return capability is not None and capability.supports_llm
1556
+
1557
+
1558
+ def _guard_llm_completion_backend(resolved: str) -> str:
1559
+ """Ensure a resolved internal-LLM backend can actually serve completions.
1560
+
1561
+ Per-stage routing may point a stage at a *runtime-only* backend
1562
+ (``supports_llm=False`` — e.g. ``antigravity``/``grok``) for agentic
1563
+ execution; using it for an internal LLM call would crash provider
1564
+ construction. The agentic runtime still uses the runtime-only backend (via
1565
+ ``resolve_runtime_for_stage``); only the LLM-completion call falls back to a
1566
+ completion backend — the explicit ``llm.backend`` override when valid, else
1567
+ the documented ``llm.backend`` default.
1568
+ """
1569
+ if _backend_supports_llm(resolved):
1570
+ return resolved
1571
+ override = _explicit_llm_backend_override()
1572
+ if override and _backend_supports_llm(override):
1573
+ return override
1574
+ return get_llm_backend()
1575
+
1500
1576
 
1501
1577
  def get_llm_backend_for_role(
1502
1578
  role: str,
@@ -1509,13 +1585,22 @@ def get_llm_backend_for_role(
1509
1585
  Same precedence as :func:`get_llm_backend_for_stage`: per-stage routing wins,
1510
1586
  then the explicit legacy ``llm.backend`` / ``OUROBOROS_LLM_BACKEND`` override,
1511
1587
  then the default agent runtime.
1588
+
1589
+ Capability guard: an LLM-completion role must resolve to a completion-capable
1590
+ backend. Per-stage routing may point a stage at a *runtime-only* backend
1591
+ (``supports_llm=False`` — e.g. ``antigravity``/``grok``) for agentic
1592
+ execution; such a backend would crash provider construction if used for an
1593
+ internal LLM call. In that case the agentic runtime still uses the
1594
+ runtime-only backend, but the LLM call falls back to a completion backend
1595
+ (the explicit ``llm.backend`` override when valid, else the documented
1596
+ ``llm.backend`` default).
1512
1597
  """
1513
1598
  if explicit_backend:
1514
1599
  return explicit_backend
1515
1600
 
1516
1601
  try:
1517
1602
  config = load_config()
1518
- return resolve_runtime_for_llm_role(
1603
+ resolved = resolve_runtime_for_llm_role(
1519
1604
  role,
1520
1605
  stages=_runtime_profile_stage_map(config),
1521
1606
  default=_runtime_profile_default(config),
@@ -1526,6 +1611,8 @@ def get_llm_backend_for_role(
1526
1611
  # caller's default agent before the documented get_llm_backend() default.
1527
1612
  return _explicit_llm_backend_override() or fallback_runtime_backend or get_llm_backend()
1528
1613
 
1614
+ return _guard_llm_completion_backend(resolved)
1615
+
1529
1616
 
1530
1617
  # Legacy per-role model fields kept for backward compatibility. The stage
1531
1618
  # model is the default, but a user who explicitly pinned one of these (env var,
@@ -1690,6 +1777,8 @@ def _default_model_for_backend(
1690
1777
  return _PI_DEFAULT_MODEL
1691
1778
  if resolved in _GJC_LLM_BACKENDS:
1692
1779
  return _GJC_DEFAULT_MODEL
1780
+ if resolved in _ANTIGRAVITY_LLM_BACKENDS:
1781
+ return _ANTIGRAVITY_DEFAULT_MODEL
1693
1782
  return default_model
1694
1783
 
1695
1784
 
@@ -1736,6 +1825,8 @@ def _normalize_configured_model_for_backend(
1736
1825
  return _PI_DEFAULT_MODEL
1737
1826
  if resolved in _GJC_LLM_BACKENDS and is_shipped_default:
1738
1827
  return _GJC_DEFAULT_MODEL
1828
+ if resolved in _ANTIGRAVITY_LLM_BACKENDS and is_shipped_default:
1829
+ return _ANTIGRAVITY_DEFAULT_MODEL
1739
1830
 
1740
1831
  return candidate
1741
1832