A team of one

Each agent in the harness has one job and a written standard. Any edit that moves a brand value stops until it is explained, and no bug is fixed until one agent reproduces it and another checks the fix.

Follow a bug

  1. Reproduction writerBug reproduced

    The reproduction writer proves the bug before anyone fixes it.

  2. Check authorFailing test written

    The check author writes the failing test first.

  3. Scope wardenSmallest fix

    The fix goes in, and the scope warden asks whether it is the smallest one.

  4. VerifierFix verified

    The verifier, a different agent from the one that reproduced the bug, checks that the fix fixes the defect.

  5. Release stewardProcedure followed

    The release steward checks that the release procedure was followed before the fix ships.

A simulation of how a bug moves through the harness, built from the roles and rules on this page.
Meet the 15 agents

Design

System architect
Is this token the right shape?
Agent-experience designer
Can a rule be read two ways?
Adoption designer
Is the route in easy for teams?
Prior-art researcher
What do standards say?

Quality

Accessibility gatekeeper
Does it meet WCAG 2.2 AA?
Generation prober
Does the spec build correctly?
Spec auditor
Does it match the spec?
Verifier
Does the fix fix the defect?

Delivery

Check author
Writes the failing test first
Reproduction writer
Proves a bug before anyone fixes it
Scope warden
Is this the smallest fix?
Cross-repo porter
Keeps both repos in step

Release

Release steward
Was the procedure followed?
Consumer-impact assessor
What changes for teams?
Dependency steward
Are dependencies safe?

Where designers work now

Without Figma handoff, designers build in the same session as an AI agent, against the pinned spec, so nobody has to memorise a rulebook. So far, 7 designers have contributed 47 catalogue entries.

  1. Designer

    Builds a screen

    The agent generates it from the designer's description.

  2. Agent

    Spots a missing asset

    No pictogram fits, so the agent offers to draft one in the session.

  3. Agent

    Applies the rules

    It checks for duplicates, follows the style guide and opens a review.

  4. Gate

    Flags the draft

    It lists the draft without failing the build, so nothing ships unseen.

Put guardrails where people work

Rules in the AI session beat a style guide nobody memorises.

The agent enforces the style guide, so designers judge meaning.

Continuity

  • 2 months

    of extended leave covered by a plan I designed, so the system ran without me

  • 150+

    entries in the dated decision log. A mistake gets corrected in a new entry, never erased.

Read a decision log entry

11 August 2026: a file the gate could not evaluate is not a pass

The defect, measured rather than argued. When the accessibility engine's run for a page threw an error, the rendered check caught it, recorded the page as skipped, put an empty list of violations in its place and carried on. The verdict then read "PASS, 0 violations" and the exit code was 0, even in the mode whose contract is to fail closed. A real browser showed it on a page with a nameless button and an image with no alt text. The same page produced two accessibility findings when the engine could run and none when it could not. Two real violations disappeared and the run reported success.

Three meanings of "not checked" now get three outcomes, kept apart on purpose:

  • Unevaluable. The gate tried and could not. The run is incomplete and exits with code 2.
  • Unsupported. The file is outside this checker's scope, such as a Markdown file caught by a broad pattern. It is listed separately and the exit code is unaffected. Treating it as unevaluable would fail a reasonable pattern, and noise is how a gate gets switched off.
  • Skipped. Nobody asked for this layer to run. The verdict says incomplete but the exit code stays 0, because not asking for a check is not the same as failing to run one.

Exit code 2 outranks exit code 1 when a run has both violations and a file it could not evaluate.

Silent under-evaluation is still open. A broken or cross-origin iframe, or a strict script policy, can make the engine report zero violations with nothing recorded anywhere. The documentation for teams now says exit code 0 is nearly sufficient and names that gap, rather than claiming a guarantee the code does not make.

Adapted from the decision log, which is append-only. Old entries are never edited, only superseded.

A decision I reversed

  1. Decided, 6 to 9 Jul 2026

    Write a skill file for each component, for agents to follow.

  2. Reversed, 5 Aug 2026

    Retired them. They had drifted from the canonical contract and told agents to emit a token the gate rejects.

This read comes from I replaced my own component library with a spec AI builds from, the full case study.

Next: I replaced my own component library with a spec AI builds from