ouroboros-ai 0.43.3.dev18__tar.gz → 0.43.4.dev2__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 (1223) hide show
  1. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/marketplace.json +1 -1
  2. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/plugin.json +1 -1
  3. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/brownfield/SKILL.md +6 -6
  4. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/evaluate/SKILL.md +6 -6
  5. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/evolve/SKILL.md +6 -6
  6. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/interview/SKILL.md +4 -3
  7. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/pm/SKILL.md +3 -3
  8. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/qa/SKILL.md +3 -3
  9. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/ralph/SKILL.md +3 -3
  10. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/run/SKILL.md +6 -6
  11. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/seed/SKILL.md +2 -2
  12. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/setup/SKILL.md +4 -4
  13. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/status/SKILL.md +4 -4
  14. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/unstuck/SKILL.md +4 -4
  15. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/PKG-INFO +1 -1
  16. ouroboros_ai-0.43.4.dev2/scripts/deleak_toolsearch.py +92 -0
  17. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/brownfield/SKILL.md +6 -6
  18. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/evaluate/SKILL.md +6 -6
  19. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/evolve/SKILL.md +6 -6
  20. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/interview/SKILL.md +4 -3
  21. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/pm/SKILL.md +3 -3
  22. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/qa/SKILL.md +3 -3
  23. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/ralph/SKILL.md +3 -3
  24. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/run/SKILL.md +6 -6
  25. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/seed/SKILL.md +2 -2
  26. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/setup/SKILL.md +5 -5
  27. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/status/SKILL.md +4 -4
  28. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/unstuck/SKILL.md +4 -4
  29. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/_version.py +2 -2
  30. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/backends/__init__.py +6 -0
  31. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/backends/capabilities.py +102 -3
  32. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/plugin_dispatch.py +5 -5
  33. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/seed.py +65 -3
  34. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/server/adapter.py +14 -2
  35. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/backends/test_capabilities.py +59 -1
  36. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_plugin_dispatch.py +60 -0
  37. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_seed.py +75 -0
  38. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/server/test_adapter.py +7 -0
  39. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/skills/test_skill_artifacts.py +33 -0
  40. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude/settings.json +0 -0
  41. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/.mcp.json +0 -0
  42. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/SKILL_CAPABILITY_GUIDE.md +0 -0
  43. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/auto/SKILL.md +0 -0
  44. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/cancel/SKILL.md +0 -0
  45. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/help/SKILL.md +0 -0
  46. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/publish/SKILL.md +0 -0
  47. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/resume-session/SKILL.md +0 -0
  48. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/tutorial/SKILL.md +0 -0
  49. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/update/SKILL.md +0 -0
  50. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.claude-plugin/skills/welcome/SKILL.md +0 -0
  51. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.codex/config.toml +0 -0
  52. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.codex/hooks.json +0 -0
  53. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.env.example +0 -0
  54. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  55. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  56. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  57. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.github/ISSUE_TEMPLATE/question.yml +0 -0
  58. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  59. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.github/dependabot.yml +0 -0
  60. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.github/workflows/auto-boundary.yml +0 -0
  61. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.github/workflows/auto-perf-budget.yml +0 -0
  62. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.github/workflows/dev-publish.yml +0 -0
  63. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.github/workflows/lint.yml +0 -0
  64. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.github/workflows/max-turns-envelope.yml +0 -0
  65. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.github/workflows/release.yml +0 -0
  66. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.github/workflows/test.yml +0 -0
  67. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.gitignore +0 -0
  68. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.mcp.json +0 -0
  69. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.ouroboros/mechanical.toml +0 -0
  70. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.ouroboros/seeds/seed_73827177a2a3.yaml +0 -0
  71. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.ouroboros/seeds/seed_78c8e6e41813.yaml +0 -0
  72. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.pre-commit-config.yaml +0 -0
  73. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/.python-version +0 -0
  74. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/AGENTS.md +0 -0
  75. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/CHANGELOG.md +0 -0
  76. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/CLAUDE.md +0 -0
  77. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/CODE_OF_CONDUCT.md +0 -0
  78. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/CONTRIBUTING.md +0 -0
  79. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/Code-Review-Claude.md +0 -0
  80. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/Code-Review-Codex.md +0 -0
  81. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/HANDOFF.md +0 -0
  82. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/LICENSE +0 -0
  83. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/README.ko.md +0 -0
  84. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/README.md +0 -0
  85. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/README.zh-CN.md +0 -0
  86. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/SECURITY.md +0 -0
  87. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/UNINSTALL.md +0 -0
  88. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/commands/cancel.md +0 -0
  89. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/commands/evaluate.md +0 -0
  90. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/commands/evolve.md +0 -0
  91. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/commands/help.md +0 -0
  92. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/commands/interview.md +0 -0
  93. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/commands/ralph.md +0 -0
  94. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/commands/run.md +0 -0
  95. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/commands/seed.md +0 -0
  96. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/commands/setup.md +0 -0
  97. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/commands/status.md +0 -0
  98. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/commands/tutorial.md +0 -0
  99. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/commands/unstuck.md +0 -0
  100. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/commands/welcome.md +0 -0
  101. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/crates/ouroboros-tui/.gitignore +0 -0
  102. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/crates/ouroboros-tui/Cargo.lock +0 -0
  103. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/crates/ouroboros-tui/Cargo.toml +0 -0
  104. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/crates/ouroboros-tui/README.md +0 -0
  105. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/crates/ouroboros-tui/src/db.rs +0 -0
  106. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/crates/ouroboros-tui/src/main.rs +0 -0
  107. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/crates/ouroboros-tui/src/mock.rs +0 -0
  108. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/crates/ouroboros-tui/src/state.rs +0 -0
  109. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/crates/ouroboros-tui/src/views/dashboard.rs +0 -0
  110. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/crates/ouroboros-tui/src/views/execution.rs +0 -0
  111. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/crates/ouroboros-tui/src/views/lineage.rs +0 -0
  112. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/crates/ouroboros-tui/src/views/logs.rs +0 -0
  113. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/crates/ouroboros-tui/src/views/mod.rs +0 -0
  114. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/crates/ouroboros-tui/src/views/session_selector.rs +0 -0
  115. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/README.md +0 -0
  116. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/agentos/control-journal.md +0 -0
  117. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/agentos/fat-harness-baseline-metrics.md +0 -0
  118. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/agentos/issue-sequencing-graph.md +0 -0
  119. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/agentos/profile-taxonomy.md +0 -0
  120. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/agentos/projection-followups.md +0 -0
  121. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/agentos/projection-v1-scope.md +0 -0
  122. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/agentos/release-readiness.md +0 -0
  123. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/agentos/runtime-contract.md +0 -0
  124. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/agentos/traceguard-observation-protocol.md +0 -0
  125. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/agentos/traceguard-vs-legacy-benchmark.md +0 -0
  126. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/agentos/workflow-ir-projection-mapping.md +0 -0
  127. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/agentos/workflow-ir-v1.md +0 -0
  128. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/api/README.md +0 -0
  129. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/api/core.md +0 -0
  130. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/api/mcp.md +0 -0
  131. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/architecture.md +0 -0
  132. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/auto-interview-convergence-contract.md +0 -0
  133. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/auto-runtime-semantics.md +0 -0
  134. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/cli-reference.md +0 -0
  135. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/config-reference.md +0 -0
  136. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/contributing/agent-os-kernel-terminology.md +0 -0
  137. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/contributing/architecture-overview.md +0 -0
  138. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/contributing/control-contract.md +0 -0
  139. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/contributing/control-plane-followups.md +0 -0
  140. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/contributing/findings-registry.md +0 -0
  141. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/contributing/issue-quality-policy.md +0 -0
  142. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/contributing/key-patterns.md +0 -0
  143. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/contributing/testing-guide.md +0 -0
  144. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/contributing/verifier-evidence-policy.md +0 -0
  145. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/contributing/watchdog-cancellation.md +0 -0
  146. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/events.md +0 -0
  147. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/examples/mcp-config.yaml +0 -0
  148. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/examples/workflows/design-code-verify.md +0 -0
  149. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/examples/workflows/high-context-inverted-interview.md +0 -0
  150. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/examples/workflows/research-to-deliverable.md +0 -0
  151. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/getting-started.md +0 -0
  152. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/guides/agent-process-lifecycle.md +0 -0
  153. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/guides/evaluation-pipeline.md +0 -0
  154. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/guides/evolution-loop.md +0 -0
  155. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/guides/execution-vs-evaluation.md +0 -0
  156. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/guides/issue-176-subagent-mcp-inheritance.md +0 -0
  157. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/guides/mcp-best-practices.md +0 -0
  158. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/guides/mcp-bridge.md +0 -0
  159. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/guides/ooo-skill-dispatch-router.md +0 -0
  160. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/guides/opencode-subagent-bridge.md +0 -0
  161. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/guides/qa-backends.md +0 -0
  162. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/guides/safe-but-wrong-output.md +0 -0
  163. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/guides/seed-authoring.md +0 -0
  164. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/guides/tui-usage.md +0 -0
  165. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/guides/windows-wsl-troubleshooting.md +0 -0
  166. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/images/PLACEHOLDER_README.md +0 -0
  167. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/images/ouroboros.png +0 -0
  168. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/interview-advisory-fanout-comparison.html +0 -0
  169. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/ooo-auto-analysis.md +0 -0
  170. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/ooo-auto-evolution-plan.md +0 -0
  171. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/platform-support.md +0 -0
  172. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/config-coherence.md +0 -0
  173. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/context-first-inverted-interview.md +0 -0
  174. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/contract-ledger.md +0 -0
  175. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/decomposition-reliability.md +0 -0
  176. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/disposable-memory.md +0 -0
  177. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/frugality-control-loop.md +0 -0
  178. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/frugality-proof-producers.md +0 -0
  179. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/interview-hardening.md +0 -0
  180. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/interview-milestone-lateral-contract.md +0 -0
  181. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/inverted-interview-intent-preservation.md +0 -0
  182. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/mesh.md +0 -0
  183. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/plugin-artifact-state-hook-contract.md +0 -0
  184. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/plugin-tool-call-hook-contract.md +0 -0
  185. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/runtime-delegation-contract.md +0 -0
  186. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/runtime-timeout-contract.md +0 -0
  187. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/spend-actuator-effort-dial.md +0 -0
  188. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/spend-estimator.md +0 -0
  189. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/transparency-breadcrumb-tui.md +0 -0
  190. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/userlevel-plugins.md +0 -0
  191. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/rfc/verdict-envelope-v1.md +0 -0
  192. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/runtime-capability-matrix.md +0 -0
  193. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/runtime-guides/claude-code.md +0 -0
  194. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/runtime-guides/codex.md +0 -0
  195. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/runtime-guides/copilot.md +0 -0
  196. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/runtime-guides/gemini.md +0 -0
  197. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/runtime-guides/gjc.md +0 -0
  198. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/runtime-guides/goose.md +0 -0
  199. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/runtime-guides/hermes.md +0 -0
  200. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/runtime-guides/kiro.md +0 -0
  201. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/runtime-guides/opencode.md +0 -0
  202. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/runtime-guides/pi.md +0 -0
  203. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/docs/runtime-guides/skill-capability-guides.md +0 -0
  204. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/examples/coordinator_test_seed.yaml +0 -0
  205. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/examples/dummy_seed.yaml +0 -0
  206. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/examples/parallel_subac_test_seed.yaml +0 -0
  207. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/examples/subac_test_seed.yaml +0 -0
  208. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/examples/task_manager/README.md +0 -0
  209. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/examples/task_manager/__init__.py +0 -0
  210. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/examples/task_manager/__main__.py +0 -0
  211. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/examples/task_manager/cli.py +0 -0
  212. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/examples/task_manager/models.py +0 -0
  213. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/examples/task_manager/storage.py +0 -0
  214. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/examples/test_display.py +0 -0
  215. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/hooks/hooks.json +0 -0
  216. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/llms-full.txt +0 -0
  217. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/llms.txt +0 -0
  218. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/project-context.md +0 -0
  219. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/pyproject.toml +0 -0
  220. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/scripts/check-auto-boundary.py +0 -0
  221. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/scripts/check-auto-perf-budget.py +0 -0
  222. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/scripts/check-max-turns-envelope.py +0 -0
  223. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/scripts/drift-monitor.py +0 -0
  224. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/scripts/install.sh +0 -0
  225. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/scripts/keyword-detector.py +0 -0
  226. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/scripts/mcp-serve.sh +0 -0
  227. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/scripts/ralph-rewind.py +0 -0
  228. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/scripts/ralph.py +0 -0
  229. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/scripts/ralph.sh +0 -0
  230. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/scripts/session-start.py +0 -0
  231. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/scripts/sync-plugin-version.py +0 -0
  232. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/scripts/version-check.py +0 -0
  233. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/auto/SKILL.md +0 -0
  234. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/cancel/SKILL.md +0 -0
  235. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/config/SKILL.md +0 -0
  236. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/help/SKILL.md +0 -0
  237. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/publish/SKILL.md +0 -0
  238. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/resume-session/SKILL.md +0 -0
  239. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/tutorial/SKILL.md +0 -0
  240. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/update/SKILL.md +0 -0
  241. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/skills/welcome/SKILL.md +0 -0
  242. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/__init__.py +0 -0
  243. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/__main__.py +0 -0
  244. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/__init__.py +0 -0
  245. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/advocate.md +0 -0
  246. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/analysis-agent.md +0 -0
  247. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/architect.md +0 -0
  248. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/breadth-keeper.md +0 -0
  249. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/code-executor.md +0 -0
  250. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/codebase-explorer.md +0 -0
  251. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/consensus-reviewer.md +0 -0
  252. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/contrarian.md +0 -0
  253. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/evaluator.md +0 -0
  254. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/hacker.md +0 -0
  255. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/judge.md +0 -0
  256. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/loader.py +0 -0
  257. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/ontologist.md +0 -0
  258. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/ontology-analyst.md +0 -0
  259. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/qa-judge.md +0 -0
  260. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/research-agent.md +0 -0
  261. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/researcher.md +0 -0
  262. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/seed-architect.md +0 -0
  263. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/seed-closer.md +0 -0
  264. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/semantic-evaluator.md +0 -0
  265. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/simplifier.md +0 -0
  266. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/agents/socratic-interviewer.md +0 -0
  267. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/__init__.py +0 -0
  268. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/adapters.py +0 -0
  269. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/answerer.py +0 -0
  270. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/auto_fill.py +0 -0
  271. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/blocker_attribution.py +0 -0
  272. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/checkpoint_commits.py +0 -0
  273. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/domain_inference.py +0 -0
  274. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/domain_profile.py +0 -0
  275. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/execution_acceptance.py +0 -0
  276. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/gap_detector.py +0 -0
  277. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/grading.py +0 -0
  278. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/handoff_contract.py +0 -0
  279. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/intent_guard.py +0 -0
  280. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/interview_driver.py +0 -0
  281. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/lateral_routing.py +0 -0
  282. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/ledger.py +0 -0
  283. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/ledger_seed.py +0 -0
  284. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/listeners.py +0 -0
  285. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/pipeline.py +0 -0
  286. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/policies.py +0 -0
  287. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/profiles/__init__.py +0 -0
  288. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/profiles/coding.py +0 -0
  289. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/profiles/research.py +0 -0
  290. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/progress.py +0 -0
  291. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/provenance.py +0 -0
  292. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/recovery_plan.py +0 -0
  293. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/repo_context.py +0 -0
  294. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/resume_render.py +0 -0
  295. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/runtime_routing.py +0 -0
  296. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/safe_defaults.py +0 -0
  297. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/seed_repairer.py +0 -0
  298. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/seed_reviewer.py +0 -0
  299. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/state.py +0 -0
  300. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/task_class_application.py +0 -0
  301. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/task_classes.py +0 -0
  302. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/auto/worktree.py +0 -0
  303. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/backends/model_catalog.py +0 -0
  304. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/bigbang/__init__.py +0 -0
  305. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/bigbang/ambiguity.py +0 -0
  306. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/bigbang/brownfield.py +0 -0
  307. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/bigbang/explore.py +0 -0
  308. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/bigbang/interview.py +0 -0
  309. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/bigbang/pm_completion.py +0 -0
  310. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/bigbang/pm_document.py +0 -0
  311. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/bigbang/pm_interview.py +0 -0
  312. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/bigbang/pm_seed.py +0 -0
  313. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/bigbang/question_classifier.py +0 -0
  314. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/bigbang/seed_generator.py +0 -0
  315. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/claude_permissions.py +0 -0
  316. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/__init__.py +0 -0
  317. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/__init__.py +0 -0
  318. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/auto.py +0 -0
  319. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/cancel.py +0 -0
  320. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/codex.py +0 -0
  321. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/config.py +0 -0
  322. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/detect.py +0 -0
  323. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/dispatch.py +0 -0
  324. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/init.py +0 -0
  325. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/job.py +0 -0
  326. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/mcp.py +0 -0
  327. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/mcp_doctor.py +0 -0
  328. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/plugin.py +0 -0
  329. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/pm.py +0 -0
  330. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/qa.py +0 -0
  331. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/resume.py +0 -0
  332. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/run.py +0 -0
  333. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/setup.py +0 -0
  334. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/status.py +0 -0
  335. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/tui.py +0 -0
  336. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/uninstall.py +0 -0
  337. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/commands/workflow_ir.py +0 -0
  338. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/formatters/__init__.py +0 -0
  339. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/formatters/panels.py +0 -0
  340. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/formatters/progress.py +0 -0
  341. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/formatters/prompting.py +0 -0
  342. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/formatters/tables.py +0 -0
  343. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/formatters/workflow_display.py +0 -0
  344. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/jsonc.py +0 -0
  345. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/main.py +0 -0
  346. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/cli/opencode_config.py +0 -0
  347. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/codex/__init__.py +0 -0
  348. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/codex/artifacts.py +0 -0
  349. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/codex/cli_policy.py +0 -0
  350. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/codex/ouroboros.md +0 -0
  351. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/codex/runtime_profile.py +0 -0
  352. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/codex_permissions.py +0 -0
  353. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/config/__init__.py +0 -0
  354. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/config/_model_defaults.py +0 -0
  355. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/config/loader.py +0 -0
  356. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/config/models.py +0 -0
  357. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/config_tui/__init__.py +0 -0
  358. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/config_tui/__main__.py +0 -0
  359. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/config_tui/app.py +0 -0
  360. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/config_tui/fields.py +0 -0
  361. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/config_tui/launcher.py +0 -0
  362. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/config_tui/persistence.py +0 -0
  363. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/copilot/__init__.py +0 -0
  364. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/copilot/cli_policy.py +0 -0
  365. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/copilot/model_discovery.py +0 -0
  366. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/copilot/runtime_profile.py +0 -0
  367. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/copilot_permissions.py +0 -0
  368. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/__init__.py +0 -0
  369. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/ac_tree.py +0 -0
  370. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/context.py +0 -0
  371. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/control_contract.py +0 -0
  372. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/directive.py +0 -0
  373. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/errors.py +0 -0
  374. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/file_lock.py +0 -0
  375. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/git_workflow.py +0 -0
  376. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/hitl_contract.py +0 -0
  377. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/hitl_resume.py +0 -0
  378. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/hitl_state.py +0 -0
  379. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/initial_context.py +0 -0
  380. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/json_utils.py +0 -0
  381. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/lineage.py +0 -0
  382. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/ontology_aspect.py +0 -0
  383. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/ontology_questions.py +0 -0
  384. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/project_paths.py +0 -0
  385. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/retry.py +0 -0
  386. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/runtime_transition.py +0 -0
  387. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/security.py +0 -0
  388. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/seed_contract.py +0 -0
  389. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/seed_contract_prompt.py +0 -0
  390. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/text.py +0 -0
  391. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/ttl_cache.py +0 -0
  392. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/types.py +0 -0
  393. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/core/worktree.py +0 -0
  394. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evaluation/__init__.py +0 -0
  395. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evaluation/artifact_collector.py +0 -0
  396. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evaluation/checklist.py +0 -0
  397. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evaluation/consensus.py +0 -0
  398. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evaluation/detector.py +0 -0
  399. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evaluation/json_utils.py +0 -0
  400. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evaluation/languages.py +0 -0
  401. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evaluation/mechanical.py +0 -0
  402. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evaluation/models.py +0 -0
  403. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evaluation/pipeline.py +0 -0
  404. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evaluation/semantic.py +0 -0
  405. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evaluation/trigger.py +0 -0
  406. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evaluation/verification_artifacts.py +0 -0
  407. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/events/__init__.py +0 -0
  408. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/events/base.py +0 -0
  409. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/events/control.py +0 -0
  410. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/events/evaluation.py +0 -0
  411. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/events/hitl.py +0 -0
  412. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/events/interview.py +0 -0
  413. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/events/io.py +0 -0
  414. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/events/io_recorder.py +0 -0
  415. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/events/lineage.py +0 -0
  416. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/events/ontology.py +0 -0
  417. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evolution/__init__.py +0 -0
  418. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evolution/convergence.py +0 -0
  419. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evolution/directive_mapping.py +0 -0
  420. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evolution/loop.py +0 -0
  421. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evolution/material_progress.py +0 -0
  422. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evolution/projector.py +0 -0
  423. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evolution/reflect.py +0 -0
  424. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evolution/regression.py +0 -0
  425. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evolution/watchdog.py +0 -0
  426. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/evolution/wonder.py +0 -0
  427. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/gjc_bridge/index.ts +0 -0
  428. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/harness/__init__.py +0 -0
  429. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/harness/claim_term_guard.py +0 -0
  430. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/harness/deliver_gate.py +0 -0
  431. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/harness/deliver_routing.py +0 -0
  432. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/harness/journal.py +0 -0
  433. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/harness/projection.py +0 -0
  434. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/harness/projection_builder.py +0 -0
  435. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/harness/run_snapshot.py +0 -0
  436. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/hermes/__init__.py +0 -0
  437. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/hermes/artifacts.py +0 -0
  438. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/kiro/__init__.py +0 -0
  439. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/kiro/cli_policy.py +0 -0
  440. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/__init__.py +0 -0
  441. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/bridge/__init__.py +0 -0
  442. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/bridge/bridge.py +0 -0
  443. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/bridge/config.py +0 -0
  444. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/bridge/factory.py +0 -0
  445. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/client/__init__.py +0 -0
  446. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/client/adapter.py +0 -0
  447. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/client/manager.py +0 -0
  448. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/client/protocol.py +0 -0
  449. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/errors.py +0 -0
  450. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/job_manager.py +0 -0
  451. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/resources/__init__.py +0 -0
  452. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/resources/handlers.py +0 -0
  453. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/server/__init__.py +0 -0
  454. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/server/protocol.py +0 -0
  455. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/server/security.py +0 -0
  456. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/__init__.py +0 -0
  457. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/ac_tree_hud_handler.py +0 -0
  458. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/ac_tree_hud_render.py +0 -0
  459. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/authoring_handlers.py +0 -0
  460. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/auto_handler.py +0 -0
  461. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/background.py +0 -0
  462. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/bridge_mixin.py +0 -0
  463. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/brownfield_handler.py +0 -0
  464. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/dashboard.py +0 -0
  465. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/definitions.py +0 -0
  466. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/evaluation_handlers.py +0 -0
  467. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/evolution_handlers.py +0 -0
  468. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/execution_handlers.py +0 -0
  469. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/job_handlers.py +0 -0
  470. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/pm_handler.py +0 -0
  471. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/projection_handlers.py +0 -0
  472. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/qa.py +0 -0
  473. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/query_handlers.py +0 -0
  474. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/ralph_handlers.py +0 -0
  475. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/registry.py +0 -0
  476. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/tools/subagent.py +0 -0
  477. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/mcp/types.py +0 -0
  478. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/observability/__init__.py +0 -0
  479. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/observability/drift.py +0 -0
  480. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/observability/logging.py +0 -0
  481. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/observability/retrospective.py +0 -0
  482. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/opencode/__init__.py +0 -0
  483. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/opencode/plugin/__init__.py +0 -0
  484. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/opencode/plugin/opencode-plugin.d.ts +0 -0
  485. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/opencode/plugin/ouroboros-bridge.test.ts +0 -0
  486. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/opencode/plugin/ouroboros-bridge.ts +0 -0
  487. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/opencode/plugin/package.json +0 -0
  488. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/opencode/plugin/tsconfig.json +0 -0
  489. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/__init__.py +0 -0
  490. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/adapter.py +0 -0
  491. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/agent_process.py +0 -0
  492. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/agent_runtime_context.py +0 -0
  493. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/backend_limits.py +0 -0
  494. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/baseline_metrics.py +0 -0
  495. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/baseline_metrics_capture.py +0 -0
  496. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/baseline_metrics_format.py +0 -0
  497. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/capabilities.py +0 -0
  498. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/codex_cli_runtime.py +0 -0
  499. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/command_dispatcher.py +0 -0
  500. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/context_governor.py +0 -0
  501. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/control_bus.py +0 -0
  502. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/control_plane.py +0 -0
  503. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/coordinator.py +0 -0
  504. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/copilot_cli_runtime.py +0 -0
  505. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/decomposition_params.py +0 -0
  506. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/dependency_analyzer.py +0 -0
  507. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/effort_routing.py +0 -0
  508. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/events.py +0 -0
  509. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/evidence_schema.py +0 -0
  510. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/execution_runtime_scope.py +0 -0
  511. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/execution_strategy.py +0 -0
  512. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/failure_taxonomy.py +0 -0
  513. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/frugality_proof.py +0 -0
  514. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/gemini_cli_runtime.py +0 -0
  515. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/gjc_runtime.py +0 -0
  516. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/goose_runtime.py +0 -0
  517. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/heartbeat.py +0 -0
  518. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/hermes_runtime.py +0 -0
  519. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/kiro_adapter.py +0 -0
  520. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/level_context.py +0 -0
  521. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/mcp_config.py +0 -0
  522. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/mcp_tools.py +0 -0
  523. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/opencode_event_normalizer.py +0 -0
  524. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/opencode_runtime.py +0 -0
  525. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/parallel_executor.py +0 -0
  526. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/parallel_executor_models.py +0 -0
  527. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/phase_wrappers.py +0 -0
  528. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/pi_runtime.py +0 -0
  529. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/policy.py +0 -0
  530. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/profile_loader.py +0 -0
  531. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/profile_strategy.py +0 -0
  532. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/rate_limit.py +0 -0
  533. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/runner.py +0 -0
  534. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/runtime_error.py +0 -0
  535. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/runtime_evidence.py +0 -0
  536. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/runtime_factory.py +0 -0
  537. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/runtime_message_projection.py +0 -0
  538. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/runtime_param_negotiation.py +0 -0
  539. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/session.py +0 -0
  540. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/skill_intercept.py +0 -0
  541. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/skill_tool_mapping.py +0 -0
  542. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/stage.py +0 -0
  543. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/traceguard_benchmark_capture.py +0 -0
  544. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/verifier.py +0 -0
  545. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/workflow_ir.py +0 -0
  546. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/workflow_ir_adapter.py +0 -0
  547. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/workflow_lifecycle.py +0 -0
  548. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator/workflow_state.py +0 -0
  549. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/orchestrator_stage.py +0 -0
  550. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/persistence/__init__.py +0 -0
  551. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/persistence/brownfield.py +0 -0
  552. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/persistence/checkpoint.py +0 -0
  553. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/persistence/event_store.py +0 -0
  554. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/persistence/migrations/__init__.py +0 -0
  555. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/persistence/migrations/runner.py +0 -0
  556. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/persistence/migrations/scripts/001_initial.sql +0 -0
  557. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/persistence/migrations/scripts/002_brownfield.sql +0 -0
  558. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/persistence/schema.py +0 -0
  559. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/persistence/uow.py +0 -0
  560. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/__init__.py +0 -0
  561. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/agents/__init__.py +0 -0
  562. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/agents/pool.py +0 -0
  563. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/agents/registry.py +0 -0
  564. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/digest.py +0 -0
  565. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/firewall.py +0 -0
  566. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/hooks.py +0 -0
  567. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/ledger_adapter.py +0 -0
  568. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/lockfile.py +0 -0
  569. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/manifest.py +0 -0
  570. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/schemas/0.1/_source.json +0 -0
  571. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/schemas/0.1/audit-event.schema.json +0 -0
  572. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/schemas/0.1/plugin.schema.json +0 -0
  573. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/schemas/0.2/_source.json +0 -0
  574. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/schemas/0.2/audit-event.schema.json +0 -0
  575. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/schemas/0.2/plugin.schema.json +0 -0
  576. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/schemas/0.3/_source.json +0 -0
  577. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/schemas/0.3/audit-event.schema.json +0 -0
  578. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/schemas/0.3/plugin.schema.json +0 -0
  579. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/schemas/0.4/_source.json +0 -0
  580. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/schemas/0.4/audit-event.schema.json +0 -0
  581. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/schemas/0.4/plugin.schema.json +0 -0
  582. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/skills/__init__.py +0 -0
  583. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/skills/docs.py +0 -0
  584. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/skills/executor.py +0 -0
  585. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/skills/keywords.py +0 -0
  586. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/skills/registry.py +0 -0
  587. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/trust_store.py +0 -0
  588. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/plugin/userlevel_registry.py +0 -0
  589. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/pm/__init__.py +0 -0
  590. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/pm/handoff.py +0 -0
  591. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/pm/renderer.py +0 -0
  592. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/profiles/analysis.yaml +0 -0
  593. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/profiles/code.yaml +0 -0
  594. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/profiles/research.yaml +0 -0
  595. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/__init__.py +0 -0
  596. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/anthropic_adapter.py +0 -0
  597. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/base.py +0 -0
  598. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/claude_code_adapter.py +0 -0
  599. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/codex_cli_adapter.py +0 -0
  600. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/codex_cli_stream.py +0 -0
  601. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/copilot_cli_adapter.py +0 -0
  602. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/factory.py +0 -0
  603. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/gemini_cli_adapter.py +0 -0
  604. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/gemini_event_normalizer.py +0 -0
  605. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/gjc_llm_adapter.py +0 -0
  606. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/gjc_rpc_protocol.py +0 -0
  607. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/goose_cli_adapter.py +0 -0
  608. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/hermes_cli_adapter.py +0 -0
  609. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/kiro_adapter.py +0 -0
  610. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/litellm_adapter.py +0 -0
  611. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/opencode_adapter.py +0 -0
  612. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/ourocode_acp_client.py +0 -0
  613. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/ourocode_llm_adapter.py +0 -0
  614. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/pi_llm_adapter.py +0 -0
  615. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/profiles.py +0 -0
  616. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/providers/tool_use_diagnostics.py +0 -0
  617. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/py.typed +0 -0
  618. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/ralph_loop.py +0 -0
  619. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/resilience/__init__.py +0 -0
  620. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/resilience/lateral.py +0 -0
  621. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/resilience/recovery.py +0 -0
  622. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/resilience/stagnation.py +0 -0
  623. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/router/__init__.py +0 -0
  624. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/router/command_parser.py +0 -0
  625. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/router/dispatch.py +0 -0
  626. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/router/registry.py +0 -0
  627. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/router/types.py +0 -0
  628. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/runtime/__init__.py +0 -0
  629. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/runtime/child_env.py +0 -0
  630. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/runtime/controls.py +0 -0
  631. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/runtime/watchdog.py +0 -0
  632. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/runtime_instruction_artifacts.py +0 -0
  633. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/sandbox.py +0 -0
  634. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/skills/__init__.py +0 -0
  635. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/skills/artifacts.py +0 -0
  636. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/strategies/__init__.py +0 -0
  637. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/strategies/devil_advocate.py +0 -0
  638. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/__init__.py +0 -0
  639. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/app.py +0 -0
  640. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/components/__init__.py +0 -0
  641. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/components/agents_panel.py +0 -0
  642. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/components/event_log.py +0 -0
  643. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/components/progress.py +0 -0
  644. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/components/token_tracker.py +0 -0
  645. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/events.py +0 -0
  646. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/screens/__init__.py +0 -0
  647. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/screens/confirm_rewind.py +0 -0
  648. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/screens/dashboard.py +0 -0
  649. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/screens/dashboard_v2.py +0 -0
  650. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/screens/dashboard_v3.py +0 -0
  651. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/screens/debug.py +0 -0
  652. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/screens/execution.py +0 -0
  653. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/screens/hud_dashboard.py +0 -0
  654. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/screens/lineage_detail.py +0 -0
  655. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/screens/lineage_selector.py +0 -0
  656. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/screens/logs.py +0 -0
  657. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/screens/session_selector.py +0 -0
  658. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/widgets/__init__.py +0 -0
  659. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/widgets/ac_progress.py +0 -0
  660. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/widgets/ac_tree.py +0 -0
  661. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/widgets/agent_activity.py +0 -0
  662. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/widgets/cost_tracker.py +0 -0
  663. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/widgets/drift_meter.py +0 -0
  664. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/widgets/lineage_tree.py +0 -0
  665. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/widgets/parallel_graph.py +0 -0
  666. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/tui/widgets/phase_progress.py +0 -0
  667. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/verification/__init__.py +0 -0
  668. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/verification/extractor.py +0 -0
  669. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/verification/models.py +0 -0
  670. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/src/ouroboros/verification/verifier.py +0 -0
  671. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/__init__.py +0 -0
  672. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/_envelope_wiring.py +0 -0
  673. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/canonical/README.md +0 -0
  674. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/canonical/__init__.py +0 -0
  675. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/canonical/cli-todo/expected.yaml +0 -0
  676. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/canonical/cli-todo/goal.txt +0 -0
  677. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/canonical/conftest.py +0 -0
  678. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/canonical/test_canonical.py +0 -0
  679. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/canonical/test_conftest.py +0 -0
  680. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/conformance/__init__.py +0 -0
  681. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/conformance/workflow_ir/__init__.py +0 -0
  682. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/conformance/workflow_ir/fixtures.py +0 -0
  683. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/conformance/workflow_ir/test_negative_fixtures.py +0 -0
  684. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/conformance/workflow_ir/test_plugin_firewall_contract.py +0 -0
  685. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/conformance/workflow_ir/test_positive_fixtures.py +0 -0
  686. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/conftest.py +0 -0
  687. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/e2e/__init__.py +0 -0
  688. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/e2e/conftest.py +0 -0
  689. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/e2e/mcp_bridge_test_config.yaml +0 -0
  690. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/e2e/test_cli_commands.py +0 -0
  691. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/e2e/test_full_workflow.py +0 -0
  692. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/e2e/test_session_persistence.py +0 -0
  693. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/fixtures/fake_ourocode_acp.py +0 -0
  694. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/fixtures/plugins-fixture/README.md +0 -0
  695. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/fixtures/plugins-fixture/plugins/github-pr-ops/github_pr_ops/__init__.py +0 -0
  696. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/fixtures/plugins-fixture/plugins/github-pr-ops/github_pr_ops/__main__.py +0 -0
  697. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/fixtures/plugins-fixture/plugins/github-pr-ops/ouroboros.plugin.json +0 -0
  698. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/fixtures/projection/mechanical_evaluation_events.json +0 -0
  699. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/fixtures/router/skills/frontmatter-body/run/SKILL.md +0 -0
  700. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/fixtures/seeds/mechanical-eval-minimal.yaml +0 -0
  701. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/__init__.py +0 -0
  702. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/auto/__init__.py +0 -0
  703. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/auto/test_dispatch_to_seed_e2e.py +0 -0
  704. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/auto/test_domain_profile_plurality.py +0 -0
  705. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/auto/test_end_to_end_product.py +0 -0
  706. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/auto/test_interview_deadline_partial_product_regression.py +0 -0
  707. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/auto/test_status_unified.py +0 -0
  708. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/conftest.py +0 -0
  709. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/mcp/__init__.py +0 -0
  710. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/mcp/bridge/__init__.py +0 -0
  711. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/mcp/bridge/test_bridge_server_to_server.py +0 -0
  712. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/mcp/conftest.py +0 -0
  713. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/mcp/test_client_adapter.py +0 -0
  714. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/mcp/test_client_manager.py +0 -0
  715. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/mcp/test_server_adapter.py +0 -0
  716. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/orchestrator/__init__.py +0 -0
  717. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/orchestrator/test_agent_process_three_surface_acceptance.py +0 -0
  718. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/plugin/__init__.py +0 -0
  719. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/plugin/test_e2e.py +0 -0
  720. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/plugin/test_orchestration.py +0 -0
  721. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/plugin/test_wheel_packaging.py +0 -0
  722. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/test_cancel_subprocess_termination.py +0 -0
  723. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/test_codex_cli_passthrough_smoke.py +0 -0
  724. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/test_codex_skill_fallback.py +0 -0
  725. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/test_codex_skill_smoke.py +0 -0
  726. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/test_copilot_cli_smoke.py +0 -0
  727. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/test_entry_point.py +0 -0
  728. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/test_ir_projection_consistency.py +0 -0
  729. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/test_mechanical_eval_projection.py +0 -0
  730. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/integration/test_pi_native_smoke.py +0 -0
  731. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/test-execution-plan.md +0 -0
  732. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/__init__.py +0 -0
  733. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/agents/__init__.py +0 -0
  734. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/agents/test_loader.py +0 -0
  735. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/conftest.py +0 -0
  736. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_821_acceptance_matrix.py +0 -0
  737. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_adapters_client_gates.py +0 -0
  738. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_adapters_ralph_poller.py +0 -0
  739. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_answer_refiner_adapter.py +0 -0
  740. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_answer_source_log.py +0 -0
  741. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_answerer_via_domain_profile.py +0 -0
  742. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_auto_fill.py +0 -0
  743. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_auto_policies.py +0 -0
  744. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_auto_worktree.py +0 -0
  745. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_blocker_attribution.py +0 -0
  746. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_checkpoint_commits.py +0 -0
  747. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_cli_progress.py +0 -0
  748. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_domain_inference.py +0 -0
  749. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_domain_profile_coding_parity.py +0 -0
  750. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_domain_profile_contracts.py +0 -0
  751. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_execution_acceptance.py +0 -0
  752. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_handoff_contract.py +0 -0
  753. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_intent_guard.py +0 -0
  754. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_interview_answer_refiner.py +0 -0
  755. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_interview_driver_event_store_wiring.py +0 -0
  756. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_interview_pipeline.py +0 -0
  757. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_interview_stagnation_lateral.py +0 -0
  758. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_inverted_interview_intent_guard.py +0 -0
  759. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_lateral_routing_safe_default.py +0 -0
  760. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_ledger_committed_decisions.py +0 -0
  761. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_ledger_grading_answerer.py +0 -0
  762. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_ledger_seed.py +0 -0
  763. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_pipeline_deadline.py +0 -0
  764. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_pipeline_defaulted_sections_surface.py +0 -0
  765. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_pipeline_domain_profile.py +0 -0
  766. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_pipeline_evaluate.py +0 -0
  767. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_pipeline_interview_deadline_closure.py +0 -0
  768. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_pipeline_interview_observer_drain.py +0 -0
  769. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_pipeline_lateral.py +0 -0
  770. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_pipeline_oscillation_lateral.py +0 -0
  771. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_pipeline_partial_product_terminal.py +0 -0
  772. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_pipeline_provenance.py +0 -0
  773. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_pipeline_ralph_handoff.py +0 -0
  774. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_pipeline_runtime_probe_envelope.py +0 -0
  775. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_pipeline_task_class_envelope.py +0 -0
  776. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_pipeline_watchdog_integration.py +0 -0
  777. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_progress.py +0 -0
  778. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_recovery_plan.py +0 -0
  779. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_research_profile.py +0 -0
  780. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_run_starter_idempotency.py +0 -0
  781. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_runtime_routing.py +0 -0
  782. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_runtime_semantics.py +0 -0
  783. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_safe_default_lateral_escalation.py +0 -0
  784. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_safe_default_observability.py +0 -0
  785. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_safe_defaults_domain_profile.py +0 -0
  786. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_safe_defaults_freedom_policy.py +0 -0
  787. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_safe_defaults_prompt_non_goals.py +0 -0
  788. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_seed_repairer_bounded.py +0 -0
  789. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_state.py +0 -0
  790. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_state_provenance.py +0 -0
  791. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_stop_reason_code.py +0 -0
  792. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_surface.py +0 -0
  793. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_task_class_application.py +0 -0
  794. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_task_classes.py +0 -0
  795. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/auto/test_user_preference_and_floor.py +0 -0
  796. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/backends/test_model_catalog.py +0 -0
  797. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/__init__.py +0 -0
  798. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_ambiguity.py +0 -0
  799. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_brownfield.py +0 -0
  800. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_classifier_context.py +0 -0
  801. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_decide_later_items.py +0 -0
  802. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_explore.py +0 -0
  803. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_interview.py +0 -0
  804. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_interview_async_io.py +0 -0
  805. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_interview_no_web_search_hint.py +0 -0
  806. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_interview_research_prefix.py +0 -0
  807. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_interview_start_persist_failure.py +0 -0
  808. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_pm_completion.py +0 -0
  809. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_pm_document_generator.py +0 -0
  810. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_pm_document_writer.py +0 -0
  811. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_pm_interview.py +0 -0
  812. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_pm_interview_brownfield_db.py +0 -0
  813. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_pm_seed_ac12.py +0 -0
  814. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_pm_seed_save.py +0 -0
  815. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_question_classifier.py +0 -0
  816. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/bigbang/test_seed_generator.py +0 -0
  817. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/__init__.py +0 -0
  818. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/commands/test_config_bare_dispatch.py +0 -0
  819. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/commands/test_tui_command.py +0 -0
  820. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/conftest.py +0 -0
  821. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/formatters/__init__.py +0 -0
  822. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/formatters/test_console.py +0 -0
  823. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/formatters/test_panels.py +0 -0
  824. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/formatters/test_progress.py +0 -0
  825. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/formatters/test_prompting.py +0 -0
  826. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/formatters/test_tables.py +0 -0
  827. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/formatters/test_workflow_display.py +0 -0
  828. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_auto_command.py +0 -0
  829. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_auto_domain_activation.py +0 -0
  830. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_auto_provenance.py +0 -0
  831. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_auto_runtime_dispatch.py +0 -0
  832. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_bridge_plugin_hardening.py +0 -0
  833. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_bridge_plugin_lifecycle.py +0 -0
  834. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_cancel.py +0 -0
  835. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_codex_command.py +0 -0
  836. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_config.py +0 -0
  837. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_debug_tool_started_callbacks.py +0 -0
  838. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_detached_auto_wait_command.py +0 -0
  839. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_detect_allowed_tools_wiring.py +0 -0
  840. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_dispatch_command.py +0 -0
  841. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_doc_commands.py +0 -0
  842. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_init_hitl.py +0 -0
  843. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_init_pm_seed_detection.py +0 -0
  844. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_init_runtime.py +0 -0
  845. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_job_command.py +0 -0
  846. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_jsonc.py +0 -0
  847. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_main.py +0 -0
  848. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_mcp_doctor.py +0 -0
  849. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_mcp_nested_guard.py +0 -0
  850. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_mcp_pid_registry.py +0 -0
  851. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_mcp_shell_env.py +0 -0
  852. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_mcp_shutdown_drain.py +0 -0
  853. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_mcp_startup_cleanup.py +0 -0
  854. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_mcp_validate_transport_stderr.py +0 -0
  855. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_opencode_config.py +0 -0
  856. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_plugin_command.py +0 -0
  857. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_plugin_command_mutating.py +0 -0
  858. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_pm.py +0 -0
  859. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_pm_brownfield.py +0 -0
  860. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_pm_completion.py +0 -0
  861. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_pm_interactive_logging.py +0 -0
  862. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_pm_missing_litellm.py +0 -0
  863. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_pm_overwrite.py +0 -0
  864. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_pm_runtime_adapter.py +0 -0
  865. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_pm_select_repos.py +0 -0
  866. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_resume.py +0 -0
  867. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_run_qa.py +0 -0
  868. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_run_runtime_routing.py +0 -0
  869. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_setup.py +0 -0
  870. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_status.py +0 -0
  871. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_status_run.py +0 -0
  872. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/cli/test_uninstall.py +0 -0
  873. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/codex/test_cli_policy.py +0 -0
  874. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/config/__init__.py +0 -0
  875. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/config/test_loader.py +0 -0
  876. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/config/test_loader_env.py +0 -0
  877. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/config/test_models.py +0 -0
  878. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/config_tui/__init__.py +0 -0
  879. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/config_tui/test_app.py +0 -0
  880. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/config_tui/test_fields.py +0 -0
  881. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/config_tui/test_launcher.py +0 -0
  882. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/config_tui/test_persistence.py +0 -0
  883. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/copilot/__init__.py +0 -0
  884. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/copilot/test_cli_policy.py +0 -0
  885. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/copilot/test_model_discovery.py +0 -0
  886. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/copilot/test_permissions.py +0 -0
  887. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/__init__.py +0 -0
  888. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_ac_tree.py +0 -0
  889. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_context.py +0 -0
  890. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_control_contract.py +0 -0
  891. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_directive.py +0 -0
  892. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_errors.py +0 -0
  893. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_file_lock.py +0 -0
  894. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_git_workflow.py +0 -0
  895. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_hitl_contract.py +0 -0
  896. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_hitl_resume.py +0 -0
  897. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_hitl_state.py +0 -0
  898. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_initial_context.py +0 -0
  899. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_lineage.py +0 -0
  900. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_ontology_aspect.py +0 -0
  901. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_ontology_questions.py +0 -0
  902. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_project_paths.py +0 -0
  903. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_retry.py +0 -0
  904. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_runtime_transition.py +0 -0
  905. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_security.py +0 -0
  906. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_seed_project_path_callers.py +0 -0
  907. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_ttl_cache.py +0 -0
  908. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_types.py +0 -0
  909. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/core/test_worktree.py +0 -0
  910. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/__init__.py +0 -0
  911. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/test_artifact_collector_file_prefix.py +0 -0
  912. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/test_checklist.py +0 -0
  913. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/test_consensus.py +0 -0
  914. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/test_detector.py +0 -0
  915. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/test_json_utils.py +0 -0
  916. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/test_languages.py +0 -0
  917. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/test_mechanical.py +0 -0
  918. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/test_models.py +0 -0
  919. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/test_pipeline_stage1_reuse.py +0 -0
  920. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/test_pipeline_trigger_consensus.py +0 -0
  921. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/test_review_fixes.py +0 -0
  922. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/test_semantic.py +0 -0
  923. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/test_trigger.py +0 -0
  924. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/test_trigger_consensus.py +0 -0
  925. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/test_verification_artifacts.py +0 -0
  926. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evaluation/test_verification_artifacts_allowed_tools_wiring.py +0 -0
  927. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/events/__init__.py +0 -0
  928. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/events/test_base.py +0 -0
  929. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/events/test_control_events.py +0 -0
  930. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/events/test_hitl_events.py +0 -0
  931. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/events/test_io_events.py +0 -0
  932. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/events/test_io_recorder.py +0 -0
  933. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evolution/test_backend_drift.py +0 -0
  934. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evolution/test_directive_mapping.py +0 -0
  935. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evolution/test_evolve_step_agent_process_integration.py +0 -0
  936. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evolution/test_generation_watchdog.py +0 -0
  937. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evolution/test_material_progress.py +0 -0
  938. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/evolution/test_wonder_scope.py +0 -0
  939. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/harness/__init__.py +0 -0
  940. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/harness/test_claim_term_guard.py +0 -0
  941. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/harness/test_deliver_gate.py +0 -0
  942. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/harness/test_deliver_routing.py +0 -0
  943. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/harness/test_journal_normalizer.py +0 -0
  944. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/harness/test_projection_builder.py +0 -0
  945. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/harness/test_projection_records.py +0 -0
  946. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/harness/test_run_snapshot.py +0 -0
  947. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/hermes/test_artifacts.py +0 -0
  948. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/__init__.py +0 -0
  949. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/bridge/__init__.py +0 -0
  950. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/bridge/test_bridge.py +0 -0
  951. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/bridge/test_config.py +0 -0
  952. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/bridge/test_factory.py +0 -0
  953. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/bridge/test_handler_wiring.py +0 -0
  954. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/bridge/test_stability.py +0 -0
  955. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/client/__init__.py +0 -0
  956. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/client/test_adapter.py +0 -0
  957. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/client/test_adapter_transport_lifecycle.py +0 -0
  958. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/client/test_manager.py +0 -0
  959. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/conftest.py +0 -0
  960. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/resources/test_handlers.py +0 -0
  961. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/server/__init__.py +0 -0
  962. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/server/test_adapter_max_turns_envelope_wiring.py +0 -0
  963. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/server/test_security.py +0 -0
  964. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/test_errors.py +0 -0
  965. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/test_job_manager.py +0 -0
  966. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/test_job_manager_drain.py +0 -0
  967. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/test_types.py +0 -0
  968. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/__init__.py +0 -0
  969. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/conftest.py +0 -0
  970. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_ac_tree_hud_footer.py +0 -0
  971. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_ac_tree_hud_handler.py +0 -0
  972. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_ac_tree_hud_handler_completed.py +0 -0
  973. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_ac_tree_hud_handler_cursor_changed.py +0 -0
  974. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_ac_tree_hud_handler_invalid_session.py +0 -0
  975. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_ac_tree_hud_handler_no_execution.py +0 -0
  976. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_ac_tree_hud_handler_waiting.py +0 -0
  977. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_ac_tree_hud_max_nodes.py +0 -0
  978. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_ac_tree_hud_render_depth2.py +0 -0
  979. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_ac_tree_hud_render_depth3.py +0 -0
  980. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_ac_tree_hud_status_icons.py +0 -0
  981. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_ac_tree_hud_truncation.py +0 -0
  982. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_authoring_allowed_tools_wiring.py +0 -0
  983. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_auto_handler_ralph_runtime.py +0 -0
  984. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_auto_handler_resume_lines.py +0 -0
  985. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_auto_interview_construction.py +0 -0
  986. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_bridge_mixin_runtime_context.py +0 -0
  987. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_brownfield_handler.py +0 -0
  988. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_checklist_verify.py +0 -0
  989. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_client_gates.py +0 -0
  990. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_definitions.py +0 -0
  991. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_definitions_runtime_context.py +0 -0
  992. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_evaluate_multi_ac.py +0 -0
  993. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_evolve_checkpoint_commits.py +0 -0
  994. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_evolve_step_bridge_aware.py +0 -0
  995. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_execute_seed_path_resolution.py +0 -0
  996. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_generate_seed_force_flag.py +0 -0
  997. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_handler_subagent_wiring.py +0 -0
  998. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_interview_allowed_tools_wiring.py +0 -0
  999. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_interview_completion_signal_prefix_guard.py +0 -0
  1000. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_interview_done_streak.py +0 -0
  1001. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_interview_intent_guard.py +0 -0
  1002. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_interview_lateral_review_advisory.py +0 -0
  1003. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_interview_length_guard_envelope.py +0 -0
  1004. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_interview_persists_session_on_failure.py +0 -0
  1005. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_interview_reopen_seed_ready.py +0 -0
  1006. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_interview_response_diagnostics.py +0 -0
  1007. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_interview_strict_mcp_config_wiring.py +0 -0
  1008. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_job_instance_cancel_keys.py +0 -0
  1009. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_job_invalid_arguments.py +0 -0
  1010. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_lateral_think_handler.py +0 -0
  1011. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_mcp_manager_wiring.py +0 -0
  1012. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_pm_handler.py +0 -0
  1013. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_pm_handler_allowed_tools_wiring.py +0 -0
  1014. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_pm_handler_pending_reframe.py +0 -0
  1015. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_qa_allowed_tools_wiring.py +0 -0
  1016. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_qa_parser.py +0 -0
  1017. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_ralph_handler.py +0 -0
  1018. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_registry.py +0 -0
  1019. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_round5_fixes.py +0 -0
  1020. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_start_auto.py +0 -0
  1021. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_start_evaluate.py +0 -0
  1022. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_start_execute_seed_idempotency.py +0 -0
  1023. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_subagent.py +0 -0
  1024. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/mcp/tools/test_unstuck_bridge_aware.py +0 -0
  1025. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/observability/__init__.py +0 -0
  1026. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/observability/test_drift.py +0 -0
  1027. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/observability/test_logging.py +0 -0
  1028. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/observability/test_retrospective.py +0 -0
  1029. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/__init__.py +0 -0
  1030. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_adapter.py +0 -0
  1031. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_agent_process.py +0 -0
  1032. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_agent_runtime_context.py +0 -0
  1033. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_backend_limits.py +0 -0
  1034. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_baseline_metrics.py +0 -0
  1035. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_baseline_metrics_capture.py +0 -0
  1036. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_baseline_metrics_format.py +0 -0
  1037. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_capabilities.py +0 -0
  1038. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_codex_cli_runtime.py +0 -0
  1039. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_codex_recursion_guard.py +0 -0
  1040. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_command_dispatcher.py +0 -0
  1041. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_context_governor.py +0 -0
  1042. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_control_bus.py +0 -0
  1043. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_control_plane.py +0 -0
  1044. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_coordinator.py +0 -0
  1045. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_copilot_cli_runtime.py +0 -0
  1046. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_dead_router_removed.py +0 -0
  1047. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_decomposition_params.py +0 -0
  1048. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_dependency_analyzer.py +0 -0
  1049. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_effort_routed_event.py +0 -0
  1050. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_effort_routing.py +0 -0
  1051. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_events.py +0 -0
  1052. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_evidence_schema.py +0 -0
  1053. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_execution_runtime_scope.py +0 -0
  1054. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_execution_strategy.py +0 -0
  1055. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_failure_taxonomy.py +0 -0
  1056. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_frugality_proof.py +0 -0
  1057. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_gemini_cli_runtime.py +0 -0
  1058. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_gjc_runtime.py +0 -0
  1059. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_goose_runtime.py +0 -0
  1060. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_hermes_runtime.py +0 -0
  1061. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_inflight_cancellation.py +0 -0
  1062. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_level_context.py +0 -0
  1063. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_mcp_config.py +0 -0
  1064. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_mcp_tools.py +0 -0
  1065. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_opencode_runtime.py +0 -0
  1066. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_parallel_executor.py +0 -0
  1067. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_parallel_executor_atomic_judgment.py +0 -0
  1068. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_parallel_executor_recursive_depth.py +0 -0
  1069. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_parallel_executor_retry_resume.py +0 -0
  1070. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_phase_wrappers.py +0 -0
  1071. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_pi_runtime.py +0 -0
  1072. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_policy.py +0 -0
  1073. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_profile_loader.py +0 -0
  1074. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_profile_strategy.py +0 -0
  1075. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_rate_limit.py +0 -0
  1076. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_reasoning_effort_routing.py +0 -0
  1077. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_rfc_v2_integration.py +0 -0
  1078. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_runner.py +0 -0
  1079. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_runner_allowed_tools_wiring.py +0 -0
  1080. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_runner_cancellation.py +0 -0
  1081. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_runtime_error.py +0 -0
  1082. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_runtime_evidence.py +0 -0
  1083. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_runtime_factory.py +0 -0
  1084. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_runtime_message_projection.py +0 -0
  1085. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_runtime_param_negotiation.py +0 -0
  1086. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_sandbox_class.py +0 -0
  1087. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_seed_prompt.py +0 -0
  1088. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_session.py +0 -0
  1089. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_skill_tool_mapping.py +0 -0
  1090. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_stage_resolution.py +0 -0
  1091. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_traceguard_benchmark_capture.py +0 -0
  1092. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_verifier.py +0 -0
  1093. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_workflow_ir.py +0 -0
  1094. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_workflow_ir_adapter.py +0 -0
  1095. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_workflow_ir_plugin_adapter.py +0 -0
  1096. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_workflow_lifecycle.py +0 -0
  1097. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_workflow_lifecycle_conformance.py +0 -0
  1098. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_workflow_lifecycle_events.py +0 -0
  1099. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_workflow_projection_boundary.py +0 -0
  1100. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/test_workflow_state.py +0 -0
  1101. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/orchestrator/workflow_ir_conformance_fixtures.py +0 -0
  1102. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/persistence/__init__.py +0 -0
  1103. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/persistence/test_brownfield_store.py +0 -0
  1104. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/persistence/test_checkpoint.py +0 -0
  1105. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/persistence/test_event_store.py +0 -0
  1106. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/persistence/test_schema.py +0 -0
  1107. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/persistence/test_uow.py +0 -0
  1108. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/__init__.py +0 -0
  1109. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/agents/__init__.py +0 -0
  1110. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/agents/test_registry.py +0 -0
  1111. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/skills/__init__.py +0 -0
  1112. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/skills/test_keywords.py +0 -0
  1113. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/skills/test_registry.py +0 -0
  1114. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/test_digest.py +0 -0
  1115. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/test_firewall.py +0 -0
  1116. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/test_firewall_tool_call_dispatch.py +0 -0
  1117. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/test_hook_permission_scopes.py +0 -0
  1118. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/test_hooks_contract.py +0 -0
  1119. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/test_ledger_adapter.py +0 -0
  1120. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/test_lifecycle_observability.py +0 -0
  1121. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/test_lockfile.py +0 -0
  1122. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/test_manifest.py +0 -0
  1123. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/test_manifest_descriptor.py +0 -0
  1124. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/test_manifest_hook_validation.py +0 -0
  1125. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/test_manifest_schema_0_3.py +0 -0
  1126. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/test_manifest_schema_0_4.py +0 -0
  1127. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/test_trust_store.py +0 -0
  1128. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/plugin/test_userlevel_registry.py +0 -0
  1129. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/pm/__init__.py +0 -0
  1130. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/pm/test_renderer.py +0 -0
  1131. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/__init__.py +0 -0
  1132. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_anthropic_adapter_io_recorder.py +0 -0
  1133. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_base.py +0 -0
  1134. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_claude_code_adapter.py +0 -0
  1135. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_codex_cli_adapter.py +0 -0
  1136. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_copilot_cli_adapter.py +0 -0
  1137. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_factory.py +0 -0
  1138. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_factory_copilot.py +0 -0
  1139. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_gemini_cli_adapter.py +0 -0
  1140. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_gjc_llm_adapter.py +0 -0
  1141. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_goose_cli_adapter.py +0 -0
  1142. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_hermes_cli_adapter.py +0 -0
  1143. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_litellm_adapter.py +0 -0
  1144. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_litellm_adapter_io_recorder.py +0 -0
  1145. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_opencode_adapter.py +0 -0
  1146. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_ourocode_acp_client.py +0 -0
  1147. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_ourocode_llm_adapter.py +0 -0
  1148. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_pi_llm_adapter.py +0 -0
  1149. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_profiles.py +0 -0
  1150. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_public_exports.py +0 -0
  1151. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/providers/test_tool_use_diagnostics.py +0 -0
  1152. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/resilience/__init__.py +0 -0
  1153. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/resilience/test_lateral.py +0 -0
  1154. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/resilience/test_recovery.py +0 -0
  1155. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/resilience/test_stagnation.py +0 -0
  1156. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/router/__init__.py +0 -0
  1157. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/router/test_command_parser.py +0 -0
  1158. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/router/test_dispatch.py +0 -0
  1159. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/router/test_dispatch_result_shapes.py +0 -0
  1160. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/router/test_extract_first_argument.py +0 -0
  1161. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/router/test_invalid_dispatch_input_types.py +0 -0
  1162. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/router/test_malformed_unknown_dispatch_errors.py +0 -0
  1163. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/router/test_not_handled_resolution.py +0 -0
  1164. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/router/test_packaged_auto_dispatch.py +0 -0
  1165. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/router/test_registry.py +0 -0
  1166. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/router/test_repository_dispatch_guard.py +0 -0
  1167. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/router/test_router_resolution_pipeline.py +0 -0
  1168. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/router/test_typed_frontmatter_fields.py +0 -0
  1169. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/router/test_valid_dispatch_normalization.py +0 -0
  1170. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/runtime/__init__.py +0 -0
  1171. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/runtime/test_controls.py +0 -0
  1172. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/runtime/test_watchdog.py +0 -0
  1173. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/scripts/__init__.py +0 -0
  1174. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/scripts/test_check_auto_boundary.py +0 -0
  1175. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/scripts/test_check_auto_perf_budget.py +0 -0
  1176. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/scripts/test_check_max_turns_envelope.py +0 -0
  1177. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/scripts/test_claude_hook_settings.py +0 -0
  1178. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/scripts/test_hook_script_stdio.py +0 -0
  1179. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/scripts/test_install_runtime_selection.py +0 -0
  1180. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/scripts/test_keyword_detector.py +0 -0
  1181. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/scripts/test_ralph_shell_project_dir.py +0 -0
  1182. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/scripts/test_session_start.py +0 -0
  1183. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/scripts/test_sync_plugin_version.py +0 -0
  1184. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/scripts/test_version_check.py +0 -0
  1185. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/skills/test_breadcrumb_footer_contract.py +0 -0
  1186. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_artifact_collector.py +0 -0
  1187. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_claude_plugin_skill_guide.py +0 -0
  1188. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_codex_artifacts.py +0 -0
  1189. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_convergence.py +0 -0
  1190. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_dashboard.py +0 -0
  1191. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_dependencies_configured.py +0 -0
  1192. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_detached_auto_docs.py +0 -0
  1193. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_evolve_rewind.py +0 -0
  1194. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_evolve_step.py +0 -0
  1195. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_graceful_shutdown.py +0 -0
  1196. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_kiro_adapters.py +0 -0
  1197. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_lineage.py +0 -0
  1198. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_main_entry_point.py +0 -0
  1199. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_module_structure.py +0 -0
  1200. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_project_initialization.py +0 -0
  1201. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_projector_directives.py +0 -0
  1202. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_projector_rewind.py +0 -0
  1203. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_ralph_loop_budget.py +0 -0
  1204. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_ralph_loop_progress.py +0 -0
  1205. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_ralph_loop_timeout.py +0 -0
  1206. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_ralph_parser.py +0 -0
  1207. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_ralph_rewind.py +0 -0
  1208. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_ralph_shell.py +0 -0
  1209. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_regression.py +0 -0
  1210. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_runtime_instruction_artifacts.py +0 -0
  1211. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_runtime_skill_capability_docs.py +0 -0
  1212. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_tooling_configuration.py +0 -0
  1213. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/test_verification.py +0 -0
  1214. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/tui/__init__.py +0 -0
  1215. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/tui/test_app.py +0 -0
  1216. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/tui/test_cancelled_display.py +0 -0
  1217. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/tui/test_events.py +0 -0
  1218. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/tui/test_lineage_viewer.py +0 -0
  1219. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/tui/test_screens.py +0 -0
  1220. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/tui/test_session_selector_replay.py +0 -0
  1221. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tests/unit/tui/test_widgets.py +0 -0
  1222. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/tools/sync_github_project.py +0 -0
  1223. {ouroboros_ai-0.43.3.dev18 → ouroboros_ai-0.43.4.dev2}/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.3",
13
+ "version": "0.43.4",
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.3",
3
+ "version": "0.43.4",
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",
@@ -45,11 +45,11 @@ This may take a moment...
45
45
  This skill can call `ouroboros_brownfield` across multiple turns (`scan`,
46
46
  `set_defaults`, `defaults`, and `set`). A deferred schema loaded for one turn is
47
47
  NOT guaranteed to remain loaded for the next. Immediately before EVERY
48
- `ouroboros_brownfield` call, re-run `ToolSearch query: "+ouroboros brownfield"`
49
- (idempotent — a no-op when already loaded). If the load returns no matching tool,
48
+ `ouroboros_brownfield` call, re-run `tool discovery query: "+ouroboros brownfield"`
49
+ (idempotent — a no-op when already loaded). If the load returns no matching tool (and the tool is not already callable — an empty load for an already-exposed tool is an expected no-op, not absence),
50
50
  stop with the MCP-not-available message instead of retrying the failing call.
51
51
 
52
- 1. Load the brownfield MCP tool: `ToolSearch query: "+ouroboros brownfield"`
52
+ 1. Load the brownfield MCP tool: `tool discovery query: "+ouroboros brownfield"`
53
53
  2. Call scan+register:
54
54
  ```
55
55
  Tool: ouroboros_brownfield
@@ -125,7 +125,7 @@ Then stop.
125
125
 
126
126
  The user can select the recommended defaults (if any), choose "None", or type custom numbers.
127
127
 
128
- After the user responds, re-run `ToolSearch query: "+ouroboros brownfield"`, then use ONE MCP call to update all defaults at once:
128
+ After the user responds, re-run `tool discovery query: "+ouroboros brownfield"`, then use ONE MCP call to update all defaults at once:
129
129
 
130
130
  ```
131
131
  Tool: ouroboros_brownfield
@@ -163,7 +163,7 @@ Scan only, no default selection prompt. Show the numbered list and stop.
163
163
 
164
164
  ### Subcommand: `defaults`
165
165
 
166
- Re-run `ToolSearch query: "+ouroboros brownfield"`, then call:
166
+ Re-run `tool discovery query: "+ouroboros brownfield"`, then call:
167
167
  ```
168
168
  Tool: ouroboros_brownfield
169
169
  Arguments: { "action": "scan" }
@@ -178,7 +178,7 @@ No default repos set. Run 'ooo brownfield' to configure.
178
178
 
179
179
  ### Subcommand: `set <indices>`
180
180
 
181
- Directly set defaults without scanning. Parse the comma-separated indices from the user's input, re-run `ToolSearch query: "+ouroboros brownfield"`, and call:
181
+ Directly set defaults without scanning. Parse the comma-separated indices from the user's input, re-run `tool discovery query: "+ouroboros brownfield"`, and call:
182
182
 
183
183
  ```
184
184
  Tool: ouroboros_brownfield
@@ -43,12 +43,12 @@ When the user invokes this skill:
43
43
 
44
44
  The Ouroboros MCP tools are often registered as **deferred tools** that must be explicitly loaded before use. **You MUST perform this step before proceeding.**
45
45
 
46
- 1. Use the `ToolSearch` tool to find and load the evaluate MCP tool:
46
+ 1. Use the active runtime's tool-discovery capability to find and load the evaluate MCP tool:
47
47
  ```
48
- ToolSearch query: "+ouroboros evaluate"
48
+ tool discovery query: "+ouroboros evaluate"
49
49
  ```
50
- 2. The tool will typically be named `mcp__plugin_ouroboros_ouroboros__ouroboros_evaluate` (with a plugin prefix). After ToolSearch returns, the tool becomes callable.
51
- 3. If ToolSearch finds the tool proceed with the MCP-based evaluation below. If not skip to **Fallback** section.
50
+ 2. The tool will typically be named `mcp__plugin_ouroboros_ouroboros__ouroboros_evaluate` (with a plugin prefix). After runtime tool discovery returns, the tool becomes callable.
51
+ 3. If the tool is callable — already exposed, or loaded by discovery — proceed with the MCP-based evaluation below. An empty discovery result for an already-exposed tool is expected, not a failure. Skip to the **Fallback** section only if the tool is genuinely absent (no Ouroboros MCP server).
52
52
 
53
53
  **IMPORTANT**: Do NOT skip this step. Do NOT assume MCP tools are unavailable just because they don't appear in your immediate tool list. They are almost always available as deferred tools that need to be loaded first.
54
54
 
@@ -58,8 +58,8 @@ schema loaded on one turn is NOT guaranteed to still be loaded on the next. If
58
58
  you call it while its schema is not loaded in the **current** turn, the runtime
59
59
  rejects the call with **"Invalid tool parameters"** before it reaches the server.
60
60
  Therefore: **immediately before EVERY `ouroboros_evaluate` call in this skill,
61
- re-run `ToolSearch query: "+ouroboros evaluate"`** (idempotent — a no-op when
62
- already loaded). If the load returns no matching tool, switch to the documented
61
+ re-run `tool discovery query: "+ouroboros evaluate"`** (idempotent — a no-op when
62
+ already loaded). If the load returns no matching tool (and the tool is not already callable — an empty load for an already-exposed tool is an expected no-op, not absence), switch to the documented
63
63
  fallback instead of retrying the failing call.
64
64
 
65
65
  ### Evaluation Steps
@@ -45,12 +45,12 @@ ooo evolve --rewind <lineage_id> <generation_number>
45
45
 
46
46
  The Ouroboros MCP tools are often registered as **deferred tools** that must be explicitly loaded before use. **You MUST perform this step before deciding between Path A and Path B.**
47
47
 
48
- 1. Use the `ToolSearch` tool to find and load the evolve MCP tools:
48
+ 1. Use the active runtime's tool-discovery capability to find and load the evolve MCP tools:
49
49
  ```
50
- ToolSearch query: "+ouroboros evolve"
50
+ tool discovery query: "+ouroboros evolve"
51
51
  ```
52
- 2. The tools will typically be named with prefix `mcp__plugin_ouroboros_ouroboros__` (e.g., `ouroboros_evolve_step`, `ouroboros_interview`, `ouroboros_generate_seed`). After ToolSearch returns, the tools become callable.
53
- 3. If ToolSearch finds the tools proceed to **Path A**. If not proceed to **Path B**.
52
+ 2. The tools will typically be named with prefix `mcp__plugin_ouroboros_ouroboros__` (e.g., `ouroboros_evolve_step`, `ouroboros_interview`, `ouroboros_generate_seed`). After runtime tool discovery returns, the tools become callable.
53
+ 3. If the tools are callable — already exposed, or loaded by discovery — proceed to **Path A**. An empty discovery result for already-exposed tools is expected, not a failure. Proceed to **Path B** only if they are genuinely absent (no Ouroboros MCP server).
54
54
 
55
55
  **IMPORTANT**: Do NOT skip this step. Do NOT assume MCP tools are unavailable just because they don't appear in your immediate tool list. They are almost always available as deferred tools that need to be loaded first.
56
56
 
@@ -66,10 +66,10 @@ you are about to call**. Use `"+ouroboros evolve"` for `ouroboros_evolve_step`,
66
66
  `ouroboros_lineage_status`, and the evolve flow's documented tool family;
67
67
  use `"+ouroboros interview"` before `ouroboros_interview`, `"+ouroboros seed"`
68
68
  before `ouroboros_generate_seed`, and `"+ouroboros lateral"` before
69
- `ouroboros_lateral_think`. If a load returns no matching tool, switch to the
69
+ `ouroboros_lateral_think`. If a load returns no matching tool (and the tool is not already callable — an empty load for an already-exposed tool is an expected no-op, not absence), switch to the
70
70
  documented fallback / Path B instead of retrying the failing call.
71
71
 
72
- ### Path A: MCP Available (loaded via ToolSearch above)
72
+ ### Path A: MCP Available (loaded via runtime tool discovery above)
73
73
 
74
74
  **Starting a new evolutionary loop:**
75
75
  1. Parse the user's input as `initial_context`
@@ -99,8 +99,9 @@ The Ouroboros MCP tools are often registered as **deferred tools** that must be
99
99
 
100
100
  2. The tool will typically be named `mcp__plugin_ouroboros_ouroboros__ouroboros_interview` (with a plugin prefix). After runtime tool discovery returns, the tool becomes callable.
101
101
 
102
- 3. If runtime tool discovery finds the tool proceed to **Path A**.
103
- If runtime tool discovery returns no matching tools proceed to **Path B**.
102
+ 3. If the tool is callable already exposed, or loaded by discovery — proceed to **Path A**.
103
+ An empty discovery result for an already-exposed tool is expected, not a failure.
104
+ Proceed to **Path B** only if the tool is genuinely absent (no Ouroboros MCP server).
104
105
 
105
106
  **IMPORTANT**: Do NOT skip this step. Do NOT assume MCP tools are unavailable just because they don't appear in your immediate tool list. They are almost always available as deferred tools that need to be loaded first.
106
107
 
@@ -115,7 +116,7 @@ the tool-discovery load query for the specific MCP tool you are about to call**
115
116
  (idempotent — a no-op when the schema is already loaded) so the correct schema is
116
117
  guaranteed present for that call. Use `"+ouroboros interview"` before
117
118
  `ouroboros_interview` and `"+ouroboros lateral"` before
118
- `ouroboros_lateral_think`. If a load ever returns no matching tool, switch to the
119
+ `ouroboros_lateral_think`. If a load ever returns no matching tool (and the tool is not already callable — an empty load for an already-exposed tool is an expected no-op, not absence), switch to the
119
120
  documented fallback / Path B instead of retrying the failing call.
120
121
 
121
122
  ### Path A: MCP Mode (Preferred)
@@ -12,7 +12,7 @@ PM-focused Socratic interview that produces a Product Requirements Document.
12
12
  ### Step 1: Load MCP Tool
13
13
 
14
14
  ```
15
- ToolSearch query: "+ouroboros pm_interview"
15
+ tool discovery query: "+ouroboros pm_interview"
16
16
  ```
17
17
 
18
18
  **CRITICAL — deferred-schema guard (prevents "Invalid tool parameters"):**
@@ -20,9 +20,9 @@ This is a multi-turn loop and each turn runs in a fresh tool context. A deferred
20
20
  tool's schema loaded on one turn is NOT guaranteed to still be loaded on the next.
21
21
  Calling `ouroboros_pm_interview` while its schema is unloaded in the **current**
22
22
  turn makes the runtime reject it with **"Invalid tool parameters"** every message.
23
- Therefore **re-run `ToolSearch query: "+ouroboros pm_interview"` immediately before
23
+ Therefore **re-run `tool discovery query: "+ouroboros pm_interview"` immediately before
24
24
  EVERY `ouroboros_pm_interview` call** below (idempotent — a no-op if already
25
- loaded). If the load ever returns no matching tool, follow the not-found diagnosis
25
+ loaded). If the load ever returns no matching tool (and the tool is not already callable — an empty load for an already-exposed tool is an expected no-op, not absence), follow the not-found diagnosis
26
26
  below instead of retrying the failing call.
27
27
 
28
28
  If not found → **diagnose before telling user to run setup**:
@@ -42,13 +42,13 @@ When the user invokes this skill:
42
42
 
43
43
  This skill works in two modes. Determine which one **before** attempting any tool calls:
44
44
 
45
- - **MCP mode** — If `ToolSearch` is available, try loading the QA MCP tool:
45
+ - **MCP mode** — If the QA MCP tool is available (already exposed, or loadable via discovery), use it:
46
46
  ```
47
- ToolSearch query: "+ouroboros qa"
47
+ tool discovery query: "+ouroboros qa"
48
48
  ```
49
49
  If found (typically named `mcp__plugin_ouroboros_ouroboros__ouroboros_qa`), proceed with **QA Steps** below.
50
50
 
51
- - **Fallback mode** — If `ToolSearch` is not available, or it finds no matching tool, skip directly to the **Fallback** section. This skill is designed to work without MCP setup.
51
+ - **Fallback mode** — Only if the QA MCP tool is genuinely absent (no Ouroboros MCP server) skip to the **Fallback** section; an empty discovery result for an already-exposed tool is expected — call it directly rather than falling back. This skill is designed to work without MCP setup.
52
52
 
53
53
  ### QA Steps (MCP mode)
54
54
 
@@ -52,13 +52,13 @@ When the user invokes this skill:
52
52
  The Ouroboros MCP tools are often registered as deferred tools that must be
53
53
  explicitly loaded before use. Do this before preparing input or calling Ralph:
54
54
 
55
- 1. Use the `ToolSearch` tool to find and load the Ralph/job MCP tools:
55
+ 1. Use the active runtime's tool-discovery capability to find and load the Ralph/job MCP tools:
56
56
  ```
57
- ToolSearch query: "+ouroboros ralph job"
57
+ tool discovery query: "+ouroboros ralph job"
58
58
  ```
59
59
  2. The loaded tools may be exposed under plugin-prefixed names such as
60
60
  `mcp__plugin_ouroboros_ouroboros__ouroboros_ralph`. Use the actual tool
61
- names returned by `ToolSearch`; the bare names below are the canonical MCP
61
+ names returned by runtime tool discovery; the bare names below are the canonical MCP
62
62
  tool names for documentation.
63
63
  3. Confirm that `ouroboros_ralph` and the job tools (`ouroboros_job_wait`,
64
64
  `ouroboros_job_status`, `ouroboros_job_result`, and
@@ -35,12 +35,12 @@ When the user invokes this skill:
35
35
 
36
36
  The Ouroboros MCP tools are often registered as **deferred tools** that must be explicitly loaded before use. **You MUST perform this step before proceeding.**
37
37
 
38
- 1. Use the `ToolSearch` tool to find and load the execution MCP tools:
38
+ 1. Use the active runtime's tool-discovery capability to find and load the execution MCP tools:
39
39
  ```
40
- ToolSearch query: "+ouroboros execute"
40
+ tool discovery query: "+ouroboros execute"
41
41
  ```
42
- 2. The tools will typically be named with prefix `mcp__plugin_ouroboros_ouroboros__` (e.g., `ouroboros_execute_seed`, `ouroboros_session_status`). After ToolSearch returns, the tools become callable.
43
- 3. If ToolSearch finds the tools proceed with the steps below. If not skip to **Fallback** section.
42
+ 2. The tools will typically be named with prefix `mcp__plugin_ouroboros_ouroboros__` (e.g., `ouroboros_execute_seed`, `ouroboros_session_status`). After runtime tool discovery returns, the tools become callable.
43
+ 3. If the tools are callable — already exposed, or loaded by discovery — proceed with the steps below. An empty discovery result for already-exposed tools is expected, not a failure. Skip to the **Fallback** section only if they are genuinely absent (no Ouroboros MCP server).
44
44
 
45
45
  **IMPORTANT**: Do NOT skip this step. Do NOT assume MCP tools are unavailable just because they don't appear in your immediate tool list. They are almost always available as deferred tools that need to be loaded first.
46
46
 
@@ -51,10 +51,10 @@ guaranteed to still be loaded on the next. If you call any execution `ouroboros_
51
51
  MCP tool while its schema is not loaded in the **current** turn, the runtime
52
52
  rejects the call with **"Invalid tool parameters"** before it reaches the server.
53
53
  Therefore: **immediately before EVERY execution MCP call in this skill, re-run
54
- `ToolSearch query: "+ouroboros execute"`** to reload the execution tool family,
54
+ `tool discovery query: "+ouroboros execute"`** to reload the execution tool family,
55
55
  including `ouroboros_start_execute_seed`, `ouroboros_job_wait`,
56
56
  `ouroboros_ac_tree_hud`, and `ouroboros_job_result` (idempotent — a no-op when
57
- already loaded). If the load returns no matching tool, switch to the documented
57
+ already loaded). If the load returns no matching tool (and the tool is not already callable — an empty load for an already-exposed tool is an expected no-op, not absence), switch to the documented
58
58
  fallback instead of retrying the failing call.
59
59
 
60
60
  ### Execution Steps
@@ -41,7 +41,7 @@ The Ouroboros MCP tools are often registered as **deferred tools** that must be
41
41
  tool discovery query: "+ouroboros seed"
42
42
  ```
43
43
  2. The tool will typically be named `mcp__plugin_ouroboros_ouroboros__ouroboros_generate_seed` (with a plugin prefix). After runtime tool discovery returns, the tool becomes callable through the active runtime's `call_mcp` capability.
44
- 3. If runtime tool discovery finds the tool proceed to **Path A**. If not proceed to **Path B**.
44
+ 3. If the tool is callable already exposed, or loaded by discovery — proceed to **Path A**. An empty discovery result for an already-exposed tool is expected, not a failure. Proceed to **Path B** only if the tool is genuinely absent (no Ouroboros MCP server).
45
45
 
46
46
  **IMPORTANT**: Do NOT skip this step. Do NOT assume MCP tools are unavailable just because they don't appear in your immediate tool list. They are almost always available as deferred tools that need to be loaded first.
47
47
 
@@ -57,7 +57,7 @@ the tool-discovery load query for the specific MCP tool you are about to call**
57
57
  guaranteed present for that call. Use `"+ouroboros seed"` before
58
58
  `ouroboros_generate_seed`, `"+ouroboros qa"` before `ouroboros_qa`, and
59
59
  `"+ouroboros lateral"` before `ouroboros_lateral_think`. If a load ever returns
60
- no matching tool, switch to the documented fallback / Path B instead of retrying
60
+ no matching tool (and the tool is not already callable — an empty load for an already-exposed tool is an expected no-op, not absence), switch to the documented fallback / Path B instead of retrying
61
61
  the failing call.
62
62
 
63
63
  ### Path A: MCP Mode (Preferred)
@@ -425,11 +425,11 @@ This may take a moment...
425
425
  `setup` can call `ouroboros_brownfield` before and after a user-selection turn.
426
426
  A deferred schema loaded before scan is NOT guaranteed to remain loaded for the
427
427
  later `set_defaults` call. Immediately before EVERY `ouroboros_brownfield` call
428
- in this section, re-run `ToolSearch query: "+ouroboros brownfield"` (idempotent —
429
- a no-op when already loaded). If the load returns no matching tool, use the
428
+ in this section, re-run `tool discovery query: "+ouroboros brownfield"` (idempotent —
429
+ a no-op when already loaded). If the load returns no matching tool (and the tool is not already callable — an empty load for an already-exposed tool is an expected no-op, not absence), use the
430
430
  non-MCP setup fallback instead of retrying the failing call.
431
431
 
432
- 1. Load the brownfield MCP tool: `ToolSearch query: "+ouroboros brownfield"`
432
+ 1. Load the brownfield MCP tool: `tool discovery query: "+ouroboros brownfield"`
433
433
  2. Call scan+register:
434
434
  ```
435
435
  Tool: ouroboros_brownfield
@@ -501,7 +501,7 @@ Use `AskUserQuestion` with the current default numbers from the scan response.
501
501
 
502
502
  The user can select the recommended defaults (if any), choose "None", or type custom numbers.
503
503
 
504
- After the user responds, re-run `ToolSearch query: "+ouroboros brownfield"`, then use ONE MCP call to update all defaults at once:
504
+ After the user responds, re-run `tool discovery query: "+ouroboros brownfield"`, then use ONE MCP call to update all defaults at once:
505
505
 
506
506
  ```
507
507
  Tool: ouroboros_brownfield
@@ -31,12 +31,12 @@ When the user invokes this skill:
31
31
 
32
32
  The Ouroboros MCP tools are often registered as **deferred tools** that must be explicitly loaded before use. **You MUST perform this step before proceeding.**
33
33
 
34
- 1. Use the `ToolSearch` tool to find and load the status MCP tools:
34
+ 1. Use the active runtime's tool-discovery capability to find and load the status MCP tools:
35
35
  ```
36
- ToolSearch query: "+ouroboros session status"
36
+ tool discovery query: "+ouroboros session status"
37
37
  ```
38
- 2. The tools will typically be named with prefix `mcp__plugin_ouroboros_ouroboros__` (e.g., `ouroboros_session_status`, `ouroboros_measure_drift`). After ToolSearch returns, the tools become callable.
39
- 3. If ToolSearch finds the tools proceed with the steps below. If not skip to **Fallback** section.
38
+ 2. The tools will typically be named with prefix `mcp__plugin_ouroboros_ouroboros__` (e.g., `ouroboros_session_status`, `ouroboros_measure_drift`). After runtime tool discovery returns, the tools become callable.
39
+ 3. If the tools are callable — already exposed, or loaded by discovery — proceed with the steps below. An empty discovery result for already-exposed tools is expected, not a failure. Skip to the **Fallback** section only if they are genuinely absent (no Ouroboros MCP server).
40
40
 
41
41
  **IMPORTANT**: Do NOT skip this step. Do NOT assume MCP tools are unavailable just because they don't appear in your immediate tool list. They are almost always available as deferred tools that need to be loaded first.
42
42
 
@@ -76,11 +76,11 @@ This pre-call branch applies to solo *and* debate. Skipping it makes `ooo latera
76
76
 
77
77
  Per the `ooo` routing contract in `src/ouroboros/codex/ouroboros.md`, every `ooo lateral` invocation MUST route through the MCP tool — solo *and* debate, in every runtime. This SKILL never substitutes a direct sub-agent fan-out for the MCP call.
78
78
 
79
- 1. Call `ToolSearch` with query `"+ouroboros lateral"` to load `ouroboros_lateral_think` (often prefixed, e.g., `mcp__plugin_ouroboros_ouroboros__ouroboros_lateral_think`). Deferred tools won't appear until `ToolSearch` runs.
79
+ 1. Use the active runtime's tool-discovery capability with query `"+ouroboros lateral"` to load `ouroboros_lateral_think` (often prefixed, e.g., `mcp__plugin_ouroboros_ouroboros__ouroboros_lateral_think`). Deferred tools won't appear until runtime tool discovery runs.
80
80
  2. Invoke the tool with the parsed mode and the context from Step 2:
81
81
  - **Solo**: `persona=<one>`, `problem_context`, `current_approach`, `failed_attempts`.
82
82
  - **Debate**: `personas=[...]`, `problem_context`, `current_approach`, `failed_attempts`.
83
- 3. If `ToolSearch` cannot load the tool, **stop and report that the MCP dispatch surface is broken** — same rule the contract applies to `ooo auto`. Do not improvise a sub-agent fan-out as a workaround; that bypasses the contract the bot review explicitly flagged.
83
+ 3. If the tool is not callable even after discovery — neither already exposed nor loadable (an empty discovery result for an already-exposed tool is expected, not a failure) — **stop and report that the MCP dispatch surface is broken** — same rule the contract applies to `ooo auto`. Do not improvise a sub-agent fan-out as a workaround; that bypasses the contract the bot review explicitly flagged.
84
84
 
85
85
  The MCP call is cheap. The handler's inline path is a *deterministic prompt builder* — it constructs per-persona reframing prompts via `LateralThinker.generate_alternative` (`src/ouroboros/mcp/tools/evaluation_handlers.py:1444+`); it does not run an LLM rollout.
86
86
 
@@ -198,7 +198,7 @@ You only need this if a parent SKILL or the user explicitly requests *one* perso
198
198
 
199
199
  ## When MCP is unavailable
200
200
 
201
- The contract is "fail loud, don't substitute": if `ouroboros_lateral_think` cannot be loaded via `ToolSearch`, stop and report that the MCP dispatch surface is broken. Do not improvise either solo or debate by reading persona files directly when MCP-driven invocation was requested — that re-introduces the contract bypass the bot review flagged.
201
+ The contract is "fail loud, don't substitute": if `ouroboros_lateral_think` is not callable at all — neither already exposed nor loadable via discovery stop and report that the MCP dispatch surface is broken. Do not improvise either solo or debate by reading persona files directly when MCP-driven invocation was requested — that re-introduces the contract bypass the bot review flagged.
202
202
 
203
203
  The one exception, retained for documented offline use: a parent SKILL operating in degraded-offline mode that has *already* announced it cannot reach MCP MAY read `src/ouroboros/agents/<persona>.md` and adopt that persona inline for solo reframing. This is not a fallback for `ooo lateral`; it's a degraded helper for a parent SKILL that has already given up on MCP. Debate has no offline equivalent — report the broken surface and stop.
204
204
 
@@ -222,7 +222,7 @@ with 2 tables, you haven't found the core feature yet.
222
222
 
223
223
  [Step 2: Confirm problem_context + current_approach are present;
224
224
  ask the user one short combined question if not]
225
- [ToolSearch loads ouroboros_lateral_think]
225
+ [runtime tool discovery loads ouroboros_lateral_think]
226
226
  [Call ouroboros_lateral_think(personas=[hacker,researcher,simplifier,architect,contrarian], ...)]
227
227
  [Handler returns: content = N persona blocks joined by ---,
228
228
  followed by hidden <!-- ouroboros-lateral-inline-dispatch-v1 base64
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ouroboros-ai
3
- Version: 0.43.3.dev18
3
+ Version: 0.43.4.dev2
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
@@ -0,0 +1,92 @@
1
+ #!/usr/bin/env python3
2
+ """De-leak Claude-specific `ToolSearch` from shared SKILL.md prose.
3
+
4
+ Replaces the concrete runtime tool name `ToolSearch` with runtime-agnostic
5
+ "tool discovery" phrasing (matching the already-migrated seed/interview
6
+ template), while PRESERVING verbatim: the `+ouroboros X` discovery queries, the
7
+ `ouroboros_*` MCP tool names, the `deferred-schema guard` strings, and the
8
+ unstuck fail-loud contract meaning. The ubiquitous-language convention now lives
9
+ in the MCP server `instructions` field, so each runtime maps "tool discovery" to
10
+ its own mechanism (Claude -> ToolSearch) without the shared prose naming one.
11
+ """
12
+
13
+ from __future__ import annotations
14
+
15
+ from pathlib import Path
16
+
17
+ REPO = Path(__file__).resolve().parents[1]
18
+
19
+ # Laggard skills still hardcoding ToolSearch (seed/interview already migrated).
20
+ SKILLS = [
21
+ "evaluate",
22
+ "run",
23
+ "status",
24
+ "evolve",
25
+ "qa",
26
+ "ralph",
27
+ "pm",
28
+ "setup",
29
+ "brownfield",
30
+ "unstuck",
31
+ ]
32
+
33
+ # Ordered, literal replacements. Specific multi-word phrases first; a catch-all
34
+ # last guarantees no stray `ToolSearch` survives.
35
+ REPLACEMENTS: list[tuple[str, str]] = [
36
+ (
37
+ "Use the `ToolSearch` tool to find and load",
38
+ "Use the active runtime's tool-discovery capability to find and load",
39
+ ),
40
+ ("If `ToolSearch` is not available", "If runtime tool discovery is not available"),
41
+ ("If `ToolSearch` is available", "If runtime tool discovery is available"),
42
+ ("After ToolSearch returns", "After runtime tool discovery returns"),
43
+ ("If ToolSearch finds", "If runtime tool discovery finds"),
44
+ ("loaded via ToolSearch above", "loaded via runtime tool discovery above"),
45
+ ("names returned by `ToolSearch`", "names returned by runtime tool discovery"),
46
+ (
47
+ "Call `ToolSearch` with query",
48
+ "Use the active runtime's tool-discovery capability with query",
49
+ ),
50
+ ("until `ToolSearch` runs", "until runtime tool discovery runs"),
51
+ ("If `ToolSearch` cannot load", "If runtime tool discovery cannot load"),
52
+ ("cannot be loaded via `ToolSearch`", "cannot be loaded via runtime tool discovery"),
53
+ ("[ToolSearch loads", "[runtime tool discovery loads"),
54
+ ("ToolSearch query:", "tool discovery query:"),
55
+ # Catch-all stragglers (backticked then bare).
56
+ ("`ToolSearch`", "runtime tool discovery"),
57
+ ("ToolSearch", "runtime tool discovery"),
58
+ ]
59
+
60
+
61
+ def main() -> int:
62
+ trees = [REPO / "skills", REPO / ".claude-plugin" / "skills"]
63
+ total_changed = 0
64
+ leftovers: list[str] = []
65
+ for tree in trees:
66
+ for skill in SKILLS:
67
+ path = tree / skill / "SKILL.md"
68
+ if not path.exists():
69
+ print(f" SKIP (absent): {path}")
70
+ continue
71
+ text = path.read_text(encoding="utf-8")
72
+ before = text.count("ToolSearch")
73
+ for old, new in REPLACEMENTS:
74
+ text = text.replace(old, new)
75
+ after = text.count("ToolSearch")
76
+ if after:
77
+ leftovers.append(f"{path}: {after} ToolSearch remain")
78
+ if before:
79
+ path.write_text(text, encoding="utf-8")
80
+ total_changed += 1
81
+ print(f" {path.relative_to(REPO)}: {before} -> {after}")
82
+ print(f"\nFiles changed: {total_changed}")
83
+ if leftovers:
84
+ print("LEFTOVERS:")
85
+ for line in leftovers:
86
+ print(f" {line}")
87
+ return 1
88
+ return 0
89
+
90
+
91
+ if __name__ == "__main__":
92
+ raise SystemExit(main())
@@ -45,11 +45,11 @@ This may take a moment...
45
45
  This skill can call `ouroboros_brownfield` across multiple turns (`scan`,
46
46
  `set_defaults`, `defaults`, and `set`). A deferred schema loaded for one turn is
47
47
  NOT guaranteed to remain loaded for the next. Immediately before EVERY
48
- `ouroboros_brownfield` call, re-run `ToolSearch query: "+ouroboros brownfield"`
49
- (idempotent — a no-op when already loaded). If the load returns no matching tool,
48
+ `ouroboros_brownfield` call, re-run `tool discovery query: "+ouroboros brownfield"`
49
+ (idempotent — a no-op when already loaded). If the load returns no matching tool (and the tool is not already callable — an empty load for an already-exposed tool is an expected no-op, not absence),
50
50
  stop with the MCP-not-available message instead of retrying the failing call.
51
51
 
52
- 1. Load the brownfield MCP tool: `ToolSearch query: "+ouroboros brownfield"`
52
+ 1. Load the brownfield MCP tool: `tool discovery query: "+ouroboros brownfield"`
53
53
  2. Call scan+register:
54
54
  ```
55
55
  Tool: ouroboros_brownfield
@@ -125,7 +125,7 @@ Then stop.
125
125
 
126
126
  The user can select the recommended defaults (if any), choose "None", or type custom numbers.
127
127
 
128
- After the user responds, re-run `ToolSearch query: "+ouroboros brownfield"`, then use ONE MCP call to update all defaults at once:
128
+ After the user responds, re-run `tool discovery query: "+ouroboros brownfield"`, then use ONE MCP call to update all defaults at once:
129
129
 
130
130
  ```
131
131
  Tool: ouroboros_brownfield
@@ -163,7 +163,7 @@ Scan only, no default selection prompt. Show the numbered list and stop.
163
163
 
164
164
  ### Subcommand: `defaults`
165
165
 
166
- Re-run `ToolSearch query: "+ouroboros brownfield"`, then call:
166
+ Re-run `tool discovery query: "+ouroboros brownfield"`, then call:
167
167
  ```
168
168
  Tool: ouroboros_brownfield
169
169
  Arguments: { "action": "scan" }
@@ -178,7 +178,7 @@ No default repos set. Run 'ooo brownfield' to configure.
178
178
 
179
179
  ### Subcommand: `set <indices>`
180
180
 
181
- Directly set defaults without scanning. Parse the comma-separated indices from the user's input, re-run `ToolSearch query: "+ouroboros brownfield"`, and call:
181
+ Directly set defaults without scanning. Parse the comma-separated indices from the user's input, re-run `tool discovery query: "+ouroboros brownfield"`, and call:
182
182
 
183
183
  ```
184
184
  Tool: ouroboros_brownfield
@@ -43,12 +43,12 @@ When the user invokes this skill:
43
43
 
44
44
  The Ouroboros MCP tools are often registered as **deferred tools** that must be explicitly loaded before use. **You MUST perform this step before proceeding.**
45
45
 
46
- 1. Use the `ToolSearch` tool to find and load the evaluate MCP tool:
46
+ 1. Use the active runtime's tool-discovery capability to find and load the evaluate MCP tool:
47
47
  ```
48
- ToolSearch query: "+ouroboros evaluate"
48
+ tool discovery query: "+ouroboros evaluate"
49
49
  ```
50
- 2. The tool will typically be named `mcp__plugin_ouroboros_ouroboros__ouroboros_evaluate` (with a plugin prefix). After ToolSearch returns, the tool becomes callable.
51
- 3. If ToolSearch finds the tool proceed with the MCP-based evaluation below. If not skip to **Fallback** section.
50
+ 2. The tool will typically be named `mcp__plugin_ouroboros_ouroboros__ouroboros_evaluate` (with a plugin prefix). After runtime tool discovery returns, the tool becomes callable.
51
+ 3. If the tool is callable — already exposed, or loaded by discovery — proceed with the MCP-based evaluation below. An empty discovery result for an already-exposed tool is expected, not a failure. Skip to the **Fallback** section only if the tool is genuinely absent (no Ouroboros MCP server).
52
52
 
53
53
  **IMPORTANT**: Do NOT skip this step. Do NOT assume MCP tools are unavailable just because they don't appear in your immediate tool list. They are almost always available as deferred tools that need to be loaded first.
54
54
 
@@ -58,8 +58,8 @@ schema loaded on one turn is NOT guaranteed to still be loaded on the next. If
58
58
  you call it while its schema is not loaded in the **current** turn, the runtime
59
59
  rejects the call with **"Invalid tool parameters"** before it reaches the server.
60
60
  Therefore: **immediately before EVERY `ouroboros_evaluate` call in this skill,
61
- re-run `ToolSearch query: "+ouroboros evaluate"`** (idempotent — a no-op when
62
- already loaded). If the load returns no matching tool, switch to the documented
61
+ re-run `tool discovery query: "+ouroboros evaluate"`** (idempotent — a no-op when
62
+ already loaded). If the load returns no matching tool (and the tool is not already callable — an empty load for an already-exposed tool is an expected no-op, not absence), switch to the documented
63
63
  fallback instead of retrying the failing call.
64
64
 
65
65
  ### Evaluation Steps
@@ -45,12 +45,12 @@ ooo evolve --rewind <lineage_id> <generation_number>
45
45
 
46
46
  The Ouroboros MCP tools are often registered as **deferred tools** that must be explicitly loaded before use. **You MUST perform this step before deciding between Path A and Path B.**
47
47
 
48
- 1. Use the `ToolSearch` tool to find and load the evolve MCP tools:
48
+ 1. Use the active runtime's tool-discovery capability to find and load the evolve MCP tools:
49
49
  ```
50
- ToolSearch query: "+ouroboros evolve"
50
+ tool discovery query: "+ouroboros evolve"
51
51
  ```
52
- 2. The tools will typically be named with prefix `mcp__plugin_ouroboros_ouroboros__` (e.g., `ouroboros_evolve_step`, `ouroboros_interview`, `ouroboros_generate_seed`). After ToolSearch returns, the tools become callable.
53
- 3. If ToolSearch finds the tools proceed to **Path A**. If not proceed to **Path B**.
52
+ 2. The tools will typically be named with prefix `mcp__plugin_ouroboros_ouroboros__` (e.g., `ouroboros_evolve_step`, `ouroboros_interview`, `ouroboros_generate_seed`). After runtime tool discovery returns, the tools become callable.
53
+ 3. If the tools are callable — already exposed, or loaded by discovery — proceed to **Path A**. An empty discovery result for already-exposed tools is expected, not a failure. Proceed to **Path B** only if they are genuinely absent (no Ouroboros MCP server).
54
54
 
55
55
  **IMPORTANT**: Do NOT skip this step. Do NOT assume MCP tools are unavailable just because they don't appear in your immediate tool list. They are almost always available as deferred tools that need to be loaded first.
56
56
 
@@ -66,10 +66,10 @@ you are about to call**. Use `"+ouroboros evolve"` for `ouroboros_evolve_step`,
66
66
  `ouroboros_lineage_status`, and the evolve flow's documented tool family;
67
67
  use `"+ouroboros interview"` before `ouroboros_interview`, `"+ouroboros seed"`
68
68
  before `ouroboros_generate_seed`, and `"+ouroboros lateral"` before
69
- `ouroboros_lateral_think`. If a load returns no matching tool, switch to the
69
+ `ouroboros_lateral_think`. If a load returns no matching tool (and the tool is not already callable — an empty load for an already-exposed tool is an expected no-op, not absence), switch to the
70
70
  documented fallback / Path B instead of retrying the failing call.
71
71
 
72
- ### Path A: MCP Available (loaded via ToolSearch above)
72
+ ### Path A: MCP Available (loaded via runtime tool discovery above)
73
73
 
74
74
  **Starting a new evolutionary loop:**
75
75
  1. Parse the user's input as `initial_context`
@@ -99,8 +99,9 @@ The Ouroboros MCP tools are often registered as **deferred tools** that must be
99
99
 
100
100
  2. The tool will typically be named `mcp__plugin_ouroboros_ouroboros__ouroboros_interview` (with a plugin prefix). After runtime tool discovery returns, the tool becomes callable.
101
101
 
102
- 3. If runtime tool discovery finds the tool proceed to **Path A**.
103
- If runtime tool discovery returns no matching tools proceed to **Path B**.
102
+ 3. If the tool is callable already exposed, or loaded by discovery — proceed to **Path A**.
103
+ An empty discovery result for an already-exposed tool is expected, not a failure.
104
+ Proceed to **Path B** only if the tool is genuinely absent (no Ouroboros MCP server).
104
105
 
105
106
  **IMPORTANT**: Do NOT skip this step. Do NOT assume MCP tools are unavailable just because they don't appear in your immediate tool list. They are almost always available as deferred tools that need to be loaded first.
106
107
 
@@ -115,7 +116,7 @@ the tool-discovery load query for the specific MCP tool you are about to call**
115
116
  (idempotent — a no-op when the schema is already loaded) so the correct schema is
116
117
  guaranteed present for that call. Use `"+ouroboros interview"` before
117
118
  `ouroboros_interview` and `"+ouroboros lateral"` before
118
- `ouroboros_lateral_think`. If a load ever returns no matching tool, switch to the
119
+ `ouroboros_lateral_think`. If a load ever returns no matching tool (and the tool is not already callable — an empty load for an already-exposed tool is an expected no-op, not absence), switch to the
119
120
  documented fallback / Path B instead of retrying the failing call.
120
121
 
121
122
  ### Path A: MCP Mode (Preferred)
@@ -12,7 +12,7 @@ PM-focused Socratic interview that produces a Product Requirements Document.
12
12
  ### Step 1: Load MCP Tool
13
13
 
14
14
  ```
15
- ToolSearch query: "+ouroboros pm_interview"
15
+ tool discovery query: "+ouroboros pm_interview"
16
16
  ```
17
17
 
18
18
  **CRITICAL — deferred-schema guard (prevents "Invalid tool parameters"):**
@@ -20,9 +20,9 @@ This is a multi-turn loop and each turn runs in a fresh tool context. A deferred
20
20
  tool's schema loaded on one turn is NOT guaranteed to still be loaded on the next.
21
21
  Calling `ouroboros_pm_interview` while its schema is unloaded in the **current**
22
22
  turn makes the runtime reject it with **"Invalid tool parameters"** every message.
23
- Therefore **re-run `ToolSearch query: "+ouroboros pm_interview"` immediately before
23
+ Therefore **re-run `tool discovery query: "+ouroboros pm_interview"` immediately before
24
24
  EVERY `ouroboros_pm_interview` call** below (idempotent — a no-op if already
25
- loaded). If the load ever returns no matching tool, follow the not-found diagnosis
25
+ loaded). If the load ever returns no matching tool (and the tool is not already callable — an empty load for an already-exposed tool is an expected no-op, not absence), follow the not-found diagnosis
26
26
  below instead of retrying the failing call.
27
27
 
28
28
  If not found → **diagnose before telling user to run setup**:
@@ -42,13 +42,13 @@ When the user invokes this skill:
42
42
 
43
43
  This skill works in two modes. Determine which one **before** attempting any tool calls:
44
44
 
45
- - **MCP mode** — If `ToolSearch` is available, try loading the QA MCP tool:
45
+ - **MCP mode** — If the QA MCP tool is available (already exposed, or loadable via discovery), use it:
46
46
  ```
47
- ToolSearch query: "+ouroboros qa"
47
+ tool discovery query: "+ouroboros qa"
48
48
  ```
49
49
  If found (typically named `mcp__plugin_ouroboros_ouroboros__ouroboros_qa`), proceed with **QA Steps** below.
50
50
 
51
- - **Fallback mode** — If `ToolSearch` is not available, or it finds no matching tool, skip directly to the **Fallback** section. This skill is designed to work without MCP setup.
51
+ - **Fallback mode** — Only if the QA MCP tool is genuinely absent (no Ouroboros MCP server) skip to the **Fallback** section; an empty discovery result for an already-exposed tool is expected — call it directly rather than falling back. This skill is designed to work without MCP setup.
52
52
 
53
53
  ### QA Steps (MCP mode)
54
54