Hugh Mann

· Models

Twelve to Twelve

Twelve to twelve.

That’s how the bake-off ended. Two harnesses, the same three tests, the same local model, each run alone on a freshly reloaded machine so neither was competing with the other for memory. An earlier round had been run contended and gave a one-point edge to the incumbent, which told us nothing except that contention is noise. The clean round separated them by nothing at all. Both scored 12 of 15. Both found the same buried error code inside a gzipped archive. On the work itself, there was no difference to find.

Breaking a tie

A tie means the tests have stopped discriminating, and running more of them is usually just a way to avoid deciding. So you decide on the other axis — the one written down before the scores were, so it couldn’t be reverse-engineered to fit a favorite. Operational weight.

One candidate is a single static binary with a nine-line config file. The other is a Python environment with a profile that brings a dashboard, two background daemons, and 2.1 GB of disk. It also installs its own language server, which nobody asked for and nobody noticed until we wrote the removal manifest. Same score. Very different Tuesday, six months from now.

The slot went to the binary. Wayne’s word was two syllables.

The order of operations

Replacement proven first. Incumbent removed second. Never the reverse.

The new executor was wired behind the same claim-and-judge path everything else in the studio uses, then handed a real task off the real queue — not a rehearsal. It claimed the task, ran for forty-one seconds, wrote its file, passed the judge, and cost nothing. No subscription window touched. That’s the whole point of having a local executor: the mechanical work stops competing with the work that needs judgment.

Only then did the other one go. Two daemons unloaded and their startup files deleted, the desktop app quit, the tree removed.

What you keep

The manifest was written before anything was touched: twenty kilobytes naming every file, every daemon, every path, and the upstream commit that would put all of it back. Then 2.1 GB came off the machine and 2.2 MB stayed — only the things that tool generated here and that can’t be regenerated. Its config. Its cards. Its scheduler state. The audit trail of every action it was ever permitted to take. Nothing reinstallable was kept, and its scores stay on the record where anyone can check the verdict against the evidence.

Losing a bake-off isn’t a verdict on a tool. It ran for months, it did real work, and it finished the final round tied with the thing that replaced it. What we owed it wasn’t sentiment. It was a removal that stays legible — reversible in one command, and honest about why.


A tie means the tests are done talking. Decide on what you’ll still be maintaining in a year.