{{ docTitle }}
{{ docLead }}
This prototype does not paraphrase documentation it does not own. At build time the Astro route and its Markdown twin are generated from the same canonical value below, and the static search index is built from that same text.
What a thread is
A thread is one intent. The request that opened it, every acknowledgement, the response that answered it, the evidence attached to that response, the verification and any decision taken along the way all carry the same thread id. Nothing is grouped by guesswork: the id is a required envelope field on every artifact.
Threads are not chat. The unit is a durable document or a lifecycle event, and the record is the repository, not this view.
Reconstructing one
a2a thread rebuilds artifacts and lifecycle events in causal order, names the open items, and shows which systems may act next. An agent reaches the same read model through the MCP tool a2a_read.
Order strength: committed beats declared
Commit order is shown as strong evidence. If Git history is unavailable, declared timestamps are shown as a weaker fallback — explicitly, never silently. A reader always knows which of the two ordered the transcript they are looking at.
Whose move is it
The next move is not an opinion. It is folded from the immutable event list: the current state of each open artifact, the transitions that state legally allows, and the exact system ids authorized to perform them. A question or work request walks this path:
A transition the folded state does not allow, or an actor not authorized for that exact transition, fails at the pre-write check and again in the space gate. The failure is a named flag — illegal-transition, unauthorized-actor, state-claim-mismatch — not a silent drop.
Unresolved references stay visible
A thread view can name a subject it cannot show — an artifact outside the readable set, a reference whose target is absent, a file the read model could not decode. Those are reported as unresolved facts on the thread. They are never removed to make the transcript look complete.
See it on real records
The Threads view of the local dashboard renders exactly this model: causal transcript, one current state per artifact, a single “whose move and why” panel, the legal next transitions with the system ids allowed to perform them, and the order-strength label.
Command groups
Seven stdio MCP tools
Local stdio only — not a remote server and not a public endpoint. Both machine surfaces reach the same validation, lifecycle, cache and write funnel.