Talk to the Director →
designesy.

Learn · Comparison

Verification vs linting vs regression

Three adjacent practices, three different questions.

Design linting, visual regression, and design verification are often grouped together as “design quality tooling.” They answer different questions, take different inputs, and fail in different places. This article is the side-by-side.

The three questions

01

Design linting

Question: Does the source use the tokens?
Input: Source files — CSS, TS, JSX
Output: Warnings, fixes, inline suggestions
Scope: Token misuse, magic numbers, raw hex

Where it fails alone: It cannot see what shipped. A linter that passes in CI does not protect the visitor who receives a different CSS bundle than the one linted.

02

Visual regression

Question: Did the pixels change?
Input: Screenshots — before and after
Output: Pixel diffs, masked regions, flake flags
Scope: Layout drift, unexpected reflow, removed elements

Where it fails alone: It needs a baseline to diff against. New work has no baseline, and a pixel-perfect diff can mask a contract violation that happens to look the same.

03

Design verification

Question: Does the live site keep the contract?
Input: A live URL — fetched the way a visitor fetches it
Output: A letter grade and per-check findings
Scope: Tokens, rules, behavior, and verification — all four contract layers

Where it fails alone: It cannot inspect what it cannot fetch. Pages behind auth, paywalls, or bot challenges are scored on what the verifier can receive.

Why they layer

The argument

Linting catches token drift at authoring time. Regression catches pixel drift at shipping time. Verification catches contract drift at visitor time. Each one fails where the others succeed, which is why mature teams run all three — and why verification is the only one that can score a site you do not control.

Linting and regression both require access to the source. A visitor, a reviewer, a procurement team, or a design system author evaluating someone else’s site has neither. Verification is the only practice in this set that takes a URL and returns a grade.

Read next

Citations: the design system contract (v0.3.0) for verification scope, and the /score endpoint for the runnable artifact.