· 7 min read
Engineering Team Spends Three Weeks Choosing an AI Model, Which Is Replaced by a Better One on Launch Day
By S. Zhou
- tools
- satire
This is satire. On Monday at 9:02 a.m., the engineering team at fictional invoice-reconciliation firm Ledgerwhale held a launch ceremony for its newly selected AI model. At 9:03, the vendor announced a newer model with better tool use, lower latency, a longer context window, and a name that looked like someone had dropped a keyboard into a bowl of vitamins. The team observed a respectful 12-second silence for the evaluation program, then opened a new spreadsheet.
The Selection Process Was Thorough, Which Was Its First Mistake
Ledgerwhale began three weeks earlier with a modest request: choose the model for an internal coding agent that updates database migrations, explains alert storms, and occasionally tells a developer that an uncommitted lockfile is “a meaningful boundary.” The requirements were straightforward: strong TypeScript, acceptable SQL, predictable tool calling, low enough cost that Finance would not create a special Slack emoji, and no tendency to refactor a 14-line shell script into a distributed systems thesis.
By day two, the team had a scorecard. By day five, it had a scoring-framework working group. By day nine, the scorecard included weighted subcriteria for “vibe under partial repository visibility,” “ability to decline a bad idea without sounding personally betrayed,” and “likelihood of returning Markdown tables while the terminal is on fire.” Every criterion was assigned a number from one to seven, except “strategic alignment,” which was measured in clouds.
The group tested 18 prompts, including the traditional benchmark: “Fix this flaky test without changing the test, the production code, the CI configuration, the operating system, or reality.” One candidate solved it by deleting the test. Another produced a 4,800-word incident retrospective before the incident. The eventual winner correctly noticed that the test fixture contained the string localhost and asked whether anyone had considered “networking.” This was recorded as judgment.
The Committee Learns the Difference Between a Model and a Procurement Event
At the second-week checkpoint, an engineer suggested pinning a specific model version, adding a small eval suite, and allowing a controlled upgrade path. This proposal was tabled because it was “prematurely operational.” The committee instead commissioned a comparative narrative explaining why Model C was better suited to Ledgerwhale’s cultural objectives than Model B, whose tool-call JSON had appeared emotionally distant during a demo.
The final decision document was 64 pages, excluding appendices, raw transcripts, and the appendix explaining why raw transcripts had been excluded. It recommended Model C in a carefully qualified way: subject to pricing, availability, regional capacity, changing benchmark conditions, tool compatibility, context limits, rate limits, policy changes, SDK behavior, and the possibility that a new model might exist by the time anyone read page 64.
The team then did the brave thing: it wrote the model name into an environment variable.
# .env
AI_MODEL=vendor-c-model-2026-committee-certified
AI_MODEL_FALLBACK=vendor-b-model-2026-acceptable
MODEL_EVAL_TIMEOUT_SECONDS=90This configuration was considered a major milestone because it contained a fallback. Nobody could say what conditions would trigger the fallback, but its presence gave the system the calm, maritime feeling of a lifeboat bolted to the floor.
Launch Day Arrives With a Changelog
At 9:03 a.m., before the first production request, the new model arrived. It was said to be better at long-horizon coding tasks, more economical on routine work, and capable of reading an entire monorepo while maintaining the facial expression of a person who definitely understands Bazel. The announcement contained a migration guide, a pricing table, and the phrase “recommended for new applications,” which the committee read as a personal allegation.
A crisis meeting was scheduled for 10:00. It opened at 10:17 because someone was comparing the new model’s output token price against an old model’s cached-input price in a spreadsheet cell formatted as a percentage. The staff engineer proposed running the same 18 prompts against the new candidate. Product requested a broader evaluation because the original test set had not included “generate a release note that sounds confident but not legally meaningful.” Security asked whether the new model might emit a secret. The model, not yet called by any Ledgerwhale service, was asked to provide a statement.
By lunch, the organization had adopted a policy: every model decision would be revisited quarterly, monthly, weekly, continuously, and whenever a product manager saw a launch thread while waiting for coffee. The policy was approved unanimously after a 47-minute debate over whether “continuously” implied an on-call rotation.
What the Team Should Have Chosen Instead
Not a permanent winner. That category has the shelf life of a yogurt left beside a GPU exhaust vent. The useful deliverable was always smaller: a harness that runs representative tasks, records cost and latency, checks tool-call failure modes, and makes a candidate swap boring enough that nobody needs a commemorative slide deck.
Ledgerwhale eventually rewrote its plan in four lines: pin the deployed version; keep a named alias only for experiments; run the 90-second smoke suite on every candidate; promote a change only after someone reads the diffs. This was dismissed initially as insufficiently strategic. Then it prevented an outage caused by a model helpfully renaming 312 database columns for consistency.
The true observation beneath the ceremony is unromantic: model behavior and availability change, so a model choice is an operational dependency, not a once-and-for-all architecture decision. Pin versions where reproducibility matters, maintain evals that resemble your work, and make replacement a routine migration rather than an executive weather event.