$ praetor status runtime up 2h 14m 09s · rev a3f1c89 sessions 3 active · 2 idle session-01 claude fix-flaky-tests stream session-02 codex audit-deps execute session-03 claude draft-changelog handle session-04 idle session-05 idle throughput 247 tok/s · 18,432 total tasks 3 ready · 1 blocked · 7 done next test::integration ← lint, fetch trust reviewer (host) · executor (sandbox)
A runtime for autonomous coding agents.
Claude Code, Codex, your own agents. Dependency-aware task graph. Trust boundaries enforced by the runtime, not by polite request. Written in Rust.
Pluggable, not bundled.
One runtime hosts many sessions, each with its own conversation, configuration, and scripting environment. The runtime itself stays agnostic about which agent runs inside.
Task graph, not tab manager.
The user-facing primitive is the task. Tasks declare dependencies; a workflow layer dispatches ready tasks to idle sessions automatically.
Explicit phases, deterministic recovery.
Every turn walks a named phase machine. Failures land at known boundaries. Overflow triggers compact-and-retry. Cancellation interrupts at the next phase, never mid-stream in unknown state.
Configuration is code.
Hooks, prompt builders, tool definitions, workflow logic. All written in code, with an effects bridge that lets configuration phases re-run safely without firing real side effects.
Autonomy without ceding control.
A trusted reviewer owns commit and push authority; an untrusted executor edits and verifies inside a sandbox. Bounded by the runtime, not by polite request. This is the distinctive idea the rest of Praetor exists to support.