Agent harness: pi, zot & Colibri

Agent harness: pi, zot & Colibri

index

Decision

Two binaries, not one (Sam rejected merging them, 13.jun.2026):

glasspane, runs the task board, owns cost. It observes zot/pi; it does not

contain them.

Canonical statement: AGENTS.md (lines ~18–32). clawdie-ai (TS) is being

pruned; surviving features move to zot/Colibri.

> There is no ADR-agent-harness-consolidation.md (it was referenced in the

> past; those references have since been cleaned up). Treat AGENTS.md as the ADR.

Runtimes

Glasspane normalizes events from both harnesses into one taxonomy via

AgentRuntime { Pi, Zot, Local }crates/colibri-glasspane/src/lib.rs

(zot_event_type() maps zot's events onto the pi-style names).

Autospawn + the RPC driver (colibri#143)

The spawner's contract: spawn the agent, read stdout JSONL.

peer that reads stdin. So the spawner pipes stdin for RPC agents and the

daemon sends the prompt over an RpcSender.

Where it lives:

crates/colibri-daemon/src/socket.rs (default_agent_args,

autospawn_agent_if_configured)

(#[ignore], ZOT_BIN-gated — needs the real zot binary) (unignored, runs in every cargo test — uses sample-pi-agent.py which

emits colibri-pi-events taxonomy verified against real pi)

(default_agent_args unit tests — zot→rpc, pi→--mode json)

OOTB default harness is zot; pi remains a supported fallback

(COLIBRI_AUTOSPAWN_BINARY=pi).

See also