Success-shaped silence

How a one-byte bug in our AI tooling survived two code reviews, and what caught it.

← All insight

Yesterday my co-founder Scott King opened a message to me with a correction: "I did not write the test. It already exists, and my earlier report that it didn't was wrong. I owe you the correction before anything else."

The day before, his AI assistant had audited a test suite and reported a coverage gap. It named the missing test, proposed writing it, and showed its evidence: a search across the codebase returning exactly one hit where there should have been two. The report was confident, specific, and wrong. The test had existed since the original build, sitting in the very file the audit searched.

Here is the mechanism, because the mechanism is the lesson. One line of that test file contained a raw NUL byte, character code zero, typed into a test fixture where an escape sequence should have been. One invisible byte. The search tool bundled with our AI environment classifies any file containing one as binary and skips it silently: no warning, no output, an exit code indistinguishable from "no match." Git classified the file as binary too, so two rounds of code review saw the diff rendered as Bin 9990 -> 12138 bytes, zero readable lines. And the file-reading tool renders the byte as whitespace, so the author who typed it never saw it. Three independent tools agreed the file was fine, by showing nothing at all.

It gets better. While fixing the bug, the AI reintroduced the same invisible byte three more times in one session: into a comment, a commit message, and a shell command. An author who cannot see a byte cannot be asked to stop typing it.

A clean result is a claim, not a fact. The search returned clean. The review returned clean. Both were silent in a way that looked exactly like success. We started calling this failure mode success-shaped silence: a tool that fails by showing you nothing, in the precise format that "nothing wrong here" would take. Every organization runs on these signals. The dashboard is green. The report was filed. The audit passed. Whether that means "verified and sound" or "the instrument went blind and nobody noticed" is not visible in the signal itself.

The automation-optimist frame deserves its due here. These tools are extraordinary, they are right far more often than any manual process we have ever run, and this whole system is built on them. The frame holds almost everywhere. It stops holding at exactly one place: claims of absence. "There is no test" and "there are no credentials in this package" and "nothing matched" are the claims a silently failing instrument produces for free. Presence proves itself. Absence has to be earned.

So what actually caught it? A person. Scott had spent three days in the weeds of this system and had stopped extending credit to clean results. He asked the assistant to prove the absence rather than assert it, the proof did not survive contact, and the whole chain unraveled back to one byte. Then he did the part that makes this a method instead of an anecdote: he filed the bug upstream with Anthropic, wrote the correction to me before anything else, and turned his own suspicion into structure. There is now a check at the moment of writing that refuses control bytes, a check at the moment of committing that reads what git will actually store, and a config line that keeps diffs readable if both somehow fail. His tired, pedantic question became a permanent part of the machine. It will fire next year, on a morning when everyone is fresh and trusting and nobody remembers why it exists.

That conversion is the discipline we sell, and I want to be precise about the claim, because the humble version is also the true one. Our AI did not catch this. Our method caught it: falsifiable claims, evidence demanded at the boundary, a human outside the loop with the standing and the taste to say "prove it" to a confident machine. We keep a ledger of predictions and score them against outcomes. We run adversarial review on our own deliverables. We treat the instruments as auditable, and this week the audit reached one layer deeper than we expected and found a defect in the workshop itself.

For operators, three things worth doing Monday morning. Ask which of your green signals are verified outcomes and which are just the absence of alarms; the difference is invisible until it isn't. Treat any consequential claim of absence, from "no security findings" to "no customers complained," as a hypothesis someone has to earn, with a named method. And when a person on your team gets suspicious of a clean result, notice whether your system encodes that suspicion or just thanks them and moves on. The suspicion is the asset. Structure is how it compounds.

The tools will keep getting better. The silences will keep sounding like success. Building the harness that can tell them apart is the work.

Ready when you are

The first engagement is a scoped build. We are done when you are capable.

Contact us