Benchmark source and samples for PR #11181

All content is synthetic. No database, authentication state or customer transcript is included.

The replay probe targets T3 baseline ab67795dde448a3608d8689f7ad1975bb977e5a9. In a disposable checkout, put __legendPerf.ts in apps/web/src and temporarily import it from main.tsx, exposing its exports as window.__legendPerf. Build production baseline and candidate with that identical probe, then remove the probe from shipping source. Both builds must connect to the same isolated server and synthetic thread.

Fixture: 16 ordered user/assistant pairs, one completed turn per pair. Prompts: Inspect result N and explain the change. Assistant source: heading Result N, paragraph The change preserves ordering, selection, and scrolling. See [reference](https://example.com).; two list items Retain the selected item. and Update the visible content.; a TypeScript fence with 30 functions generated exactly as in __legendPerf.ts. User timestamps are one second apart; the matching assistant is 1ms later. Use a recent date. The probe replaces the final assistant response during replay and does not alter server state.

compare-builds.py records five rotated-order rounds and raw per-run summaries. Its directory, origin, environment ID and thread ID are local setup values to replace. It switches a symlink between prepared production build directories behind one preview origin, reloads, warms 20 updates, then measures 120 updates. No build/check/recording should run concurrently. The final retained comparison is the baseline and minimap rows in production-header-final.json; code-header is a discarded experiment. Original commit/runtime boundaries and limitations are in exploration.md.

minimap-bench.js is the separate stage benchmark. Its imports expect the included baseline helper as apps/web/src/__legendMinimapBaseline.ts and the candidate's timelineMinimapItems.ts. Run it in the dev browser with agent-browser eval; the original DOM and networking are not part of those stage numbers.

Recordings are separate from timing. Their recorder-induced startup prefix was trimmed by 0.8 seconds; the interactions were not edited.
