feat(lab): de-bloat lab-run-viewer - bounded replay, auto-follow, no raw payloads

↗ view on GitHub · Eli Ziff · 2026-08-07 · 496edf4f

The viewer attached to a single pinned run, replayed the full raw-sse (88k
events for a tax run), eagerly built every payload <pre> (including the raw
event JSON whose evidence_spans offset-pair arrays rendered as meaningless
[3335]-style bracket noise on recent treatment arms), and forced one text node
per reasoning_delta (43k nodes). Autoscroll fought the slow load and lost.

- Auto-follow (TUI parity): attach to the newest RUNNING run, switch when it
  finishes/goes quiet; --no-follow pins a historical run.
- Bounded replay: last N events (default 3000) within the last M minutes
  (default 30), both tunable. Attaching to a long/old run never floods the
  client; a finished run past the window shows "no recent events".
- No raw-payload dumps anywhere; tool results are ok/fail + size line with
  lazily expandable content. Kills the evidence_spans bracket-number noise.
- Lazy payload bodies (built on click), coalesced reasoning/content deltas
  (one text node per 150ms, empty deltas skipped), fixed autoscroll.

Interim tool per repo convention; migration path remains Langfuse/OTel.
Repository eliziff/Beaver
Author Eli Ziff <eliasziff@gmail.com>
Authored
Parents a0c1ab20
Stats 3 files changed , +1202
Part of Evaluation harness: Beaver-CAN and LegalBench-RAG adapters

Capture this commit into my fork

Download a Markdown prompt that tells Claude how to port this exact commit into your working tree. Run it via claude -p < capture-commit-496edf4f.md from inside the repo you want the change in.

⬇ Download capture-commit-496edf4f.md