ai-coder has moved quite a bit since the 1.0.x line. Version 1.2.2 is not just a small model-list update — it changes how longer coding jobs are planned, isolated, merged, verified, and routed to providers.
The new multi-agent Team Runtime
The biggest architectural change is the staged Team Runtime.
Instead of treating one model response as the whole coding process, ai-coder can now split larger work across explicit roles:
- research agents for current docs, architecture, reliability, and alternatives
- a planner that turns the evidence into an implementation plan
- a coordinator that checks and controls the run
- multiple coder candidates with different implementation strategies
- a merger that integrates the best candidate work
- a test-planning / verification stage
Each coder works in an isolated RAM workspace, so candidates do not overwrite one another while they are being evaluated.
Transactional workspaces and a harder merger
The workspace and merge path was heavily reworked for reliability.
Important changes include:
- transactional RAM-backed candidate workspaces
- blind/staged handoffs between Team Runtime phases
- candidate snapshots and change manifests
- newly created files treated as first-class merge output
- candidate recovery when a stage fails
- fresh-test evidence required after changes
- cleanup of candidate RAM/workspaces when a run finishes or fails
- stronger liveness checks so dead candidates do not block the whole run indefinitely
- deterministic loop auto-resume disabled where it could restart a bad state forever
This is the boring-but-important part of an autonomous coding agent: success is no longer supposed to mean "the model said it was done." The integrated result has to exist, survive the merge path, and be verified again.
Bring Your Own Key is now a real runtime feature
Version 1.2.2 completes the BYOK path across the main runtimes:
ask
chat
task / review
- autonomous agent runs
- PyQt6 GUI
- multi-agent Team Runtime
Provider secrets are stored in the operating-system keyring (KWallet / Secret Service or the platform equivalent), not in ai-coder state, chat history, or logs.
Direct provider routing currently covers:
- OpenAI
- Anthropic
- Google / Gemini
- OpenRouter
- Mistral
- Groq
- Cerebras
- NVIDIA
Anthropic now has a native Messages API transport, rather than pretending it is an OpenAI-compatible endpoint. Google/Gemini uses Google's documented OpenAI-compatible API path. If no own provider key is configured, the existing TriForce route remains available.
Keys can also be managed from the CLI:
aicoder credentials set <provider>
aicoder credentials delete <provider>
Better diagnostics for long runs
The 1.2.x work also added runtime performance telemetry and more detailed Team Runtime diagnostics. That matters when a run spends minutes moving through research, planning, coding, merging, testing, and recovery — you need to know which stage is working or failing instead of only seeing one generic spinner.
Reliability work around provider/model behavior
Several smaller fixes landed around the same architecture:
- stronger model/tool compatibility handling
- bounded candidate liveness
- safer recovery from malformed/degraded model responses
- improved Team Runtime diagnostics
- explicit runtime-contract guidance for models
- unlimited coder scheduling where appropriate, paired with RAM cleanup
- regression coverage for workspace isolation, provider credentials, team orchestration, performance, recovery, and secret redaction
Verification
The clean v1.2.2 release state was verified with the complete current test suite:
512 tests passed + 128 subtests passed.
That does not mean every provider or every possible repository is magically bug-free, but it gives us a much stronger baseline than the early experimental Team Runtime builds.
Current release
A full news article on ailinux.me will be linked here as soon as it is published.
If you test the Team Runtime, the most useful feedback right now is around provider-specific behavior, merger edge cases, newly created files, long-running jobs, and model combinations.