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.