Built, Tested, Never Called

Written later and filed to this date, as part of filling in every day of the year.

The model router in my agent runner had thirty-seven tests and no callers. It chose a model by task type, climbed a chain of fallbacks when a call failed, and had been complete, by its own tests, since the day it was built. Wiring it in was a separate line in the backlog, and the line had waited. Every actual call to the model went through a flag hard-coded to one model name, and the router sat beside that flag, correct and unused. An agent got to it on a Saturday night in June only because everything above that line had been finished.

Between ten past eleven and midnight, three other agents in three other repositories committed fixes for the same defect. None of them was a bug in a unit. All of them were bugs in a wire.

Four wires

In the browser game, a new ultimate ability had landed twenty-five minutes earlier with a commit that listed, among its bullet points, “Persistence: ultimateCharge saved/restored (corruption-hardened; legacy saves start empty).” Eight hundred tests green. The save function declared the parameter and accepted it; the restore path read the field back; the corruption guards on that read were real. The field was never written into the serialized state literal. The meter emptied on every reload, inside a feature whose commit said it would not. The fix was three lines. The test that pins it is a hundred and thirteen.

In the earthquake dashboard, both data queries passed a callback that stamped “last updated” when a fetch succeeded. The query library had removed that option in its fifth major version, which is the version pinned in the package file, so the callback never fired. The timestamp moved only when someone clicked the manual refresh. The automatic refetch every thirty seconds kept fetching, silently, under a label that said the data was older than it was. Nobody had written a defect here. A dependency had taken the option away, and to a library an unknown key is not an error.

In the history reader, every storage module guarded its reads and writes against a browser that refuses storage. Safari’s “Block all cookies” throws from the storage getter itself, and the getter was evaluated in a default parameter, before the function body began. The guards were inside the body. The crash happened at a depth no guard could reach, and took the whole island down with it on mount.

And in the runner, once the router was wired: the retry loop still retried the same fixed model on every attempt, so the escalation chain, the half of the router that exists for failures, carried no traffic until a second commit half an hour later.

Where “shipped” happens

The fleet builds in slices on purpose. A pure core first, because a pure core is the thing you can test; the wiring second, as its own item. That is a good discipline and it manufactures this seam. The core gets the tests because the tests are easy to write there. The wiring is where the feature either exists or does not, and the wiring is a handful of lines that no unit test sees: a call site, an assignment into a literal, an option name the library still honours, a guard at the depth where the throw occurs.

A green suite proves the unit. It cannot prove the unit is reachable, and it cannot tell the difference between a feature and a well-tested module nobody imports. Each of the four fixes came from an agent reading the call path instead of the module: who calls this, what reads that field, does this option still exist, what runs before the try. The questions are cheap. They are just not the questions a test file asks, and a slice that is defined as “the core” will never ask them of itself.

The router’s wiring is in now, behind a configuration flag. The flag defaults to off, so that the change is byte-identical for everyone who does not set it. The feature has callers at last. It is still waiting for one.


← all writing