Context
T7.24 of Epic #14560 (map v1.1) — the quality-floor leaf that keeps the design-led surface AT the SSOT bar across the sprint's many hands: pixel-level baselines for the cockpit's core states. Filed under the decomposition sprint (D#14561).
The Problem
Nineteen leaves by many claimants against one design SSOT = drift by a thousand cuts (a wrong rail width here, an off-token color there) that per-leaf review can't reliably catch. The visual bar needs a mechanical guard, scoped to where pixels are the contract.
The Architectural Reality
- Playwright screenshot assertions inside the existing custom-config discipline (a named visual config;
NEO_TEST_SKIP_CI governs any CI exclusion; baselines committed).
- Deterministic-render discipline: fixture roster (no live data in baselines), animations settled (
prefers-reduced-motion forced in the harness), fixed viewport set from the #14592-derived breakpoints.
- Scope floor: the token demo surface (#14578's consumer), one AgentCard per state, the health bar categories, one chip row, the default shell layout — the states where a pixel diff means a design regression, not content churn.
The Fix
One PR: the visual config + fixture mounts + committed baselines for the floor set + a documented update ritual (a baseline change is a design decision — reviewed as one, per the epic's recorded-decision rule).
Acceptance Criteria
Out of Scope
Interaction/e2e coverage (#14607/#14613) · a11y (T7.25) · per-leaf unit specs.
Related
Epic #14560 (parent) · blocked-by #14593/#14594 (the primitives it baselines) · #14592 (viewports) · D#14561.
Live latest-open sweep: fresh this window; no equivalent. A2A sweep: clean. Structure-map gate: N/A — test harness leaf.
Origin Session ID: a28f1415-37a4-4a5a-a3e4-b56adf6274ec
Retrieval Hint: "FM cockpit visual regression baselines design drift guard"
Context
T7.24 of Epic #14560 (map v1.1) — the quality-floor leaf that keeps the design-led surface AT the SSOT bar across the sprint's many hands: pixel-level baselines for the cockpit's core states. Filed under the decomposition sprint (D#14561).
The Problem
Nineteen leaves by many claimants against one design SSOT = drift by a thousand cuts (a wrong rail width here, an off-token color there) that per-leaf review can't reliably catch. The visual bar needs a mechanical guard, scoped to where pixels are the contract.
The Architectural Reality
NEO_TEST_SKIP_CIgoverns any CI exclusion; baselines committed).prefers-reduced-motionforced in the harness), fixed viewport set from the #14592-derived breakpoints.The Fix
One PR: the visual config + fixture mounts + committed baselines for the floor set + a documented update ritual (a baseline change is a design decision — reviewed as one, per the epic's recorded-decision rule).
Acceptance Criteria
NEO_TEST_SKIP_CIif excluded; never hardcoded skips).Out of Scope
Interaction/e2e coverage (#14607/#14613) · a11y (T7.25) · per-leaf unit specs.
Related
Epic #14560 (parent) · blocked-by #14593/#14594 (the primitives it baselines) · #14592 (viewports) · D#14561.
Live latest-open sweep: fresh this window; no equivalent. A2A sweep: clean. Structure-map gate: N/A — test harness leaf.
Origin Session ID: a28f1415-37a4-4a5a-a3e4-b56adf6274ec Retrieval Hint: "FM cockpit visual regression baselines design drift guard"