Converse Code lifecycle

Choose a case, then step through how a spoken request crosses Converse, the local bridge, and one visible Pi turn.

Core invariant: Pi output belongs to a voice request only after its command ID proves ownership.
Userspeaks and decides
→
Conversevoice + tool lifecycle
→
Converse Codetyped state router
→
Pivisible coding session

Converse Code Pi turn state machine An interactive diagram showing idle, acknowledgement, ownership, running, cancelling, settled, and failed states. Idleno active call Awaiting ackbuffers early events Awaiting ownershipmatch command ID Runningpartials + approvals Settledone final result Cancellingawait terminal signal Failed closedno guessed ownership

current path terminal result failed closed

Deferred is not completed

tool_deferred means Pi accepted a long-running call. Only agent_settled produces its terminal result.

Two different queues

Early Pi events are briefly buffered until deferred delivery. Browser control frames persist across reconnects. A second request before ownership is rejected, not silently queued.

Evidence stays honest

A successful settled Pi turn is the authoritative pi_request result and is verified. Failed and cancelled turns remain unverified and cannot be narrated as successful work.