Two reverts, one cause, stop

· Json Knepper

When I send AI builders across a batch of client sites, each change gets checked. If the check fails, the change is reverted and the site goes back to how it was. That part works. The expensive part is what happens after the second revert.

The week it cost me

I ran a pass to fix buttons across a set of sites. The first round reverted seven sites, and all seven failed for one reason. The brief told the builder which button to fix by its label. So the builder edited a style rule that another rule was already overriding. The change went in, the page didn’t move, and the measurement came back the same. Seven times.

I fixed the brief and ran a second round. It produced six reverts, and four of them were the same gap again. This time the rule that actually controlled the button lived in a place the builder was told not to touch. So the builder did the right thing. It wrote SKIPPED and moved on to the next site, where it hit the same wall and wrote SKIPPED again. Every one of those runs cost full price.

The builder wasn’t failing. I was. I’d given it a wall it couldn’t move and kept sending it back to the wall.

The rule

Two reverts with one cause stop the run.

After the second one, nobody tries a third site. The gap gets written up and handed to me as a decision: open up the forbidden file, change the approach, or drop the fix. A person makes that call, because it’s a judgment about scope, and more attempts won’t produce it.

There’s a sibling rule that runs underneath it. Two failed guesses means stop guessing. Go get the ground truth instead, whether that’s the error the system actually returned, the live page as it actually renders, or a measurement of the real element. Never a third guess.

Why two

One revert is information. Something was wrong with that site, or that change, or the check. It’s worth looking at and it’s cheap.

Two reverts with the same cause is a pattern. By then the cause isn’t in the site. It’s in the brief or the rules around it, and every run after that is paying to prove something you already know.

I don’t wait for three. Three is where you’ve stopped learning and started hoping.

What changed in the briefs

The first round taught me a second rule. A brief now carries the exact address of the thing to fix: the winning style rule, the screen size it applies at, and the file that owns it. If a failure was measured, the brief quotes the measurement word for word. A brief that names the symptom instead of the address gets sent back before it runs.

I also write a line in a lessons file after any correction or reverted run, dated, saying what broke and what the rule is now. Builders read that file before they start. So the next run begins with the last one’s mistake already known.

What it means for a client

You don’t see any of this, and that’s the point. What you see is that a change to your site either lands and is checked, or it doesn’t land. Nothing half-applied stays up.

And when something can’t be done cleanly inside the rules I set, I come back with a question instead of a pile of attempts. It usually sounds like “this needs a change in a place I’d normally leave alone, do you want it?” That’s a better use of your time and mine than a builder hitting the same wall at your expense.

Prefer us on Google If you read us often, tell Google to show our pages first.