Concept reference

Rollout Records

The durable typed event stream behind every chat turn — exportable as Harmony or raw Codex JSONL for inspection.

1 min read

What a rollout record is

Each chat turn becomes a sequence of typed rollout lines (packages/rollout): user messages, assistant messages, tool calls, tool results, approvals, command records, validation records, artifact references, subagent events, and notifications. The rollout is the source of truth — chat UI is just a projection.

Developer endpoints

Local dev exposes:

  • /dev/euphony — the in-browser log explorer.
  • /dev/euphony/<threadId> — single-thread timeline.
  • /api/dev/euphony/<threadId>.harmony.jsonl — clean Harmony JSONL.
  • /api/dev/euphony/<threadId>.jsonl — raw Codex-session JSONL.
  • /api/dev/euphony/<threadId>?format=rollout — raw typed rollout records.

Compaction

Cold rollout segments compact into replay-safe summaries via the compact-cold-rollouts maintenance workflow. Replay remains possible from durable records; the summary keeps context windows bounded.

When to read the rollout

If chat UI behavior looks wrong — a typed part not rendering, an approval not firing, a subagent not returning — read the rollout. The chat transcript can lie by omission; the rollout cannot.

Was this page helpful?

Edit this page on GitHub

Search docs

Find pages across the SimPilot docs.