Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
fc5c34f
feat: agent runtime abstraction with Codex CLI runtime support
Q00 Mar 13, 2026
606d432
fix: resolve MCP runtime issues found in 4-matrix E2E testing
Q00 Mar 14, 2026
f84faf2
style: format definitions.py with ruff
Q00 Mar 14, 2026
dc3f889
fix(tests): use ANSI-safe assertions for CLI help option checks
Q00 Mar 14, 2026
132d9e5
fix(tests): set NO_COLOR=1 globally to prevent ANSI codes breaking as…
Q00 Mar 14, 2026
28323fb
fix(tests): use _TYPER_FORCE_DISABLE_TERMINAL to prevent ANSI in CI
Q00 Mar 14, 2026
f46662e
feat: runtime-agnostic packaging with optional extras and standalone …
Q00 Mar 14, 2026
3531f6d
fix: exclude dashboard extra from dev group to avoid untyped watchdog
Q00 Mar 14, 2026
bc315a0
fix: address 15 security, reliability, and quality issues from PR review
Q00 Mar 14, 2026
2f0b41b
style: fix ruff lint (C408 dict literal) and format issues
Q00 Mar 14, 2026
72bf706
docs: transform to runtime-agnostic specification-first engine
Q00 Mar 14, 2026
6dcc2e1
fix: apply PR #117 review fixes and stabilize CI
Q00 Mar 15, 2026
7cbbaad
fix: add timeout and env vars to MCP config in setup
Q00 Mar 15, 2026
22746e0
fix: add timeout and env to all mcp.json templates in docs and plugin
Q00 Mar 15, 2026
1804297
fix: remove env vars from mcp.json, keep only timeout
Q00 Mar 15, 2026
2952bff
docs: document runtime selection via config.yaml alongside mcp.json
Q00 Mar 15, 2026
c74f207
Fix parallel executor cwd prompt context
Q00 Mar 16, 2026
bd6cdc2
fix: robust JSON extraction for LLM responses with prose preamble
Q00 Mar 16, 2026
957d7d3
docs: restructure onboarding and remove stale content
Q00 Mar 16, 2026
96dcae4
feat: enhance interview flow and authoring MCP tools
Q00 Mar 16, 2026
06d438e
chore: update project config, skills, and contributing guide
Q00 Mar 16, 2026
8b15582
docs: add llms.txt and llms-full.txt for Context7-style model context
Q00 Mar 16, 2026
34b1a52
feat: add interview breadth and closure personas (#136)
Q00 Mar 16, 2026
7e6cece
fix: prevent recursive MCP server spawning via _OUROBOROS_NESTED sent…
Q00 Mar 16, 2026
2cefb9b
docs: clarify agent prompt source of truth
Q00 Mar 16, 2026
3e05b84
refactor: make packaged agents the source of truth (#136)
Q00 Mar 16, 2026
d28b796
Fix session reconstruction and codex schema handling
Q00 Mar 16, 2026
05373ef
docs: runtime-neutralize wording, add evolution guide, commit pending…
Q00 Mar 16, 2026
19805c8
fix: remove unused pytest import in test_json_utils
Q00 Mar 16, 2026
4a89aad
fix: resolve ruff lint and format issues across project
Q00 Mar 16, 2026
f72c135
revert: remove accidentally committed scripts
Q00 Mar 16, 2026
f35bdb2
fix: address 5 review issues from PR #117 follow-up
Q00 Mar 16, 2026
dfa154c
fix: update integration tests for stdin-based prompt delivery
Q00 Mar 16, 2026
b6e1c6b
fix: resolve rebase conflicts and backend-aware test assertions
Q00 Mar 17, 2026
7d083f8
fix: tighten interview permissions and cap codex stream capture
Mar 17, 2026
b597b93
revert: restore bypassPermissions for interview mode
Q00 Mar 17, 2026
73ad5d4
style: format codex_cli_stream.py with ruff
Q00 Mar 17, 2026
34ba10c
fix(security): allow seed paths from ~/.ouroboros/ in addition to cwd
Q00 Mar 18, 2026
24605e8
fix: return error on session resume failure in start_execute_seed
Q00 Mar 18, 2026
5e5e56b
fix: address PR #117 review issues 1, 2, 3, 5
Q00 Mar 18, 2026
3041cbb
fix: prevent start_execute_seed from entering session resume path
Q00 Mar 18, 2026
960200d
fix: preserve runtime overrides and resume handles
Mar 18, 2026
23906a0
fix: AC tree not rendering children in TUI
Q00 Mar 18, 2026
8dec3fb
fix: comprehensive AC tree and runtime reliability fixes
Q00 Mar 18, 2026
68b5595
feat: add prompt param to _build_command and _feeds_prompt_via_stdin …
Q00 Mar 18, 2026
0abf95e
feat: runtime-agnostic orphan detection with WAL mode and retry
Q00 Mar 18, 2026
2b14b3d
fix: ruff lint/format issues and heartbeat ProcessNotFoundError
Q00 Mar 18, 2026
0aa9792
test: mock heartbeat in orphan detection tests
Q00 Mar 18, 2026
453cee2
style: format test_codex_cli_runtime.py with ruff
Q00 Mar 18, 2026
1942de4
fix: address PR #117 review findings 2, 3, 5
Q00 Mar 18, 2026
ce4b69b
fix: preserve interview frontmatter args on resume and add terminal-s…
Q00 Mar 18, 2026
aa6fddd
fix: preserve frontmatter args in local runtime intercept path
Q00 Mar 18, 2026
6c552cb
fix: align setup config key with model and honor inline YAML contract
Q00 Mar 19, 2026
8e3085c
style: format parallel_executor.py with ruff
Q00 Mar 20, 2026
fb60af7
docs: fix CLI command references and add opencode warnings
Q00 Mar 20, 2026
57cd92a
fix: reject opencode at CLI/resolver boundary instead of late NotImpl…
Q00 Mar 20, 2026
5ca0227
style: format mcp.py and runtime_factory.py with ruff
Q00 Mar 20, 2026
bd09f1b
fix: align MCP/handler tests with opencode early-rejection boundary
Q00 Mar 20, 2026
35777ff
docs: fix CLI command references and dead doc paths
Q00 Mar 20, 2026
5b3ad9e
docs: replace ghost `ouroboros interview` refs with actual CLI entryp…
Q00 Mar 20, 2026
28940bd
docs: remove remaining ghost CLI commands (evolve, ralph)
Q00 Mar 20, 2026
e3b1439
chore: release v0.26.0b1
Q00 Mar 20, 2026
75aead1
docs: fix audit findings from 4-agent review (#162)
Q00 Mar 20, 2026
431e72b
feat(runtime): add Gemini CLI as third execution runtime
tgmerritt Mar 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .claude-plugin/.mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
"mcpServers": {
"ouroboros": {
"command": "uvx",
"args": ["--from", "ouroboros-ai", "ouroboros", "mcp", "serve"]
"args": ["--from", "ouroboros-ai", "ouroboros", "mcp", "serve"],
"timeout": 600
}
}
}
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ouroboros",
"version": "0.25.0",
"version": "0.26.0",
"description": "Self-improving AI workflow system. Crystallize requirements before execution with Socratic interview, ambiguity scoring, and 3-stage evaluation.",
"author": {
"name": "Q00",
Expand Down
11 changes: 10 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,21 @@ jobs:
run: |
uv publish --dry-run dist/*

- name: Detect pre-release
id: prerelease
run: |
if [[ "${{ github.ref_name }}" =~ (a|alpha|b|beta|rc|dev) ]]; then
echo "is_prerelease=true" >> "$GITHUB_OUTPUT"
else
echo "is_prerelease=false" >> "$GITHUB_OUTPUT"
fi

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
files: dist/*
draft: false
prerelease: false
prerelease: ${{ steps.prerelease.outputs.is_prerelease == 'true' }}
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down
22 changes: 22 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,29 @@ Thumbs.db
_bmad/
.claude/commands/bmad/
.omc/
.smoke-home/


# Local archive for removed/held docs and assets
archive/

# Generated doc reports (regenerable via scripts/)
docs/link-index.md
docs/link-index.json
docs/cross-document-link-index.md
docs/section-content-index.md
docs/section-content-index.json
docs/semantic-link-rot-report.md
docs/doc-issues-register.md
docs/doc-volatility-report.md
docs/doc-volatility-report.json
docs/doc-maintenance-ranking.yaml
docs/findings-file-inventory.md
docs/claim-inventory.md
docs/config-inventory.md
docs/runtime-capability-crosscheck.md
docs/authority-model-migration-report.json
docs/claim-status-derivation-audit.yaml
docs/code-surface-inventory.yaml
docs/code-surface-lookup.yaml
docs/cli-inventory.yaml
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `ralph` - Self-referential loop with verifier verification (includes ultrawork)
- `ultrapilot` - Parallel autopilot with file ownership partitioning
- `ecomode` - Token-efficient execution using haiku and sonnet
- `swarm` - N coordinated agents using Claude Code native teams
- `swarm` - N coordinated agents using native runtime teams
- `pipeline` - Sequential agent chaining with data passing
- `tutorial` - Interactive guided tour for new users
- `swarm` - Team coordination mode
Expand Down Expand Up @@ -224,7 +224,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Resilience (Phase 3) - Stagnation detection and lateral thinking
- Evaluation (Phase 4) - Mechanical, semantic, and consensus evaluation
- Secondary Loop (Phase 5) - TODO registry and batch scheduler
- Orchestrator (Epic 8) - Claude Agent SDK integration
- Orchestrator (Epic 8) - Runtime abstraction and orchestration
- CLI interface with Typer
- Event sourcing with SQLite persistence
- Structured logging with structlog
Expand Down
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ When the user types any of these commands, read the corresponding SKILL.md file

## Agents

Custom agents are in `agents/`. When a skill references an agent (e.g., `ouroboros:socratic-interviewer`), read its definition from `agents/{name}.md` and adopt that role.
Bundled agents live in `src/ouroboros/agents/`. When a skill references an agent (e.g., `ouroboros:socratic-interviewer`), read its definition from `src/ouroboros/agents/{name}.md` and adopt that role. Use `OUROBOROS_AGENTS_DIR` or `.claude-plugin/agents/` only for explicit custom overrides.

<!-- ooo:START -->
<!-- ooo:VERSION:0.25.0 -->
<!-- ooo:VERSION:0.26.0 -->
# Ouroboros — Specification-First AI Development

> Before telling AI what to build, define what should be built.
Expand Down
Loading