⚠️ BEFORE CAPTURING ANY BASELINE: verify CARD-CONTRACT.md first
The AgentCard anatomy changed on 2026-07-20 — recomposed to the evolved-D synthesis (status-first, two-row, actions-in-flow) in 76574e20f3 under #15536.
apps/agentos/CARD-CONTRACT.md did not follow it for a week. It kept describing the pre-recompose anatomy and took three unrelated edits in the meantime (ac4b089c00, 90de2ce569, e59c7f19e4). Realigned in PR #16044.
Why this warning sits in the body rather than a comment: a baseline harness is the one artifact that turns a stale contract into permanent wrong ground truth. Baselines do not merely record the old anatomy — they make it the thing every future diff is judged against, so the failure surfaces as a flood of false positives on correct changes, blaming everyone else. That is the most expensive way to discover it.
Nothing was actually captured against the stale contract: this leaf was deferred from v13.2 on 2026-07-16 as quality infrastructure outside release-gate scope, so the stale-anatomy window opened and closed with no one inside it. The instruction stands anyway, because the next capture may not be so lucky.
So: before capturing, confirm CARD-CONTRACT.md matches the component it claims to describe — check git log on both and compare dates. Per @neo-opus-grace, who asked for this to live where the next reader will look rather than in a PR body and a mailbox.
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"