field noteon launch 7.03.26updated 8.07.26

The Design System That Checks Itself

A spec nobody enforces is a suggestion. So I gave this one a job: read what the code actually ships, compare it against what the design system claims, and block the deploy when the two disagree.

tokenscomponentsthe system catches the drift

For a while, this site carried three different color directions at once. A retired sci-fi palette, a proposed expedition palette, and the warm paper system that was actually shipping. None of them agreed, and nobody was watching. I only caught it when I went looking.

That is the quiet failure mode of a design system. You write it down once, everyone nods, and then the code keeps moving while the document sits still. A month later the site looks like three people designed it, because in a sense three versions of me did.

A spec the code cannot ignore

Google shipped a small, good idea called design.md. One file that hands an agent your design system as tokens plus the prose that explains them. I kept the format and built the part it was missing: a loop that enforces the file instead of trusting it.

Three pieces sit on top of the format. A token gate that scores any screen against the spec rules: no retired color, every color on the palette, the declared ground present. A drift monitor that diffs the colors in the live code against the spec and tells me which one moved. And a panel I can open to see all of it, edit a color, and watch the verdict flip as I save.

your codeDESIGN.mdthe contracttoken gatedrift monitorship on-specpasses the gateupdate on driftthe step that ships the site is the step that grades it
The step that ships the site is now the step that grades it.

What it caught, and what it blocks

The first time I ran the authoring pass on RSLVD, it found the three palettes on its own, kept the one the code was actually using, and flagged the other two as stale. I never told it which was right. It read the code and the brief, noticed they disagreed, and said so.

Now the gate is wired into the deploy. Running a deploy runs the check first, and it does not publish if the spec is broken or the live code has drifted past it. Every push runs the same three checks again before anything merges. The design language cannot silently morph, because nothing reaches the site without passing the thing that defines the site.

Where it is honest about its limits

Today the drift monitor watches color. Type and spacing live in the spec and get linted, but they are not in the drift check yet. There is an optional second pass, a model that grades the softer things a rule cannot, like whether the accent actually reads as restrained. It is off by default. The deterministic part stands on its own.

The bigger version is a design guide that compounds: one record of decisions and outcomes feeding every surface, learning my taste over time. That part is not built. I am naming it as a direction, not a feature, because the honest version is the only one worth publishing.

Run it yourself

The kit is public and has nothing to install. Clone it and open the panel, or hand a fresh Claude session the repo and let it set itself up.

git clone https://github.com/RSLVD/designmd-loop
cd designmd-loop
npm start

It runs on Google design.md for the format and the lint, and the optional grader calls the Claude CLI. Nothing else, and nothing of anyone else I did not credit. The loop is the part I added, and it is the part that keeps RSLVD looking like one company.

// working on something ghost should see?

Get in touch.

Share what you are building, and we can see if there is an opportunity to discuss further.

dave@rslvd.ai
Ghost / private build / running in the field / public home coming soon...
© 2026 RSLVD, LLCOperate with full control.