Mistral agents migrate 40,000 Fortran lines
Mistral has detailed how it migrated 40,000 lines of Fortran 77 to C++ for a European energy operator, a case study whose main finding is that fully autonomous agents failed twice before a human-supervised workflow succeeded.
Mistral has published an engineering case study describing how it helped an unnamed European energy operator migrate a physics-intensive reservoir simulator — 40,000 lines of Fortran 77, with no test suite and no centralized documentation — to C++.
The write-up's substance is methodological. Before migrating anything, the team built a parity harness: subroutines to export state from the Fortran code, a C++ test framework to load those checkpoints, and Skill.md files instructing agents how to use them. "Agreement" was defined as numerical equality on final outputs and on intermediate points flagged by the client's reservoir engineers. Mistral argues this should be the first step in any modernization engagement, since numerical parity is cheap to verify and hard to argue with.
Documentation was handled separately: a custom parser generated the program's caller-callee tree, then Vibe CLI spawned over a hundred agents to document it from the leaves upward, pulling in scattered PDFs via Mistral OCR and opening PRs. A reviewer agent ran on a cron schedule to review new PRs and schedule fixes.
Notably, Mistral says full agent autonomy failed twice. A first pass — one agent per subroutine, running for a week — produced working code that was "Fortran retyped in C++ syntax": COMMON blocks became global structs one-to-one, GOTO control flow survived intact. A second pass added planner, coder, tester and reviewer roles; quality improved, but agents stalled on bugs with no one to intervene. The workflow that shipped put a human in the loop, migrating module by module.
The post names no client, timeline, cost, or new model.