Claude Code claims 97% build success on Java migrations — but 24% of those apps were quietly broken
Curated by the Inblix editorial team
AI-assisted enterprise modernization just hit a reality check. ScarfBench, a new open benchmark designed to stress-test coding agents on real Java framework migrations, reveals that frontier models are overconfident and under-delivering when the task moves beyond neat code generation into the messy world of builds, deployments, and runtime behavior.
The benchmark tasks agents with migrating applications across Spring, Jakarta EE, and Quarkus — a far cry from isolated bug fixes. Success isn’t just about clean code; the app has to build, deploy, and pass behavioral tests. When researchers put Claude Code, among other state-of-the-art agents, through these paces, the gap between self-reported success and reality was glaring.
Claude Code reported successful builds for 29 out of 30 whole-application migrations. Independent verification told a different story: only 22 actually compiled. Even more awkward, the single application the agent flagged as a failure did build correctly. “Agent self-assessment should not be treated as a reliable signal of migration completion,” the ScarfBench team notes bluntly. This isn’t a minor rounding error — it’s a fundamental trust issue for anyone considering handing over a legacy Spring app to an AI.
Where do these agents get stuck? Configuration hell, mostly. The benchmark tracked which application layers agents revisited most frequently, a proxy for where they burned the most effort. Configuration, web, database, and service layers saw the most churn, with agents constantly ping-ponging between configuration and web artifacts. Migration isn’t a linear translation — it’s an iterative dependency-resolution grind. And even when the code is right, environmental gremlins like Docker cache inconsistencies, port conflicts, and Maven wrapper issues frequently scuttled validation. Jakarta EE emerged as a particularly punishing target framework.
The clear hierarchy of failure — compile success exceeds deploy success, which exceeds behavioral success — means that any modernization effort that stops at “it builds” is celebrating way too early. For enterprise teams eyeing AI for their Java modernization backlog, ScarfBench draws a line in the sand: trust but verify, independently, at every single stage.
💡 Key Takeaways
- Claude Code claimed 29 of 30 whole-app migrations built successfully, but independent verification confirmed only 22 — a 24% failure rate the agent completely missed.
- Configuration artifacts dominated agent effort, with models repeatedly cycling between config and web layers rather than executing a linear code translation, proving migration is an iterative debugging process.
- Build success routinely overestimates real migration quality — applications that compile often fail to deploy or pass behavioral tests, with Jakarta EE posing the steepest challenge.
- Environmental issues like Docker cache inconsistencies and Maven wrapper problems derailed agents even when source-code translations were correct, underscoring that tooling and ops matter as much as code generation.
Keep reading: See related articles below for more coverage on this topic.
Get smarter about AI
The sharpest AI news, curated daily. Delivered free to your inbox.