What Mistral learned migrating 40,000 lines of Fortran with agents
Mistral has written up a real legacy migration, and the interesting part is where the fully automated version failed. Working with a European energy operator, the team moved a physics-heavy reservoir simulator, about 40,000 lines of Fortran 77, into modern C++. Before touching the code they built a parity harness: a numerical test that runs the old and new versions side by side and checks that the outputs match, which gives a migration a definition of "correct" that does not depend on reading the original code.
To understand what they were migrating, they ran more than 100 agents through Mistral's Vibe CLI to reconstruct a caller-callee tree and document logic that was scattered across old files and PDFs. The migration itself used a set of agents with fixed roles, a planner, a coder, a tester, and a reviewer, moving one module at a time with a person supervising. Their honest finding: letting agents run fully autonomously produced code that worked but was hard to maintain, essentially Fortran habits like COMMON blocks and GOTO written in C++ syntax. The hybrid setup, a human driving a loop of specialized agents, gave the best result. The write-up has the workflow detail.
Why it matters
If you are staring at an old Fortran or COBOL system, the lesson is practical: build the parity harness first and keep a human in the loop. Full autonomy will give you code that passes today's tests and that no one can maintain next year.