ouroboros-ai 0.43.2.dev1__tar.gz → 0.43.3.dev1__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 (1215) hide show
  1. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/marketplace.json +1 -1
  2. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/plugin.json +1 -1
  3. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/interview/SKILL.md +12 -7
  4. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/unstuck/SKILL.md +6 -3
  5. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/PKG-INFO +1 -1
  6. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/scripts/install.sh +79 -26
  7. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/interview/SKILL.md +12 -7
  8. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/setup/SKILL.md +1 -1
  9. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/unstuck/SKILL.md +6 -3
  10. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/_version.py +2 -2
  11. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/backends/__init__.py +2 -0
  12. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/backends/capabilities.py +56 -3
  13. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/backends/test_capabilities.py +56 -1
  14. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/scripts/test_install_runtime_selection.py +94 -0
  15. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_claude_plugin_skill_guide.py +1 -0
  16. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude/settings.json +0 -0
  17. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/.mcp.json +0 -0
  18. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/SKILL_CAPABILITY_GUIDE.md +0 -0
  19. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/auto/SKILL.md +0 -0
  20. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/brownfield/SKILL.md +0 -0
  21. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/cancel/SKILL.md +0 -0
  22. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/evaluate/SKILL.md +0 -0
  23. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/evolve/SKILL.md +0 -0
  24. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/help/SKILL.md +0 -0
  25. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/pm/SKILL.md +0 -0
  26. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/publish/SKILL.md +0 -0
  27. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/qa/SKILL.md +0 -0
  28. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/ralph/SKILL.md +0 -0
  29. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/resume-session/SKILL.md +0 -0
  30. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/run/SKILL.md +0 -0
  31. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/seed/SKILL.md +0 -0
  32. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/setup/SKILL.md +0 -0
  33. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/status/SKILL.md +0 -0
  34. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/tutorial/SKILL.md +0 -0
  35. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/update/SKILL.md +0 -0
  36. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.claude-plugin/skills/welcome/SKILL.md +0 -0
  37. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.codex/config.toml +0 -0
  38. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.codex/hooks.json +0 -0
  39. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.env.example +0 -0
  40. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  41. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  42. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  43. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.github/ISSUE_TEMPLATE/question.yml +0 -0
  44. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  45. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.github/dependabot.yml +0 -0
  46. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.github/workflows/auto-boundary.yml +0 -0
  47. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.github/workflows/auto-perf-budget.yml +0 -0
  48. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.github/workflows/dev-publish.yml +0 -0
  49. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.github/workflows/lint.yml +0 -0
  50. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.github/workflows/max-turns-envelope.yml +0 -0
  51. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.github/workflows/release.yml +0 -0
  52. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.github/workflows/test.yml +0 -0
  53. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.gitignore +0 -0
  54. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.mcp.json +0 -0
  55. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.ouroboros/mechanical.toml +0 -0
  56. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.ouroboros/seeds/seed_73827177a2a3.yaml +0 -0
  57. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.ouroboros/seeds/seed_78c8e6e41813.yaml +0 -0
  58. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.pre-commit-config.yaml +0 -0
  59. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/.python-version +0 -0
  60. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/AGENTS.md +0 -0
  61. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/CHANGELOG.md +0 -0
  62. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/CLAUDE.md +0 -0
  63. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/CODE_OF_CONDUCT.md +0 -0
  64. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/CONTRIBUTING.md +0 -0
  65. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/Code-Review-Claude.md +0 -0
  66. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/Code-Review-Codex.md +0 -0
  67. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/HANDOFF.md +0 -0
  68. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/LICENSE +0 -0
  69. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/README.ko.md +0 -0
  70. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/README.md +0 -0
  71. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/README.zh-CN.md +0 -0
  72. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/SECURITY.md +0 -0
  73. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/UNINSTALL.md +0 -0
  74. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/commands/cancel.md +0 -0
  75. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/commands/evaluate.md +0 -0
  76. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/commands/evolve.md +0 -0
  77. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/commands/help.md +0 -0
  78. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/commands/interview.md +0 -0
  79. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/commands/ralph.md +0 -0
  80. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/commands/run.md +0 -0
  81. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/commands/seed.md +0 -0
  82. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/commands/setup.md +0 -0
  83. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/commands/status.md +0 -0
  84. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/commands/tutorial.md +0 -0
  85. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/commands/unstuck.md +0 -0
  86. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/commands/welcome.md +0 -0
  87. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/crates/ouroboros-tui/.gitignore +0 -0
  88. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/crates/ouroboros-tui/Cargo.lock +0 -0
  89. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/crates/ouroboros-tui/Cargo.toml +0 -0
  90. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/crates/ouroboros-tui/README.md +0 -0
  91. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/crates/ouroboros-tui/src/db.rs +0 -0
  92. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/crates/ouroboros-tui/src/main.rs +0 -0
  93. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/crates/ouroboros-tui/src/mock.rs +0 -0
  94. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/crates/ouroboros-tui/src/state.rs +0 -0
  95. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/crates/ouroboros-tui/src/views/dashboard.rs +0 -0
  96. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/crates/ouroboros-tui/src/views/execution.rs +0 -0
  97. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/crates/ouroboros-tui/src/views/lineage.rs +0 -0
  98. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/crates/ouroboros-tui/src/views/logs.rs +0 -0
  99. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/crates/ouroboros-tui/src/views/mod.rs +0 -0
  100. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/crates/ouroboros-tui/src/views/session_selector.rs +0 -0
  101. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/README.md +0 -0
  102. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/agentos/control-journal.md +0 -0
  103. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/agentos/fat-harness-baseline-metrics.md +0 -0
  104. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/agentos/issue-sequencing-graph.md +0 -0
  105. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/agentos/profile-taxonomy.md +0 -0
  106. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/agentos/projection-followups.md +0 -0
  107. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/agentos/projection-v1-scope.md +0 -0
  108. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/agentos/release-readiness.md +0 -0
  109. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/agentos/runtime-contract.md +0 -0
  110. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/agentos/traceguard-observation-protocol.md +0 -0
  111. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/agentos/traceguard-vs-legacy-benchmark.md +0 -0
  112. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/agentos/workflow-ir-projection-mapping.md +0 -0
  113. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/agentos/workflow-ir-v1.md +0 -0
  114. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/api/README.md +0 -0
  115. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/api/core.md +0 -0
  116. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/api/mcp.md +0 -0
  117. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/architecture.md +0 -0
  118. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/auto-interview-convergence-contract.md +0 -0
  119. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/auto-runtime-semantics.md +0 -0
  120. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/cli-reference.md +0 -0
  121. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/config-reference.md +0 -0
  122. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/contributing/agent-os-kernel-terminology.md +0 -0
  123. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/contributing/architecture-overview.md +0 -0
  124. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/contributing/control-contract.md +0 -0
  125. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/contributing/control-plane-followups.md +0 -0
  126. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/contributing/findings-registry.md +0 -0
  127. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/contributing/issue-quality-policy.md +0 -0
  128. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/contributing/key-patterns.md +0 -0
  129. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/contributing/testing-guide.md +0 -0
  130. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/contributing/verifier-evidence-policy.md +0 -0
  131. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/contributing/watchdog-cancellation.md +0 -0
  132. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/events.md +0 -0
  133. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/examples/mcp-config.yaml +0 -0
  134. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/examples/workflows/design-code-verify.md +0 -0
  135. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/examples/workflows/research-to-deliverable.md +0 -0
  136. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/getting-started.md +0 -0
  137. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/guides/agent-process-lifecycle.md +0 -0
  138. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/guides/evaluation-pipeline.md +0 -0
  139. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/guides/evolution-loop.md +0 -0
  140. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/guides/execution-vs-evaluation.md +0 -0
  141. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/guides/issue-176-subagent-mcp-inheritance.md +0 -0
  142. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/guides/mcp-best-practices.md +0 -0
  143. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/guides/mcp-bridge.md +0 -0
  144. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/guides/ooo-skill-dispatch-router.md +0 -0
  145. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/guides/opencode-subagent-bridge.md +0 -0
  146. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/guides/qa-backends.md +0 -0
  147. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/guides/seed-authoring.md +0 -0
  148. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/guides/tui-usage.md +0 -0
  149. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/guides/windows-wsl-troubleshooting.md +0 -0
  150. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/images/PLACEHOLDER_README.md +0 -0
  151. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/images/ouroboros.png +0 -0
  152. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/interview-advisory-fanout-comparison.html +0 -0
  153. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/ooo-auto-analysis.md +0 -0
  154. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/ooo-auto-evolution-plan.md +0 -0
  155. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/platform-support.md +0 -0
  156. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/config-coherence.md +0 -0
  157. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/contract-ledger.md +0 -0
  158. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/decomposition-reliability.md +0 -0
  159. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/disposable-memory.md +0 -0
  160. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/frugality-control-loop.md +0 -0
  161. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/frugality-proof-producers.md +0 -0
  162. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/interview-hardening.md +0 -0
  163. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/interview-milestone-lateral-contract.md +0 -0
  164. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/mesh.md +0 -0
  165. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/plugin-artifact-state-hook-contract.md +0 -0
  166. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/plugin-tool-call-hook-contract.md +0 -0
  167. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/runtime-delegation-contract.md +0 -0
  168. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/runtime-timeout-contract.md +0 -0
  169. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/spend-actuator-effort-dial.md +0 -0
  170. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/spend-estimator.md +0 -0
  171. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/transparency-breadcrumb-tui.md +0 -0
  172. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/userlevel-plugins.md +0 -0
  173. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/rfc/verdict-envelope-v1.md +0 -0
  174. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/runtime-capability-matrix.md +0 -0
  175. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/runtime-guides/claude-code.md +0 -0
  176. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/runtime-guides/codex.md +0 -0
  177. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/runtime-guides/copilot.md +0 -0
  178. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/runtime-guides/gemini.md +0 -0
  179. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/runtime-guides/gjc.md +0 -0
  180. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/runtime-guides/goose.md +0 -0
  181. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/runtime-guides/hermes.md +0 -0
  182. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/runtime-guides/kiro.md +0 -0
  183. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/runtime-guides/opencode.md +0 -0
  184. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/runtime-guides/pi.md +0 -0
  185. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/docs/runtime-guides/skill-capability-guides.md +0 -0
  186. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/examples/coordinator_test_seed.yaml +0 -0
  187. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/examples/dummy_seed.yaml +0 -0
  188. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/examples/parallel_subac_test_seed.yaml +0 -0
  189. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/examples/subac_test_seed.yaml +0 -0
  190. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/examples/task_manager/README.md +0 -0
  191. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/examples/task_manager/__init__.py +0 -0
  192. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/examples/task_manager/__main__.py +0 -0
  193. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/examples/task_manager/cli.py +0 -0
  194. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/examples/task_manager/models.py +0 -0
  195. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/examples/task_manager/storage.py +0 -0
  196. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/examples/test_display.py +0 -0
  197. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/hooks/hooks.json +0 -0
  198. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/llms-full.txt +0 -0
  199. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/llms.txt +0 -0
  200. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/project-context.md +0 -0
  201. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/pyproject.toml +0 -0
  202. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/scripts/check-auto-boundary.py +0 -0
  203. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/scripts/check-auto-perf-budget.py +0 -0
  204. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/scripts/check-max-turns-envelope.py +0 -0
  205. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/scripts/drift-monitor.py +0 -0
  206. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/scripts/keyword-detector.py +0 -0
  207. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/scripts/mcp-serve.sh +0 -0
  208. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/scripts/ralph-rewind.py +0 -0
  209. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/scripts/ralph.py +0 -0
  210. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/scripts/ralph.sh +0 -0
  211. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/scripts/session-start.py +0 -0
  212. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/scripts/sync-plugin-version.py +0 -0
  213. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/scripts/version-check.py +0 -0
  214. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/auto/SKILL.md +0 -0
  215. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/brownfield/SKILL.md +0 -0
  216. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/cancel/SKILL.md +0 -0
  217. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/config/SKILL.md +0 -0
  218. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/evaluate/SKILL.md +0 -0
  219. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/evolve/SKILL.md +0 -0
  220. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/help/SKILL.md +0 -0
  221. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/pm/SKILL.md +0 -0
  222. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/publish/SKILL.md +0 -0
  223. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/qa/SKILL.md +0 -0
  224. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/ralph/SKILL.md +0 -0
  225. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/resume-session/SKILL.md +0 -0
  226. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/run/SKILL.md +0 -0
  227. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/seed/SKILL.md +0 -0
  228. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/status/SKILL.md +0 -0
  229. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/tutorial/SKILL.md +0 -0
  230. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/update/SKILL.md +0 -0
  231. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/skills/welcome/SKILL.md +0 -0
  232. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/__init__.py +0 -0
  233. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/__main__.py +0 -0
  234. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/__init__.py +0 -0
  235. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/advocate.md +0 -0
  236. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/analysis-agent.md +0 -0
  237. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/architect.md +0 -0
  238. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/breadth-keeper.md +0 -0
  239. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/code-executor.md +0 -0
  240. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/codebase-explorer.md +0 -0
  241. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/consensus-reviewer.md +0 -0
  242. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/contrarian.md +0 -0
  243. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/evaluator.md +0 -0
  244. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/hacker.md +0 -0
  245. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/judge.md +0 -0
  246. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/loader.py +0 -0
  247. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/ontologist.md +0 -0
  248. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/ontology-analyst.md +0 -0
  249. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/qa-judge.md +0 -0
  250. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/research-agent.md +0 -0
  251. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/researcher.md +0 -0
  252. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/seed-architect.md +0 -0
  253. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/seed-closer.md +0 -0
  254. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/semantic-evaluator.md +0 -0
  255. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/simplifier.md +0 -0
  256. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/agents/socratic-interviewer.md +0 -0
  257. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/__init__.py +0 -0
  258. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/adapters.py +0 -0
  259. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/answerer.py +0 -0
  260. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/auto_fill.py +0 -0
  261. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/blocker_attribution.py +0 -0
  262. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/checkpoint_commits.py +0 -0
  263. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/domain_inference.py +0 -0
  264. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/domain_profile.py +0 -0
  265. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/execution_acceptance.py +0 -0
  266. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/gap_detector.py +0 -0
  267. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/grading.py +0 -0
  268. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/handoff_contract.py +0 -0
  269. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/intent_guard.py +0 -0
  270. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/interview_driver.py +0 -0
  271. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/lateral_routing.py +0 -0
  272. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/ledger.py +0 -0
  273. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/ledger_seed.py +0 -0
  274. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/listeners.py +0 -0
  275. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/pipeline.py +0 -0
  276. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/policies.py +0 -0
  277. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/profiles/__init__.py +0 -0
  278. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/profiles/coding.py +0 -0
  279. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/profiles/research.py +0 -0
  280. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/progress.py +0 -0
  281. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/provenance.py +0 -0
  282. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/recovery_plan.py +0 -0
  283. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/repo_context.py +0 -0
  284. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/resume_render.py +0 -0
  285. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/runtime_routing.py +0 -0
  286. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/safe_defaults.py +0 -0
  287. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/seed_repairer.py +0 -0
  288. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/seed_reviewer.py +0 -0
  289. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/state.py +0 -0
  290. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/task_class_application.py +0 -0
  291. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/task_classes.py +0 -0
  292. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/auto/worktree.py +0 -0
  293. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/backends/model_catalog.py +0 -0
  294. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/bigbang/__init__.py +0 -0
  295. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/bigbang/ambiguity.py +0 -0
  296. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/bigbang/brownfield.py +0 -0
  297. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/bigbang/explore.py +0 -0
  298. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/bigbang/interview.py +0 -0
  299. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/bigbang/pm_completion.py +0 -0
  300. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/bigbang/pm_document.py +0 -0
  301. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/bigbang/pm_interview.py +0 -0
  302. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/bigbang/pm_seed.py +0 -0
  303. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/bigbang/question_classifier.py +0 -0
  304. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/bigbang/seed_generator.py +0 -0
  305. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/claude_permissions.py +0 -0
  306. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/__init__.py +0 -0
  307. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/__init__.py +0 -0
  308. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/auto.py +0 -0
  309. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/cancel.py +0 -0
  310. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/codex.py +0 -0
  311. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/config.py +0 -0
  312. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/detect.py +0 -0
  313. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/dispatch.py +0 -0
  314. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/init.py +0 -0
  315. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/job.py +0 -0
  316. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/mcp.py +0 -0
  317. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/mcp_doctor.py +0 -0
  318. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/plugin.py +0 -0
  319. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/plugin_dispatch.py +0 -0
  320. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/pm.py +0 -0
  321. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/qa.py +0 -0
  322. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/resume.py +0 -0
  323. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/run.py +0 -0
  324. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/setup.py +0 -0
  325. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/status.py +0 -0
  326. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/tui.py +0 -0
  327. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/uninstall.py +0 -0
  328. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/commands/workflow_ir.py +0 -0
  329. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/formatters/__init__.py +0 -0
  330. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/formatters/panels.py +0 -0
  331. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/formatters/progress.py +0 -0
  332. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/formatters/prompting.py +0 -0
  333. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/formatters/tables.py +0 -0
  334. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/formatters/workflow_display.py +0 -0
  335. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/jsonc.py +0 -0
  336. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/main.py +0 -0
  337. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/cli/opencode_config.py +0 -0
  338. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/codex/__init__.py +0 -0
  339. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/codex/artifacts.py +0 -0
  340. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/codex/cli_policy.py +0 -0
  341. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/codex/ouroboros.md +0 -0
  342. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/codex/runtime_profile.py +0 -0
  343. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/codex_permissions.py +0 -0
  344. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/config/__init__.py +0 -0
  345. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/config/_model_defaults.py +0 -0
  346. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/config/loader.py +0 -0
  347. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/config/models.py +0 -0
  348. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/config_tui/__init__.py +0 -0
  349. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/config_tui/__main__.py +0 -0
  350. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/config_tui/app.py +0 -0
  351. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/config_tui/fields.py +0 -0
  352. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/config_tui/launcher.py +0 -0
  353. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/config_tui/persistence.py +0 -0
  354. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/copilot/__init__.py +0 -0
  355. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/copilot/cli_policy.py +0 -0
  356. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/copilot/model_discovery.py +0 -0
  357. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/copilot/runtime_profile.py +0 -0
  358. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/copilot_permissions.py +0 -0
  359. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/__init__.py +0 -0
  360. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/ac_tree.py +0 -0
  361. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/context.py +0 -0
  362. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/control_contract.py +0 -0
  363. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/directive.py +0 -0
  364. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/errors.py +0 -0
  365. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/file_lock.py +0 -0
  366. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/git_workflow.py +0 -0
  367. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/hitl_contract.py +0 -0
  368. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/hitl_resume.py +0 -0
  369. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/hitl_state.py +0 -0
  370. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/initial_context.py +0 -0
  371. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/json_utils.py +0 -0
  372. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/lineage.py +0 -0
  373. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/ontology_aspect.py +0 -0
  374. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/ontology_questions.py +0 -0
  375. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/project_paths.py +0 -0
  376. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/retry.py +0 -0
  377. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/runtime_transition.py +0 -0
  378. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/security.py +0 -0
  379. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/seed.py +0 -0
  380. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/seed_contract.py +0 -0
  381. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/seed_contract_prompt.py +0 -0
  382. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/text.py +0 -0
  383. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/ttl_cache.py +0 -0
  384. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/types.py +0 -0
  385. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/core/worktree.py +0 -0
  386. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evaluation/__init__.py +0 -0
  387. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evaluation/artifact_collector.py +0 -0
  388. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evaluation/checklist.py +0 -0
  389. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evaluation/consensus.py +0 -0
  390. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evaluation/detector.py +0 -0
  391. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evaluation/json_utils.py +0 -0
  392. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evaluation/languages.py +0 -0
  393. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evaluation/mechanical.py +0 -0
  394. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evaluation/models.py +0 -0
  395. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evaluation/pipeline.py +0 -0
  396. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evaluation/semantic.py +0 -0
  397. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evaluation/trigger.py +0 -0
  398. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evaluation/verification_artifacts.py +0 -0
  399. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/events/__init__.py +0 -0
  400. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/events/base.py +0 -0
  401. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/events/control.py +0 -0
  402. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/events/evaluation.py +0 -0
  403. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/events/hitl.py +0 -0
  404. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/events/interview.py +0 -0
  405. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/events/io.py +0 -0
  406. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/events/io_recorder.py +0 -0
  407. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/events/lineage.py +0 -0
  408. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/events/ontology.py +0 -0
  409. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evolution/__init__.py +0 -0
  410. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evolution/convergence.py +0 -0
  411. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evolution/directive_mapping.py +0 -0
  412. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evolution/loop.py +0 -0
  413. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evolution/material_progress.py +0 -0
  414. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evolution/projector.py +0 -0
  415. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evolution/reflect.py +0 -0
  416. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evolution/regression.py +0 -0
  417. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evolution/watchdog.py +0 -0
  418. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/evolution/wonder.py +0 -0
  419. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/gjc_bridge/index.ts +0 -0
  420. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/harness/__init__.py +0 -0
  421. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/harness/claim_term_guard.py +0 -0
  422. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/harness/deliver_gate.py +0 -0
  423. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/harness/deliver_routing.py +0 -0
  424. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/harness/journal.py +0 -0
  425. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/harness/projection.py +0 -0
  426. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/harness/projection_builder.py +0 -0
  427. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/harness/run_snapshot.py +0 -0
  428. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/hermes/__init__.py +0 -0
  429. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/hermes/artifacts.py +0 -0
  430. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/kiro/__init__.py +0 -0
  431. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/kiro/cli_policy.py +0 -0
  432. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/__init__.py +0 -0
  433. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/bridge/__init__.py +0 -0
  434. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/bridge/bridge.py +0 -0
  435. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/bridge/config.py +0 -0
  436. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/bridge/factory.py +0 -0
  437. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/client/__init__.py +0 -0
  438. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/client/adapter.py +0 -0
  439. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/client/manager.py +0 -0
  440. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/client/protocol.py +0 -0
  441. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/errors.py +0 -0
  442. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/job_manager.py +0 -0
  443. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/resources/__init__.py +0 -0
  444. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/resources/handlers.py +0 -0
  445. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/server/__init__.py +0 -0
  446. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/server/adapter.py +0 -0
  447. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/server/protocol.py +0 -0
  448. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/server/security.py +0 -0
  449. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/__init__.py +0 -0
  450. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/ac_tree_hud_handler.py +0 -0
  451. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/ac_tree_hud_render.py +0 -0
  452. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/authoring_handlers.py +0 -0
  453. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/auto_handler.py +0 -0
  454. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/background.py +0 -0
  455. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/bridge_mixin.py +0 -0
  456. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/brownfield_handler.py +0 -0
  457. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/dashboard.py +0 -0
  458. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/definitions.py +0 -0
  459. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/evaluation_handlers.py +0 -0
  460. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/evolution_handlers.py +0 -0
  461. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/execution_handlers.py +0 -0
  462. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/job_handlers.py +0 -0
  463. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/pm_handler.py +0 -0
  464. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/projection_handlers.py +0 -0
  465. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/qa.py +0 -0
  466. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/query_handlers.py +0 -0
  467. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/ralph_handlers.py +0 -0
  468. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/registry.py +0 -0
  469. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/tools/subagent.py +0 -0
  470. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/mcp/types.py +0 -0
  471. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/observability/__init__.py +0 -0
  472. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/observability/drift.py +0 -0
  473. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/observability/logging.py +0 -0
  474. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/observability/retrospective.py +0 -0
  475. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/opencode/__init__.py +0 -0
  476. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/opencode/plugin/__init__.py +0 -0
  477. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/opencode/plugin/opencode-plugin.d.ts +0 -0
  478. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/opencode/plugin/ouroboros-bridge.test.ts +0 -0
  479. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/opencode/plugin/ouroboros-bridge.ts +0 -0
  480. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/opencode/plugin/package.json +0 -0
  481. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/opencode/plugin/tsconfig.json +0 -0
  482. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/__init__.py +0 -0
  483. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/adapter.py +0 -0
  484. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/agent_process.py +0 -0
  485. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/agent_runtime_context.py +0 -0
  486. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/backend_limits.py +0 -0
  487. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/baseline_metrics.py +0 -0
  488. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/baseline_metrics_capture.py +0 -0
  489. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/baseline_metrics_format.py +0 -0
  490. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/capabilities.py +0 -0
  491. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/codex_cli_runtime.py +0 -0
  492. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/command_dispatcher.py +0 -0
  493. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/context_governor.py +0 -0
  494. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/control_bus.py +0 -0
  495. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/control_plane.py +0 -0
  496. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/coordinator.py +0 -0
  497. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/copilot_cli_runtime.py +0 -0
  498. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/decomposition_params.py +0 -0
  499. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/dependency_analyzer.py +0 -0
  500. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/effort_routing.py +0 -0
  501. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/events.py +0 -0
  502. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/evidence_schema.py +0 -0
  503. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/execution_runtime_scope.py +0 -0
  504. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/execution_strategy.py +0 -0
  505. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/failure_taxonomy.py +0 -0
  506. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/frugality_proof.py +0 -0
  507. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/gemini_cli_runtime.py +0 -0
  508. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/gjc_runtime.py +0 -0
  509. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/goose_runtime.py +0 -0
  510. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/heartbeat.py +0 -0
  511. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/hermes_runtime.py +0 -0
  512. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/kiro_adapter.py +0 -0
  513. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/level_context.py +0 -0
  514. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/mcp_config.py +0 -0
  515. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/mcp_tools.py +0 -0
  516. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/opencode_event_normalizer.py +0 -0
  517. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/opencode_runtime.py +0 -0
  518. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/parallel_executor.py +0 -0
  519. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/parallel_executor_models.py +0 -0
  520. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/phase_wrappers.py +0 -0
  521. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/pi_runtime.py +0 -0
  522. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/policy.py +0 -0
  523. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/profile_loader.py +0 -0
  524. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/profile_strategy.py +0 -0
  525. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/rate_limit.py +0 -0
  526. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/runner.py +0 -0
  527. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/runtime_error.py +0 -0
  528. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/runtime_evidence.py +0 -0
  529. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/runtime_factory.py +0 -0
  530. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/runtime_message_projection.py +0 -0
  531. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/runtime_param_negotiation.py +0 -0
  532. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/session.py +0 -0
  533. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/skill_intercept.py +0 -0
  534. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/skill_tool_mapping.py +0 -0
  535. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/stage.py +0 -0
  536. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/traceguard_benchmark_capture.py +0 -0
  537. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/verifier.py +0 -0
  538. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/workflow_ir.py +0 -0
  539. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/workflow_ir_adapter.py +0 -0
  540. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/workflow_lifecycle.py +0 -0
  541. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator/workflow_state.py +0 -0
  542. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/orchestrator_stage.py +0 -0
  543. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/persistence/__init__.py +0 -0
  544. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/persistence/brownfield.py +0 -0
  545. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/persistence/checkpoint.py +0 -0
  546. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/persistence/event_store.py +0 -0
  547. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/persistence/migrations/__init__.py +0 -0
  548. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/persistence/migrations/runner.py +0 -0
  549. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/persistence/migrations/scripts/001_initial.sql +0 -0
  550. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/persistence/migrations/scripts/002_brownfield.sql +0 -0
  551. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/persistence/schema.py +0 -0
  552. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/persistence/uow.py +0 -0
  553. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/__init__.py +0 -0
  554. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/agents/__init__.py +0 -0
  555. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/agents/pool.py +0 -0
  556. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/agents/registry.py +0 -0
  557. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/digest.py +0 -0
  558. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/firewall.py +0 -0
  559. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/hooks.py +0 -0
  560. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/ledger_adapter.py +0 -0
  561. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/lockfile.py +0 -0
  562. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/manifest.py +0 -0
  563. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/schemas/0.1/_source.json +0 -0
  564. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/schemas/0.1/audit-event.schema.json +0 -0
  565. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/schemas/0.1/plugin.schema.json +0 -0
  566. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/schemas/0.2/_source.json +0 -0
  567. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/schemas/0.2/audit-event.schema.json +0 -0
  568. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/schemas/0.2/plugin.schema.json +0 -0
  569. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/schemas/0.3/_source.json +0 -0
  570. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/schemas/0.3/audit-event.schema.json +0 -0
  571. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/schemas/0.3/plugin.schema.json +0 -0
  572. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/schemas/0.4/_source.json +0 -0
  573. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/schemas/0.4/audit-event.schema.json +0 -0
  574. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/schemas/0.4/plugin.schema.json +0 -0
  575. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/skills/__init__.py +0 -0
  576. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/skills/docs.py +0 -0
  577. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/skills/executor.py +0 -0
  578. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/skills/keywords.py +0 -0
  579. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/skills/registry.py +0 -0
  580. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/trust_store.py +0 -0
  581. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/plugin/userlevel_registry.py +0 -0
  582. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/pm/__init__.py +0 -0
  583. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/pm/handoff.py +0 -0
  584. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/pm/renderer.py +0 -0
  585. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/profiles/analysis.yaml +0 -0
  586. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/profiles/code.yaml +0 -0
  587. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/profiles/research.yaml +0 -0
  588. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/__init__.py +0 -0
  589. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/anthropic_adapter.py +0 -0
  590. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/base.py +0 -0
  591. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/claude_code_adapter.py +0 -0
  592. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/codex_cli_adapter.py +0 -0
  593. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/codex_cli_stream.py +0 -0
  594. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/copilot_cli_adapter.py +0 -0
  595. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/factory.py +0 -0
  596. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/gemini_cli_adapter.py +0 -0
  597. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/gemini_event_normalizer.py +0 -0
  598. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/gjc_llm_adapter.py +0 -0
  599. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/gjc_rpc_protocol.py +0 -0
  600. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/goose_cli_adapter.py +0 -0
  601. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/hermes_cli_adapter.py +0 -0
  602. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/kiro_adapter.py +0 -0
  603. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/litellm_adapter.py +0 -0
  604. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/opencode_adapter.py +0 -0
  605. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/ourocode_acp_client.py +0 -0
  606. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/ourocode_llm_adapter.py +0 -0
  607. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/pi_llm_adapter.py +0 -0
  608. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/profiles.py +0 -0
  609. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/providers/tool_use_diagnostics.py +0 -0
  610. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/py.typed +0 -0
  611. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/ralph_loop.py +0 -0
  612. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/resilience/__init__.py +0 -0
  613. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/resilience/lateral.py +0 -0
  614. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/resilience/recovery.py +0 -0
  615. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/resilience/stagnation.py +0 -0
  616. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/router/__init__.py +0 -0
  617. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/router/command_parser.py +0 -0
  618. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/router/dispatch.py +0 -0
  619. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/router/registry.py +0 -0
  620. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/router/types.py +0 -0
  621. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/runtime/__init__.py +0 -0
  622. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/runtime/child_env.py +0 -0
  623. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/runtime/controls.py +0 -0
  624. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/runtime/watchdog.py +0 -0
  625. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/runtime_instruction_artifacts.py +0 -0
  626. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/sandbox.py +0 -0
  627. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/skills/__init__.py +0 -0
  628. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/skills/artifacts.py +0 -0
  629. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/strategies/__init__.py +0 -0
  630. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/strategies/devil_advocate.py +0 -0
  631. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/__init__.py +0 -0
  632. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/app.py +0 -0
  633. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/components/__init__.py +0 -0
  634. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/components/agents_panel.py +0 -0
  635. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/components/event_log.py +0 -0
  636. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/components/progress.py +0 -0
  637. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/components/token_tracker.py +0 -0
  638. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/events.py +0 -0
  639. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/screens/__init__.py +0 -0
  640. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/screens/confirm_rewind.py +0 -0
  641. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/screens/dashboard.py +0 -0
  642. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/screens/dashboard_v2.py +0 -0
  643. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/screens/dashboard_v3.py +0 -0
  644. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/screens/debug.py +0 -0
  645. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/screens/execution.py +0 -0
  646. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/screens/hud_dashboard.py +0 -0
  647. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/screens/lineage_detail.py +0 -0
  648. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/screens/lineage_selector.py +0 -0
  649. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/screens/logs.py +0 -0
  650. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/screens/session_selector.py +0 -0
  651. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/widgets/__init__.py +0 -0
  652. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/widgets/ac_progress.py +0 -0
  653. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/widgets/ac_tree.py +0 -0
  654. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/widgets/agent_activity.py +0 -0
  655. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/widgets/cost_tracker.py +0 -0
  656. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/widgets/drift_meter.py +0 -0
  657. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/widgets/lineage_tree.py +0 -0
  658. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/widgets/parallel_graph.py +0 -0
  659. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/tui/widgets/phase_progress.py +0 -0
  660. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/verification/__init__.py +0 -0
  661. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/verification/extractor.py +0 -0
  662. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/verification/models.py +0 -0
  663. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/src/ouroboros/verification/verifier.py +0 -0
  664. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/__init__.py +0 -0
  665. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/_envelope_wiring.py +0 -0
  666. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/canonical/README.md +0 -0
  667. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/canonical/__init__.py +0 -0
  668. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/canonical/cli-todo/expected.yaml +0 -0
  669. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/canonical/cli-todo/goal.txt +0 -0
  670. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/canonical/conftest.py +0 -0
  671. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/canonical/test_canonical.py +0 -0
  672. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/canonical/test_conftest.py +0 -0
  673. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/conformance/__init__.py +0 -0
  674. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/conformance/workflow_ir/__init__.py +0 -0
  675. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/conformance/workflow_ir/fixtures.py +0 -0
  676. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/conformance/workflow_ir/test_negative_fixtures.py +0 -0
  677. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/conformance/workflow_ir/test_plugin_firewall_contract.py +0 -0
  678. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/conformance/workflow_ir/test_positive_fixtures.py +0 -0
  679. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/conftest.py +0 -0
  680. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/e2e/__init__.py +0 -0
  681. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/e2e/conftest.py +0 -0
  682. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/e2e/mcp_bridge_test_config.yaml +0 -0
  683. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/e2e/test_cli_commands.py +0 -0
  684. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/e2e/test_full_workflow.py +0 -0
  685. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/e2e/test_session_persistence.py +0 -0
  686. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/fixtures/fake_ourocode_acp.py +0 -0
  687. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/fixtures/plugins-fixture/README.md +0 -0
  688. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/fixtures/plugins-fixture/plugins/github-pr-ops/github_pr_ops/__init__.py +0 -0
  689. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/fixtures/plugins-fixture/plugins/github-pr-ops/github_pr_ops/__main__.py +0 -0
  690. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/fixtures/plugins-fixture/plugins/github-pr-ops/ouroboros.plugin.json +0 -0
  691. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/fixtures/projection/mechanical_evaluation_events.json +0 -0
  692. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/fixtures/router/skills/frontmatter-body/run/SKILL.md +0 -0
  693. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/fixtures/seeds/mechanical-eval-minimal.yaml +0 -0
  694. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/__init__.py +0 -0
  695. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/auto/__init__.py +0 -0
  696. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/auto/test_dispatch_to_seed_e2e.py +0 -0
  697. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/auto/test_domain_profile_plurality.py +0 -0
  698. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/auto/test_end_to_end_product.py +0 -0
  699. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/auto/test_interview_deadline_partial_product_regression.py +0 -0
  700. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/auto/test_status_unified.py +0 -0
  701. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/conftest.py +0 -0
  702. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/mcp/__init__.py +0 -0
  703. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/mcp/bridge/__init__.py +0 -0
  704. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/mcp/bridge/test_bridge_server_to_server.py +0 -0
  705. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/mcp/conftest.py +0 -0
  706. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/mcp/test_client_adapter.py +0 -0
  707. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/mcp/test_client_manager.py +0 -0
  708. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/mcp/test_server_adapter.py +0 -0
  709. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/orchestrator/__init__.py +0 -0
  710. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/orchestrator/test_agent_process_three_surface_acceptance.py +0 -0
  711. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/plugin/__init__.py +0 -0
  712. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/plugin/test_e2e.py +0 -0
  713. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/plugin/test_orchestration.py +0 -0
  714. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/plugin/test_wheel_packaging.py +0 -0
  715. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/test_cancel_subprocess_termination.py +0 -0
  716. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/test_codex_cli_passthrough_smoke.py +0 -0
  717. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/test_codex_skill_fallback.py +0 -0
  718. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/test_codex_skill_smoke.py +0 -0
  719. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/test_copilot_cli_smoke.py +0 -0
  720. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/test_entry_point.py +0 -0
  721. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/test_ir_projection_consistency.py +0 -0
  722. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/test_mechanical_eval_projection.py +0 -0
  723. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/integration/test_pi_native_smoke.py +0 -0
  724. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/test-execution-plan.md +0 -0
  725. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/__init__.py +0 -0
  726. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/agents/__init__.py +0 -0
  727. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/agents/test_loader.py +0 -0
  728. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/conftest.py +0 -0
  729. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_821_acceptance_matrix.py +0 -0
  730. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_adapters_client_gates.py +0 -0
  731. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_adapters_ralph_poller.py +0 -0
  732. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_answer_refiner_adapter.py +0 -0
  733. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_answer_source_log.py +0 -0
  734. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_answerer_via_domain_profile.py +0 -0
  735. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_auto_fill.py +0 -0
  736. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_auto_policies.py +0 -0
  737. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_auto_worktree.py +0 -0
  738. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_blocker_attribution.py +0 -0
  739. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_checkpoint_commits.py +0 -0
  740. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_cli_progress.py +0 -0
  741. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_domain_inference.py +0 -0
  742. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_domain_profile_coding_parity.py +0 -0
  743. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_domain_profile_contracts.py +0 -0
  744. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_execution_acceptance.py +0 -0
  745. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_handoff_contract.py +0 -0
  746. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_intent_guard.py +0 -0
  747. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_interview_answer_refiner.py +0 -0
  748. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_interview_driver_event_store_wiring.py +0 -0
  749. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_interview_pipeline.py +0 -0
  750. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_interview_stagnation_lateral.py +0 -0
  751. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_lateral_routing_safe_default.py +0 -0
  752. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_ledger_committed_decisions.py +0 -0
  753. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_ledger_grading_answerer.py +0 -0
  754. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_ledger_seed.py +0 -0
  755. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_pipeline_deadline.py +0 -0
  756. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_pipeline_defaulted_sections_surface.py +0 -0
  757. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_pipeline_domain_profile.py +0 -0
  758. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_pipeline_evaluate.py +0 -0
  759. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_pipeline_interview_deadline_closure.py +0 -0
  760. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_pipeline_interview_observer_drain.py +0 -0
  761. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_pipeline_lateral.py +0 -0
  762. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_pipeline_oscillation_lateral.py +0 -0
  763. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_pipeline_partial_product_terminal.py +0 -0
  764. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_pipeline_provenance.py +0 -0
  765. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_pipeline_ralph_handoff.py +0 -0
  766. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_pipeline_runtime_probe_envelope.py +0 -0
  767. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_pipeline_task_class_envelope.py +0 -0
  768. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_pipeline_watchdog_integration.py +0 -0
  769. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_progress.py +0 -0
  770. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_recovery_plan.py +0 -0
  771. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_research_profile.py +0 -0
  772. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_run_starter_idempotency.py +0 -0
  773. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_runtime_routing.py +0 -0
  774. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_runtime_semantics.py +0 -0
  775. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_safe_default_lateral_escalation.py +0 -0
  776. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_safe_default_observability.py +0 -0
  777. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_safe_defaults_domain_profile.py +0 -0
  778. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_safe_defaults_freedom_policy.py +0 -0
  779. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_safe_defaults_prompt_non_goals.py +0 -0
  780. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_seed_repairer_bounded.py +0 -0
  781. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_state.py +0 -0
  782. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_state_provenance.py +0 -0
  783. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_stop_reason_code.py +0 -0
  784. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_surface.py +0 -0
  785. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_task_class_application.py +0 -0
  786. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_task_classes.py +0 -0
  787. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/auto/test_user_preference_and_floor.py +0 -0
  788. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/backends/test_model_catalog.py +0 -0
  789. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/__init__.py +0 -0
  790. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_ambiguity.py +0 -0
  791. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_brownfield.py +0 -0
  792. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_classifier_context.py +0 -0
  793. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_decide_later_items.py +0 -0
  794. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_explore.py +0 -0
  795. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_interview.py +0 -0
  796. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_interview_async_io.py +0 -0
  797. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_interview_no_web_search_hint.py +0 -0
  798. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_interview_research_prefix.py +0 -0
  799. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_interview_start_persist_failure.py +0 -0
  800. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_pm_completion.py +0 -0
  801. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_pm_document_generator.py +0 -0
  802. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_pm_document_writer.py +0 -0
  803. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_pm_interview.py +0 -0
  804. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_pm_interview_brownfield_db.py +0 -0
  805. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_pm_seed_ac12.py +0 -0
  806. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_pm_seed_save.py +0 -0
  807. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_question_classifier.py +0 -0
  808. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/bigbang/test_seed_generator.py +0 -0
  809. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/__init__.py +0 -0
  810. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/commands/test_config_bare_dispatch.py +0 -0
  811. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/commands/test_tui_command.py +0 -0
  812. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/conftest.py +0 -0
  813. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/formatters/__init__.py +0 -0
  814. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/formatters/test_console.py +0 -0
  815. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/formatters/test_panels.py +0 -0
  816. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/formatters/test_progress.py +0 -0
  817. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/formatters/test_prompting.py +0 -0
  818. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/formatters/test_tables.py +0 -0
  819. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/formatters/test_workflow_display.py +0 -0
  820. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_auto_command.py +0 -0
  821. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_auto_domain_activation.py +0 -0
  822. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_auto_provenance.py +0 -0
  823. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_auto_runtime_dispatch.py +0 -0
  824. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_bridge_plugin_hardening.py +0 -0
  825. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_bridge_plugin_lifecycle.py +0 -0
  826. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_cancel.py +0 -0
  827. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_codex_command.py +0 -0
  828. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_config.py +0 -0
  829. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_debug_tool_started_callbacks.py +0 -0
  830. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_detached_auto_wait_command.py +0 -0
  831. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_detect_allowed_tools_wiring.py +0 -0
  832. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_dispatch_command.py +0 -0
  833. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_doc_commands.py +0 -0
  834. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_init_hitl.py +0 -0
  835. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_init_pm_seed_detection.py +0 -0
  836. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_init_runtime.py +0 -0
  837. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_job_command.py +0 -0
  838. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_jsonc.py +0 -0
  839. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_main.py +0 -0
  840. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_mcp_doctor.py +0 -0
  841. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_mcp_nested_guard.py +0 -0
  842. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_mcp_pid_registry.py +0 -0
  843. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_mcp_shell_env.py +0 -0
  844. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_mcp_shutdown_drain.py +0 -0
  845. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_mcp_startup_cleanup.py +0 -0
  846. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_mcp_validate_transport_stderr.py +0 -0
  847. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_opencode_config.py +0 -0
  848. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_plugin_command.py +0 -0
  849. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_plugin_command_mutating.py +0 -0
  850. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_plugin_dispatch.py +0 -0
  851. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_pm.py +0 -0
  852. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_pm_brownfield.py +0 -0
  853. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_pm_completion.py +0 -0
  854. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_pm_interactive_logging.py +0 -0
  855. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_pm_missing_litellm.py +0 -0
  856. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_pm_overwrite.py +0 -0
  857. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_pm_runtime_adapter.py +0 -0
  858. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_pm_select_repos.py +0 -0
  859. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_resume.py +0 -0
  860. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_run_qa.py +0 -0
  861. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_setup.py +0 -0
  862. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_status.py +0 -0
  863. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_status_run.py +0 -0
  864. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/cli/test_uninstall.py +0 -0
  865. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/codex/test_cli_policy.py +0 -0
  866. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/config/__init__.py +0 -0
  867. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/config/test_loader.py +0 -0
  868. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/config/test_loader_env.py +0 -0
  869. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/config/test_models.py +0 -0
  870. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/config_tui/__init__.py +0 -0
  871. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/config_tui/test_app.py +0 -0
  872. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/config_tui/test_fields.py +0 -0
  873. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/config_tui/test_launcher.py +0 -0
  874. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/config_tui/test_persistence.py +0 -0
  875. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/copilot/__init__.py +0 -0
  876. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/copilot/test_cli_policy.py +0 -0
  877. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/copilot/test_model_discovery.py +0 -0
  878. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/copilot/test_permissions.py +0 -0
  879. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/__init__.py +0 -0
  880. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_ac_tree.py +0 -0
  881. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_context.py +0 -0
  882. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_control_contract.py +0 -0
  883. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_directive.py +0 -0
  884. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_errors.py +0 -0
  885. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_file_lock.py +0 -0
  886. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_git_workflow.py +0 -0
  887. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_hitl_contract.py +0 -0
  888. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_hitl_resume.py +0 -0
  889. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_hitl_state.py +0 -0
  890. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_initial_context.py +0 -0
  891. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_lineage.py +0 -0
  892. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_ontology_aspect.py +0 -0
  893. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_ontology_questions.py +0 -0
  894. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_project_paths.py +0 -0
  895. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_retry.py +0 -0
  896. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_runtime_transition.py +0 -0
  897. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_security.py +0 -0
  898. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_seed.py +0 -0
  899. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_seed_project_path_callers.py +0 -0
  900. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_ttl_cache.py +0 -0
  901. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_types.py +0 -0
  902. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/core/test_worktree.py +0 -0
  903. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/__init__.py +0 -0
  904. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/test_artifact_collector_file_prefix.py +0 -0
  905. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/test_checklist.py +0 -0
  906. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/test_consensus.py +0 -0
  907. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/test_detector.py +0 -0
  908. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/test_json_utils.py +0 -0
  909. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/test_languages.py +0 -0
  910. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/test_mechanical.py +0 -0
  911. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/test_models.py +0 -0
  912. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/test_pipeline_stage1_reuse.py +0 -0
  913. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/test_pipeline_trigger_consensus.py +0 -0
  914. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/test_review_fixes.py +0 -0
  915. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/test_semantic.py +0 -0
  916. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/test_trigger.py +0 -0
  917. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/test_trigger_consensus.py +0 -0
  918. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/test_verification_artifacts.py +0 -0
  919. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evaluation/test_verification_artifacts_allowed_tools_wiring.py +0 -0
  920. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/events/__init__.py +0 -0
  921. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/events/test_base.py +0 -0
  922. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/events/test_control_events.py +0 -0
  923. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/events/test_hitl_events.py +0 -0
  924. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/events/test_io_events.py +0 -0
  925. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/events/test_io_recorder.py +0 -0
  926. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evolution/test_backend_drift.py +0 -0
  927. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evolution/test_directive_mapping.py +0 -0
  928. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evolution/test_evolve_step_agent_process_integration.py +0 -0
  929. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evolution/test_generation_watchdog.py +0 -0
  930. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evolution/test_material_progress.py +0 -0
  931. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/evolution/test_wonder_scope.py +0 -0
  932. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/harness/__init__.py +0 -0
  933. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/harness/test_claim_term_guard.py +0 -0
  934. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/harness/test_deliver_gate.py +0 -0
  935. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/harness/test_deliver_routing.py +0 -0
  936. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/harness/test_journal_normalizer.py +0 -0
  937. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/harness/test_projection_builder.py +0 -0
  938. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/harness/test_projection_records.py +0 -0
  939. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/harness/test_run_snapshot.py +0 -0
  940. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/hermes/test_artifacts.py +0 -0
  941. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/__init__.py +0 -0
  942. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/bridge/__init__.py +0 -0
  943. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/bridge/test_bridge.py +0 -0
  944. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/bridge/test_config.py +0 -0
  945. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/bridge/test_factory.py +0 -0
  946. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/bridge/test_handler_wiring.py +0 -0
  947. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/bridge/test_stability.py +0 -0
  948. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/client/__init__.py +0 -0
  949. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/client/test_adapter.py +0 -0
  950. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/client/test_adapter_transport_lifecycle.py +0 -0
  951. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/client/test_manager.py +0 -0
  952. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/conftest.py +0 -0
  953. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/resources/test_handlers.py +0 -0
  954. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/server/__init__.py +0 -0
  955. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/server/test_adapter.py +0 -0
  956. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/server/test_adapter_max_turns_envelope_wiring.py +0 -0
  957. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/server/test_security.py +0 -0
  958. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/test_errors.py +0 -0
  959. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/test_job_manager.py +0 -0
  960. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/test_job_manager_drain.py +0 -0
  961. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/test_types.py +0 -0
  962. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/__init__.py +0 -0
  963. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/conftest.py +0 -0
  964. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_ac_tree_hud_footer.py +0 -0
  965. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_ac_tree_hud_handler.py +0 -0
  966. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_ac_tree_hud_handler_completed.py +0 -0
  967. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_ac_tree_hud_handler_cursor_changed.py +0 -0
  968. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_ac_tree_hud_handler_invalid_session.py +0 -0
  969. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_ac_tree_hud_handler_no_execution.py +0 -0
  970. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_ac_tree_hud_handler_waiting.py +0 -0
  971. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_ac_tree_hud_max_nodes.py +0 -0
  972. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_ac_tree_hud_render_depth2.py +0 -0
  973. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_ac_tree_hud_render_depth3.py +0 -0
  974. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_ac_tree_hud_status_icons.py +0 -0
  975. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_ac_tree_hud_truncation.py +0 -0
  976. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_authoring_allowed_tools_wiring.py +0 -0
  977. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_auto_handler_ralph_runtime.py +0 -0
  978. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_auto_handler_resume_lines.py +0 -0
  979. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_auto_interview_construction.py +0 -0
  980. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_bridge_mixin_runtime_context.py +0 -0
  981. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_brownfield_handler.py +0 -0
  982. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_checklist_verify.py +0 -0
  983. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_client_gates.py +0 -0
  984. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_definitions.py +0 -0
  985. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_definitions_runtime_context.py +0 -0
  986. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_evaluate_multi_ac.py +0 -0
  987. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_evolve_checkpoint_commits.py +0 -0
  988. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_evolve_step_bridge_aware.py +0 -0
  989. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_execute_seed_path_resolution.py +0 -0
  990. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_generate_seed_force_flag.py +0 -0
  991. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_handler_subagent_wiring.py +0 -0
  992. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_interview_allowed_tools_wiring.py +0 -0
  993. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_interview_completion_signal_prefix_guard.py +0 -0
  994. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_interview_done_streak.py +0 -0
  995. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_interview_intent_guard.py +0 -0
  996. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_interview_lateral_review_advisory.py +0 -0
  997. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_interview_length_guard_envelope.py +0 -0
  998. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_interview_persists_session_on_failure.py +0 -0
  999. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_interview_reopen_seed_ready.py +0 -0
  1000. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_interview_response_diagnostics.py +0 -0
  1001. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_interview_strict_mcp_config_wiring.py +0 -0
  1002. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_job_instance_cancel_keys.py +0 -0
  1003. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_job_invalid_arguments.py +0 -0
  1004. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_lateral_think_handler.py +0 -0
  1005. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_mcp_manager_wiring.py +0 -0
  1006. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_pm_handler.py +0 -0
  1007. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_pm_handler_allowed_tools_wiring.py +0 -0
  1008. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_pm_handler_pending_reframe.py +0 -0
  1009. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_qa_allowed_tools_wiring.py +0 -0
  1010. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_qa_parser.py +0 -0
  1011. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_ralph_handler.py +0 -0
  1012. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_registry.py +0 -0
  1013. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_round5_fixes.py +0 -0
  1014. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_start_auto.py +0 -0
  1015. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_start_evaluate.py +0 -0
  1016. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_start_execute_seed_idempotency.py +0 -0
  1017. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_subagent.py +0 -0
  1018. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/mcp/tools/test_unstuck_bridge_aware.py +0 -0
  1019. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/observability/__init__.py +0 -0
  1020. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/observability/test_drift.py +0 -0
  1021. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/observability/test_logging.py +0 -0
  1022. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/observability/test_retrospective.py +0 -0
  1023. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/__init__.py +0 -0
  1024. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_adapter.py +0 -0
  1025. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_agent_process.py +0 -0
  1026. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_agent_runtime_context.py +0 -0
  1027. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_backend_limits.py +0 -0
  1028. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_baseline_metrics.py +0 -0
  1029. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_baseline_metrics_capture.py +0 -0
  1030. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_baseline_metrics_format.py +0 -0
  1031. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_capabilities.py +0 -0
  1032. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_codex_cli_runtime.py +0 -0
  1033. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_codex_recursion_guard.py +0 -0
  1034. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_command_dispatcher.py +0 -0
  1035. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_context_governor.py +0 -0
  1036. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_control_bus.py +0 -0
  1037. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_control_plane.py +0 -0
  1038. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_coordinator.py +0 -0
  1039. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_copilot_cli_runtime.py +0 -0
  1040. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_dead_router_removed.py +0 -0
  1041. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_decomposition_params.py +0 -0
  1042. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_dependency_analyzer.py +0 -0
  1043. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_effort_routed_event.py +0 -0
  1044. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_effort_routing.py +0 -0
  1045. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_events.py +0 -0
  1046. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_evidence_schema.py +0 -0
  1047. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_execution_runtime_scope.py +0 -0
  1048. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_execution_strategy.py +0 -0
  1049. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_failure_taxonomy.py +0 -0
  1050. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_frugality_proof.py +0 -0
  1051. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_gemini_cli_runtime.py +0 -0
  1052. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_gjc_runtime.py +0 -0
  1053. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_goose_runtime.py +0 -0
  1054. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_hermes_runtime.py +0 -0
  1055. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_inflight_cancellation.py +0 -0
  1056. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_level_context.py +0 -0
  1057. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_mcp_config.py +0 -0
  1058. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_mcp_tools.py +0 -0
  1059. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_opencode_runtime.py +0 -0
  1060. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_parallel_executor.py +0 -0
  1061. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_parallel_executor_atomic_judgment.py +0 -0
  1062. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_parallel_executor_recursive_depth.py +0 -0
  1063. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_parallel_executor_retry_resume.py +0 -0
  1064. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_phase_wrappers.py +0 -0
  1065. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_pi_runtime.py +0 -0
  1066. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_policy.py +0 -0
  1067. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_profile_loader.py +0 -0
  1068. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_profile_strategy.py +0 -0
  1069. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_rate_limit.py +0 -0
  1070. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_reasoning_effort_routing.py +0 -0
  1071. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_rfc_v2_integration.py +0 -0
  1072. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_runner.py +0 -0
  1073. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_runner_allowed_tools_wiring.py +0 -0
  1074. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_runner_cancellation.py +0 -0
  1075. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_runtime_error.py +0 -0
  1076. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_runtime_evidence.py +0 -0
  1077. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_runtime_factory.py +0 -0
  1078. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_runtime_message_projection.py +0 -0
  1079. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_runtime_param_negotiation.py +0 -0
  1080. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_sandbox_class.py +0 -0
  1081. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_seed_prompt.py +0 -0
  1082. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_session.py +0 -0
  1083. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_skill_tool_mapping.py +0 -0
  1084. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_stage_resolution.py +0 -0
  1085. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_traceguard_benchmark_capture.py +0 -0
  1086. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_verifier.py +0 -0
  1087. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_workflow_ir.py +0 -0
  1088. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_workflow_ir_adapter.py +0 -0
  1089. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_workflow_ir_plugin_adapter.py +0 -0
  1090. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_workflow_lifecycle.py +0 -0
  1091. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_workflow_lifecycle_conformance.py +0 -0
  1092. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_workflow_lifecycle_events.py +0 -0
  1093. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_workflow_projection_boundary.py +0 -0
  1094. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/test_workflow_state.py +0 -0
  1095. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/orchestrator/workflow_ir_conformance_fixtures.py +0 -0
  1096. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/persistence/__init__.py +0 -0
  1097. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/persistence/test_brownfield_store.py +0 -0
  1098. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/persistence/test_checkpoint.py +0 -0
  1099. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/persistence/test_event_store.py +0 -0
  1100. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/persistence/test_schema.py +0 -0
  1101. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/persistence/test_uow.py +0 -0
  1102. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/__init__.py +0 -0
  1103. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/agents/__init__.py +0 -0
  1104. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/agents/test_registry.py +0 -0
  1105. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/skills/__init__.py +0 -0
  1106. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/skills/test_keywords.py +0 -0
  1107. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/skills/test_registry.py +0 -0
  1108. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/test_digest.py +0 -0
  1109. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/test_firewall.py +0 -0
  1110. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/test_firewall_tool_call_dispatch.py +0 -0
  1111. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/test_hook_permission_scopes.py +0 -0
  1112. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/test_hooks_contract.py +0 -0
  1113. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/test_ledger_adapter.py +0 -0
  1114. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/test_lifecycle_observability.py +0 -0
  1115. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/test_lockfile.py +0 -0
  1116. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/test_manifest.py +0 -0
  1117. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/test_manifest_descriptor.py +0 -0
  1118. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/test_manifest_hook_validation.py +0 -0
  1119. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/test_manifest_schema_0_3.py +0 -0
  1120. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/test_manifest_schema_0_4.py +0 -0
  1121. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/test_trust_store.py +0 -0
  1122. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/plugin/test_userlevel_registry.py +0 -0
  1123. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/pm/__init__.py +0 -0
  1124. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/pm/test_renderer.py +0 -0
  1125. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/__init__.py +0 -0
  1126. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_anthropic_adapter_io_recorder.py +0 -0
  1127. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_base.py +0 -0
  1128. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_claude_code_adapter.py +0 -0
  1129. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_codex_cli_adapter.py +0 -0
  1130. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_copilot_cli_adapter.py +0 -0
  1131. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_factory.py +0 -0
  1132. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_factory_copilot.py +0 -0
  1133. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_gemini_cli_adapter.py +0 -0
  1134. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_gjc_llm_adapter.py +0 -0
  1135. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_goose_cli_adapter.py +0 -0
  1136. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_hermes_cli_adapter.py +0 -0
  1137. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_litellm_adapter.py +0 -0
  1138. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_litellm_adapter_io_recorder.py +0 -0
  1139. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_opencode_adapter.py +0 -0
  1140. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_ourocode_acp_client.py +0 -0
  1141. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_ourocode_llm_adapter.py +0 -0
  1142. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_pi_llm_adapter.py +0 -0
  1143. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_profiles.py +0 -0
  1144. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_public_exports.py +0 -0
  1145. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/providers/test_tool_use_diagnostics.py +0 -0
  1146. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/resilience/__init__.py +0 -0
  1147. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/resilience/test_lateral.py +0 -0
  1148. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/resilience/test_recovery.py +0 -0
  1149. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/resilience/test_stagnation.py +0 -0
  1150. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/router/__init__.py +0 -0
  1151. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/router/test_command_parser.py +0 -0
  1152. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/router/test_dispatch.py +0 -0
  1153. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/router/test_dispatch_result_shapes.py +0 -0
  1154. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/router/test_extract_first_argument.py +0 -0
  1155. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/router/test_invalid_dispatch_input_types.py +0 -0
  1156. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/router/test_malformed_unknown_dispatch_errors.py +0 -0
  1157. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/router/test_not_handled_resolution.py +0 -0
  1158. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/router/test_packaged_auto_dispatch.py +0 -0
  1159. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/router/test_registry.py +0 -0
  1160. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/router/test_repository_dispatch_guard.py +0 -0
  1161. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/router/test_router_resolution_pipeline.py +0 -0
  1162. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/router/test_typed_frontmatter_fields.py +0 -0
  1163. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/router/test_valid_dispatch_normalization.py +0 -0
  1164. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/runtime/__init__.py +0 -0
  1165. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/runtime/test_controls.py +0 -0
  1166. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/runtime/test_watchdog.py +0 -0
  1167. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/scripts/__init__.py +0 -0
  1168. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/scripts/test_check_auto_boundary.py +0 -0
  1169. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/scripts/test_check_auto_perf_budget.py +0 -0
  1170. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/scripts/test_check_max_turns_envelope.py +0 -0
  1171. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/scripts/test_claude_hook_settings.py +0 -0
  1172. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/scripts/test_hook_script_stdio.py +0 -0
  1173. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/scripts/test_keyword_detector.py +0 -0
  1174. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/scripts/test_ralph_shell_project_dir.py +0 -0
  1175. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/scripts/test_session_start.py +0 -0
  1176. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/scripts/test_sync_plugin_version.py +0 -0
  1177. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/scripts/test_version_check.py +0 -0
  1178. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/skills/test_skill_artifacts.py +0 -0
  1179. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_artifact_collector.py +0 -0
  1180. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_codex_artifacts.py +0 -0
  1181. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_convergence.py +0 -0
  1182. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_dashboard.py +0 -0
  1183. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_dependencies_configured.py +0 -0
  1184. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_detached_auto_docs.py +0 -0
  1185. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_evolve_rewind.py +0 -0
  1186. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_evolve_step.py +0 -0
  1187. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_graceful_shutdown.py +0 -0
  1188. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_kiro_adapters.py +0 -0
  1189. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_lineage.py +0 -0
  1190. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_main_entry_point.py +0 -0
  1191. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_module_structure.py +0 -0
  1192. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_project_initialization.py +0 -0
  1193. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_projector_directives.py +0 -0
  1194. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_projector_rewind.py +0 -0
  1195. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_ralph_loop_budget.py +0 -0
  1196. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_ralph_loop_progress.py +0 -0
  1197. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_ralph_loop_timeout.py +0 -0
  1198. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_ralph_parser.py +0 -0
  1199. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_ralph_rewind.py +0 -0
  1200. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_ralph_shell.py +0 -0
  1201. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_regression.py +0 -0
  1202. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_runtime_instruction_artifacts.py +0 -0
  1203. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_runtime_skill_capability_docs.py +0 -0
  1204. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_tooling_configuration.py +0 -0
  1205. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/test_verification.py +0 -0
  1206. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/tui/__init__.py +0 -0
  1207. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/tui/test_app.py +0 -0
  1208. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/tui/test_cancelled_display.py +0 -0
  1209. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/tui/test_events.py +0 -0
  1210. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/tui/test_lineage_viewer.py +0 -0
  1211. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/tui/test_screens.py +0 -0
  1212. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/tui/test_session_selector_replay.py +0 -0
  1213. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tests/unit/tui/test_widgets.py +0 -0
  1214. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/tools/sync_github_project.py +0 -0
  1215. {ouroboros_ai-0.43.2.dev1 → ouroboros_ai-0.43.3.dev1}/uv.lock +0 -0
@@ -10,7 +10,7 @@
10
10
  {
11
11
  "name": "ouroboros",
12
12
  "description": "Transform vague ideas into validated seed specifications through Socratic questioning and ontological analysis",
13
- "version": "0.43.2",
13
+ "version": "0.43.3",
14
14
  "author": {
15
15
  "name": "Q00",
16
16
  "email": "jqyu.lee@gmail.com"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ouroboros",
3
- "version": "0.43.2",
3
+ "version": "0.43.3",
4
4
  "description": "Self-improving AI workflow system. Crystallize requirements before execution with Socratic interview, ambiguity scoring, and 3-stage evaluation.",
5
5
  "author": {
6
6
  "name": "Q00",
@@ -171,10 +171,13 @@ MCP (question generator) ←→ You (answerer + router) ←→ User (human judgm
171
171
  it must not hide, replace, or delay the question itself.
172
172
 
173
173
  Run the advisory lanes in parallel using your host's native subagent
174
- primitive. In Claude Code that primitive is the **Task/Agent tool** — spawn
175
- one subagent per lane in a single batch so they run concurrently. Only fall
176
- back to the request's `sequential_fallback` semantics when the host has no
177
- subagent primitive at all. The standard lanes are:
174
+ mechanism. In Claude Code that mechanism is the **Task/Agent tool** — spawn
175
+ one subagent per lane in a single batch so they run concurrently. In Codex,
176
+ explicitly start a native subagent workflow in natural language: spawn one
177
+ Codex subagent per lane, pass that lane's payload prompt, wait for all
178
+ agents, then synthesize. Only fall back to the request's
179
+ `sequential_fallback` semantics when the host has no subagent mechanism at
180
+ all. The standard lanes are:
178
181
  - `code_context` — inspect repo-local facts and reuse
179
182
  `meta.code_investigation_request` when present.
180
183
  - `web_context` — browse/search only when current external facts genuinely
@@ -193,9 +196,11 @@ MCP (question generator) ←→ You (answerer + router) ←→ User (human judgm
193
196
  When `meta.question_advisory_subagents` is present you MUST fan out: treat
194
197
  each entry as a spawn-ready advisory payload with `title`, `agent`, `prompt`,
195
198
  and `context`, and dispatch every payload through your host's native subagent
196
- primitive (Claude Code → one Task/Agent call per payload, all in one parallel
197
- batch) instead of reconstructing prompts from prose. This is required
198
- regardless of dispatch mode: the payloads themselves are the spawn signal.
199
+ mechanism (Claude Code → one Task/Agent call per payload in one parallel
200
+ batch; Codex explicitly spawn one Codex subagent per payload, wait for all
201
+ results, then synthesize) instead of reconstructing prompts from prose. This
202
+ is required regardless of dispatch mode: the payloads themselves are the
203
+ spawn signal.
199
204
  Treat `meta.question_advisory_host_action=spawn_subagents`, when present, as
200
205
  a reinforcing cue for host-driven runtimes such as Codex or Claude Code, not
201
206
  as a prerequisite. The only time you skip spawning is when the host has no
@@ -151,7 +151,9 @@ Driving fan-out from this dispatch block — instead of from the joined human-di
151
151
 
152
152
  1. Locate the dispatch block at the end of the MCP response's `content` text — the substring between `<!-- ouroboros-lateral-inline-dispatch-v1 base64\n` and `\n-->`. Base64-decode the captured body, then `JSON.parse` to get `{dispatch_mode, persona_count, payloads}`. If the block is missing (older handler that pre-dates the v1 sentinel), fall through to the constrained-runtime path below — *do not* split the joined text.
153
153
  2. Surface a short "what the lateral toolkit suggests" header to the user, with the markdown above the dispatch block, so the MCP call is visible as a real product surface, not silent.
154
- 3. In a **single message**, emit N parallel `Task` calls (`general-purpose` subagent) — one per entry in `payloads`. Each Task receives the payload's `prompt` verbatim plus the payload's `context` so the persona is grounded. Strict isolation per Task. The user sees "Running N agents…".
154
+ 3. Spawn N persona subagents in parallel — one per entry in `payloads` — using your host's native subagent mechanism. Each child receives the payload's `prompt` verbatim plus the payload's `context` so the persona is grounded, with strict isolation per child. The user sees "Running N agents…".
155
+ - **Claude Code** → emit N `Task` calls (`general-purpose` subagent) in a **single message** so they run concurrently.
156
+ - **Codex** → Codex subagents are triggered by explicit natural-language delegation, not a callable tool name (do NOT call `multi_agent_v1.spawn_agent` — it does not exist). In one turn, explicitly spawn one Codex subagent per payload, hand each child its payload `prompt` + `context`, wait for all children, then continue.
155
157
  4. Wait for all N to return.
156
158
  5. (Optional) **Round 2 cross-attack** — only if Round 1 answers diverge meaningfully. Dispatch a second N-fan-out where each persona receives short summaries of the other answers and is asked: "Identify one weakness in each. ≤200 words." Skip if Round 1 already converges.
157
159
  6. Synthesize per the **Synthesize** block below.
@@ -226,8 +228,9 @@ with 2 tables, you haven't found the core feature yet.
226
228
  followed by hidden <!-- ouroboros-lateral-inline-dispatch-v1 base64
227
229
  <base64 body> --> sentinel block]
228
230
  [Extract via the sentinel; base64-decode then JSON.parse → payloads[]]
229
- [Single message: 5 parallel Task calls — one per payloads[] entry,
230
- each Task receives payload.prompt + payload.context verbatim;
231
+ [Spawn 5 parallel persona subagents — one per payloads[] entry — via the
232
+ host's native mechanism (Claude: Task calls; Codex: explicit NL delegation);
233
+ each child receives payload.prompt + payload.context verbatim;
231
234
  the visible markdown is shown to the user as the lateral scaffold]
232
235
  [User sees "Running 5 agents…"]
233
236
  [Round 1 returns]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ouroboros-ai
3
- Version: 0.43.2.dev1
3
+ Version: 0.43.3.dev1
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
@@ -4,7 +4,7 @@
4
4
  #
5
5
  # Runtime selection (first match wins):
6
6
  # 1. OUROBOROS_INSTALL_RUNTIME env var
7
- # (claude|codex|opencode|hermes|gemini|kiro|copilot|pi|all)
7
+ # (claude|codex|opencode|hermes|gemini|goose|kiro|copilot|pi|gjc|all)
8
8
  # 2. Existing ~/.ouroboros/config.yaml runtime — preserved on upgrade
9
9
  # unless OUROBOROS_INSTALL_RECONFIGURE=1 (or --reconfigure flag) is set.
10
10
  # 3. Interactive prompt when stdin is a TTY.
@@ -214,7 +214,7 @@ if [ "$HAS_UV" = false ]; then
214
214
  fi
215
215
 
216
216
  # 2. Detect runtimes
217
- _step "2/4 Choosing an agent backend" "Codex, Claude, Hermes, OpenCode, Gemini, Kiro, Copilot, and Pi are supported."
217
+ _step "2/4 Choosing an agent backend" "Codex, Claude, Hermes, OpenCode, Gemini, Goose, Kiro, Copilot, Pi, and GJC are supported."
218
218
  EXTRAS=""
219
219
  RUNTIME=""
220
220
  HAS_CODEX=false
@@ -222,9 +222,11 @@ HAS_CLAUDE=false
222
222
  HAS_HERMES=false
223
223
  HAS_OPENCODE=false
224
224
  HAS_GEMINI=false
225
+ HAS_GOOSE=false
225
226
  HAS_KIRO=false
226
227
  HAS_COPILOT=false
227
228
  HAS_PI=false
229
+ HAS_GJC=false
228
230
  if command -v codex &>/dev/null; then
229
231
  _ok "Codex found: $(which codex)"
230
232
  HAS_CODEX=true
@@ -245,6 +247,10 @@ if command -v gemini &>/dev/null; then
245
247
  _ok "Gemini found: $(which gemini)"
246
248
  HAS_GEMINI=true
247
249
  fi
250
+ if command -v goose &>/dev/null; then
251
+ _ok "Goose found: $(which goose)"
252
+ HAS_GOOSE=true
253
+ fi
248
254
  if command -v kiro-cli &>/dev/null; then
249
255
  _ok "Kiro found: $(which kiro-cli)"
250
256
  HAS_KIRO=true
@@ -257,6 +263,10 @@ if command -v pi &>/dev/null; then
257
263
  _ok "Pi: $(which pi)"
258
264
  HAS_PI=true
259
265
  fi
266
+ if command -v gjc &>/dev/null; then
267
+ _ok "GJC found: $(which gjc)"
268
+ HAS_GJC=true
269
+ fi
260
270
 
261
271
  RUNTIME_COUNT=0
262
272
  [ "$HAS_CLAUDE" = true ] && RUNTIME_COUNT=$((RUNTIME_COUNT + 1))
@@ -264,9 +274,11 @@ RUNTIME_COUNT=0
264
274
  [ "$HAS_HERMES" = true ] && RUNTIME_COUNT=$((RUNTIME_COUNT + 1))
265
275
  [ "$HAS_OPENCODE" = true ] && RUNTIME_COUNT=$((RUNTIME_COUNT + 1))
266
276
  [ "$HAS_GEMINI" = true ] && RUNTIME_COUNT=$((RUNTIME_COUNT + 1))
277
+ [ "$HAS_GOOSE" = true ] && RUNTIME_COUNT=$((RUNTIME_COUNT + 1))
267
278
  [ "$HAS_KIRO" = true ] && RUNTIME_COUNT=$((RUNTIME_COUNT + 1))
268
279
  [ "$HAS_COPILOT" = true ] && RUNTIME_COUNT=$((RUNTIME_COUNT + 1))
269
280
  [ "$HAS_PI" = true ] && RUNTIME_COUNT=$((RUNTIME_COUNT + 1))
281
+ [ "$HAS_GJC" = true ] && RUNTIME_COUNT=$((RUNTIME_COUNT + 1))
270
282
 
271
283
  # Map a runtime name to (EXTRAS, RUNTIME) pair.
272
284
  # Used after explicit/preserved runtime resolution to derive install extras.
@@ -282,14 +294,16 @@ _runtime_to_extras() {
282
294
  opencode) EXTRAS="[tui]"; RUNTIME="opencode" ;;
283
295
  hermes) EXTRAS="[mcp,tui]"; RUNTIME="hermes" ;;
284
296
  gemini) EXTRAS="[tui]"; RUNTIME="gemini" ;;
297
+ goose) EXTRAS="[tui]"; RUNTIME="goose" ;;
285
298
  kiro) EXTRAS="[tui]"; RUNTIME="kiro" ;;
286
299
  copilot) EXTRAS="[tui]"; RUNTIME="copilot" ;;
287
300
  pi) EXTRAS="[tui]"; RUNTIME="pi" ;;
301
+ gjc) EXTRAS="[tui]"; RUNTIME="gjc" ;;
288
302
  all) EXTRAS="[all]"; RUNTIME="" ;;
289
303
  "") EXTRAS="[tui]"; RUNTIME="" ;;
290
304
  *)
291
305
  _err "unsupported runtime '$1'"
292
- _info "Expected one of: claude, codex, opencode, hermes, gemini, kiro, copilot, pi, all"
306
+ _info "Expected one of: claude, codex, opencode, hermes, gemini, goose, kiro, copilot, pi, gjc, all"
293
307
  exit 1
294
308
  ;;
295
309
  esac
@@ -306,7 +320,7 @@ FRESH_CONFIG=true
306
320
  if [ -z "$EXPLICIT_RUNTIME" ] && [ -z "$RECONFIGURE" ] && [ -f "$EXISTING_CONFIG" ] && command -v python3 &>/dev/null; then
307
321
  EXISTING_RUNTIME=$(EXISTING_CONFIG="$EXISTING_CONFIG" python3 -c "
308
322
  import os, re
309
- supported = {'claude', 'codex', 'opencode', 'hermes', 'gemini', 'kiro', 'copilot', 'pi'}
323
+ supported = {'claude', 'codex', 'opencode', 'hermes', 'gemini', 'goose', 'kiro', 'copilot', 'pi', 'gjc'}
310
324
  try:
311
325
  lines = open(os.environ['EXISTING_CONFIG']).read().splitlines()
312
326
  in_orchestrator = False
@@ -344,10 +358,12 @@ elif [ "$RUNTIME_COUNT" -gt 1 ]; then
344
358
  _choice 3 "Hermes" "Hermes agent guides + MCP server (${PACKAGE_NAME}[mcp,tui])"
345
359
  _choice 4 "OpenCode" "OpenCode commands and agent files (${PACKAGE_NAME}[tui])"
346
360
  _choice 5 "Gemini" "Gemini CLI integration (${PACKAGE_NAME}[tui])"
347
- _choice 6 "Kiro" "Kiro CLI integration (${PACKAGE_NAME}[tui])"
348
- _choice 7 "Copilot" "GitHub Copilot integration (${PACKAGE_NAME}[tui])"
349
- _choice 8 "Pi" "Pi CLI bridge and instruction artifacts (${PACKAGE_NAME}[tui])"
350
- _choice 9 "All" "Install every optional integration (${PACKAGE_NAME}[all])"
361
+ _choice 6 "Goose" "Goose CLI integration (${PACKAGE_NAME}[tui])"
362
+ _choice 7 "Kiro" "Kiro CLI integration (${PACKAGE_NAME}[tui])"
363
+ _choice 8 "Copilot" "GitHub Copilot integration (${PACKAGE_NAME}[tui])"
364
+ _choice 9 "Pi" "Pi CLI bridge and instruction artifacts (${PACKAGE_NAME}[tui])"
365
+ _choice 10 "GJC" "GJC CLI bridge and instruction artifacts (${PACKAGE_NAME}[tui])"
366
+ _choice 11 "All" "Install every optional integration (${PACKAGE_NAME}[all])"
351
367
  _prompt "Select [1]: "
352
368
  read -r choice
353
369
  case "${choice:-1}" in
@@ -355,10 +371,12 @@ elif [ "$RUNTIME_COUNT" -gt 1 ]; then
355
371
  3) _runtime_to_extras "hermes" ;;
356
372
  4) _runtime_to_extras "opencode" ;;
357
373
  5) _runtime_to_extras "gemini" ;;
358
- 6) _runtime_to_extras "kiro" ;;
359
- 7) _runtime_to_extras "copilot" ;;
360
- 8) _runtime_to_extras "pi" ;;
361
- 9) _runtime_to_extras "all" ;;
374
+ 6) _runtime_to_extras "goose" ;;
375
+ 7) _runtime_to_extras "kiro" ;;
376
+ 8) _runtime_to_extras "copilot" ;;
377
+ 9) _runtime_to_extras "pi" ;;
378
+ 10) _runtime_to_extras "gjc" ;;
379
+ 11) _runtime_to_extras "all" ;;
362
380
  *) _runtime_to_extras "claude" ;;
363
381
  esac
364
382
  else
@@ -376,12 +394,16 @@ elif [ "$HAS_OPENCODE" = true ] && [ "$RUNTIME_COUNT" -eq 1 ]; then
376
394
  _runtime_to_extras "opencode"
377
395
  elif [ "$HAS_GEMINI" = true ] && [ "$RUNTIME_COUNT" -eq 1 ]; then
378
396
  _runtime_to_extras "gemini"
397
+ elif [ "$HAS_GOOSE" = true ] && [ "$RUNTIME_COUNT" -eq 1 ]; then
398
+ _runtime_to_extras "goose"
379
399
  elif [ "$HAS_KIRO" = true ] && [ "$RUNTIME_COUNT" -eq 1 ]; then
380
400
  _runtime_to_extras "kiro"
381
401
  elif [ "$HAS_COPILOT" = true ] && [ "$RUNTIME_COUNT" -eq 1 ]; then
382
402
  _runtime_to_extras "copilot"
383
403
  elif [ "$HAS_PI" = true ] && [ "$RUNTIME_COUNT" -eq 1 ]; then
384
404
  _runtime_to_extras "pi"
405
+ elif [ "$HAS_GJC" = true ] && [ "$RUNTIME_COUNT" -eq 1 ]; then
406
+ _runtime_to_extras "gjc"
385
407
  else
386
408
  # No runtime CLI on PATH yet — first install. Always prompt when interactive
387
409
  # so the user picks deliberately rather than silently defaulting to claude.
@@ -393,10 +415,12 @@ else
393
415
  _choice 3 "Hermes" "Hermes agent guides + MCP server (${PACKAGE_NAME}[mcp,tui])"
394
416
  _choice 4 "OpenCode" "OpenCode commands and agent files (${PACKAGE_NAME}[tui])"
395
417
  _choice 5 "Gemini" "Gemini CLI integration (${PACKAGE_NAME}[tui])"
396
- _choice 6 "Kiro" "Kiro CLI integration (${PACKAGE_NAME}[tui])"
397
- _choice 7 "Copilot" "GitHub Copilot integration (${PACKAGE_NAME}[tui])"
398
- _choice 8 "Pi" "Pi CLI bridge and instruction artifacts (${PACKAGE_NAME}[tui])"
399
- _choice 9 "All" "Install every optional integration (${PACKAGE_NAME}[all])"
418
+ _choice 6 "Goose" "Goose CLI integration (${PACKAGE_NAME}[tui])"
419
+ _choice 7 "Kiro" "Kiro CLI integration (${PACKAGE_NAME}[tui])"
420
+ _choice 8 "Copilot" "GitHub Copilot integration (${PACKAGE_NAME}[tui])"
421
+ _choice 9 "Pi" "Pi CLI bridge and instruction artifacts (${PACKAGE_NAME}[tui])"
422
+ _choice 10 "GJC" "GJC CLI bridge and instruction artifacts (${PACKAGE_NAME}[tui])"
423
+ _choice 11 "All" "Install every optional integration (${PACKAGE_NAME}[all])"
400
424
  _choice 0 "None" "Base CLI only; choose a backend later"
401
425
  _prompt "Select [1]: "
402
426
  read -r choice
@@ -406,17 +430,19 @@ else
406
430
  3) _runtime_to_extras "hermes" ;;
407
431
  4) _runtime_to_extras "opencode" ;;
408
432
  5) _runtime_to_extras "gemini" ;;
409
- 6) _runtime_to_extras "kiro" ;;
410
- 7) _runtime_to_extras "copilot" ;;
411
- 8) _runtime_to_extras "pi" ;;
412
- 9) _runtime_to_extras "all" ;;
433
+ 6) _runtime_to_extras "goose" ;;
434
+ 7) _runtime_to_extras "kiro" ;;
435
+ 8) _runtime_to_extras "copilot" ;;
436
+ 9) _runtime_to_extras "pi" ;;
437
+ 10) _runtime_to_extras "gjc" ;;
438
+ 11) _runtime_to_extras "all" ;;
413
439
  *) _runtime_to_extras "claude" ;;
414
440
  esac
415
441
  else
416
442
  # Pipe mode (curl | bash): install base package, skip runtime-specific setup.
417
443
  _blank
418
444
  _warn "No runtime detected in non-interactive mode; installing the base package."
419
- _info "Pick a backend afterwards with: ouroboros setup --runtime <claude|codex|opencode|hermes|gemini|kiro|copilot|pi>"
445
+ _info "Pick a backend afterwards with: ouroboros setup --runtime <claude|codex|opencode|hermes|gemini|goose|kiro|copilot|pi|gjc>"
420
446
  _runtime_to_extras ""
421
447
  fi
422
448
  fi
@@ -530,10 +556,16 @@ if [ -z "$OUROBOROS_BIN" ] && ! command -v ouroboros &>/dev/null; then
530
556
  done
531
557
  fi
532
558
 
559
+ OUROBOROS_SETUP_CMD=""
560
+ if [ -n "$OUROBOROS_BIN" ]; then
561
+ OUROBOROS_SETUP_CMD="$OUROBOROS_BIN"
562
+ elif command -v ouroboros &>/dev/null; then
563
+ OUROBOROS_SETUP_CMD="ouroboros"
564
+ fi
565
+
533
566
  # 4. Setup (ouroboros CLI configures runtime-specific integration)
534
567
  _step "4/4 Wiring local integrations" "Creates config and runtime-specific files when a backend was selected."
535
- if [ -n "$RUNTIME" ] && { [ -n "$OUROBOROS_BIN" ] || command -v ouroboros &>/dev/null; }; then
536
- OUROBOROS_SETUP_CMD="${OUROBOROS_BIN:-ouroboros}"
568
+ if [ -n "$RUNTIME" ] && [ -n "$OUROBOROS_SETUP_CMD" ]; then
537
569
  _info "Running: $OUROBOROS_SETUP_CMD setup --runtime $RUNTIME --non-interactive"
538
570
  "$OUROBOROS_SETUP_CMD" setup --runtime "$RUNTIME" --non-interactive || true
539
571
  elif [ -n "$RUNTIME" ]; then
@@ -542,9 +574,24 @@ else
542
574
  _info "No backend selected; skipping runtime setup."
543
575
  fi
544
576
 
577
+ # Refresh Codex rules/skills whenever this machine appears to use Codex, even
578
+ # if the preserved primary runtime is another backend. Setup already does this
579
+ # for `--runtime codex`, but upgrades and `all` installs should not leave stale
580
+ # ~/.codex artifacts behind.
581
+ if [ -n "$OUROBOROS_SETUP_CMD" ] && {
582
+ [ "$RUNTIME" = "codex" ] ||
583
+ [ "$EXTRAS" = "[all]" ] ||
584
+ [ "$HAS_CODEX" = true ] ||
585
+ [ -d "$HOME/.codex" ]
586
+ }; then
587
+ _info "Refreshing Codex rules and skills"
588
+ "$OUROBOROS_SETUP_CMD" codex refresh || _warn "Codex artifact refresh skipped; run: ouroboros codex refresh"
589
+ fi
590
+
545
591
  # 5. Claude Code integration (MCP + skills)
546
- # Only apply Claude-specific integration when Claude was the selected runtime,
547
- # or when the user explicitly asked for the all-runtimes install.
592
+ # MCP registration changes Claude's tool wiring, so keep it tied to Claude/all.
593
+ # Skill refresh is artifact-only and should happen whenever Claude is present;
594
+ # otherwise a Codex-primary upgrade can leave Claude Code reading stale skills.
548
595
  if command -v claude &>/dev/null && { [ "$RUNTIME" = "claude" ] || [ "$EXTRAS" = "[all]" ]; }; then
549
596
  _blank
550
597
  _say "${BLUE}◆${RESET} ${BOLD}Claude Code extras${RESET}"
@@ -616,7 +663,13 @@ with open(mcp_file, 'w') as f:
616
663
  else
617
664
  _warn "MCP skipped: no python3 found. Add the entry manually to $MCP_FILE."
618
665
  fi
666
+ fi
619
667
 
668
+ if command -v claude &>/dev/null; then
669
+ if ! { [ "$RUNTIME" = "claude" ] || [ "$EXTRAS" = "[all]" ]; }; then
670
+ _blank
671
+ _say "${BLUE}◆${RESET} ${BOLD}Claude Code skills${RESET}"
672
+ fi
620
673
  # 5b. Install/update Ouroboros skills (claude plugin)
621
674
  _info "Installing Ouroboros skills via Claude plugin marketplace..."
622
675
  claude plugin marketplace add Q00/ouroboros 2>/dev/null || true
@@ -637,7 +690,7 @@ _info 'Or from the terminal: ouroboros init start "your idea here"'
637
690
  if [ -n "$RUNTIME" ]; then
638
691
  _info "Current backend: $RUNTIME"
639
692
  fi
640
- _info "Switch backend later: ouroboros setup --runtime <claude|codex|opencode|hermes|gemini|kiro|copilot|pi>"
693
+ _info "Switch backend later: ouroboros setup --runtime <claude|codex|opencode|hermes|gemini|goose|kiro|copilot|pi|gjc>"
641
694
  _say "${BOLD}Settings GUI — pick per-stage agents & models${RESET}"
642
695
  _info 'Inside your AI agent: > ooo config (opens in your browser)'
643
696
  _info 'From this terminal: ouroboros config (full-screen TUI)'
@@ -171,10 +171,13 @@ MCP (question generator) ←→ You (answerer + router) ←→ User (human judgm
171
171
  it must not hide, replace, or delay the question itself.
172
172
 
173
173
  Run the advisory lanes in parallel using your host's native subagent
174
- primitive. In Claude Code that primitive is the **Task/Agent tool** — spawn
175
- one subagent per lane in a single batch so they run concurrently. Only fall
176
- back to the request's `sequential_fallback` semantics when the host has no
177
- subagent primitive at all. The standard lanes are:
174
+ mechanism. In Claude Code that mechanism is the **Task/Agent tool** — spawn
175
+ one subagent per lane in a single batch so they run concurrently. In Codex,
176
+ explicitly start a native subagent workflow in natural language: spawn one
177
+ Codex subagent per lane, pass that lane's payload prompt, wait for all
178
+ agents, then synthesize. Only fall back to the request's
179
+ `sequential_fallback` semantics when the host has no subagent mechanism at
180
+ all. The standard lanes are:
178
181
  - `code_context` — inspect repo-local facts and reuse
179
182
  `meta.code_investigation_request` when present.
180
183
  - `web_context` — browse/search only when current external facts genuinely
@@ -193,9 +196,11 @@ MCP (question generator) ←→ You (answerer + router) ←→ User (human judgm
193
196
  When `meta.question_advisory_subagents` is present you MUST fan out: treat
194
197
  each entry as a spawn-ready advisory payload with `title`, `agent`, `prompt`,
195
198
  and `context`, and dispatch every payload through your host's native subagent
196
- primitive (Claude Code → one Task/Agent call per payload, all in one parallel
197
- batch) instead of reconstructing prompts from prose. This is required
198
- regardless of dispatch mode: the payloads themselves are the spawn signal.
199
+ mechanism (Claude Code → one Task/Agent call per payload in one parallel
200
+ batch; Codex explicitly spawn one Codex subagent per payload, wait for all
201
+ results, then synthesize) instead of reconstructing prompts from prose. This
202
+ is required regardless of dispatch mode: the payloads themselves are the
203
+ spawn signal.
199
204
  Treat `meta.question_advisory_host_action=spawn_subagents`, when present, as
200
205
  a reinforcing cue for host-driven runtimes such as Codex or Claude Code, not
201
206
  as a prerequisite. The only time you skip spawning is when the host has no
@@ -282,7 +282,7 @@ A backup will be created: CLAUDE.md.bak
282
282
  **If "Preview first", show:**
283
283
  ````markdown
284
284
  <!-- ooo:START -->
285
- <!-- ooo:VERSION:0.43.2 -->
285
+ <!-- ooo:VERSION:0.43.3 -->
286
286
  # Ouroboros — Specification-First AI Development
287
287
 
288
288
  > Before telling AI what to build, define what should be built.
@@ -151,7 +151,9 @@ Driving fan-out from this dispatch block — instead of from the joined human-di
151
151
 
152
152
  1. Locate the dispatch block at the end of the MCP response's `content` text — the substring between `<!-- ouroboros-lateral-inline-dispatch-v1 base64\n` and `\n-->`. Base64-decode the captured body, then `JSON.parse` to get `{dispatch_mode, persona_count, payloads}`. If the block is missing (older handler that pre-dates the v1 sentinel), fall through to the constrained-runtime path below — *do not* split the joined text.
153
153
  2. Surface a short "what the lateral toolkit suggests" header to the user, with the markdown above the dispatch block, so the MCP call is visible as a real product surface, not silent.
154
- 3. In a **single message**, emit N parallel `Task` calls (`general-purpose` subagent) — one per entry in `payloads`. Each Task receives the payload's `prompt` verbatim plus the payload's `context` so the persona is grounded. Strict isolation per Task. The user sees "Running N agents…".
154
+ 3. Spawn N persona subagents in parallel — one per entry in `payloads` — using your host's native subagent mechanism. Each child receives the payload's `prompt` verbatim plus the payload's `context` so the persona is grounded, with strict isolation per child. The user sees "Running N agents…".
155
+ - **Claude Code** → emit N `Task` calls (`general-purpose` subagent) in a **single message** so they run concurrently.
156
+ - **Codex** → Codex subagents are triggered by explicit natural-language delegation, not a callable tool name (do NOT call `multi_agent_v1.spawn_agent` — it does not exist). In one turn, explicitly spawn one Codex subagent per payload, hand each child its payload `prompt` + `context`, wait for all children, then continue.
155
157
  4. Wait for all N to return.
156
158
  5. (Optional) **Round 2 cross-attack** — only if Round 1 answers diverge meaningfully. Dispatch a second N-fan-out where each persona receives short summaries of the other answers and is asked: "Identify one weakness in each. ≤200 words." Skip if Round 1 already converges.
157
159
  6. Synthesize per the **Synthesize** block below.
@@ -226,8 +228,9 @@ with 2 tables, you haven't found the core feature yet.
226
228
  followed by hidden <!-- ouroboros-lateral-inline-dispatch-v1 base64
227
229
  <base64 body> --> sentinel block]
228
230
  [Extract via the sentinel; base64-decode then JSON.parse → payloads[]]
229
- [Single message: 5 parallel Task calls — one per payloads[] entry,
230
- each Task receives payload.prompt + payload.context verbatim;
231
+ [Spawn 5 parallel persona subagents — one per payloads[] entry — via the
232
+ host's native mechanism (Claude: Task calls; Codex: explicit NL delegation);
233
+ each child receives payload.prompt + payload.context verbatim;
231
234
  the visible markdown is shown to the user as the lateral scaffold]
232
235
  [User sees "Running 5 agents…"]
233
236
  [Round 1 returns]
@@ -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.43.2.dev1'
22
- __version_tuple__ = version_tuple = (0, 43, 2, 'dev1')
21
+ __version__ = version = '0.43.3.dev1'
22
+ __version_tuple__ = version_tuple = (0, 43, 3, 'dev1')
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -5,6 +5,7 @@ from ouroboros.backends.capabilities import (
5
5
  RuntimeSubagentOrchestrationContract,
6
6
  SkillExecutionCapability,
7
7
  SubagentDispatchMode,
8
+ SubagentSpawnTriggerMechanism,
8
9
  backend_supports_tool_envelope,
9
10
  build_runtime_subagent_orchestration_contract,
10
11
  get_backend_capability,
@@ -25,6 +26,7 @@ __all__ = [
25
26
  "RuntimeSubagentOrchestrationContract",
26
27
  "SkillExecutionCapability",
27
28
  "SubagentDispatchMode",
29
+ "SubagentSpawnTriggerMechanism",
28
30
  "backend_supports_tool_envelope",
29
31
  "build_runtime_subagent_orchestration_contract",
30
32
  "get_backend_capability",
@@ -43,6 +43,10 @@ class BackendCapability:
43
43
  # backend can have the latter without the former. Do NOT conflate them.
44
44
  supports_native_parallel_subagents: bool = False
45
45
  supports_host_driven_subagents: bool = False
46
+ host_driven_subagent_mechanism: SubagentSpawnTriggerMechanism | None = None
47
+ host_driven_subagent_requires_explicit_request: bool = False
48
+ host_driven_callable_spawn_tool_name: str | None = None
49
+ prohibited_subagent_spawn_tool_names: tuple[str, ...] = ()
46
50
  skill_execution_capabilities: tuple[SkillExecutionCapability, ...] = ()
47
51
 
48
52
  @property
@@ -73,6 +77,15 @@ class SubagentDispatchMode(StrEnum):
73
77
  SEQUENTIAL = "sequential"
74
78
 
75
79
 
80
+ class SubagentSpawnTriggerMechanism(StrEnum):
81
+ """Concrete runtime mechanism used after dispatch mode is resolved."""
82
+
83
+ PASSIVE_BRIDGE_ENVELOPE = "passive_bridge_envelope"
84
+ CODEX_NATURAL_LANGUAGE_DELEGATION = "codex_natural_language_delegation"
85
+ CLAUDE_TASK_AGENT_TOOL = "claude_task_agent_tool"
86
+ SEQUENTIAL_FALLBACK = "sequential_fallback"
87
+
88
+
76
89
  @dataclass(frozen=True, slots=True)
77
90
  class RuntimeSubagentOrchestrationContract:
78
91
  """Runtime handling contract for MCP subagent directive metadata."""
@@ -80,6 +93,10 @@ class RuntimeSubagentOrchestrationContract:
80
93
  backend_name: str
81
94
  supports_native_parallel_subagents: bool
82
95
  dispatch_mode: str
96
+ spawn_trigger_mechanism: str
97
+ requires_explicit_spawn_request: bool
98
+ callable_spawn_tool_name: str | None
99
+ prohibited_spawn_tool_names: tuple[str, ...]
83
100
  mcp_directive_keys: tuple[str, ...]
84
101
  sequential_fallback: Mapping[str, Any]
85
102
  runtime_instruction_handling: str
@@ -91,6 +108,10 @@ class RuntimeSubagentOrchestrationContract:
91
108
  "backend_name": self.backend_name,
92
109
  "supports_native_parallel_subagents": self.supports_native_parallel_subagents,
93
110
  "dispatch_mode": self.dispatch_mode,
111
+ "spawn_trigger_mechanism": self.spawn_trigger_mechanism,
112
+ "requires_explicit_spawn_request": self.requires_explicit_spawn_request,
113
+ "callable_spawn_tool_name": self.callable_spawn_tool_name,
114
+ "prohibited_spawn_tool_names": list(self.prohibited_spawn_tool_names),
94
115
  "mcp_directive_keys": list(self.mcp_directive_keys),
95
116
  "sequential_fallback": dict(self.sequential_fallback),
96
117
  "runtime_instruction_handling": self.runtime_instruction_handling,
@@ -186,9 +207,12 @@ _CODEX_SKILL_EXECUTION_CAPABILITIES: tuple[SkillExecutionCapability, ...] = (
186
207
  "`question_advisory_dispatch_mode=host_driven` in the result `meta`, or "
187
208
  "the `ouroboros-lateral-inline-dispatch-v1` content block), do NOT just "
188
209
  "read the inline text: spawn one subagent per entry in the payload array "
189
- "(`payloads` or `question_advisory_subagents`) using your native "
190
- "multi-agent spawn primitive (`multi_agent_v1.spawn_agent`), passing "
191
- "each payload's `prompt`. Correlate every child result by the "
210
+ "(`payloads` or `question_advisory_subagents`) using Codex's native "
211
+ "subagent workflow. Codex subagents are triggered by an explicit "
212
+ "natural-language delegation, not by a callable tool name: explicitly "
213
+ "spawn one Codex subagent per payload, give each child the payload's "
214
+ "`prompt`, wait for all children, then summarize the results. Correlate "
215
+ "every child result by the "
192
216
  "payload-specific key named in the result `meta` "
193
217
  "(`result_correlation_key`): lateral payloads use `context.persona`, "
194
218
  "interview advisory payloads use `context.lane_id` (their `persona` is "
@@ -293,6 +317,9 @@ _CAPABILITIES: tuple[BackendCapability, ...] = (
293
317
  cli_config_key="cli_path",
294
318
  skill_execution_capabilities=_CLAUDE_SKILL_EXECUTION_CAPABILITIES,
295
319
  supports_host_driven_subagents=True,
320
+ host_driven_subagent_mechanism=SubagentSpawnTriggerMechanism.CLAUDE_TASK_AGENT_TOOL,
321
+ host_driven_subagent_requires_explicit_request=True,
322
+ host_driven_callable_spawn_tool_name="Task/Agent",
296
323
  ),
297
324
  BackendCapability(
298
325
  name="codex",
@@ -305,6 +332,12 @@ _CAPABILITIES: tuple[BackendCapability, ...] = (
305
332
  cli_config_key="codex_cli_path",
306
333
  skill_execution_capabilities=_CODEX_SKILL_EXECUTION_CAPABILITIES,
307
334
  supports_host_driven_subagents=True,
335
+ host_driven_subagent_mechanism=(
336
+ SubagentSpawnTriggerMechanism.CODEX_NATURAL_LANGUAGE_DELEGATION
337
+ ),
338
+ host_driven_subagent_requires_explicit_request=True,
339
+ host_driven_callable_spawn_tool_name=None,
340
+ prohibited_subagent_spawn_tool_names=("multi_agent_v1.spawn_agent",),
308
341
  ),
309
342
  BackendCapability(
310
343
  name="copilot",
@@ -478,6 +511,10 @@ def build_runtime_subagent_orchestration_contract(
478
511
  dispatch_mode = mode.value
479
512
 
480
513
  if mode is SubagentDispatchMode.PLUGIN_PASSIVE:
514
+ spawn_trigger_mechanism = SubagentSpawnTriggerMechanism.PASSIVE_BRIDGE_ENVELOPE
515
+ requires_explicit_spawn_request = False
516
+ callable_spawn_tool_name = None
517
+ prohibited_spawn_tool_names: tuple[str, ...] = ()
481
518
  runtime_instruction_handling = (
482
519
  "Consume MCP `_subagent` or `_subagents` directive payloads with the "
483
520
  "runtime's native parallel subagent primitive. For OpenCode this "
@@ -486,6 +523,13 @@ def build_runtime_subagent_orchestration_contract(
486
523
  "surfaces."
487
524
  )
488
525
  elif mode is SubagentDispatchMode.HOST_DRIVEN:
526
+ spawn_trigger_mechanism = (
527
+ capability.host_driven_subagent_mechanism
528
+ or SubagentSpawnTriggerMechanism.SEQUENTIAL_FALLBACK
529
+ )
530
+ requires_explicit_spawn_request = capability.host_driven_subagent_requires_explicit_request
531
+ callable_spawn_tool_name = capability.host_driven_callable_spawn_tool_name
532
+ prohibited_spawn_tool_names = capability.prohibited_subagent_spawn_tool_names
489
533
  runtime_instruction_handling = (
490
534
  "This runtime has a native subagent primitive but no passive "
491
535
  "Ouroboros bridge. Consume the inline `host_driven` dispatch payloads "
@@ -496,6 +540,10 @@ def build_runtime_subagent_orchestration_contract(
496
540
  "parallel primitive is available."
497
541
  )
498
542
  else:
543
+ spawn_trigger_mechanism = SubagentSpawnTriggerMechanism.SEQUENTIAL_FALLBACK
544
+ requires_explicit_spawn_request = False
545
+ callable_spawn_tool_name = None
546
+ prohibited_spawn_tool_names = ()
499
547
  runtime_instruction_handling = (
500
548
  "This runtime has no native parallel subagent primitive. Follow the "
501
549
  "MCP `sequential_fallback` contract and process each structured "
@@ -509,6 +557,10 @@ def build_runtime_subagent_orchestration_contract(
509
557
  # report False here and carry their capability via ``dispatch_mode``.
510
558
  supports_native_parallel_subagents=mode is SubagentDispatchMode.PLUGIN_PASSIVE,
511
559
  dispatch_mode=dispatch_mode,
560
+ spawn_trigger_mechanism=spawn_trigger_mechanism.value,
561
+ requires_explicit_spawn_request=requires_explicit_spawn_request,
562
+ callable_spawn_tool_name=callable_spawn_tool_name,
563
+ prohibited_spawn_tool_names=prohibited_spawn_tool_names,
512
564
  mcp_directive_keys=("_subagent", "_subagents"),
513
565
  sequential_fallback=dict(sequential_fallback),
514
566
  runtime_instruction_handling=runtime_instruction_handling,
@@ -642,6 +694,7 @@ __all__ = [
642
694
  "RuntimeSubagentOrchestrationContract",
643
695
  "SkillExecutionCapability",
644
696
  "SubagentDispatchMode",
697
+ "SubagentSpawnTriggerMechanism",
645
698
  "backend_supports_tool_envelope",
646
699
  "build_runtime_subagent_orchestration_contract",
647
700
  "get_backend_capability",