The builder
Legacy software debt at its purest, and at national scale. The core systems of a benefits agency: some sixty million lines of COBOL, written across decades by people long gone, carrying the logic that issues identifiers and pays tens of millions of people every month. Documentation partial, knowledge lossy, every change riskier than it looks. Every leader who inherits it schedules the modernization conversation and then tables it, because the path is unclear and the cost of being wrong is enormous.
In your terms: the software your business runs on that nobody currently on the team fully understands. Then a new team arrives, small, with a mandate for speed and a tool that can translate code.
What the AI made easy
Translation. Hand a model a COBOL program and get back a modern-language program that compiles. Across sixty million lines that is, on paper, the difference between a decade and a quarter. The plan that surfaced in March 2025 was to move the whole estate to a modern language within months, with generative AI assumed to carry the translation, and to set aside the agency's existing multi-year, incremental modernization plan to do it.
What the record holds is not an outage. It is two letters from legislators, in June 2025 and again in June 2026, naming what was at stake: interrupted payments to more than sixty million people, mass loss of wage histories, compromised identifiers, damage to the other programs that read this data, and a rewrite carried out on a timeline that could only be met by skipping the steps that catch mistakes. As of this writing there is no public outcome. The system is still paying people.
That is the shape of a legacy rewrite as a decision rather than a disaster. Nothing has gone wrong, the pressure to move fast is real and partly right, and the person who would answer for the first wrong payment has not yet been named.
The check
Every resource runs the same three rows. Founder judgement decides the first. Engineering judgement decides the third. Observation connects them.
| Row | Verdict | Evidence |
|---|---|---|
| Originated itShould this exist, in this form? | at-stake | Should this exist in this form? A whole-estate rewrite in months is one form. A slice-by-slice replacement over years, the plan that was set aside, is another. The choice of form is the founder-judgement question here, and speed was answering it. |
| Observed itWas anyone reading the work while the AI produced it? | at-stake | Who reads sixty million lines of translation? A model's output is a claim. The known failure in this class is a field that means one thing in the old language and is read as another in the new one, and the first real transaction corrupting the record. Nobody can read that at this volume; it has to be proven some other way. |
| Answered for itWill it hold, and who stands behind it when it ships? | at-stake | The commissioner answers to the recipients. Which engineer answers for which subsystem, and can explain the translated code in their own words, was not part of the plan as reported. |
On the table, the flaws are what a months-long timeline makes easy to skip:
- Translation mistaken for understanding. Code that compiles in the new language is not code that behaves like the old one. The business rules that matter most are the undocumented ones, and a translator reproduces them without knowing they are there.
- The rewrite that replaces the plan instead of the code. An incremental plan was set aside for a whole-estate rewrite. The big bang is the form that has failed most often, and the tool makes it look affordable again.
- Speed as the specification. When the timeline is the requirement, every step that verifies becomes a step that delays, and the ones that get skipped are exactly the ones that catch the mistranslated field.
- No parallel run. A rewrite of a system that pays people has one honest test: run both, compare every output, for a full cycle. A months-long plan has no room for the months that takes.
What judgement would have decided
What an experienced builder would insist on before the first translated line reached a payment run:
- EngineeringRebuild comprehension before rebuilding code. Agents are extraordinary at reading a legacy estate and producing a map: what depends on what, where a rule lives, what a field means. That map, verified by the few people who still hold pieces of it, is the first deliverable, and it is worth having even if nothing is ever rewritten.Costs: months that look, from outside, like nothing shipped.
- FounderChoose the form: strangle it, don't replace it. Translate one subsystem, route real traffic through it beside the old one, retire the old one when the new one has earned it. Repeat. The decision that this is the form is a leadership decision, and it costs the headline.Costs: the headline, and a timeline in years that has to be defended every quarter.
- EngineeringMake the translation prove itself against the old system, not against itself. Tests generated from the behavior of the existing code, on real historical inputs, run against the translated code. A test suite the model writes from its own output proves only that the output agrees with itself.Costs: test generation as its own project, before the rewrite.
- EngineeringRun both, compare everything, for a full cycle. Every payment the new system would make, computed beside the one the old system does make, diffed to the cent, for at least one complete monthly cycle before a single real payment moves.Costs: double running, and the months the mandate does not want to hear about.
- EngineeringA named answerer per subsystem. Someone who can explain each translated subsystem without the assistant, and who signs before it takes traffic. If no one can, it is not ready, whatever the calendar says.Costs: people, and a person's name on every cutover.
Where the fast path was right
The agents. Reading sixty million lines to build a map of them, and translating one slice at a time with the old system running beside it, were not affordable before this tooling existed. The strangler pattern was always the right form; the AI is what finally makes it cheap enough to choose. The pressure to move was not wrong either. Decades of tabling the conversation is its own failure.
The moves relocate the risk from the payment run to the parallel run and the people reading it. That is the trade: a rewrite that takes years instead of months and needs named people on every slice, in exchange for never finding out about the mistranslated field from the people who did not get paid.
On the public record, March 2025, names removed. Written with AI assistance; the judgement is mine. — Clay