ouroboros-ai 0.2.3__tar.gz → 0.3.0__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.

Files changed (203) hide show
  1. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/CHANGELOG.md +38 -0
  2. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/PKG-INFO +65 -14
  3. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/README.md +64 -13
  4. ouroboros_ai-0.3.0/docs/cli-reference.md +379 -0
  5. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/pyproject.toml +1 -1
  6. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/bigbang/interview.py +16 -18
  7. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/cli/commands/init.py +162 -97
  8. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/bigbang/test_interview.py +33 -25
  9. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/uv.lock +1 -1
  10. ouroboros_ai-0.2.3/requirement/1_EXECUTIVE_SUMMARY.md +0 -167
  11. ouroboros_ai-0.2.3/requirement/2_FULL_SPECIFICATION.md +0 -1067
  12. ouroboros_ai-0.2.3/requirement/3_CONFIG_TEMPLATE.yaml +0 -344
  13. ouroboros_ai-0.2.3/requirement/4_REDDIT_EXAMPLE.md +0 -2108
  14. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/.gitignore +0 -0
  15. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/.pre-commit-config.yaml +0 -0
  16. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/.python-version +0 -0
  17. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/LICENSE +0 -0
  18. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/PR-43-CODE-REVIEW-REPORT.md +0 -0
  19. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/github-issue-mapping.yaml +0 -0
  20. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/sprint-status.yaml +0 -0
  21. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/0-1-project-initialization-with-uv.md +0 -0
  22. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/0-2-core-types-and-error-handling.md +0 -0
  23. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/0-3-event-store-with-sqlalchemy-core.md +0 -0
  24. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/0-4-configuration-and-credentials-management.md +0 -0
  25. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/0-5-llm-provider-adapter-with-litellm.md +0 -0
  26. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/0-6-cli-skeleton-with-typer-and-rich.md +0 -0
  27. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/0-7-structured-logging-with-structlog.md +0 -0
  28. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/0-8-checkpoint-and-recovery-system.md +0 -0
  29. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/0-9-context-compression-engine.md +0 -0
  30. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/1-1-interview-protocol-engine.md +0 -0
  31. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/1-2-ambiguity-score-calculation.md +0 -0
  32. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/1-3-immutable-seed-generation.md +0 -0
  33. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/2-1-three-tier-model-configuration.md +0 -0
  34. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/2-2-complexity-based-routing.md +0 -0
  35. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/2-3-escalation-on-failure.md +0 -0
  36. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/2-4-downgrade-on-success.md +0 -0
  37. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/3-1-double-diamond-cycle-implementation.md +0 -0
  38. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/3-2-hierarchical-ac-decomposition.md +0 -0
  39. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/3-3-atomicity-detection.md +0 -0
  40. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/3-4-subagent-isolation.md +0 -0
  41. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/4-1-stagnation-detection-4-patterns.md +0 -0
  42. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/4-2-lateral-thinking-personas.md +0 -0
  43. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/4-3-persona-rotation-strategy.md +0 -0
  44. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/5-1-stage-1-mechanical-verification.md +0 -0
  45. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/5-2-stage-2-semantic-evaluation.md +0 -0
  46. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/5-3-stage-3-multi-model-consensus.md +0 -0
  47. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/5-4-consensus-trigger-matrix.md +0 -0
  48. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/6-1-drift-measurement-engine.md +0 -0
  49. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/6-2-automatic-retrospective.md +0 -0
  50. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/7-1-todo-registry.md +0 -0
  51. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/implementation-artifacts/stories/7-2-secondary-loop-batch-processing.md +0 -0
  52. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/planning-artifacts/architecture.md +0 -0
  53. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/planning-artifacts/bmm-workflow-status.yaml +0 -0
  54. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/planning-artifacts/epics.md +0 -0
  55. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/_bmad-output/update-stories.sh +0 -0
  56. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/docs/running-with-claude-code.md +0 -0
  57. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/project-context.md +0 -0
  58. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/__init__.py +0 -0
  59. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/__main__.py +0 -0
  60. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/bigbang/__init__.py +0 -0
  61. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/bigbang/ambiguity.py +0 -0
  62. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/bigbang/seed_generator.py +0 -0
  63. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/cli/__init__.py +0 -0
  64. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/cli/commands/__init__.py +0 -0
  65. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/cli/commands/config.py +0 -0
  66. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/cli/commands/run.py +0 -0
  67. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/cli/commands/status.py +0 -0
  68. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/cli/formatters/__init__.py +0 -0
  69. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/cli/formatters/panels.py +0 -0
  70. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/cli/formatters/progress.py +0 -0
  71. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/cli/formatters/tables.py +0 -0
  72. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/cli/main.py +0 -0
  73. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/config/__init__.py +0 -0
  74. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/config/loader.py +0 -0
  75. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/config/models.py +0 -0
  76. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/core/__init__.py +0 -0
  77. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/core/ac_tree.py +0 -0
  78. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/core/context.py +0 -0
  79. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/core/errors.py +0 -0
  80. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/core/security.py +0 -0
  81. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/core/seed.py +0 -0
  82. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/core/types.py +0 -0
  83. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/evaluation/__init__.py +0 -0
  84. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/evaluation/consensus.py +0 -0
  85. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/evaluation/mechanical.py +0 -0
  86. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/evaluation/models.py +0 -0
  87. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/evaluation/pipeline.py +0 -0
  88. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/evaluation/semantic.py +0 -0
  89. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/evaluation/trigger.py +0 -0
  90. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/events/__init__.py +0 -0
  91. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/events/base.py +0 -0
  92. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/events/decomposition.py +0 -0
  93. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/events/evaluation.py +0 -0
  94. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/execution/__init__.py +0 -0
  95. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/execution/atomicity.py +0 -0
  96. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/execution/decomposition.py +0 -0
  97. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/execution/double_diamond.py +0 -0
  98. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/execution/subagent.py +0 -0
  99. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/observability/__init__.py +0 -0
  100. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/observability/drift.py +0 -0
  101. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/observability/logging.py +0 -0
  102. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/observability/retrospective.py +0 -0
  103. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/orchestrator/__init__.py +0 -0
  104. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/orchestrator/adapter.py +0 -0
  105. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/orchestrator/events.py +0 -0
  106. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/orchestrator/runner.py +0 -0
  107. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/orchestrator/session.py +0 -0
  108. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/persistence/__init__.py +0 -0
  109. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/persistence/checkpoint.py +0 -0
  110. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/persistence/event_store.py +0 -0
  111. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/persistence/migrations/__init__.py +0 -0
  112. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/persistence/migrations/runner.py +0 -0
  113. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/persistence/migrations/scripts/001_initial.sql +0 -0
  114. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/persistence/schema.py +0 -0
  115. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/persistence/uow.py +0 -0
  116. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/providers/__init__.py +0 -0
  117. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/providers/base.py +0 -0
  118. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/providers/claude_code_adapter.py +0 -0
  119. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/providers/litellm_adapter.py +0 -0
  120. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/py.typed +0 -0
  121. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/resilience/__init__.py +0 -0
  122. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/resilience/lateral.py +0 -0
  123. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/resilience/stagnation.py +0 -0
  124. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/routing/__init__.py +0 -0
  125. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/routing/complexity.py +0 -0
  126. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/routing/downgrade.py +0 -0
  127. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/routing/escalation.py +0 -0
  128. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/routing/router.py +0 -0
  129. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/routing/tiers.py +0 -0
  130. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/secondary/__init__.py +0 -0
  131. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/secondary/scheduler.py +0 -0
  132. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/src/ouroboros/secondary/todo_registry.py +0 -0
  133. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/conftest.py +0 -0
  134. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/integration/test_entry_point.py +0 -0
  135. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/bigbang/__init__.py +0 -0
  136. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/bigbang/test_ambiguity.py +0 -0
  137. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/bigbang/test_seed_generator.py +0 -0
  138. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/cli/__init__.py +0 -0
  139. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/cli/formatters/__init__.py +0 -0
  140. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/cli/formatters/test_console.py +0 -0
  141. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/cli/formatters/test_panels.py +0 -0
  142. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/cli/formatters/test_progress.py +0 -0
  143. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/cli/formatters/test_tables.py +0 -0
  144. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/cli/test_main.py +0 -0
  145. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/config/__init__.py +0 -0
  146. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/config/test_loader.py +0 -0
  147. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/config/test_models.py +0 -0
  148. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/core/__init__.py +0 -0
  149. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/core/test_ac_tree.py +0 -0
  150. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/core/test_context.py +0 -0
  151. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/core/test_errors.py +0 -0
  152. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/core/test_security.py +0 -0
  153. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/core/test_seed.py +0 -0
  154. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/core/test_types.py +0 -0
  155. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/evaluation/__init__.py +0 -0
  156. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/evaluation/test_consensus.py +0 -0
  157. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/evaluation/test_mechanical.py +0 -0
  158. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/evaluation/test_models.py +0 -0
  159. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/evaluation/test_semantic.py +0 -0
  160. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/evaluation/test_trigger.py +0 -0
  161. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/events/__init__.py +0 -0
  162. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/events/test_base.py +0 -0
  163. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/events/test_decomposition_events.py +0 -0
  164. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/execution/__init__.py +0 -0
  165. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/execution/test_atomicity.py +0 -0
  166. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/execution/test_decomposition.py +0 -0
  167. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/execution/test_double_diamond.py +0 -0
  168. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/execution/test_subagent_isolation.py +0 -0
  169. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/observability/__init__.py +0 -0
  170. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/observability/test_drift.py +0 -0
  171. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/observability/test_logging.py +0 -0
  172. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/observability/test_retrospective.py +0 -0
  173. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/orchestrator/__init__.py +0 -0
  174. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/orchestrator/test_adapter.py +0 -0
  175. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/orchestrator/test_events.py +0 -0
  176. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/orchestrator/test_runner.py +0 -0
  177. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/orchestrator/test_session.py +0 -0
  178. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/persistence/__init__.py +0 -0
  179. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/persistence/test_checkpoint.py +0 -0
  180. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/persistence/test_event_store.py +0 -0
  181. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/persistence/test_schema.py +0 -0
  182. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/persistence/test_uow.py +0 -0
  183. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/providers/__init__.py +0 -0
  184. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/providers/test_base.py +0 -0
  185. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/providers/test_litellm_adapter.py +0 -0
  186. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/resilience/__init__.py +0 -0
  187. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/resilience/test_lateral.py +0 -0
  188. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/resilience/test_stagnation.py +0 -0
  189. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/routing/__init__.py +0 -0
  190. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/routing/test_complexity.py +0 -0
  191. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/routing/test_downgrade.py +0 -0
  192. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/routing/test_escalation.py +0 -0
  193. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/routing/test_router.py +0 -0
  194. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/routing/test_tiers.py +0 -0
  195. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/secondary/__init__.py +0 -0
  196. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/secondary/test_scheduler.py +0 -0
  197. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/secondary/test_todo_registry.py +0 -0
  198. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/test_dependencies_configured.py +0 -0
  199. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/test_main_entry_point.py +0 -0
  200. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/test_module_structure.py +0 -0
  201. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/test_project_initialization.py +0 -0
  202. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tests/unit/test_tooling_configuration.py +0 -0
  203. {ouroboros_ai-0.2.3 → ouroboros_ai-0.3.0}/tools/sync_github_project.py +0 -0
@@ -5,6 +5,44 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.3.0] - 2026-01-28
9
+
10
+ ### Added
11
+
12
+ #### Documentation
13
+ - **CLI Reference** (`docs/cli-reference.md`) - Complete command reference with examples
14
+ - **Prerequisites section** in README with Python 3.14+ requirement
15
+ - **Contributing section** with links to Issues and Discussions
16
+ - **OSS badges** - PyPI version, Python version, License
17
+
18
+ #### Interview System
19
+ - **Tiered confirmation system** for interview rounds:
20
+ - Rounds 1-3: Auto-continue (minimum context gathering)
21
+ - Rounds 4-15: Ask "Continue?" after each round
22
+ - Rounds 16+: Ask "Continue?" with diminishing returns warning
23
+ - **No hard round limit** - User controls when to stop
24
+ - New constants: `MIN_ROUNDS_BEFORE_EARLY_EXIT`, `SOFT_LIMIT_WARNING_THRESHOLD`
25
+
26
+ ### Changed
27
+
28
+ #### Interview Engine
29
+ - Removed `MAX_INTERVIEW_ROUNDS` hard limit (was 10)
30
+ - `is_complete` now only checks status (user-controlled completion)
31
+ - `record_response()` no longer auto-completes at max rounds
32
+ - System prompt simplified to show "Round N" instead of "Round N of 10"
33
+
34
+ #### CLI Init Command
35
+ - Extracted `_run_interview_loop()` helper to eliminate code duplication (~60 lines)
36
+ - State saved immediately after status mutation for consistency
37
+ - Updated welcome message to reflect no round limit
38
+
39
+ ### Removed
40
+ - Korean-language requirement documents (`requirement/` folder)
41
+ - Hard round limit enforcement in interview engine
42
+
43
+ ### Fixed
44
+ - Code duplication in init.py interview continuation flow
45
+
8
46
  ## [0.2.0] - 2026-01-27
9
47
 
10
48
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ouroboros-ai
3
- Version: 0.2.3
3
+ Version: 0.3.0
4
4
  Summary: Self-Improving AI Workflow System
5
5
  Author-email: Q00 <jqyu.lee@gmail.com>
6
6
  License-File: LICENSE
@@ -41,18 +41,26 @@ Description-Content-Type: text/markdown
41
41
  <em>The serpent that devours itself to be reborn anew.</em>
42
42
  </p>
43
43
 
44
+ <p align="center">
45
+ <a href="https://pypi.org/project/ouroboros-ai/"><img src="https://img.shields.io/pypi/v/ouroboros-ai?color=blue" alt="PyPI"></a>
46
+ <a href="https://python.org"><img src="https://img.shields.io/badge/python-3.14+-blue" alt="Python"></a>
47
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="License"></a>
48
+ </p>
49
+
44
50
  <p align="center">
45
51
  <a href="#-philosophy">Philosophy</a> •
46
52
  <a href="#-the-six-phases">Phases</a> •
47
53
  <a href="#-architecture">Architecture</a> •
54
+ <a href="#-prerequisites">Prerequisites</a> •
48
55
  <a href="#-quick-start">Start</a> •
49
- <a href="#-the-personas-lateral-thinking-agents">Personas</a>
56
+ <a href="#-roadmap">Roadmap</a>
57
+ <a href="#-contributing">Contributing</a>
50
58
  </p>
51
59
 
52
60
  <br/>
53
61
 
54
62
  <p align="center">
55
- <code>74 modules</code> · <code>1,341 tests</code> · <code>97%+ coverage</code>
63
+ <code>75 modules</code> · <code>1,341 tests</code> · <code>97%+ coverage</code> · <code>v0.2.x</code>
56
64
  </p>
57
65
 
58
66
  <br/>
@@ -352,7 +360,7 @@ src/ouroboros/
352
360
 
353
361
  <br/>
354
362
 
355
- **작동 방식**: Stagnation Detection (4 patterns) → Persona Rotation → 새로운 관점으로 재시도
363
+ **How it works**: Stagnation Detection (4 patterns) → Persona Rotation → Retry with fresh perspective
356
364
 
357
365
  <br/>
358
366
 
@@ -415,6 +423,22 @@ not to restart, but to **re-crystallize** with new understanding.
415
423
 
416
424
  <br/>
417
425
 
426
+ ## ◈ Prerequisites
427
+
428
+ <br/>
429
+
430
+ | Requirement | Description |
431
+ |-------------|-------------|
432
+ | **Python 3.14+** | Required (uses latest language features) |
433
+ | **Claude Code Max Plan** | For orchestrator mode (no API key needed) |
434
+ | **OR API Key** | OpenRouter, Anthropic, or OpenAI for LiteLLM mode |
435
+
436
+ <br/>
437
+
438
+ ---
439
+
440
+ <br/>
441
+
418
442
  ## ◈ Installation
419
443
 
420
444
  <br/>
@@ -476,7 +500,7 @@ uv run ouroboros init start "I want to build a task management CLI"
476
500
  uv run ouroboros status health
477
501
  ```
478
502
 
479
- > 📖 **[Full Guide: Running with Claude Code](docs/running-with-claude-code.md)**
503
+ > 📖 **[Full Guide: Running with Claude Code](docs/running-with-claude-code.md)** | **[CLI Reference](docs/cli-reference.md)**
480
504
 
481
505
  <br/>
482
506
 
@@ -563,22 +587,49 @@ uv run ruff format src/
563
587
 
564
588
  <br/>
565
589
 
590
+ ## ◈ Contributing
591
+
592
+ <br/>
593
+
594
+ Contributions are welcome! Please see:
595
+
596
+ - **Issues**: [GitHub Issues](https://github.com/Q00/ouroboros/issues) for bugs and feature requests
597
+ - **Discussions**: [GitHub Discussions](https://github.com/Q00/ouroboros/discussions) for questions and ideas
598
+
599
+ <br/>
600
+
601
+ ---
602
+
603
+ <br/>
604
+
566
605
  ## ◈ Roadmap
567
606
 
568
607
  <br/>
569
608
 
609
+ ### Completed
610
+
570
611
  ```
571
- [■■■■■■■■■■] Epic 0 Foundation
572
- [■■■■■■■■■■] Epic 1 Big Bang
573
- [■■■■■■■■■■] Epic 2 PAL Router
574
- [■■■■■■■■■■] Epic 3 Double Diamond
575
- [■■■■■■■■■■] Epic 4 Resilience
576
- [■■■■■■■■■■] Epic 5 Evaluation
577
- [■■■■■■■■■■] Epic 6 Drift Control
578
- [■■■■■■■■■■] Epic 7 Secondary Loop
579
- [■■■■■■■■■■] Epic 8 Orchestrator Complete
612
+ [■■■■■■■■■■] Epic 0 Foundation
613
+ [■■■■■■■■■■] Epic 1 Big Bang
614
+ [■■■■■■■■■■] Epic 2 PAL Router
615
+ [■■■■■■■■■■] Epic 3 Double Diamond
616
+ [■■■■■■■■■■] Epic 4 Resilience
617
+ [■■■■■■■■■■] Epic 5 Evaluation
618
+ [■■■■■■■■■■] Epic 6 Drift Control
619
+ [■■■■■■■■■■] Epic 7 Secondary Loop
620
+ [■■■■■■■■■■] Epic 8 Orchestrator
580
621
  ```
581
622
 
623
+ ### Upcoming
624
+
625
+ | Feature | Description | Status |
626
+ |---------|-------------|--------|
627
+ | **Worker MCP** | MCP server for distributed task execution | Planned |
628
+ | **TUI Enhancement** | Rich terminal UI with real-time progress | Planned |
629
+ | **AC Tree Visualization** | Interactive acceptance criteria graph | Planned |
630
+ | **Plugin System** | Custom evaluators and personas | Planned |
631
+ | **Web Dashboard** | Execution monitoring and analytics | Planned |
632
+
582
633
  <br/>
583
634
 
584
635
  ---
@@ -21,18 +21,26 @@
21
21
  <em>The serpent that devours itself to be reborn anew.</em>
22
22
  </p>
23
23
 
24
+ <p align="center">
25
+ <a href="https://pypi.org/project/ouroboros-ai/"><img src="https://img.shields.io/pypi/v/ouroboros-ai?color=blue" alt="PyPI"></a>
26
+ <a href="https://python.org"><img src="https://img.shields.io/badge/python-3.14+-blue" alt="Python"></a>
27
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="License"></a>
28
+ </p>
29
+
24
30
  <p align="center">
25
31
  <a href="#-philosophy">Philosophy</a> •
26
32
  <a href="#-the-six-phases">Phases</a> •
27
33
  <a href="#-architecture">Architecture</a> •
34
+ <a href="#-prerequisites">Prerequisites</a> •
28
35
  <a href="#-quick-start">Start</a> •
29
- <a href="#-the-personas-lateral-thinking-agents">Personas</a>
36
+ <a href="#-roadmap">Roadmap</a>
37
+ <a href="#-contributing">Contributing</a>
30
38
  </p>
31
39
 
32
40
  <br/>
33
41
 
34
42
  <p align="center">
35
- <code>74 modules</code> · <code>1,341 tests</code> · <code>97%+ coverage</code>
43
+ <code>75 modules</code> · <code>1,341 tests</code> · <code>97%+ coverage</code> · <code>v0.2.x</code>
36
44
  </p>
37
45
 
38
46
  <br/>
@@ -332,7 +340,7 @@ src/ouroboros/
332
340
 
333
341
  <br/>
334
342
 
335
- **작동 방식**: Stagnation Detection (4 patterns) → Persona Rotation → 새로운 관점으로 재시도
343
+ **How it works**: Stagnation Detection (4 patterns) → Persona Rotation → Retry with fresh perspective
336
344
 
337
345
  <br/>
338
346
 
@@ -395,6 +403,22 @@ not to restart, but to **re-crystallize** with new understanding.
395
403
 
396
404
  <br/>
397
405
 
406
+ ## ◈ Prerequisites
407
+
408
+ <br/>
409
+
410
+ | Requirement | Description |
411
+ |-------------|-------------|
412
+ | **Python 3.14+** | Required (uses latest language features) |
413
+ | **Claude Code Max Plan** | For orchestrator mode (no API key needed) |
414
+ | **OR API Key** | OpenRouter, Anthropic, or OpenAI for LiteLLM mode |
415
+
416
+ <br/>
417
+
418
+ ---
419
+
420
+ <br/>
421
+
398
422
  ## ◈ Installation
399
423
 
400
424
  <br/>
@@ -456,7 +480,7 @@ uv run ouroboros init start "I want to build a task management CLI"
456
480
  uv run ouroboros status health
457
481
  ```
458
482
 
459
- > 📖 **[Full Guide: Running with Claude Code](docs/running-with-claude-code.md)**
483
+ > 📖 **[Full Guide: Running with Claude Code](docs/running-with-claude-code.md)** | **[CLI Reference](docs/cli-reference.md)**
460
484
 
461
485
  <br/>
462
486
 
@@ -543,22 +567,49 @@ uv run ruff format src/
543
567
 
544
568
  <br/>
545
569
 
570
+ ## ◈ Contributing
571
+
572
+ <br/>
573
+
574
+ Contributions are welcome! Please see:
575
+
576
+ - **Issues**: [GitHub Issues](https://github.com/Q00/ouroboros/issues) for bugs and feature requests
577
+ - **Discussions**: [GitHub Discussions](https://github.com/Q00/ouroboros/discussions) for questions and ideas
578
+
579
+ <br/>
580
+
581
+ ---
582
+
583
+ <br/>
584
+
546
585
  ## ◈ Roadmap
547
586
 
548
587
  <br/>
549
588
 
589
+ ### Completed
590
+
550
591
  ```
551
- [■■■■■■■■■■] Epic 0 Foundation
552
- [■■■■■■■■■■] Epic 1 Big Bang
553
- [■■■■■■■■■■] Epic 2 PAL Router
554
- [■■■■■■■■■■] Epic 3 Double Diamond
555
- [■■■■■■■■■■] Epic 4 Resilience
556
- [■■■■■■■■■■] Epic 5 Evaluation
557
- [■■■■■■■■■■] Epic 6 Drift Control
558
- [■■■■■■■■■■] Epic 7 Secondary Loop
559
- [■■■■■■■■■■] Epic 8 Orchestrator Complete
592
+ [■■■■■■■■■■] Epic 0 Foundation
593
+ [■■■■■■■■■■] Epic 1 Big Bang
594
+ [■■■■■■■■■■] Epic 2 PAL Router
595
+ [■■■■■■■■■■] Epic 3 Double Diamond
596
+ [■■■■■■■■■■] Epic 4 Resilience
597
+ [■■■■■■■■■■] Epic 5 Evaluation
598
+ [■■■■■■■■■■] Epic 6 Drift Control
599
+ [■■■■■■■■■■] Epic 7 Secondary Loop
600
+ [■■■■■■■■■■] Epic 8 Orchestrator
560
601
  ```
561
602
 
603
+ ### Upcoming
604
+
605
+ | Feature | Description | Status |
606
+ |---------|-------------|--------|
607
+ | **Worker MCP** | MCP server for distributed task execution | Planned |
608
+ | **TUI Enhancement** | Rich terminal UI with real-time progress | Planned |
609
+ | **AC Tree Visualization** | Interactive acceptance criteria graph | Planned |
610
+ | **Plugin System** | Custom evaluators and personas | Planned |
611
+ | **Web Dashboard** | Execution monitoring and analytics | Planned |
612
+
562
613
  <br/>
563
614
 
564
615
  ---
@@ -0,0 +1,379 @@
1
+ # CLI Reference
2
+
3
+ Complete command reference for the Ouroboros CLI.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pip install ouroboros-ai
9
+ # or
10
+ uv pip install ouroboros-ai
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ ```bash
16
+ ouroboros [OPTIONS] COMMAND [ARGS]...
17
+ ```
18
+
19
+ ### Global Options
20
+
21
+ | Option | Description |
22
+ |--------|-------------|
23
+ | `-V, --version` | Show version and exit |
24
+ | `--install-completion` | Install shell completion |
25
+ | `--show-completion` | Show shell completion script |
26
+ | `--help` | Show help message |
27
+
28
+ ---
29
+
30
+ ## Commands Overview
31
+
32
+ | Command | Description |
33
+ |---------|-------------|
34
+ | `init` | Start interactive interview to refine requirements |
35
+ | `run` | Execute Ouroboros workflows |
36
+ | `config` | Manage Ouroboros configuration |
37
+ | `status` | Check Ouroboros system status |
38
+
39
+ ---
40
+
41
+ ## `ouroboros init`
42
+
43
+ Start interactive interview to refine requirements (Big Bang phase).
44
+
45
+ ### `init start`
46
+
47
+ Start an interactive interview to transform vague ideas into clear, executable requirements.
48
+
49
+ ```bash
50
+ ouroboros init start [OPTIONS] [CONTEXT]
51
+ ```
52
+
53
+ **Arguments:**
54
+
55
+ | Argument | Description |
56
+ |----------|-------------|
57
+ | `CONTEXT` | Initial context or idea (interactive prompt if not provided) |
58
+
59
+ **Options:**
60
+
61
+ | Option | Description |
62
+ |--------|-------------|
63
+ | `-r, --resume TEXT` | Resume an existing interview by ID |
64
+ | `--state-dir DIRECTORY` | Custom directory for interview state files |
65
+ | `-o, --orchestrator` | Use Claude Code (Max Plan) instead of LiteLLM. No API key required |
66
+
67
+ **Examples:**
68
+
69
+ ```bash
70
+ # Start with initial idea (LiteLLM - requires API key)
71
+ ouroboros init start "I want to build a task management CLI tool"
72
+
73
+ # Start with Claude Code (no API key needed)
74
+ ouroboros init start --orchestrator "Build a REST API"
75
+
76
+ # Resume an interrupted interview
77
+ ouroboros init start --resume interview_20260116_120000
78
+
79
+ # Interactive mode (prompts for input)
80
+ ouroboros init start
81
+ ```
82
+
83
+ ### `init list`
84
+
85
+ List all interview sessions.
86
+
87
+ ```bash
88
+ ouroboros init list
89
+ ```
90
+
91
+ ---
92
+
93
+ ## `ouroboros run`
94
+
95
+ Execute Ouroboros workflows.
96
+
97
+ ### `run workflow`
98
+
99
+ Execute a workflow from a seed file.
100
+
101
+ ```bash
102
+ ouroboros run workflow [OPTIONS] SEED_FILE
103
+ ```
104
+
105
+ **Arguments:**
106
+
107
+ | Argument | Required | Description |
108
+ |----------|----------|-------------|
109
+ | `SEED_FILE` | Yes | Path to the seed YAML file |
110
+
111
+ **Options:**
112
+
113
+ | Option | Description |
114
+ |--------|-------------|
115
+ | `-o, --orchestrator` | Use Claude Agent SDK for execution (Epic 8 mode) |
116
+ | `-r, --resume TEXT` | Resume a previous orchestrator session by ID |
117
+ | `-n, --dry-run` | Validate seed without executing |
118
+ | `-v, --verbose` | Enable verbose output |
119
+
120
+ **Examples:**
121
+
122
+ ```bash
123
+ # Standard workflow execution
124
+ ouroboros run workflow seed.yaml
125
+
126
+ # Orchestrator mode (Claude Agent SDK)
127
+ ouroboros run workflow --orchestrator seed.yaml
128
+
129
+ # Dry run (validate only)
130
+ ouroboros run workflow --dry-run seed.yaml
131
+
132
+ # Resume a previous session
133
+ ouroboros run workflow --orchestrator --resume orch_abc123 seed.yaml
134
+
135
+ # Verbose output
136
+ ouroboros run workflow --orchestrator --verbose seed.yaml
137
+ ```
138
+
139
+ ### `run resume`
140
+
141
+ Resume a paused or failed execution.
142
+
143
+ ```bash
144
+ ouroboros run resume [EXECUTION_ID]
145
+ ```
146
+
147
+ **Arguments:**
148
+
149
+ | Argument | Description |
150
+ |----------|-------------|
151
+ | `EXECUTION_ID` | Execution ID to resume (uses latest if not specified) |
152
+
153
+ > **Note:** For orchestrator sessions, use:
154
+ > ```bash
155
+ > ouroboros run workflow --orchestrator --resume <session_id> seed.yaml
156
+ > ```
157
+
158
+ ---
159
+
160
+ ## `ouroboros config`
161
+
162
+ Manage Ouroboros configuration.
163
+
164
+ ### `config show`
165
+
166
+ Display current configuration.
167
+
168
+ ```bash
169
+ ouroboros config show [SECTION]
170
+ ```
171
+
172
+ **Arguments:**
173
+
174
+ | Argument | Description |
175
+ |----------|-------------|
176
+ | `SECTION` | Configuration section to display (e.g., `providers`) |
177
+
178
+ **Examples:**
179
+
180
+ ```bash
181
+ # Show all configuration
182
+ ouroboros config show
183
+
184
+ # Show only providers section
185
+ ouroboros config show providers
186
+ ```
187
+
188
+ ### `config init`
189
+
190
+ Initialize Ouroboros configuration. Creates default configuration files if they don't exist.
191
+
192
+ ```bash
193
+ ouroboros config init
194
+ ```
195
+
196
+ ### `config set`
197
+
198
+ Set a configuration value.
199
+
200
+ ```bash
201
+ ouroboros config set KEY VALUE
202
+ ```
203
+
204
+ **Arguments:**
205
+
206
+ | Argument | Required | Description |
207
+ |----------|----------|-------------|
208
+ | `KEY` | Yes | Configuration key (dot notation) |
209
+ | `VALUE` | Yes | Value to set |
210
+
211
+ **Examples:**
212
+
213
+ ```bash
214
+ # Set API key for a provider
215
+ ouroboros config set providers.openai.api_key sk-xxx
216
+
217
+ # Set nested configuration
218
+ ouroboros config set execution.max_retries 5
219
+ ```
220
+
221
+ ### `config validate`
222
+
223
+ Validate current configuration.
224
+
225
+ ```bash
226
+ ouroboros config validate
227
+ ```
228
+
229
+ ---
230
+
231
+ ## `ouroboros status`
232
+
233
+ Check Ouroboros system status.
234
+
235
+ ### `status health`
236
+
237
+ Check system health. Verifies database connectivity, provider configuration, and system resources.
238
+
239
+ ```bash
240
+ ouroboros status health
241
+ ```
242
+
243
+ **Example Output:**
244
+
245
+ ```
246
+ ┌───────────────┬─────────┐
247
+ │ Database │ ok │
248
+ │ Configuration │ ok │
249
+ │ Providers │ warning │
250
+ └───────────────┴─────────┘
251
+ ```
252
+
253
+ ### `status executions`
254
+
255
+ List recent executions with status information.
256
+
257
+ ```bash
258
+ ouroboros status executions [OPTIONS]
259
+ ```
260
+
261
+ **Options:**
262
+
263
+ | Option | Description |
264
+ |--------|-------------|
265
+ | `-n, --limit INTEGER` | Number of executions to show (default: 10) |
266
+ | `-a, --all` | Show all executions |
267
+
268
+ **Examples:**
269
+
270
+ ```bash
271
+ # Show last 10 executions
272
+ ouroboros status executions
273
+
274
+ # Show last 5 executions
275
+ ouroboros status executions -n 5
276
+
277
+ # Show all executions
278
+ ouroboros status executions --all
279
+ ```
280
+
281
+ ### `status execution`
282
+
283
+ Show details for a specific execution.
284
+
285
+ ```bash
286
+ ouroboros status execution [OPTIONS] EXECUTION_ID
287
+ ```
288
+
289
+ **Arguments:**
290
+
291
+ | Argument | Required | Description |
292
+ |----------|----------|-------------|
293
+ | `EXECUTION_ID` | Yes | Execution ID to inspect |
294
+
295
+ **Options:**
296
+
297
+ | Option | Description |
298
+ |--------|-------------|
299
+ | `-e, --events` | Show execution events |
300
+
301
+ **Examples:**
302
+
303
+ ```bash
304
+ # Show execution details
305
+ ouroboros status execution exec_abc123
306
+
307
+ # Show execution with events
308
+ ouroboros status execution --events exec_abc123
309
+ ```
310
+
311
+ ---
312
+
313
+ ## Typical Workflows
314
+
315
+ ### Using Claude Code (Recommended)
316
+
317
+ No API key required - uses your Claude Code Max Plan subscription.
318
+
319
+ ```bash
320
+ # 1. Check system health
321
+ ouroboros status health
322
+
323
+ # 2. Start interview to create seed
324
+ ouroboros init start --orchestrator "Build a user authentication system"
325
+
326
+ # 3. Execute the generated seed
327
+ ouroboros run workflow --orchestrator seed.yaml
328
+ ```
329
+
330
+ ### Using LiteLLM (External API)
331
+
332
+ Requires API key (OPENROUTER_API_KEY, ANTHROPIC_API_KEY, etc.)
333
+
334
+ ```bash
335
+ # 1. Initialize configuration
336
+ ouroboros config init
337
+
338
+ # 2. Set your API key
339
+ ouroboros config set providers.openrouter.api_key $OPENROUTER_API_KEY
340
+
341
+ # 3. Start interview
342
+ ouroboros init start "Build a REST API for task management"
343
+
344
+ # 4. Execute workflow
345
+ ouroboros run workflow seed.yaml
346
+ ```
347
+
348
+ ---
349
+
350
+ ## Environment Variables
351
+
352
+ | Variable | Description |
353
+ |----------|-------------|
354
+ | `OPENROUTER_API_KEY` | OpenRouter API key for LiteLLM |
355
+ | `ANTHROPIC_API_KEY` | Anthropic API key for LiteLLM |
356
+ | `OPENAI_API_KEY` | OpenAI API key for LiteLLM |
357
+
358
+ ---
359
+
360
+ ## Configuration Files
361
+
362
+ Ouroboros stores configuration in `~/.ouroboros/`:
363
+
364
+ | File | Description |
365
+ |------|-------------|
366
+ | `config.yaml` | Main configuration |
367
+ | `credentials.yaml` | API keys (chmod 600) |
368
+ | `ouroboros.db` | SQLite database for event sourcing |
369
+
370
+ ---
371
+
372
+ ## Exit Codes
373
+
374
+ | Code | Description |
375
+ |------|-------------|
376
+ | `0` | Success |
377
+ | `1` | General error |
378
+ | `2` | Configuration error |
379
+ | `3` | Validation error |
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "ouroboros-ai"
3
- version = "0.2.3"
3
+ version = "0.3.0"
4
4
  description = "Self-Improving AI Workflow System"
5
5
  readme = "README.md"
6
6
  authors = [