Captured before the agent runs
The headline, acceptance criteria, and out-of-scope notes — recorded up front, so the work is judged against what it was asked to do.
Trail is a control plane on top of GitHub — not a replacement for it. Every AI-assisted change becomes a structured, reviewable, auditable packet that lives next to the pull request.
intent → session → packet → PR → audit
A grounded-summary verifier checks every sentence of the change summary against the captured session — sentence by sentence, cited to a claim. Unsupported assertions are flagged before a reviewer ever trusts them.
The headline, acceptance criteria, and out-of-scope notes — recorded up front, so the work is judged against what it was asked to do.
The full agent session as a timeline: edits, commands, policy hooks, and checkpoints — with secrets redacted at capture.
The change summary, verified line by line against the session. The fix for the "the description doesn't match the diff" failure mode.
A sealed record of who decided what and why — readable in the same view a reviewer uses, and again by an auditor months later.
The Trail GitHub App posts a trail/packet-required status check on every PR. Mark it required and merge is blocked until a packet exists — minimal by design (checks:write · pull_requests:read · metadata:read), self-hostable on Cloudflare Workers, never able to write code or push branches.