Don't say "done" unmeasured: 626 tests for a personal site.
Every claim this site makes has a test: from the contrast table to layout shift while scrolling, from the keyboard tour to text clipping in three languages. The rule is one sentence: a screenshot is not evidence.
The suite runs 626 measurements today: each of 48 routes passes eight checks, the reduced-motion flow is measured on its own, and so is the counter-proof that motion actually runs. The counter-proof matters: a "calm when motion is off" test also passes when motion was never built — a lying green.
- node tools/verify.mjs 4173
- …
- 626 passed · 0 failed · total 626
Why the eye is not enough
Three real cases. One — an embedded preview counted itself permanently "hidden"; the animation finished before anyone looked, leaving only the last frame. Measurement taught us to gate choreography on frame flow, not visibility. Two — layout shift was 0.027 at load and everyone relaxed; the first test that measured scrolling found 0.74. Three — a "nobody reads this variable" verdict rested on truncated search output; a browser measurement showed the chain alive.
A test's job is not to pass — it is to make sure no one ever has to look by hand again. Every fix leaves a sentry in the suite: if the same bug returns, red fires before any human eye.
Evidence is the thing you can run again.