Essay

Build the Kill Switch Before You Build the Feature

Published 2026-09-04 · 4 min read

Two prompt changes went into my content system. Both were reasonable. One tightened how drafts framed outcomes, the other sharpened opening hooks. Both were applied automatically, measured against live output, and reverted automatically. Neither moved the number it was supposed to move.

That was one of the more valuable results the system has produced.

The part of an AI system worth building is not the part that does the work. It is the part that can tell you the work did not help, and undo it without asking you first. Generation is commodity now. Anyone can wire a model to a task in an afternoon. What almost nobody builds is the layer that grades the result, compares it to what came before, and throws away the changes that did nothing. That layer is where the time and money actually come back.

Kill Switch

Kill switch. A gate with the authority to reject work that has already been done, including work you were excited about, without a human signing off on the rejection.

Most people build the opposite. They build the generator, admire the output, and leave the judging to themselves. That feels fine for a week. Then the system runs a few hundred times a day, and you are the QA department for a machine that produces faster than you can read.

The asymmetry is what gets people. Building the capability is visible and satisfying. Building the gate is invisible, and when it works, its output is mostly the word “no.” There is no demo in that. There is just a system that stops quietly degrading while you are looking somewhere else.

Vibes As QA

Before I had a gate, prompt edits were vibes. Read a bad draft, tweak a paragraph of the system prompt, read the next draft, feel better, move on. No baseline, no measurement window, no revert trigger. Most of those edits do nothing. I was wrong about my own more often than I expected to be, and I had been doing this for years.

The mechanics of fixing that are boring, which is why they port to whatever stack you run:

  • Stamp every output with the version of the prompt that produced it.
  • Hold a measurement window after a change lands. Mine wants three scored outputs before it will call anything.
  • Score with a judge that is separate from the generator, so neither can rubber-stamp the other.
  • Revert automatically when the number does not move, and commit the reason with the rollback.

One detail took me a second pass to catch: the judge drifts on its own, by about as much as the effect you are trying to measure. Across 190 graded artifacts over three months, my grader’s own scoring rose a quarter to a third of a point per axis and its pass rate went from 61% to 82%, with no improvement in the work. The threshold that decides whether a change survives is half a point. So “the grader got more generous” and “the writing got better” produce identical data, and a measured lift can be entirely ambient. The fix is an anchor: a frozen set of artifacts you re-grade on the same schedule, where any movement is pure drift.

Checks Are Not Gates

Here is where I split from the standard advice, which says adding review steps makes a system safer.

A check that has never rejected anything is not a safety measure. It is a cost. It burns tokens, adds latency, produces a green tick, and trains you to trust a signal carrying no information. Every AI system I audit has three or four of these. They looked prudent on day one and now they generate noise everybody has learned to scroll past.

The test is simple: when did this check last reject something, and what happened next? If the answer is “never,” it is decoration. If the answer is “constantly, and we override it,” that is worse, because you have taught your team that overriding gates is normal.

A real gate can kill your work. That is the whole property. Anything else is a progress bar.

Where To Start

Pick one gate in your system and ask when it last rejected something. If you cannot answer from a log, you do not have a gate. You have a progress bar.

That question, asked across a whole stack, is what the Agent Readiness Audit does. It goes looking for the controls that quietly stopped controlling anything, and tells you which ones are load-bearing and which are decoration.