A runtime for coding agents
Run coding agents you can audit.
One runtime owns every thread, session, workspace, account and policy, and records everything each agent did.
client POST /threads/:id/send runtime HTTP Send → thread entity thread entity not degraded · turn lock taken thread entity append the human message → event log thread entity ensure the engine session · send the prompt engine session tool and thinking events, in order → turn journal turn journal one write per event, each acknowledged → event log engine session reply text → thread entity thread entity commit the reply → turn journal turn journal append the reply after every earlier event → event log event log all durable → thread entity thread entity reply → client
The runtime
One process owns every fact.
Threads, sessions, workspaces, accounts, policy and memory live in one runtime.
Append-only threads
- Each thread is an append-only log in SQLite.
Durable turns
- A turn commits once every event is durable.
Honest failure
- A thread that lost a write refuses further turns.
Engines and identity
Every engine runs through one loop.
Claude and pi, which carries codex and OpenCode Go, share one loop.
Pooled accounts
- A broker pools accounts and refreshes each token once.
Narrow failover
- Only quota and auth failures fail over.
Usage ceiling
- Each model pool reroutes at its usage ceiling.
Review
Every change moves through one cycle.
gt-review carries a change from idea to merge.
Review rooms
- Threads find, fix and prove each finding.
Mechanical gate
- It merges when findings are closed and proof is present.
Audited ship door
- Every push passes one audited door.
Steering, memory, peers
Steer, remember and reach every thread.
The middleware, Hindsight and a peer socket serve every live thread.
Fails open
- Hook verdicts deny, inject or interrupt, and fail open.
Workspace memory
- Hindsight recalls and retains per workspace.
Claude Code peers
- Every live thread is a peer over a socket.
Run it
Clone it and run the checks.
bun install bun run typecheck bun test bun run lint:slop:ratchet
curl -s localhost:4741/live curl -s localhost:4741/workspaces