Combines the transcript work (previously split across #5860 virtual
scroll and #5871 reading hierarchy) into one branch on current main,
folding in the runtime-alias display from #5881.
- Virtualize the event list (react-virtuoso) so a multi-thousand-event
run mounts a bounded number of DOM rows (#5733), with firstItemIndex
anchoring for newest-first live prepends.
- Reading hierarchy via a pure trace-event-presenter: agent text and
errors render expanded in place through RichContent (compact,
log-scale markdown); thinking/tool rows fold to one line; tool detail
expands into a quiet surface with "show all".
- Persisted 3-way expand density (smart/expanded/collapsed) with per-row
overrides; legacy defaultExpanded boolean migrated. Filters always
persist (dropped the preserve-filters toggle).
- Two-tier header: identity row (status, agent, trigger source,
triggered-by) + list toolbar (created/duration/events facts left,
shared Button controls right); runtime/provider/workdir/timestamps
move to an ⓘ popover, runtime shown via runtimeDisplayName (#5881).
- Copy-all exports full event bodies (redacted) with RFC 3339 timestamps
(#5873), not the truncated summary.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>