The recording
A recording, not a description.
Everything that actually happened in the app, kept and replayable — so nobody has to reconstruct it from memory or retype it into a ticket.
01
DOM, network, console
Scrub the session back, freeze any frame and annotate it. The requests and the logs sit on the same timeline as the clicks that caused them.
- DOM replay — the page as it was, not a video of it — you can stop on a frame and mark it up.
- Network waterfall — every request with its timing and status, lined up against the clicks.
- Console — errors and logs captured on the same timeline, so a failure has its cause beside it.
02
About 1% of it
The agent does not read the raw event stream. It reads a compact digest, which is what makes a whole test session fit inside a single prompt.
- The measurement — a 55-minute, 6,010-event recording comes out at roughly 76,000 tokens.
- One prompt — that is small enough to hand over whole, rather than in summarised fragments.
- Not the raw log — the digest is the interface; the full stream stays on disk for replay.
03
Nobody retypes anything
The tester stops transcribing what they did, and the developer stops asking for steps. Both are already in the recording.
- No transcription — “write the repro steps” stops being a task anybody has to do.
- Cannot-reproduce ends — the frozen frame, the failing request and the branch all arrive together.
- It works without agents — as a plain session recorder and annotation canvas; the agent loop is optional.