Currently Shipping AI into a real-estate acquisitions workflow Location San Mateo, CA Updated 2026-07-30
N° 012 / Writing / AI / Aug 10, 2026 / 1 min read

Two copies of one behavior will drift apart

My analysis scripts exist twice — a Windows version and a Mac twin. A bug fixed in one stayed alive in the other for seven months.

My deal-analysis skills drive Excel, and Excel automation differs enough between Windows and Mac that each script exists twice: a Windows version and a Mac twin that produce the same workbook through different plumbing. Twins sound tidy. In practice, two implementations of one behavior are a promise that they’ll stay identical — and for a long time, nobody was checking the promise.

This month I found a bug in one twin that had been fixed in the other seven months earlier. The fix was real, documented, tested — on one side. Nobody carried it across, because back then the other twin wasn’t the one misbehaving. The stale copy only surfaced when a deal re-ran a workbook it had already built once and crashed. Re-running an already-finished analysis is exactly the path no routine test exercises, so the bug got seven quiet months.

There was a smaller, dumber version of the same thing in the same stretch: the twins share a naming convention for their common functions, and one referenced a shared function under the other twin’s prefix. It worked in every test that didn’t touch that corner, and failed in the one that did.

Two changes since. A fix in either twin now includes, in the same sitting, a sweep across every sibling script for the same shape of mistake — not the same line, the same pattern. And I’m partway through a set of conformance checks that run both twins over the same small fixture workbooks and compare the outputs cell by cell, so “the twins agree” becomes a test result instead of a belief.

The underwriting version of this is familiar: two analysts each maintaining their own copy of the same model will diverge, silently, until the day a deal lands on the difference. I knew that about people. I keep having to relearn it about code.

End · ~309 words Filed August 10, 2026
§ Continue reading All posts →
  1. 016 Deployed is not redeployable Aug 22, 2026 · AI
  2. 015 The deploy was live. My browser was running last week's code. Aug 19, 2026 · AI
  3. 014 The container ran fine. The folder it read was empty. Aug 16, 2026 · AI