Live Observability Dashboard
March 29, 2026 · View on GitHub
The Live Observability Dashboard is a read-only terminal view of the garden's current state.
Use it when you want one screen that answers:
- is the coordinator up, and is work moving?
- what is running, ready, or blocked right now?
- do any conversations need attention or a hop?
- what changed recently?
- what has today's completed work cost?
Run it with:
pak2 dashboard --root .
Use --once to print one snapshot and exit:
pak2 dashboard --root . --once
What it reads
The dashboard does not keep its own database. It reads the same local files the garden already uses:
<runtime-root>/goals/*.jsonand<runtime-root>/runs/*/meta.jsonfor current work<runtime-root>/runs/*/events.jsonlmtime for run liveness<runtime-root>/conversations/*/meta.jsonand the latest turn record for conversation state<runtime-root>/events/coordinator.jsonlfor recent activity/procon Linux to see whetherpak2 cycleappears to be running for this garden root
For its own audit trail, each dashboard session also writes:
<runtime-root>/events/coordinator.jsonlstart and finish events for the invocation<runtime-root>/dashboard/invocations/<id>.jsonwith the measured wall-time cost
What you need to know
- It is read-only. It does not submit goals, restart work, or repair anything.
- It is best-effort. Missing optional files and malformed JSON lines are skipped instead of crashing the view.
- The CLI is still terminal-only. If you need structured dashboard data, use
the snapshot and render helpers documented in
Level 2andLevel 3instead of expecting JSON frompak2 dashboard. - If you need a named accept/reject check for machine-readable dashboard
output, use the snapshot or render validator documented in
Level 2andLevel 3instead of scraping terminal text. - It shows a small live summary, not a full history:
- up to
8active-work rows - up to
5conversation rows - up to
5alerts - up to
8recent activity rows
- up to
- The cost panel only totals completed runs from the current UTC day whose run
record has
cost.source == "provider". - Running the dashboard now leaves its own audit trail, but only for the invocation itself. It still does not mutate goals, runs, or conversations.
- The dashboard's own wall-time cost record is not included in the on-screen cost panel. That panel still reports garden run cost only.
What it does not do
The current dashboard does not:
- provide control actions such as retry, kill, submit, or hop
- provide a CLI JSON output mode
For the engineer and agent contracts, see
Level 2 and Level 3.