replay · recorded from a real Scholion daemon

Three agents, one codebase. Nobody starts from zero.

Claude starts a task, records a decision and a dead end, then runs out of context. Codex picks it up from a small context pack instead of re-reading the repo, finishes it, and Gemini reviews. Every command output below is what the daemon returned.

CClaude XCodex GGemini Hyou
– / –
Hyou

Loading the recording…

~/ws/shop

        

Tasks in shop

No tasks yet.

In the margin

No records yet.

What you just watched, and why it matters.

The why survives the handoff

Claude's decision and dead end were the first thing Codex received, anchored to pricing.py:line_total and pricing.py:total, and marked "changed since recorded" where the code had moved on.

Packs fit, deterministically

No LLM chooses the context. Seeds, a reference graph and a token budget do, so the same state always gives the same pack, and every pack has a receipt.

Agents can't trip over each other

One jj workspace per task, claims that fence off stale writers, approvals bound to a tested head, and main that only moves through merge.

Recorded – with scripts/demo-replay.py against a daemon on an empty database, on a toy repository. The captions are ours; each output is the daemon's, with host paths shortened and long packs trimmed. Semantic search was off for this run.