-
Notifications
You must be signed in to change notification settings - Fork 0
Non Claude Autonomy
Source: docs/roadmap/non-claude-provider-autonomy.md. ← Overview
Goal: make full_autonomous="yes" a runtime truth, not a policy label. Bring OpenAI, Google/Gemini, OpenRouter, LiteLLM, ZhipuAI, Ollama (and viable CLI runners) to real parity with Claude SDK.
Milestone (2026-06-01): OpenAI, Google, and OpenRouter pass the full provider e2e suite and read ready from the AutonomyPolicy gate. AUTO_CODE_AUTONOMY=safe is the recommended default and the .env.example value (it promotes these three providers while the evidence gate stays enforced).
Legend: ✅ done · 🟢 partial · 🚧 in progress · ⬜ planned
| Phase | Topic | Status |
|---|---|---|
| 0 | Foundation cleanup (capability≠policy, QA routing, paths, policy-config, nightly e2e) | 🟢 Mostly landed |
| 1 | Real parity (MCP execution, mutating subagents, sandbox, native tool loop) | 🚧 Partial |
| 2 | Evidence without opt-in (scheduled probes, cost calibration, quality evals) | 🟢 Partial |
| 3 | Provider promotion one at a time (OpenAI pilot) | ⬜ Not started |
| 4 | CLI runner class (Gemini/Aider/OpenCode/Qwen/Goose) | ⬜ Planned |
| 5 | Frontend control plane (readiness dashboard, history charts, artifact viewer) | ⬜ Planned |
| 6 | Recovery & edge-case hardening | ⬜ Ongoing background work |
- ⬜ No direct provider has been promoted to
full_autonomousyet. The only wired full-autonomous path is Codex CLI. - ✅ Plugin
pre_tool/post_toolandaugment_promptnow run on the Direct-API/Codex runtime (#417, #421) — lifting the "plugin runtime = Claude-only" limitation.
-
Capability before promotion — a provider does not move to
full_autonomousuntil its runtime physically executes the full surface (MCP, mutating subagents, sandbox). -
Capability ≠ policy —
RuntimeCapabilitiesdescribes what's supported; promotion is a separateAutonomyPolicydecision, and flags never lie. - Per-provider config from the start — no global thresholds.
- Evidence from CI, not opt-in env — live-fault probes reachable from scheduled CI.
-
qa_fixer/qa_reviewer are runtime citizens — via
create_runtime_session. - Honest documentation — removed and partial work is marked as such.
- One promotion = one PR = one evidence package.
-
Don't invent new modes — the 4 existing ones (
full_autonomous,generic_edit,patch_proposal,analysis_only).
- 🟢 QA runtime routing (
qa_phase_routing.py,resolve_qa_runtime) — 0.2. - 🟢 Per-provider autonomy policy config (
core/autonomy_policy.py) — 0.4. - 🟢 Nightly provider-e2e (
scripts/nightly_provider_e2e.py+ scheduled workflow) — 2.1.
-
1.1 MCP execution for direct-API (generalize
RuntimeMcpBridgeto all servers, per-server smoke). - 1.2 Mutating subagents with transactional merge (staged clone → patch → 3-way merge, apply/abort gate).
- 1.3 Sandbox for direct providers (unified macOS Seatbelt / Linux bubblewrap / Windows AppContainer interface).
-
1.4 Native tool loop per provider (
supports_native_tools(model); e2e stops silently downgrading to JSON fallback).
OpenAI pilot (criteria: 1.1–1.4 green, 10+ stable e2e runs in 7 days, mini-SWE-bench ≥60%, cost calibration within ±15%). Then by decreasing readiness: OpenRouter → Google/Gemini → LiteLLM → ZhipuAI → Ollama.
| Runner | Priority | Needed |
|---|---|---|
| Gemini CLI | high | command builder, resume |
| Aider | high | git-aware, event parser |
| OpenCode | mid | event parser, artifact contract |
| Qwen Code | mid | command spec, capability check |
| Goose | mid | session model adaptation |
Critical path to the first truly full-autonomous direct provider: 0.1 → 0.2 → 0.4 → 1.1 → 1.4 (openai only) → 2.1 → 3.1.
- 🏠 Overview / status
- 🎯 Strategic goals (P1–P5)
- 🔌 Multi-provider / CLI runner
- 🤖 Non-Claude autonomy
- 🗣️ Language support
- 📱 Device & GUI verification
Legend: ✅ done · 🚧 in progress · ⬜ planned