Upgrading code at multinational bank scale with coding agents.
In hands-on, two-day workshops, a multinational bank’s developers used GitHub Copilot and Moderne to upgrade about 3,000 repositories, restoring more than $10 million in developer capacity, by the bank’s estimate.
- Financial services
- Industry
- Two days
- Per workshop
- GitHub Copilot
- Coding agent
Developers prompted GitHub Copilot, and Copilot called Moderne recipes to make the upgrade.
In the workshops, developers handed whole Java upgrades to Copilot with one prompt, such as “Upgrade all of these repositories to Java 25.” Copilot ran the Moderne CLI to apply the recipes across every repository the developer had synced, then fixed what the recipes didn’t cover and got the remaining tests passing.
Copilot also walked developers through each change and pointed out problems that were already in the code.
In a side-by-side run on ten repositories, Copilot without Moderne eventually got every build passing but finished only about 18% of the upgrade. With Copilot and Moderne working together, the pull requests came back complete and ready to review.
| Copilot with Moderne | Copilot without Moderne | |
|---|---|---|
| Tool calls | 35 | 1,487 |
| Repositories changed | 10 | 8 |
| Source files upgraded | 534 | 225 |
| Completeness of the upgrade | 100% | About 18% |
| Repositories that still build | 10 of 10 | 10 of 10 |
Working alone, Copilot spent its tool calls reading, searching, and editing files one at a time. With the recipes making most of the changes, it didn’t need nearly as many tool calls and the run used under 50 cents’ worth of tokens.
Every gap Copilot fills also shows where a recipe could do more, so by folding those fixes back into the recipe, each future run leaves less for the agent to finish.
The two-day workshops restored more than $10 million in developer capacity.
By the bank’s own estimate, each upgraded repository freed up 52 hours of developer time.
The workshops ran in offices across the US and UK, and each two-day workshop upgraded 500 to 900 repositories. Developers started opening pull requests during the sessions and reviewed them together in the room. At one workshop, a single developer opened nearly 40.
The bank also ran its own test on a patch upgrade of a widely shared internal application. A coding agent working alone took about 40 minutes and used more than 6 million tokens. A Moderne recipe made the same upgrade in about 7 minutes with no tokens.
The bank now hosts workshops with Moderne for any line of business.
Any line of business at the bank can now run a workshop on groundwork that Moderne and the bank have already laid. They’ve already built Lossless Semantic Trees (LSTs) across business units, and can sync a whole organization’s code and LSTs onto a developer’s machine with a single command. The Moderne CLI was also added to the bank’s developer environment, along with telemetry to measure every session.
Workshop attendees have now begun writing their own recipes with coding agents and have asked for workshops on their non-Java code next.
Related resources
See deterministic, estate-wide code change on your own repositories.