The canvas
Every project a box, every session a card with live status, git state and cost — plus the stage lens, chains and fan-out groups.
The default view is a map, not a list. Each project is a box, each session inside it a card with live status, git state and cost.
When you run one agent this is a stylistic preference. At five it is the difference between running agents and overseeing them — a list makes you read every row to find the one that needs you; a map lets you see it.
What's on a card
Live status, diff stats and cost, so a glance answers "what is everyone doing?" without opening anything. Cards group inside their project box and lay themselves out automatically — pin the ones you want where you want them and the rest keeps tidying itself around them.
The stage lens
Sessions can be coloured by where they sit in the cycle:
| Stage | Means |
|---|---|
| Triage | Queued from an issue, not started yet. |
| Planning | Waiting on your call about a proposed plan. |
| Building | A turn is in flight, or background work is still open. |
| Reviewing | Changes are on disk or in a PR, waiting to be looked at. |
| Quiet | Nothing in flight and nothing pending. |
Stages are derived, never set. A session doesn't have a stage — it reads as one right now, computed from state Foreman already tracks. That is what keeps this a lens rather than a kanban board you'd have to keep in sync by hand.
You'll notice there's no "blocked" stage. That's deliberate: a session that needs you belongs in the needs-attention inbox, and having two places compete to tell you the same thing means you end up trusting neither.
Relationships between sessions
The canvas draws the structure that already exists:
- Chains render as arrows. Chain a follow-up onto a running session — give it the task, say when it fires, and it launches itself with the parent's context when the parent settles.
- Fan-outs render as one raced group rather than four unrelated cards, and collapse to a single node once you've kept a winner.
- Queued issues show as a triage band inside their project.
- Peer messages between sessions draw as edges, so a hand-off is visible rather than implied.
More than one machine
Machines you connect add their projects to the same canvas — one map for everything, local or remote, each node carrying its own status and cost. There isn't a separate screen for the fleet; remote projects are just projects.
Terminals
A terminal can live on the canvas as a node of its own, next to the sessions it belongs with. Useful when you want to watch a dev server or run something by hand while agents work around it.
Reading it quickly
- Colour tells you the stage, so scanning for amber finds everything waiting on your decision.
- Zoom controls the detail. Pulled out, cards reduce to status; zoomed in, they carry their full state. Use the zoomed-out view as the "is anything on fire" check.
- The inbox is the authority on what needs you. The canvas shows you shape; the inbox shows you obligations.