When a turn ends, the result doesn't just land — it passes through the design-kit gate first. The gate runs the kit's checks against the files the agent wrote and reports in the transcript: Gate passed or a FAIL list naming the exact rules broken and where.
What it checks
The gate reads the result the way a browser does — rendered, at real widths:
- Contrast — text must clear the luminance floor against its background
- Minimum type — no text under the kit's size floor
- Hit targets — interactive controls sized to be tappable
- Live navigation — every nav item must reach something, checked at phone and tablet widths where toggles most often dead-end
- Dead zones — regions where the layout swallows interaction
The checks run across five widths — desktop, laptop, tablet and two phone widths — so a design that only works at the size the agent happened to write gets caught, not shipped.
PASS
Gate passed means the result clears the kit — it's yours to keep, steer further, or ship. The transcript lists the files the turn touched so you can see the blast radius of the change at a glance.
FAIL — and the fix loop
A FAIL lists each broken rule as a finding — the check id, the width it broke at, and the element. "Fix at this width" on a finding sends exactly that issue back to the agent as a one-line fix brief; a FAIL isn't a dead end, it's the next turn already written for you. The auto-fix loop retries once on its own before the findings land in your hands.
What it doesn't check
The gate enforces the rules, not the taste — a passing result can still be the wrong design for the brief, which is what steering, review modes and your eyes are for. And it checks what the kit knows: novel interactions or unusual structure outside the rules get a pass by default, not a verdict.
Where it runs
The gate runs at the end of every standard project turn. Codebase projects are different: adopted repos run diff-scoped checks on the files the turn changed, against your own dev server — see Build mode. Free and Pro run the same gate; it isn't part of what the license meters.
Tip: When a FAIL finding looks right-by-design (a deliberate accent exception, a known trade-off), you don't have to fix it — steer around it with a comment or a Tweak, or accept the finding and move on. The gate advises; you decide.