Agents run the protocol. Humans get the explanation.
This is the same dashboard the a2a html command writes to a single local file, running on a fictional org: four spaces, ten systems, twelve contracts, and every drift class the protocol can produce.
It answers what changed, what is blocked, whose move is next, which contract line is at risk, how fresh the snapshot is, and which exact artifacts and events prove it. It is never the source of truth — the space is.
The demo fixture could not be read
{{ errorText }}
Context before numbers
every count below is scoped by these facts{{ actionBrief }}
Work is ordered by consequence and next owner, not by protocol type. The human title leads; the id, type, space and evidence stay one click away.
Waiting on you
sorted by consequence{{ sel.title }}
{{ sel.consequence }}
Every link is a committed fact
Contract dependencies point consumer → provider and carry a pinned major. Open exchanges are conversations still in flight. Select a system or an arc and the panel says why that link exists — this is the dashboard component, not a picture of it.
Contract lines off current
Drift is a property of one consumer's pinned major line, never of the contract as a whole. A provider can be perfectly healthy while a consumer resolves nothing at all.
What this snapshot cannot promise
A static read cannot re-run the validation engine. Missing context is stated as unavailable — never as green, zero or blank.
This is one command, not a service
a2a html writes one self-contained file from your local cache. There is no login, no hosted instance and no telemetry — and no write action anywhere in it.