packages/app/e2e/performance/timeline-stability/README.md
Run from packages/app:
bun run test:stability
The suite runs a production build in one Chromium worker. Selected scenarios use deterministic 4x CPU stress after application readiness. This is a stress profile, not emulation of a specific device.
The continuity probe samples DOM-derived layout and visibility state across browser render opportunities. Tests declare explicit contracts such as:
The suite exercises real browser reducer, projection, component, virtualizer, layout, focus, and interaction code. The backend and event producer are controlled fixtures.
The pass/fail oracle does not inspect every compositor-presented pixel. A sample taken after requestAnimationFrame is a DOM/layout observation, not proof that every sampled state was displayed or that every displayed frame was sampled.
The suite does not provide complete coverage for:
Playwright video, trace, screenshots, and observation JSON are diagnostic evidence. They are not pixel baselines and do not participate in normal pass/fail decisions.
For optional before/violation/after screenshots, set OPENCODE_STABILITY_CAPTURE=1. Capture is opt-in because compositor readback can perturb timing.
Production-lifecycle fixtures should model states emitted by the current producer. Impossible or reordered sequences belong in reducer-hardening tests and must not be described as normal provider behavior.
Failures retain:
video.webmtrace.zipThe analyzer records both unclipped layout bounds and ancestor-clipped visible intersections. Scrollbar and raw scrollTop changes alone do not fail continuity checks; user-visible semantic anchor movement does.