ouroboros-ai 0.30.1.dev4__tar.gz → 0.30.1.dev7__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.
Potentially problematic release.
This version of ouroboros-ai might be problematic. Click here for more details.
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/CHANGELOG.md +1 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/CLAUDE.md +2 -1
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/PKG-INFO +3 -1
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/README.ko.md +1 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/README.md +2 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/events.md +1 -1
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/help/SKILL.md +3 -0
- {ouroboros_ai-0.30.1.dev4/skills/resume → ouroboros_ai-0.30.1.dev7/skills/resume-session}/SKILL.md +15 -11
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/_version.py +2 -2
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/execution/decomposition.py +1 -1
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_doc_commands.py +2 -2
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/execution/test_decomposition.py +12 -19
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/router/test_registry.py +12 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.claude/settings.json +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.claude-plugin/.mcp.json +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.claude-plugin/marketplace.json +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.claude-plugin/plugin.json +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.env.example +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.github/ISSUE_TEMPLATE/question.yml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.github/workflows/dev-publish.yml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.github/workflows/lint.yml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.github/workflows/release.yml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.github/workflows/test.yml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.gitignore +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.mcp.json +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.ouroboros/mechanical.toml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.ouroboros/seeds/seed_73827177a2a3.yaml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.ouroboros/seeds/seed_78c8e6e41813.yaml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.pre-commit-config.yaml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.python-version +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/CODE_OF_CONDUCT.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/CONTRIBUTING.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/Code-Review-Claude.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/Code-Review-Codex.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/HANDOFF.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/LICENSE +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/SECURITY.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/UNINSTALL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/commands/cancel.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/commands/evaluate.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/commands/evolve.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/commands/help.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/commands/interview.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/commands/ralph.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/commands/run.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/commands/seed.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/commands/setup.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/commands/status.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/commands/tutorial.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/commands/unstuck.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/commands/welcome.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/.gitignore +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/Cargo.lock +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/Cargo.toml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/README.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/src/db.rs +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/src/main.rs +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/src/mock.rs +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/src/state.rs +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/src/views/dashboard.rs +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/src/views/execution.rs +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/src/views/lineage.rs +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/src/views/logs.rs +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/src/views/mod.rs +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/src/views/session_selector.rs +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/README.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/api/README.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/api/core.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/api/mcp.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/architecture.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/cli-reference.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/config-reference.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/contributing/architecture-overview.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/contributing/findings-registry.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/contributing/issue-quality-policy.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/contributing/key-patterns.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/contributing/testing-guide.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/examples/mcp-config.yaml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/examples/workflows/design-code-verify.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/examples/workflows/research-to-deliverable.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/getting-started.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/guides/evaluation-pipeline.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/guides/evolution-loop.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/guides/issue-176-subagent-mcp-inheritance.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/guides/mcp-best-practices.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/guides/mcp-bridge.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/guides/ooo-skill-dispatch-router.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/guides/opencode-subagent-bridge.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/guides/qa-backends.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/guides/seed-authoring.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/guides/tui-usage.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/images/PLACEHOLDER_README.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/images/ouroboros.png +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/platform-support.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/runtime-capability-matrix.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/runtime-guides/claude-code.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/runtime-guides/codex.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/runtime-guides/hermes.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/runtime-guides/opencode.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/examples/coordinator_test_seed.yaml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/examples/dummy_seed.yaml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/examples/parallel_subac_test_seed.yaml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/examples/subac_test_seed.yaml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/examples/task_manager/README.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/examples/task_manager/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/examples/task_manager/__main__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/examples/task_manager/cli.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/examples/task_manager/models.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/examples/task_manager/storage.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/examples/test_display.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/hooks/hooks.json +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/llms-full.txt +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/llms.txt +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/project-context.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/pyproject.toml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/scripts/drift-monitor.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/scripts/install.sh +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/scripts/keyword-detector.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/scripts/mcp-serve.sh +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/scripts/ralph-rewind.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/scripts/ralph.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/scripts/ralph.sh +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/scripts/session-start.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/scripts/sync-plugin-version.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/scripts/version-check.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/brownfield/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/cancel/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/evaluate/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/evolve/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/interview/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/pm/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/publish/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/qa/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/ralph/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/run/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/seed/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/setup/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/status/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/tutorial/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/unstuck/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/update/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/skills/welcome/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/__main__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/advocate.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/analysis-agent.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/architect.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/breadth-keeper.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/code-executor.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/codebase-explorer.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/consensus-reviewer.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/contrarian.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/evaluator.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/hacker.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/judge.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/loader.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/ontologist.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/ontology-analyst.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/qa-judge.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/research-agent.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/researcher.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/seed-architect.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/seed-closer.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/semantic-evaluator.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/simplifier.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/agents/socratic-interviewer.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/bigbang/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/bigbang/ambiguity.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/bigbang/brownfield.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/bigbang/explore.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/bigbang/interview.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/bigbang/pm_completion.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/bigbang/pm_document.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/bigbang/pm_interview.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/bigbang/pm_seed.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/bigbang/question_classifier.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/bigbang/seed_generator.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/claude_permissions.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/commands/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/commands/cancel.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/commands/config.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/commands/detect.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/commands/init.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/commands/mcp.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/commands/mcp_doctor.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/commands/pm.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/commands/resume.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/commands/run.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/commands/setup.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/commands/status.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/commands/tui.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/commands/uninstall.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/formatters/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/formatters/panels.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/formatters/progress.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/formatters/prompting.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/formatters/tables.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/formatters/workflow_display.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/jsonc.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/main.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/cli/opencode_config.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/codex/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/codex/artifacts.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/codex/cli_policy.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/codex/ouroboros.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/codex_permissions.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/config/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/config/loader.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/config/models.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/ac_tree.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/context.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/directive.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/errors.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/file_lock.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/git_workflow.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/initial_context.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/json_utils.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/lineage.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/ontology_aspect.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/ontology_questions.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/project_paths.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/retry.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/security.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/seed.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/seed_contract.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/seed_contract_prompt.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/text.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/ttl_cache.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/types.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/core/worktree.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evaluation/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evaluation/artifact_collector.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evaluation/checklist.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evaluation/consensus.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evaluation/detector.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evaluation/json_utils.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evaluation/languages.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evaluation/mechanical.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evaluation/models.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evaluation/pipeline.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evaluation/semantic.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evaluation/trigger.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evaluation/verification_artifacts.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/events/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/events/base.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/events/control.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/events/decomposition.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/events/evaluation.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/events/interview.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/events/lineage.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/events/ontology.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evolution/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evolution/convergence.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evolution/loop.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evolution/projector.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evolution/reflect.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evolution/regression.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/evolution/wonder.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/execution/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/execution/atomicity.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/execution/double_diamond.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/execution/subagent.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/hermes/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/hermes/artifacts.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/bridge/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/bridge/bridge.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/bridge/config.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/bridge/factory.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/client/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/client/adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/client/manager.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/client/protocol.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/errors.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/job_manager.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/resources/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/resources/handlers.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/server/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/server/adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/server/protocol.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/server/security.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/ac_tree_hud_handler.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/ac_tree_hud_render.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/authoring_handlers.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/bridge_mixin.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/brownfield_handler.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/dashboard.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/definitions.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/evaluation_handlers.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/evolution_handlers.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/execution_handlers.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/job_handlers.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/pm_handler.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/qa.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/query_handlers.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/registry.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/tools/subagent.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/mcp/types.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/observability/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/observability/drift.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/observability/logging.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/observability/retrospective.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/opencode/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/opencode/plugin/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/opencode/plugin/opencode-plugin.d.ts +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/opencode/plugin/ouroboros-bridge.test.ts +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/opencode/plugin/ouroboros-bridge.ts +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/opencode/plugin/package.json +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/opencode/plugin/tsconfig.json +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/capabilities.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/codex_cli_runtime.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/command_dispatcher.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/control_plane.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/coordinator.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/dependency_analyzer.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/events.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/execution_runtime_scope.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/execution_strategy.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/heartbeat.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/hermes_runtime.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/level_context.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/mcp_config.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/mcp_tools.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/opencode_event_normalizer.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/opencode_runtime.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/parallel_executor.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/parallel_executor_models.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/policy.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/rate_limit.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/runner.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/runtime_factory.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/runtime_message_projection.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/session.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/orchestrator/workflow_state.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/persistence/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/persistence/brownfield.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/persistence/checkpoint.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/persistence/event_store.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/persistence/migrations/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/persistence/migrations/runner.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/persistence/migrations/scripts/001_initial.sql +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/persistence/migrations/scripts/002_brownfield.sql +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/persistence/schema.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/persistence/uow.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/plugin/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/plugin/agents/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/plugin/agents/pool.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/plugin/agents/registry.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/plugin/orchestration/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/plugin/orchestration/router.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/plugin/orchestration/scheduler.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/plugin/skills/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/plugin/skills/docs.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/plugin/skills/executor.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/plugin/skills/keywords.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/plugin/skills/registry.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/pm/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/pm/handoff.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/pm/renderer.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/providers/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/providers/anthropic_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/providers/base.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/providers/claude_code_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/providers/codex_cli_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/providers/codex_cli_stream.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/providers/factory.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/providers/gemini_cli_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/providers/litellm_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/providers/opencode_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/py.typed +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/resilience/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/resilience/lateral.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/resilience/recovery.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/resilience/stagnation.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/router/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/router/command_parser.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/router/dispatch.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/router/registry.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/router/types.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/routing/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/routing/complexity.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/routing/downgrade.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/routing/escalation.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/routing/router.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/routing/tiers.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/sandbox.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/secondary/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/secondary/scheduler.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/secondary/todo_registry.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/skills/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/skills/artifacts.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/strategies/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/strategies/devil_advocate.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/app.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/components/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/components/agents_panel.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/components/event_log.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/components/progress.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/components/token_tracker.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/events.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/screens/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/screens/confirm_rewind.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/screens/dashboard.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/screens/dashboard_v2.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/screens/dashboard_v3.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/screens/debug.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/screens/execution.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/screens/hud_dashboard.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/screens/lineage_detail.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/screens/lineage_selector.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/screens/logs.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/screens/session_selector.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/widgets/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/widgets/ac_progress.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/widgets/ac_tree.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/widgets/agent_activity.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/widgets/cost_tracker.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/widgets/drift_meter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/widgets/lineage_tree.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/widgets/parallel_graph.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/tui/widgets/phase_progress.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/verification/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/verification/extractor.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/verification/models.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/src/ouroboros/verification/verifier.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/conftest.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/e2e/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/e2e/conftest.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/e2e/mcp_bridge_test_config.yaml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/e2e/test_cli_commands.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/e2e/test_full_workflow.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/e2e/test_session_persistence.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/fixtures/router/skills/frontmatter-body/run/SKILL.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/fixtures/test_atomicity_seed.yml +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/integration/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/integration/conftest.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/integration/mcp/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/integration/mcp/bridge/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/integration/mcp/bridge/test_bridge_server_to_server.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/integration/mcp/conftest.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/integration/mcp/test_client_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/integration/mcp/test_client_manager.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/integration/mcp/test_server_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/integration/plugin/test_orchestration.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/integration/test_cancel_subprocess_termination.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/integration/test_codex_cli_passthrough_smoke.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/integration/test_codex_skill_fallback.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/integration/test_codex_skill_smoke.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/integration/test_entry_point.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/test-execution-plan.md +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/agents/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/agents/test_loader.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_ambiguity.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_brownfield.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_classifier_context.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_decide_later_items.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_explore.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_interview.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_interview_async_io.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_interview_no_web_search_hint.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_interview_research_prefix.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_pm_completion.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_pm_document_generator.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_pm_document_writer.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_pm_interview.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_pm_interview_brownfield_db.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_pm_seed_ac12.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_pm_seed_save.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_question_classifier.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/bigbang/test_seed_generator.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/commands/test_tui_command.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/conftest.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/formatters/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/formatters/test_console.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/formatters/test_panels.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/formatters/test_progress.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/formatters/test_prompting.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/formatters/test_tables.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/formatters/test_workflow_display.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_bridge_plugin_hardening.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_bridge_plugin_lifecycle.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_cancel.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_config.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_init_pm_seed_detection.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_init_runtime.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_jsonc.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_main.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_mcp_doctor.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_mcp_nested_guard.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_mcp_shell_env.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_mcp_startup_cleanup.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_mcp_validate_transport_stderr.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_opencode_config.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_pm.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_pm_brownfield.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_pm_completion.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_pm_interactive_logging.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_pm_missing_litellm.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_pm_overwrite.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_pm_runtime_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_pm_select_repos.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_resume.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_run_qa.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_setup.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/cli/test_uninstall.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/codex/test_cli_policy.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/config/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/config/test_loader.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/config/test_loader_env.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/config/test_models.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/test_ac_tree.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/test_context.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/test_directive.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/test_errors.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/test_file_lock.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/test_git_workflow.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/test_initial_context.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/test_lineage.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/test_ontology_aspect.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/test_ontology_questions.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/test_retry.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/test_security.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/test_seed.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/test_ttl_cache.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/test_types.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/core/test_worktree.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evaluation/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evaluation/test_artifact_collector_file_prefix.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evaluation/test_checklist.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evaluation/test_consensus.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evaluation/test_detector.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evaluation/test_json_utils.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evaluation/test_languages.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evaluation/test_mechanical.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evaluation/test_models.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evaluation/test_pipeline_stage1_reuse.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evaluation/test_pipeline_trigger_consensus.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evaluation/test_review_fixes.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evaluation/test_semantic.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evaluation/test_trigger.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evaluation/test_trigger_consensus.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evaluation/test_verification_artifacts.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/events/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/events/test_base.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/events/test_control_events.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/events/test_decomposition_events.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/evolution/test_wonder_scope.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/execution/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/execution/test_atomicity.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/execution/test_double_diamond.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/execution/test_subagent_isolation.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/hermes/test_artifacts.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/bridge/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/bridge/test_bridge.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/bridge/test_config.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/bridge/test_factory.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/bridge/test_handler_wiring.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/bridge/test_stability.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/client/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/client/test_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/client/test_adapter_transport_lifecycle.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/client/test_manager.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/conftest.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/server/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/server/test_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/server/test_security.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/test_errors.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/test_job_manager.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/test_types.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/conftest.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_ac_tree_hud_footer.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_ac_tree_hud_handler.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_ac_tree_hud_handler_completed.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_ac_tree_hud_handler_cursor_changed.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_ac_tree_hud_handler_invalid_session.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_ac_tree_hud_handler_no_execution.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_ac_tree_hud_handler_waiting.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_ac_tree_hud_max_nodes.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_ac_tree_hud_render_depth2.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_ac_tree_hud_render_depth3.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_ac_tree_hud_status_icons.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_ac_tree_hud_truncation.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_brownfield_handler.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_checklist_verify.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_definitions.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_evaluate_multi_ac.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_handler_subagent_wiring.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_interview_done_streak.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_lateral_think_handler.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_mcp_manager_wiring.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_pm_handler.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_pm_handler_pending_reframe.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_qa_parser.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_registry.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_round5_fixes.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/mcp/tools/test_subagent.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/observability/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/observability/test_drift.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/observability/test_logging.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/observability/test_retrospective.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_capabilities.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_codex_cli_runtime.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_codex_recursion_guard.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_command_dispatcher.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_control_plane.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_coordinator.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_dependency_analyzer.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_events.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_execution_runtime_scope.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_execution_strategy.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_hermes_runtime.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_inflight_cancellation.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_level_context.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_mcp_config.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_mcp_tools.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_opencode_runtime.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_parallel_executor.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_parallel_executor_atomic_judgment.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_parallel_executor_recursive_depth.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_parallel_executor_retry_resume.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_policy.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_rate_limit.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_runner.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_runner_cancellation.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_runtime_factory.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_runtime_message_projection.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_sandbox_class.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_seed_prompt.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_session.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/orchestrator/test_workflow_state.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/persistence/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/persistence/test_brownfield_store.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/persistence/test_checkpoint.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/persistence/test_event_store.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/persistence/test_schema.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/persistence/test_uow.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/plugin/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/plugin/agents/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/plugin/agents/test_registry.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/plugin/orchestration/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/plugin/orchestration/test_model_router.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/plugin/skills/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/plugin/skills/test_keywords.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/plugin/skills/test_registry.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/pm/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/pm/test_renderer.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/providers/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/providers/test_base.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/providers/test_claude_code_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/providers/test_codex_cli_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/providers/test_factory.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/providers/test_gemini_cli_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/providers/test_litellm_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/providers/test_opencode_adapter.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/resilience/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/resilience/test_lateral.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/resilience/test_recovery.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/resilience/test_stagnation.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/router/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/router/test_command_parser.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/router/test_dispatch.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/router/test_dispatch_result_shapes.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/router/test_extract_first_argument.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/router/test_invalid_dispatch_input_types.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/router/test_malformed_unknown_dispatch_errors.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/router/test_not_handled_resolution.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/router/test_repository_dispatch_guard.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/router/test_router_resolution_pipeline.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/router/test_typed_frontmatter_fields.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/router/test_valid_dispatch_normalization.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/routing/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/routing/test_complexity.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/routing/test_downgrade.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/routing/test_escalation.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/routing/test_router.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/routing/test_tiers.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/scripts/test_keyword_detector.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/scripts/test_session_start.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/scripts/test_version_check.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/secondary/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/secondary/test_scheduler.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/secondary/test_todo_registry.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/skills/test_skill_artifacts.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_artifact_collector.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_codex_artifacts.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_convergence.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_dashboard.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_dependencies_configured.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_evolve_rewind.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_evolve_step.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_graceful_shutdown.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_main_entry_point.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_module_structure.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_project_initialization.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_projector_rewind.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_ralph_parser.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_ralph_rewind.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_regression.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_tooling_configuration.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/test_verification.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/tui/__init__.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/tui/test_app.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/tui/test_cancelled_display.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/tui/test_events.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/tui/test_lineage_viewer.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/tui/test_screens.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/tui/test_session_selector_replay.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/tui/test_widgets.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tools/sync_github_project.py +0 -0
- {ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/uv.lock +0 -0
|
@@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
13
13
|
- **opencode/bridge**: Plugin v23 recognizes `_subagents` array for parallel fan-out. Per-payload validation, truncation, and dedupe. One failed dispatch does not abort the rest. New `ouroboros_subagents` and `ouroboros_dispatch_errors` metadata fields. Backwards compatible with v22 single-payload `_subagent` contract.
|
|
14
14
|
|
|
15
15
|
### Fixed
|
|
16
|
+
- **skills**: Renamed the packaged `resume` skill to `resume-session` so Claude Code's built-in `/resume` session picker is no longer shadowed. Use `ooo resume-session` or `/ouroboros:resume-session` for the Ouroboros in-flight session listing.
|
|
16
17
|
- **mcp/security**: `FREETEXT_FIELDS` allowlist for user-input fields (goals, prompts, descriptions) — shell metacharacters (`;`, `|`, `&`, backticks, `$()`) are no longer rejected in fields where they are legitimate prose. Structural fields remain strictly validated.
|
|
17
18
|
- **opencode/bridge**: Robustness hardening (v22) — no uncaught errors under any input. Adds reject-path logging, frozen-content guards, empty-sessionID guard, client init-order guard, 5-second FNV-1a prompt dedupe, 100 KB prompt byte cap with truncation marker, user-visible `surfaceErr()` for dispatch failures (no more silent "dispatched but never ran"), and an absolute outer try/catch so the plugin cannot throw into the opencode runLoop.
|
|
18
19
|
|
|
@@ -32,7 +32,7 @@ When the user types any of these commands, read the corresponding SKILL.md file
|
|
|
32
32
|
| `ooo pm` or `ooo pm ...` | Read `skills/pm/SKILL.md` and follow it |
|
|
33
33
|
| `ooo brownfield` or `ooo brownfield ...` | Read `skills/brownfield/SKILL.md` and follow it |
|
|
34
34
|
| `ooo publish` or `ooo publish ...` | Read `skills/publish/SKILL.md` and follow it |
|
|
35
|
-
| `ooo resume` | Read `skills/resume/SKILL.md` and follow it |
|
|
35
|
+
| `ooo resume-session` | Read `skills/resume-session/SKILL.md` and follow it |
|
|
36
36
|
|
|
37
37
|
**Important**: Do NOT use the Skill tool. Read the file with the Read tool and execute its instructions directly.
|
|
38
38
|
|
|
@@ -82,6 +82,7 @@ Each command loads its agent/MCP on-demand. Details in each skill file.
|
|
|
82
82
|
| `ooo help` | — |
|
|
83
83
|
| `ooo update` | PyPI version check + upgrade |
|
|
84
84
|
| `ooo publish` | `gh` CLI — Seed to GitHub Issues |
|
|
85
|
+
| `ooo resume-session` | Restore previous Claude Code session context |
|
|
85
86
|
|
|
86
87
|
## Agents
|
|
87
88
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ouroboros-ai
|
|
3
|
-
Version: 0.30.1.
|
|
3
|
+
Version: 0.30.1.dev7
|
|
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
|
|
@@ -250,6 +250,7 @@ Inside AI coding agent sessions, use `ooo <cmd>` skills. From the terminal, use
|
|
|
250
250
|
| `ooo evolve` | *(via MCP)* | Evolutionary loop until ontology converges |
|
|
251
251
|
| `ooo unstuck` | *(via MCP)* | 5 lateral thinking personas when you are stuck |
|
|
252
252
|
| `ooo status` | `ouroboros status executions` / `ouroboros status execution <id>` | Session tracking + (MCP-only) drift detection |
|
|
253
|
+
| `ooo resume-session` | `ouroboros resume` | List in-flight sessions and re-attach commands |
|
|
253
254
|
| `ooo cancel` | `ouroboros cancel execution [<id>\|--all]` | Cancel stuck or orphaned executions |
|
|
254
255
|
| `ooo ralph` | *(via MCP)* | Persistent loop until verified |
|
|
255
256
|
| `ooo tutorial` | *(interactive)* | Interactive hands-on learning |
|
|
@@ -261,6 +262,7 @@ Inside AI coding agent sessions, use `ooo <cmd>` skills. From the terminal, use
|
|
|
261
262
|
| `ooo publish` | *(skill/runtime surface; uses `gh` CLI)* | Publish a Seed as GitHub Epic/Task issues for team workflows |
|
|
262
263
|
|
|
263
264
|
> Not all skills have direct CLI equivalents. Some (`evaluate`, `evolve`, `unstuck`, `ralph`, `publish`) are available through agent skills, runtime rules, or MCP tools rather than a direct `ouroboros <subcommand>` shell command.
|
|
265
|
+
> `/resume` is reserved for Claude Code's built-in session picker; use `ooo resume-session` for Ouroboros in-flight sessions.
|
|
264
266
|
|
|
265
267
|
See the [CLI reference](./docs/cli-reference.md) for full details.
|
|
266
268
|
|
|
@@ -267,6 +267,7 @@ Gen 3: {Task, Priority, Status, DueDate} → similarity 1.00 → CONVERGED
|
|
|
267
267
|
| `ooo evolve` | 온톨로지 수렴까지 진화 루프 |
|
|
268
268
|
| `ooo unstuck` | 막혔을 때 활용 가능한 5가지 수평적 사고 페르소나 |
|
|
269
269
|
| `ooo status` | 드리프트 감지 + 세션 추적 |
|
|
270
|
+
| `ooo resume-session` | 실행 중인 세션 목록과 재연결 명령 확인 |
|
|
270
271
|
| `ooo ralph` | 검증될 때까지 계속 도는 루프 |
|
|
271
272
|
| `ooo tutorial` | 대화형 실습 |
|
|
272
273
|
| `ooo help` | 전체 참조 |
|
|
@@ -210,6 +210,7 @@ Inside AI coding agent sessions, use `ooo <cmd>` skills. From the terminal, use
|
|
|
210
210
|
| `ooo evolve` | *(via MCP)* | Evolutionary loop until ontology converges |
|
|
211
211
|
| `ooo unstuck` | *(via MCP)* | 5 lateral thinking personas when you are stuck |
|
|
212
212
|
| `ooo status` | `ouroboros status executions` / `ouroboros status execution <id>` | Session tracking + (MCP-only) drift detection |
|
|
213
|
+
| `ooo resume-session` | `ouroboros resume` | List in-flight sessions and re-attach commands |
|
|
213
214
|
| `ooo cancel` | `ouroboros cancel execution [<id>\|--all]` | Cancel stuck or orphaned executions |
|
|
214
215
|
| `ooo ralph` | *(via MCP)* | Persistent loop until verified |
|
|
215
216
|
| `ooo tutorial` | *(interactive)* | Interactive hands-on learning |
|
|
@@ -221,6 +222,7 @@ Inside AI coding agent sessions, use `ooo <cmd>` skills. From the terminal, use
|
|
|
221
222
|
| `ooo publish` | *(skill/runtime surface; uses `gh` CLI)* | Publish a Seed as GitHub Epic/Task issues for team workflows |
|
|
222
223
|
|
|
223
224
|
> Not all skills have direct CLI equivalents. Some (`evaluate`, `evolve`, `unstuck`, `ralph`, `publish`) are available through agent skills, runtime rules, or MCP tools rather than a direct `ouroboros <subcommand>` shell command.
|
|
225
|
+
> `/resume` is reserved for Claude Code's built-in session picker; use `ooo resume-session` for Ouroboros in-flight sessions.
|
|
224
226
|
|
|
225
227
|
See the [CLI reference](./docs/cli-reference.md) for full details.
|
|
226
228
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Event Payload Schema Reference
|
|
2
2
|
|
|
3
3
|
This document defines the stable payload fields for Ouroboros EventStore
|
|
4
|
-
events. Consumers that read events -- TUI, `ooo status`, `ooo resume`,
|
|
4
|
+
events. Consumers that read events -- TUI, `ooo status`, `ooo resume-session`,
|
|
5
5
|
`ouroboros_query_events` -- can rely on these
|
|
6
6
|
fields not being removed or renamed within a given `event_version`.
|
|
7
7
|
|
|
@@ -37,6 +37,7 @@ Ouroboros is a **requirement crystallization engine** for AI workflows. It trans
|
|
|
37
37
|
| `ooo evaluate` | 3-stage verification | MCP |
|
|
38
38
|
| `ooo unstuck` | 5 lateral thinking personas | Plugin |
|
|
39
39
|
| `ooo status` | Session status + drift check | MCP |
|
|
40
|
+
| `ooo resume-session` | List in-flight sessions and re-attach commands | CLI |
|
|
40
41
|
| `ooo setup` | Installation wizard | Plugin |
|
|
41
42
|
| `ooo welcome` | First-touch welcome guide | Plugin |
|
|
42
43
|
| `ooo tutorial` | Interactive hands-on learning | Plugin |
|
|
@@ -76,6 +77,7 @@ Ouroboros is a **requirement crystallization engine** for AI workflows. It trans
|
|
|
76
77
|
| "write prd", "pm interview", "product requirements", "create prd" | `ooo pm` |
|
|
77
78
|
| "qa check", "quality check" | `ooo qa` |
|
|
78
79
|
| "cancel execution", "stop job", "kill stuck", "abort execution" | `ooo cancel` |
|
|
80
|
+
| "in-flight sessions", "mcp disconnected", "lost Ouroboros execution" | `ooo resume-session` |
|
|
79
81
|
| "update ouroboros", "upgrade ouroboros" | `ooo update` |
|
|
80
82
|
| "brownfield defaults", "brownfield scan" | `ooo brownfield` |
|
|
81
83
|
| "publish to github", "create issues from seed", "seed to issues" | `ooo publish` |
|
|
@@ -100,6 +102,7 @@ Ouroboros is a **requirement crystallization engine** for AI workflows. It trans
|
|
|
100
102
|
| `/ouroboros:evaluate` | 3-stage verification | MCP |
|
|
101
103
|
| `/ouroboros:unstuck` | 5 lateral thinking personas | Plugin |
|
|
102
104
|
| `/ouroboros:status` | Session status + drift check | MCP |
|
|
105
|
+
| `/ouroboros:resume-session` | List in-flight sessions and re-attach commands | CLI |
|
|
103
106
|
| `/ouroboros:setup` | Installation wizard | Plugin |
|
|
104
107
|
| `/ouroboros:tutorial` | Interactive hands-on learning | Plugin |
|
|
105
108
|
| `/ouroboros:help` | This guide | Plugin |
|
{ouroboros_ai-0.30.1.dev4/skills/resume → ouroboros_ai-0.30.1.dev7/skills/resume-session}/SKILL.md
RENAMED
|
@@ -1,31 +1,35 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: resume
|
|
3
|
-
description: "List in-flight sessions and show the commands needed to re-attach after MCP disconnect"
|
|
2
|
+
name: resume-session
|
|
3
|
+
description: "List in-flight Ouroboros sessions and show the commands needed to re-attach after MCP disconnect"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# /ouroboros:resume
|
|
6
|
+
# /ouroboros:resume-session
|
|
7
7
|
|
|
8
|
-
Recover in-flight sessions after an unexpected MCP server disconnect.
|
|
8
|
+
Recover in-flight Ouroboros sessions after an unexpected MCP server disconnect.
|
|
9
|
+
|
|
10
|
+
Claude Code reserves `/resume` for its built-in session picker. This skill
|
|
11
|
+
intentionally uses `resume-session` so it does not shadow that native command.
|
|
9
12
|
|
|
10
13
|
## Usage
|
|
11
14
|
|
|
12
15
|
```
|
|
13
|
-
ooo resume
|
|
14
|
-
ooo resume --all
|
|
16
|
+
ooo resume-session
|
|
17
|
+
ooo resume-session --all
|
|
18
|
+
/ouroboros:resume-session
|
|
15
19
|
```
|
|
16
20
|
|
|
17
|
-
**Trigger keywords:** "
|
|
21
|
+
**Trigger keywords:** "in-flight Ouroboros sessions", "re-attach", "mcp disconnected", "lost Ouroboros execution"
|
|
18
22
|
|
|
19
23
|
## How It Works
|
|
20
24
|
|
|
21
|
-
`ooo resume` reads the EventStore directly (no MCP server required) and lists
|
|
25
|
+
`ooo resume-session` reads the EventStore directly (no MCP server required) and lists
|
|
22
26
|
every session that is still in a `running` or `paused` state. The command is
|
|
23
27
|
strictly read-only — it never creates the data directory, never writes
|
|
24
28
|
schema, and never appends events. Its job is to surface the identifiers you
|
|
25
29
|
need to re-attach.
|
|
26
30
|
|
|
27
|
-
- `ooo resume` shows the 20 most recent active sessions.
|
|
28
|
-
- `ooo resume --all` shows every active session.
|
|
31
|
+
- `ooo resume-session` shows the 20 most recent active sessions.
|
|
32
|
+
- `ooo resume-session --all` shows every active session.
|
|
29
33
|
|
|
30
34
|
## Instructions
|
|
31
35
|
|
|
@@ -85,7 +89,7 @@ ouroboros tui monitor
|
|
|
85
89
|
## Example
|
|
86
90
|
|
|
87
91
|
```
|
|
88
|
-
User: ooo resume
|
|
92
|
+
User: ooo resume-session
|
|
89
93
|
|
|
90
94
|
┌─────────────────────── In-Flight Sessions ───────────────────────┐
|
|
91
95
|
│ # Session ID Execution ID Status Started │
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.30.1.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 30, 1, '
|
|
21
|
+
__version__ = version = '0.30.1.dev7'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 30, 1, 'dev7')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -14,7 +14,7 @@ no MCP spin-up, no seed file required).
|
|
|
14
14
|
Scope:
|
|
15
15
|
|
|
16
16
|
- Every command line emitted by ``resume._format_reattach_guidance``.
|
|
17
|
-
- Every ``ouroboros ...`` directive documented in ``skills/resume/SKILL.md``.
|
|
17
|
+
- Every ``ouroboros ...`` directive documented in ``skills/resume-session/SKILL.md``.
|
|
18
18
|
- The bare ``ouroboros`` entrypoints listed in the CLAUDE.md ``ooo`` table
|
|
19
19
|
that correspond to a real CLI subcommand (plugin-only skills such as
|
|
20
20
|
``ooo welcome`` are not CLI commands and are skipped).
|
|
@@ -115,7 +115,7 @@ class TestReattachGuidanceCommandsAreReal:
|
|
|
115
115
|
|
|
116
116
|
|
|
117
117
|
# ---------------------------------------------------------------------------
|
|
118
|
-
# 2) Every `ouroboros ...` directive in skills/resume/SKILL.md
|
|
118
|
+
# 2) Every `ouroboros ...` directive in skills/resume-session/SKILL.md
|
|
119
119
|
# ---------------------------------------------------------------------------
|
|
120
120
|
|
|
121
121
|
|
{ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/tests/unit/execution/test_decomposition.py
RENAMED
|
@@ -401,27 +401,20 @@ class TestDecomposeAc:
|
|
|
401
401
|
assert result.is_err
|
|
402
402
|
assert result.error.error_type == "insufficient_children"
|
|
403
403
|
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
404
|
+
def test_context_compression_at_depth(self):
|
|
405
|
+
"""_compress_context should compress at depth >= COMPRESSION_DEPTH."""
|
|
406
|
+
from ouroboros.execution.decomposition import (
|
|
407
|
+
COMPRESSION_DEPTH,
|
|
408
|
+
_compress_context,
|
|
409
|
+
)
|
|
408
410
|
|
|
409
411
|
long_insights = "A" * 1000
|
|
410
412
|
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
ac_id="ac_parent",
|
|
414
|
-
execution_id="exec_123",
|
|
415
|
-
depth=3,
|
|
416
|
-
llm_adapter=mock_llm_adapter,
|
|
417
|
-
discover_insights=long_insights,
|
|
418
|
-
)
|
|
413
|
+
compressed = _compress_context(long_insights, depth=COMPRESSION_DEPTH)
|
|
414
|
+
assert "[compressed for depth]" in compressed
|
|
419
415
|
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
messages = call_args[0][0]
|
|
423
|
-
user_message = messages[1].content
|
|
424
|
-
assert "[compressed for depth]" in user_message
|
|
416
|
+
passthrough = _compress_context(long_insights, depth=COMPRESSION_DEPTH - 1)
|
|
417
|
+
assert passthrough == long_insights
|
|
425
418
|
|
|
426
419
|
@pytest.mark.asyncio
|
|
427
420
|
async def test_child_ids_are_unique(self, mock_llm_adapter):
|
|
@@ -458,10 +451,10 @@ class TestDecompositionConstants:
|
|
|
458
451
|
assert MAX_CHILDREN == 5
|
|
459
452
|
|
|
460
453
|
def test_max_depth_is_5(self):
|
|
461
|
-
"""MAX_DEPTH should be
|
|
454
|
+
"""MAX_DEPTH should be 2."""
|
|
462
455
|
from ouroboros.execution.decomposition import MAX_DEPTH
|
|
463
456
|
|
|
464
|
-
assert MAX_DEPTH ==
|
|
457
|
+
assert MAX_DEPTH == 2
|
|
465
458
|
|
|
466
459
|
def test_compression_depth_is_3(self):
|
|
467
460
|
"""COMPRESSION_DEPTH should be 3."""
|
|
@@ -17,6 +17,7 @@ from ouroboros.router import (
|
|
|
17
17
|
SkillDispatchTarget,
|
|
18
18
|
SkillDispatchTargetResolution,
|
|
19
19
|
normalize_skill_identifier,
|
|
20
|
+
packaged_skill_dispatch_registry,
|
|
20
21
|
resolve_skill_dispatch,
|
|
21
22
|
resolve_skill_dispatch_target,
|
|
22
23
|
)
|
|
@@ -757,3 +758,14 @@ def test_packaged_registry_target_resolver_missing_skill_returns_not_handled(
|
|
|
757
758
|
|
|
758
759
|
def test_packaged_registry_target_resolver_type_alias_includes_not_handled() -> None:
|
|
759
760
|
assert SkillDispatchTargetResolution.__value__ == (SkillDispatchTarget | NotHandled)
|
|
761
|
+
|
|
762
|
+
|
|
763
|
+
def test_packaged_registry_does_not_claim_claude_builtin_resume_command() -> None:
|
|
764
|
+
with packaged_skill_dispatch_registry() as registry:
|
|
765
|
+
reserved = registry.resolve("resume")
|
|
766
|
+
renamed = registry.resolve("resume-session")
|
|
767
|
+
|
|
768
|
+
assert isinstance(reserved, NotHandled)
|
|
769
|
+
assert reserved.category is NoMatchReason.SKILL_NOT_FOUND
|
|
770
|
+
assert isinstance(renamed, SkillDispatchTarget)
|
|
771
|
+
assert renamed.skill_name == "resume-session"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.github/ISSUE_TEMPLATE/feature_request.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.ouroboros/seeds/seed_73827177a2a3.yaml
RENAMED
|
File without changes
|
{ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/.ouroboros/seeds/seed_78c8e6e41813.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/src/views/dashboard.rs
RENAMED
|
File without changes
|
{ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/src/views/execution.rs
RENAMED
|
File without changes
|
{ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/src/views/lineage.rs
RENAMED
|
File without changes
|
{ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/crates/ouroboros-tui/src/views/logs.rs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/contributing/architecture-overview.md
RENAMED
|
File without changes
|
{ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/contributing/findings-registry.md
RENAMED
|
File without changes
|
{ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/contributing/issue-quality-policy.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/examples/workflows/design-code-verify.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/guides/ooo-skill-dispatch-router.md
RENAMED
|
File without changes
|
{ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/docs/guides/opencode-subagent-bridge.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ouroboros_ai-0.30.1.dev4 → ouroboros_ai-0.30.1.dev7}/examples/parallel_subac_test_seed.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|