Skip to main content
A multi-agent run is only useful if you can trust the result. Voss persists a deterministic, replayable trail of every run, so you can review it like a PR — and tell what the EM claimed apart from what was independently verified. The trail is built from three durable artifacts, all under .voss/sessions/<root_id>/.

What persists

Reading a run

Together these answer:
  • What changed — transitions and outcomes per card, from the board and session tree.
  • Claims vs. evidence — the EM’s routing rationale and RunFinal summary sit beside the independent reviewer verdicts and evidence references. Unsupported claims are detectable because the verdict carries evidence_refs.
  • Why it passed — or didn’t — Reviewer-A’s verification and Reviewer-B’s verdict are recorded separately in each sidecar.
  • What’s still risky — blocked, killed, and rescoped lineage stays inspectable; budget-raise attempts are recorded as rejected_raises.

Determinism

The audit, board, and session-tree views are rendered from persisted node files, not from the live agents, so a run reconstructs identically after the fact. The same --json export is what an external client such as Voss ADE reads to render the run as a navigable session tree.

The audit report

voss audit assembles one read-only report from persisted data, in text, JSON, or Markdown. Its sections are fixed: Goal, Active Team, Principles, Scope and Budget, Board Timeline, Work Cards, Agent Actions, Diff Summary, Tests and Evals, Reviewer-A Verification, Reviewer-B Verdict, Blocked/Killed/Rescoped Items, Evidence References, Residual Risks, and Final Human Decision. When judgments were recorded, a Judgments section adds Jev receipts and advisory requirement assessments. voss audit --approve records sign-off, and is refused while killed cards or low-confidence routings are unacknowledged.