Trace trust for coding agents

Assay the trace before you trust the number.

Agent transcripts double-count, lose subagents and run clocks backwards. assay reads the raw file, marks what it can and can't prove, and points every finding at its exact bytes.

$assay check ~/.claude/projects/<proj>/<session>.jsonl

Call the number.

Each round is a real session from the corpus. A quick parser adds up every line. Drag to where you think the true total sits, then let assay check.

Fourteen gates.
Every run.

Each gate is a deterministic check with its evidence offset. No judge model. Tap one to see what it catches and which runs tripped it.

Know what
wasn't recorded.

Every run is stamped with its capture level before any number appears. Tap a level to see what it would add.

The runs.

Every real session, drawn as a core from first line to last. Teal is the assistant, lavender the user, hatching is what the importer kept aside rather than drop, amber marks are findings. Pick one to open its report.

Now try
to fool it.

Four real tampered files. Do the damage yourself, hand it over, and see which gate notices, and the one place where it still gets through.

Capture level first.No chart appears until the run says what was and wasn't recorded.
Every mark has bytes.File, line and byte range for every finding. Unknown lines are kept, never dropped.
Real, perturbed, or scripted.Every run says which. Scripted data never stands in for the real thing.
No inferred edges.Links are observed ids or exact string matches. Nothing guessed by a model.
Gaps look like gaps.A missing subagent is a crossed-out box, not a short bar.
Your files stay yours.Drop a session on the report page and it is parsed in your browser; nothing is uploaded. Runs shown here are redacted exports.

Open a run.
Read its report.

Open the reportBrowse all runs