ConceptioArchivearXiv CS
arXiv CSopen access

RoadmapBench: Evaluating Long-Horizon Agentic Software Development Across Version Upgrades

2026 · arxiv_cs
arXiv CS · Papers · License: Open Access · 2026
Open Source ↗Direct PDF ↓
software-architecturesoftware-engineeringtesting
software engineering, software architecture, testing

M AY 18, 2026

R OADMAP B ENCH: Evaluating Long-Horizon Agentic Software Development Across Version Upgrades Xinbo Xu1,2 , Ruihan Yang3 , Haiyang Shen1,2 , Wendong Xu1,4 , Bofei Gao2 , Ruoyu Wu1,2 , Kean Shi1,2 , Weichu Xie2 , Xuanzhong Chen1,5 , Ming Wu6 , Jason Zeng6 , Michael Heinrich6 , Elvis Zhang7 , Liang Chen1† , Kuan Li1† , Baobao Chang2† 1 UniPat AI

2 Peking University

3 Fudan University

4 The University of Hong Kong 5 Tsinghua University 6 0G Labs 7 Pipeline Lab

Coding agents are increasingly deployed in real software development, where a single version iteration requires months of coordinated work across many files. However, most existing benchmarks focus predominantly on single-issue bug fixes from Python repositories, with coarse pass/fail evaluation outcomes, and thus fail to capture long-horizon, multi-target development at real engineering scale. To address this gap, we present R OADMAP B ENCH, a benchmark of 115 long-horizon coding tasks grounded in real open-source version upgrades across 17 repositories and 5 programming languages. Each task places the agent on a source-version code snapshot and provides a multi-target roadmap instruction requiring it to implement the functionality introduced in the target version, with a median modification of 3,700 lines across 51 files. We conduct a systematic evaluation on thirteen frontier models and find that even the strongest, Claude-Opus-4.7, resolves only 39.1% of tasks, while the weakest achieves merely 5.2%, in stark contrast to existing bug-fix benchmarks, suggesting that long-horizon software development remains a largely unsolved problem. Code: https://github.com/UniPat-AI/RoadmapBench Dataset: https://huggingface.co/datasets/UnipatAI/RoadmapBench Leaderboard: https://unipat.ai/benchmarks/RoadmapBench

40% 35%

Resolved Rate

arXiv:2605.15846v1 [cs.SE] 15 May 2026

Abstract

30% 25% 20% 15% 10% 5% 0%

-4.7

pus

Cla

-O ude

Cla

u

Opu de-

.6

s-4

o ro -5.4 -Pr 1-P -V4 GPT i-3. k n i e pSe Gem Dee

-5.1

.6

i-K2

GLM

Kim

M

o

-Pr

2.5

-V imo

lus

Q

-P -3.6 wen

.5

i-K2

Kim

.7 97B M2 .5-3 ax3 M i n e Min Qw

Figure 1: RoadmapBench Leaderboard. Resolved rate of top-performing models evaluated with OpenHands across 115 multi-target software evolution tasks spanning 5 languages and 17 repositories. Even the best-performing model resolves only 39.1% of tasks. † Corresponding authors: [email protected], [email protected], [email protected]

1

Table 1: Comparison with related coding benchmarks. Scope: task granularity. Subtask Score: target-level completion scoring. Solution: oracle patch size (LoC).

1

Benchmark

#Tasks

Lang.

Scope

Subtask Score

Solution

SWE-bench Verified OpenAI (2024) SWE-bench Pro Deng et al. (2025) FeatureBench Zhou et al. (2025) TerminalBench Merrill et al. (2026) SWE-EVO Thai et al. (2025) NL2Repo Ding et al. (2025)

500 1,865 200 89 48 104

Python Multi Python Multi Python Python

Commit Commit Commit Task Version Repo

✗ ✗ ✗ ✗ ✗ ✗

∼33 LOC ∼107 LOC ∼790 LOC ∼280 LOC ∼611 LOC ∼3,000 LOC

ROADMAPBENCH

115

Multi

Version

✓ (avg. 5 targets)

∼3,700 LOC

Introduction

The rapid progress of large language models (LLMs) (Anthropic, 2026a; OpenAI, 2026; Google DeepMind, 2025) has enabled a new generation of coding agents that can plan, edit, execute, and validate software in interactive development environments (Yang et al., 2024; Zhang et al., 2024; Huang et al., 2025; Wang et al., 2025). As these agents move beyond isolated code generation and bug fixing, the central challenge increasingly lies in sustained, multi-target software development. Evaluation is therefore shifting from short-horizon defect repair to long-horizon feature implementation. This raises a critical question: how to evaluate an agent on multi-target, human-scale development work spanning weeks or months? Existing benchmarks have not kept pace with this shift (Table 1). Most current benchmarks remain short-horizon: SWE-bench (Jimenez et al., 2024) and SWE-bench Pro (Deng et al., 2025) evaluate isolated software engineering problems, with oracle solutions of ∼33 and ∼107 lines respectively, one to two orders of magnitude below the scale of real engineering work. Long-horizon attempts remain scarce and collapse each task to a single binary outcome, overlooking the multi-target structure that real version upgrades naturally exhibit, where developers coordinate multiple substantial changes within a single release cycle. Beyond scope and granularity, existing benchmarks remain concentrated in a limited set of heavily reused Python repositories (Liu et al., 2023; Du et al., 2023), compounding contamination risk as popular codebases become more likely to appear in pre-training corpora. To tackle these challenges, we propose R OADMAP B ENCH , a benchmark of 115 long-horizon coding tasks grounded in real open-source version upgrades. Each task starts from a repository snapshot pinned to an earlier release and requires the agent to implement the behaviors introduced in the next release, with a median oracle modification of approximately 3,700 lines across multiple files and modules. We convert each upgrade into a multi-target roadmap with a median of 5 subtasks, specifying what to implement, including API signatures, parameter semantics, default values, and exception behavior, while withholding implementation details. Each subtask is verified by its own test suite and contributes to a weighted overall score, so partial progress is captured as a continuous value rather than a binary outcome. To broaden coverage, we curate 17 repositories across 5 programming languages, spanning data processing, web frameworks, ORMs, serialization, GUI toolkits, and developer tooling, with no overlap with existing benchmarks. To ensure that failures reflect genuine capability gaps rather than benchmark artifacts, we combine static validation with attribution-driven rollout-based quality control to separate task-side defects from model-side limitations and iteratively repair confirmed task issues. We evaluate thirteen frontier models on R OADMAP B ENCH and observe that no model comes close to solving the benchmark. As shown in Figure 1, even the strongest model, Claude-Opus-4.7, resolves only 39.1% of tasks, while the weakest achieves merely 5.2%. By comparison, these systems attain 80%+ scores on SWE-bench Verified (OpenAI, 2024). The Completion Score reveals a consistent pattern: models routinely complete several subtasks before stalling at integration boundaries, offering cleaner separation across capability tiers than binary outcomes alone.

2

In summary, our key contributions are as follows: • We construct R OADMAP B ENCH, a benchmark of 115 real open-source version-upgrade tasks across 17 repositories and 5 programming languages, establishing long-horizon multi-target software development as a distinct evaluation setting. • We develop a construction pipeline that transforms real version upgrades into multi-target tasks, and combines static validation with rollout-based quality control to separate task-side defects from genuine model limitations and iteratively repair confirmed issues. • We evaluate thirteen frontier models and find that resolved rates range from 5.2% to 39.1%, well below performance on existing bug-fix benchmarks, while Completion Score reveals fine-grained capability differences across domains and difficulty tiers beyond binary resolved metrics.

2

Related Work

Coding Agents. LLM-based coding agents have evolved from single-turn code generation systems to interactive software engineering agents operating in realistic development environments(Sapkota et al., 2025; Dong et al., 2025; Starace et al., 2025). OpenHands Wang et al. (2024) provides an open platform for building generalist software development agents, while Terminus 2 Merrill et al. (2026) serves as the reference agent implementation within the Harbor framework for autonomous evaluation in sandboxed environments. Commercial systems such as Claude Code Anthropic (2025) have further brought agentic coding into mainstream software development workflows. As these systems become increasingly capable, there is a growing need for benchmarks that better reflect the complexity of realworld software engineering. Coding Benchmarks for Agents. Coding benchmarks for LLM agents have progressively evolved from function-level synthesis to more realistic software engineering tasks. HumanEval Chen et al. (2021) and MBPP Austin et al. (2021) focus on function-level code generation. The SWE-bench family Jimenez et al. (2024); OpenAI (2024); Deng et al. (2025) extends evaluation to issue resolution and long-horizon engineering tasks in real-world repositories. Later benchmarks broaden evaluation to feature-oriented development and system-level interaction, including FeatureBench Zhou et al. (2026) and TerminalBench Merrill et al. (2026). More recent work explores increasingly open-ended and longhorizon software engineering settings. NL2Repo Ding et al. (2025) evaluates full repository generation from natural language specifications without requiring agents to evolve existing large-scale codebases, while SWE-EVO Thai et al. (2025) studies Python version evolution but derives problem statements directly from release notes without explicit instruction-test alignment validation. Existing benchmarks still primarily evaluate isolated tasks rather than structured long-horizon multi-target software development processes. R OADMAP B ENCH covers 17 repositories across 5 programming languages, where each instance contains around five structured subtasks together with dedicated instruction-test alignment validation. Table 1 summarizes the key differences among existing benchmarks.

3

RoadmapBench

We describe R OADMAP B ENCH across three aspects: the task definition and evaluation protocol (Section 3.1), dataset statistics (Section 3.2), and the construction pipeline (Section 3.3).

3.1

Task Definition

As illustrated in Figure 2, each R OADMAP B ENCH task asks an agent to implement the functionality introduced in a real version upgrade. The agent operates in a Docker environment with the repository pinned at the source version. It is given a multi-target roadmap instruction specifying what to implement: each target corresponds to a distinct unit of new functionality and describes the expected behavioral 3

Hyperparameter Optimization Framework Development Roadmap Overview:A exible hyperparameter optimization framework supporting TPE, GP, CMA-ES, NSGA-II samplers, pluggable storage backends, CLI, and pruning. Goals:Extend constrained optimization and distributed scalability. Add inequality constraint support to GPSampler, introduce a gRPC storage proxy, improve CLI output, and x two bugs. Target 1: GPSampler Constraint Support Extend GPSampler with inequality constraints via constraints_func, using probabilityof-feasibility.

storages/ └──

_grpc/

← new

├── cli.py ├──

study/

└──

pruners/

Modi ed Files:66

tests test_01_gpsampler.py test_02_grpc_storage.py

Requirements

test_03_cli_value_format.py

1. Proto — StorageService with full study/trial RPCs

test_04_bug xes.py test.sh instruction.md task.toml

II. AGENT CODE VERIFICATION Target

Weight

Result

T1

test_01_gpsampler.py

Test File

3

PASS

T2

test_02_grpc_storage.py

3

FAIL

T3

test_03_cli_value_format.py

1

PASS

T4

test_04_bug xes.py

1

PASS

Resolved Acc: 0,Completion Score 0.625

Figure 2: Overview of a R OADMAP B ENCH task. The agent receives a source-version repository snapshot and a roadmap-style instruction, then implements the specified functionality inside a pinned Docker environment. Evaluation is performed via weighted subtask-level tests against behaviors introduced in the target version.

fi

fl

fi

fi

fi

fi

samplers/

├──

solution

Target 2: gRPC Storage Proxy

• GPSampler correctly optimizes under inequality constraints • GrpcStorageProxy & run_grpc_proxy_server importable, pass storage tests • CLI --format value produces correct plain-text output

├──

Docker le

Introduce a gRPC proxy between workers and the database, enabling shared caching and reduced DB load at scale.

Completion Criteria

+4,194 -569

optuna/

repo

solve.sh

3. ......

Workspace Modi cations

environment

changes.patch

2. run_grpc_proxy_server — experimental; default 10 worker threads

fi

OPT-4.2.0-ROADMAP

Requirements

3. ......

LLM-based Agent

Task Workspace (Harbor Structure)

1. Add constraints_func parameter; store constraint values in trial system attributes. 2. Add logpi acquisition function and LOG_PI = 3 enum value.

I. AGENT EXECUTION LOOP

Roadmapbench

requirements. As in real version upgrades, where multiple substantial changes are coordinated within a single release, the targets collectively capture a unified development objective. We evaluate each task along two dimensions. A task is resolved if the agent passes all subtasks, providing a binary measure of complete success. To capture partial progress, we additionally compute a weighted reward: each subtask carries a weight reflecting its implementation complexity, and the reward is the weighted fraction of passed subtasks.

3.2

Dataset Statistics

The current release contains 115 tasks spanning 17 open-source repositories across five programming languages (see Appendix E for details). Oracle patches range from under 300 to over 30,000 lines changed, with a median of approximately 3,700 lines and 51 files touched. Subtask counts range from 3 to 12 with a median of 5, confirming that tasks require sustained multi-target engineering rather than single-function edits. Figure 3 shows the task distribution and oracle patch size across repositories.

3.3

Data Construction Pipeline

The pipeline proceeds in four stages (Figure 4): repository mining, task construction, static validation, and rollout-based quality control. Stage 1: Repository Mining. We aggregate repositories from community-curated open-source project lists across five languages and apply a three-stage filter: (1) a rule-based filter retains repositories with at least 1,000 stars, five or more tagged releases, and continued release activity through 2025; (2) an in-depth search identifies repositories that maintain high-quality release documentation (see examples in Appendix G.1); (3) expert review verifies documentation quality and selects consecutive version pairs with sufficient code changes and feature narratives for task construction. This process yields 17 repositories and 115 version pairs across five languages. Stage 2: Task Construction. Each task is built in a Docker environment pinned to the source version. The git history is preserved but all branches and tags beyond the source release are pruned, preventing the agent from inspecting target-version code through version control. We align source-to-target code 4

Polars (13)

Prisma

Ratatui (6)

Polars

Ruff (3)

Slint

ML

Roadmap Bench Val

Falcon Optuna (8)

Glaze Optuna spaCy

spaCy (5)

& Web

MikroORM Ratatui

Fiber (6)

Diesel (3)

PyG Kitex

Kitex (6)

Prisma (9) MikroORM (10) ML & Data

Fiber Valibot

115 tasks

OR M&

Valibot (3)

PyG (10)

ata &D

Infra & Too l

UI

& Ren

RPC

thread-pool (6)

Glaze (14)

Median = 3714 LOC

thread-pool

Fyne (5) Slint (3)

Web & RPC

ORM & Validator

Diesel

Falcon (5)

Ruff Fyne

Infra & Tool

UI & Render

102

(a) Task distribution by repository and domain

103

104

Lines of Code (LOC)

105

(b) Patch size (LOC) per repository

Figure 3: Dataset overview of R OADMAP B ENCH. (a) Task count per repository (outer ring) grouped by domain (inner ring): ML & Data (36), Web & RPC (17), ORM & Val (25), Infra & Tool (23), UI & Ren (14). (b) Distribution of ground-truth patch size (lines changed) per repository, where the dashed line marks the overall median of 3,714 LOC. diffs with release narratives to identify externally visible behavioral changes and create a multi-target roadmap instruction (instruction.md) specifying what to implement without revealing how. Tests are adapted from upstream suites to preserve behavioral coverage, and a gold patch is extracted from the code diff, refined against the task environment, and validated until it passes the adapted tests. Stage 3: Static Validation. Each task is statically checked along two dimensions: compliance, verifying specification self-containedness, source traceability, and test validity; and target-level correctness, ensuring that every tested behavior for each target is specified and no test relies on unstated assumptions (details in Appendix G.2). Confirmed issues are repaired; the oracle patch is then re-run to ensure the fail-to-pass guarantee remains valid. Stage 4: Rollout-based quality control. Agents from three capability tiers attempt each task; failures are attributed to either task-side defects (missing/ambiguous specifications) or genuine model limitations (incorrect design, buggy implementation). Task-side defects are iteratively repaired and revalidated until cleared. A task is finalized only when it contains no task-side errors, the oracle achieves full reward, and models of different tiers produce distinguishable scores (see Appendix G.3).

4

Experiments

4.1

Evaluation Setup

Models. We evaluate thirteen frontier models: Claude-Opus-4.7 Anthropic (2026b), Claude-Opus4.6 Anthropic (2026a), GPT-5.4 OpenAI (2026), Gemini-3.1-Pro Google DeepMind (2026), DeepSeek-V4Pro DeepSeek-AI (2026), GLM-5.1 GLM-5-Team (2026), Kimi-K2.6 MiniMax (2026a), Mimo-V2.5-Pro XiaoMi (2026), Qwen3.6-Plus Qwen Team (2026a), Kimi-K2.5 Kimi Team (2026), MiniMax-M2.7 MiniMax (2026b), Qwen3.5-397B Qwen Team (2026b), and Seed-2.0-Pro ByteDance Seed Team (2026). These models span multiple commercial API providers and cover a wide range of current capability tiers. Agent scaffold. All tasks are packaged as Harbor Harbor Framework Team (2026) environments and can be evaluated with any Harbor-compatible agent. We use OpenHands Wang et al. (2024) as the

5

Stage 2: Task Construction

Stage 1: Repository Mining

Stage 3: Static Validation

1. Environment Setup Original Repo

Pruning

Repo

CI Con g Dockerization

Docker le

Github Repo Codebase Stars ≥ 1,000 Static Filter

Code Diff

Targets: High-quality Release Documentation

Roadmap

3. Test Adaptation Adapter

Quality Screening

+4,194 -569

Task-Ready Pairs

Target 1

test_01.py

Target 2

test_02.py

Target 3

test_03.py

Target 4

test_04.py

Validate Re ne

Pass

+4,194 -569

Gold Patch

Gold Patch

Code Diff

Testcase

3. Oracle Revalidation

4. Gold Patch Gen Extract

Reliability

Instruction

Filter, Refactor, Augment Adapted Tests Original Tests

Pair Selection

Traceability

2. Target-level Instruction-Test Alignment

Release Doc Change Mapping

Narrative-Enriched Repos

Expert Review

Completenes

2. Instruction Design

Last Release ≥ 2025

Quali ed Candidates

In-depth Search

1. Compliance Validation

+

Test v_old

Pass Pass Pass

Stage 4: Rollout-based Quality Control 2. Task Diagnosis & Re nement

1. Multi-Agent Rollout

Task Agent

Rollout

+

Rollout

+

Rollout

+ Traj

3. Quality Exit Gate

Criterion 1: Zero T-side Error Read

Model Issue

Analyse

Check

Criterion 2: Empirical Solvability Expert Result

Task Issue Task_ xed

Attribution Table

Criterion 3: Effective Discriminability

Fix

Any Failed

All Satis ed

fi

fi

fi

fi

fi

fi

fi

Finished

Figure 4: R OADMAP B ENCH construction pipeline. Repository mining selects task-ready version pairs; task construction aligns release narratives with code diffs to create instructions and tests. Static validation and rollout-based quality control repair task-side defects before benchmark inclusion. primary scaffold for all thirteen models. Each rollout runs inside a pinned Docker environment rooted at the source version. The agent may inspect and modify the repository but has no access to target-version code, test files, or the oracle patch. Future branches and upstream repository access are blocked to prevent information leakage. As an ablation, we additionally evaluate a subset of models under Terminus 2, the reference agent implementation of Harbor. Terminus 2 is designed as a neutral testing platform that runs fully autonomously in sandboxed environments, making it well suited for measuring scaffold sensitivity independent of any production-oriented design choices in OpenHands. Inference configuration. Each task is allocated a 2-hour wall-clock budget. All models are evaluated with extended thinking enabled. For models that support configurable reasoning depth, we set reasoning effort to high for GPT-5.4, Gemini-3.1-Pro, DeepSeek-V4-Pro, and Seed-2.0-Pro, and xhigh for ClaudeOpus-4.7; the remaining models use their default thinking mode. Metrics. For task t with Kt subtasks, each subtask k carries a weight wt,k reflecting its relative complexity and yields a binary pass/fail result rt,k ∈ {0, 1}. We define the per-task weighted reward as K

st =

∑k=t 1 wt,k · rt,k K

∑k=t 1 wt,k

,

We report two primary metrics over N tasks: one for full task completion and one for partial progress. Resolved rate is the fraction of fully completed tasks: RR = N1 ∑t 1[st = 1]. Completion Score averages st 6

Table 2: Main results on R OADMAP B ENCH across 115 tasks, using a single trial per model. Domain columns report resolved rates (%). Task counts are ML & Data (36), Web & RPC (17), ORM & Val. (25), Infra. & Tool. (23), and UI & Ren. (14). Bold and underline denote the best and second-best domain-level results within each scaffold. Overall Model

Resolved Rate by Domain (%)

Resolved Completion Avg. Output ML & Web & ORM & Infra. & UI & (%) Score Turns Tok. (K) Data RPC Val. Tool. Ren. O PEN H ANDS

Claude-Opus-4.7

39.1

0.692

140.2

44

30.6

41.2

32.0

43.5

64.3

Claude-Opus-4.6

32.2

0.627

140.7

42

25.0

29.4

32.0

30.4

57.1

GPT-5.4

29.6

0.497

170.7

93

27.8

17.6

20.0

39.1

50.0

Gemini-3.1-Pro

20.9

0.439

133.4

26

8.3

23.5

24.0

26.1

35.7

DeepSeek-V4-Pro

18.3

0.486

140.2

64

8.3

17.6

24.0

17.4

35.7

GLM-5.1

18.3

0.453

163.2

38

8.3

11.8

28.0

26.1

21.4

Kimi-K2.6

14.8

0.432

158.9

76

5.6

5.9

20.0

21.7

28.6

Mimo-V2.5-Pro

13.9

0.440

155.5

66

8.3

11.8

12.0

21.7

21.4

Qwen3.6-Plus

12.2

0.424

150.3

47

5.6

5.9

12.0

21.7

21.4

Kimi-K2.5

11.3

0.378

110.3

29

0.0

5.9

12.0

17.4

35.7

MiniMax-M2.7

10.4

0.332

123.5

38

5.6

0.0

8.0

26.1

14.3

Qwen3.5-397B

9.6

0.383

110.5

35

0.0

11.8

12.0

13.0

21.4

Seed-2.0-Pro

5.2

0.177

40.1

9

0.0

5.9

8.0

4.3

14.3

T ERMINUS 2 Claude-Opus-4.7

38.3

0.681

59.2

22

27.8

41.2

36.0

43.5

57.1

Claude-Opus-4.6

31.3

0.666

82.7

43

19.4

23.5

36.0

39.1

50.0

GLM-5.1

20.9

0.512

93.8

57

11.1

11.8

32.0

21.7

35.7

Qwen3.6-Plus

16.5

0.508

129.6

64

8.3

11.8

16.0

26.1

28.6

Kimi-K2.6

15.7

0.409

111.7

53

5.6

11.8

28.0

17.4

21.4

DeepSeek-V4-Pro

10.4

0.395

149.2

80

2.8

5.9

12.0

21.7

14.3

Mimo-V2.5-Pro

10.4

0.344

113.7

155

2.8

17.6

8.0

13.0

21.4

Qwen3.5-397B

10.4

0.337

90.1

43

2.8

5.9

12.0

21.7

14.3

Kimi-K2.5

7.8

0.360

90.2

33

0.0

0.0

16.0

17.4

7.1

MiniMax-M2.7

4.3

0.279

126.2

41

0.0

0.0

4.0

13.0

7.1

Seed-2.0-Pro

2.6

0.135

55.9

20

0.0

0.0

12.0

0.0

0.0

to credit partial completions: CS = N1 ∑t st . We also report Avg. turns, the mean number of agent turns per task, and Output Tok., the average output tokens generated per task (in thousands), as indicators of interaction cost and computational effort.

4.2

Main Results

Table 2 reports resolved rate, Completion Score, average turns, and per-domain resolved rates for thirteen frontier models under OpenHands, with Terminus 2 results for a subset of models alongside for comparison. A detailed scaffold sensitivity analysis is provided in §5.4. Overall performance. Current frontier models remain far from solving R OADMAP B ENCH. Under OpenHands, Claude-Opus-4.7 achieves the highest resolved rate at 39.1%, followed by Claude-Opus4.6 at 32.2% and GPT-5.4 at 29.6%. The remaining ten models range from 5.2% to 20.9%, indicating a 7

Claude-Opus-4.7 DeepSeek-V4-Pro GLM-5.1 Kimi-K2.5 Seed-2.0-Pro

avg=134

40% 40%

Cumulative Resolved Rate

35%

Resolved Rate

30% 25% 20%

avg=18%

15% 10%

30%

20%

10%

5% 0%

40

60

80

100

120

Avg. Agent Steps

140

160

180

200

(a) Efficiency Landscape

0%

0

100

200

300

Step Budget

400

(b) Cumulative Resolved Rate by Step Budget

Figure 5: Efficiency and step-budget analysis. (a) Efficiency landscape of resolved rate versus average agent steps. Dashed lines mark fleet means, and shaded ellipses indicate performance tiers. (b) Cumulative resolved rate under increasing per-task step budgets, showing how models convert additional compute into task resolution. substantial gap between the strongest models and the rest. Completion Score highlights that partial progress is common. It is consistently higher than resolved rate across models, showing that agents often complete some roadmap targets before failing to solve the full task. For example, Claude-Opus-4.6 resolves 32.2% of tasks but obtains a Completion Score of 0.627, while Seed-2.0-Pro resolves 5.2% yet reaches 0.177. This suggests that failures often occur after partial progress, when agents stall on later targets, integration, or correctness. Domain difficulty. Performance varies substantially across domains. ML & Data is the most challenging: six of thirteen models resolve no tasks, and only the top three exceed 8%. ORM & Validation is relatively more tractable, likely due to the structured nature of schema migration and validation APIs. UI & Rendering shows the sharpest separation across capability tiers, with Claude-Opus-4.7 reaching 64.3% and Claude-Opus-4.6 reaching 57.1%, while weaker models remain much lower. Web & RPC and Infra. & Tooling fall between these extremes, reflecting intermediate levels of domain structure and integration complexity.

5

Analysis

We decompose performance along six aspects: Step Efficiency and Compute Scaling (§5.1), capturing how much trajectory budget is consumed per resolved task; Tool Composition and Usage Distribution (§5.2), capturing how that budget is allocated across different intents; Task Complexity and Performance (§5.3), examining how complexity affects resolution; Scaffold Sensitivity (§5.4), comparing agent frameworks; Target-Level Analysis (§5.5), stratifying by change type and difficulty; and Failure Mode Analysis (§5.6), characterizing where unsuccessful trajectories break down.

5.1

Step Efficiency and Compute Scaling

To characterize behavioral patterns and step efficiency across models, Figure 5(a) plots average agent steps against resolved rate, with dashed lines marking the fleet averages of 134 steps and 18%. The models separate into distinct regimes. Frontier models, including Claude-Opus-4.7, Claude-Opus-4.6, and GPT-5.4, achieve 30% to 39% resolved rates with moderate to high step budgets. By contrast, models such as GLM-5.1 and Kimi-K2.6 consume comparable or larger budgets but remain near the mid-performance 8

Explore

Edit

Create

Execute

Plan

Seed-2.0-Pro (avg=36)

Think

101

Claude-Opus-4.7 Claude-Opus-4.6 GPT-5.4 Gemini-3.1-Pro DeepSeek-V4-Pro GLM-5.1 Kimi-K2.6 Mimo-V2.5-Pro Qwen3.6-Plus Kimi-K2.5 MiniMax-M2.7 Qwen3.5-397B Seed-2.0-Pro

154

Proportion

149 146 142 105 105 80

100

0.15

0.05

35

Tool Calls per Task

0.20

0.10

118

60

300

0.25 162

40

150

0.30

133 129

20

GPT-5.4 (avg=163)

0.35

140

0

Claude-Opus-4.7 (avg=102)

120

140

160

0.00

180

(a) Tool Composition

0

50

100

200

Number of Tool Calls

250

350

(b) Tool Call Distribution

Figure 6: Tool usage analysis. (a) Tool composition by model, decomposed into six intent categories and sorted by resolved rate. (b) Distribution of per-task tool call counts for three representative models spanning the full performance range: Seed-2.0-Pro (5%), Claude-Opus-4.7 (39%), and GPT-5.4 (30%). Vertical lines indicate mean values. region, indicating lower step efficiency. This contrast is particularly clear for Claude-Opus-4.7 and GLM-5.1, which use similar average budgets, 140 and 163 steps respectively, yet differ by more than 20 percentage points in resolved rate. Seed-2.0-Pro appears as a low-compute, low-performance outlier, suggesting premature termination or limited repository interaction. Figure 5(b) shows the cumulative resolved rate as the per-task step budget increases. Most models saturate within the first 200 steps, after which additional budget provides limited gains. The strongest model, Claude-Opus-4.7, is the main exception, continuing to improve beyond this point and reaching 39.1% at the full budget. Among mid-tier models, DeepSeek-V4-Pro and GLM-5.1 reach similar final resolved rates but follow different scaling trajectories. DeepSeek-V4-Pro plateaus earlier, indicating higher step efficiency, whereas GLM-5.1 requires a larger budget to approach the same level. These trends suggest that additional steps are beneficial only when models can effectively convert longer trajectories into successful edits.

5.2

Tool Composition and Usage Distribution

We classify each tool invocation into six intent-based categories derived from the OpenHands agent’s action space. Explore encompasses file viewing (str_replace_editor view) and shell-based search or inspection commands (e.g., grep, find, cat); Edit covers in-place code modifications (str_replace_ editor str_replace) and shell editing commands; Create captures new file creation (str_replace_ editor create/insert); Execute includes compilation, testing, dependency installation, and other shell executions; Plan corresponds to explicit task planning via the built-in task tracker; and Think represents deliberate reasoning steps. Terminal actions (e.g., task completion) and tool misuse are excluded. As shown in Figure 6(a), Explore, Edit, and Execute dominate tool usage across all models, corresponding to repository inspection, code modification, and validation. The main difference across models is not the amount of tool use, but how tool calls are allocated across the development process. Claude-Opus-4.7 achieves the highest resolved rate with only 101 tool calls per task on average and the lowest Explore ratio at 35%. In contrast, GLM-5.1 and Kimi-K2.6 use substantially more tool calls, but spend over half of them on exploration. This suggests that strong models localize relevant code more efficiently and shift earlier from exploration to targeted editing and execution-based validation. Explicit Plan and Think calls remain sparse for most models, indicating that the observed trajectories are driven mainly by iterative exploration, editing, and execution rather than dedicated reasoning-oriented tool actions. Figure 6(b) compares the per-task tool call distributions of three representative models. Seed-2.0-Pro 9

Claude Opus 4.6

Gemini 3.1 Pro

Kimi K2.5

60%

Resolved Rate

50% 40% 30% 20% 10% 0% 20

21 50

51 100

(a) Files Changed

>100

<1K

1 3K

3 10K

(b) Lines Changed

>10K

4

5

6

(c) Number of Targets

7

Figure 7: Resolved rate vs. three task complexity proxies (binned rate ± 95% Wilson CI). (a) Files changed, (b) lines changed, and (c) number of targets are all strong predictors of task difficulty, with monotonically decreasing resolved rates as complexity increases. uses only 36 tool calls on average and obtains a low resolved rate, suggesting insufficient repository interaction. GPT-5.4 uses 163 tool calls on average, indicating much longer trajectories. Claude-Opus-4.7 reaches the best resolved rate with an intermediate average of 102 tool calls. Overall, these results indicate that task success is better characterized by the allocation of tool use across exploration, editing, planning, and execution than by raw tool-call volume alone.

5.3

Task Complexity and Performance

Resolved rate declines consistently as task complexity increases across all three structural proxies (Figure 7). Files changed (a) shows the clearest model separation: stronger models hold up longer as file count grows, while weaker models fall off early, with Gemini dropping from 43% to 8% across the full range—a steeper decline than Claude’s 48% to 19%. Code volume (b) reveals a more nuanced pattern: on simpler tasks (under 1K lines), Claude and Gemini start at similar levels (∼41%), but Claude maintains a clear advantage through mid-range complexity while Gemini drops sharply in the intermediate bins; at the hardest end (>10K lines), both converge near the floor, suggesting extreme complexity is a ceiling even for the strongest models. Subtask count (c) amplifies this dynamic most dramatically: Kimi-K2.5 collapses to 0% at 7 or more subtasks while Claude still resolves 15%, making it the sharpest discriminator among the three proxies. Together, these results confirm that structural complexity is an effective performance discriminator, with the sharpest separation occurring in the mid-range where model capabilities diverge most.

5.4

Scaffold Sensitivity

Performance varies across scaffolds for most models, but the direction and magnitude differ by capability tier. Three patterns emerge from Table 2. Top models are scaffold-robust. Claude-Opus-4.6 achieves 31.3% on Terminus 2 and 32.2% on OpenHands, a difference of 0.9 percentage points. Mid- and lower-tier models show larger swings of 3 to 10 percentage points across scaffolds. OpenHands yields higher performance for most models. The majority of evaluated models perform better under OpenHands. The gains are largest for DeepSeek-V4-Pro (+7.9 pp) and MiniMax-M2.7 (+6.1 pp). OpenHands provides explicitly typed tool schemas with clear argument names, which reduces the effort required to select and format each tool call correctly. Two models perform better on Terminus 2. GLM-5.1 and Qwen3.6-Plus are the only exceptions, with resolved rates 2.6 pp and 4.3 pp higher on Terminus 2. Terminus 2 requires the agent to batch multiple 10

Claude-Opus-4.7

GPT-5.4

DeepSeek-V4

GLM-5.1

Kimi-K2.5

Doubao-Seed-2.0

Featu re Add

ition

40%

80%

60 Component Creation

20%

60%

Pass Rate (%)

Fea t

ure

Enh

anc em ent

80

40

Beh ge

han

or C

avi

20

0

ix Bug F

(a) By Change Type

Easy

Medium

(b) By Difficulty Level

Hard

Figure 8: Subtask pass rate for six representative models. (a) By change type. (b) By difficulty level. commands into a single structured JSON response per turn, a format these two models handle more effectively than the one-action-per-turn interface of OpenHands.

5.5

Target-Level Analysis

We classify subtasks into five change types: Component Creation, Feature Addition, Feature Enhancement, Behavior Change, and Bug Fix. A clear difficulty gradient emerges: average pass rate rises from 36% (Component Creation) to 64% (Bug Fix), confirming that designing new abstractions and multi-file coordination is substantially harder than locating and correcting specific defects. Figure 8 breaks down performance by change type and difficulty level across six representative models. Panel (a) reveals that the gap between strong and weak models is most pronounced on Component Creation and Feature Addition, where Claude maintains over 50% while Doubao drops below 25%. Panel (b) shows that on Hard subtasks, Claude maintains 53% while DeepSeek drops to 43% and Doubao to 16%, confirming that difficulty amplifies inter-model gaps.

5.6

Failure Mode Analysis

We perform root-cause analysis on 3,603 failed subtasks across thirteen models using Claude-Sonnet-4.6 as an agentic classifier. We categorize failures into five types. Implementation Error refers to code that compiles but exhibits incorrect behavior. Build Error denotes solutions that fail to compile or link. Missing Implementation captures cases where required functionality is absent. Interface Mismatch covers incorrect API signatures or export paths. Agent Failure refers to cases where the agent abandons the task or exhausts its budget. Figure 9 reveals a capability-dependent shift in failure modes. Higher-performing models are less often blocked by construction-level errors such as build failures or missing functionality; instead, their failures concentrate on implementation-level correctness. For Claude-Opus-4.6, 58% of failures are Implementation Errors, indicating that the model usually produces complete and buildable code but still fails on behavioral correctness. These errors are further dominated by Code Defect, Misunderstanding, and Wiring Error, suggesting that the frontier bottleneck lies in execution precision, including subtle logic mistakes, requirement misinterpretation, and component integration. Gemini-3.1-Pro presents a transitional profile, with Build Error and Implementation Error contributing comparable shares, 38% 11

Implementation Error

Mismatch

Build Error

Missing Implementation

Agent

Agent

NotImpl

Partial

16%

Dep.

15%

5% 6%

NotImpl

58%

Misund.

Syntax

Agent

Code

Runtime

17%

33%

6% 5%

Wiring

38%

Edge

17%

31%

Misund. Dep.

Wiring Misund. Edge

Partial

7% 3% Partial

Agent Failure

Mismatch

Code

Mismatch

Code

Interface Mismatch

41%

NotImpl

Cascade

Runtime

Cascade Runtime

Edge

Wiring

(a) Claude-Opus-4.6 (pass 63%)

Syntax Cascade

(b) Gemini-3.1-Pro (pass 46%)

Dep.

Syntax

(c) Seed-2.0-Pro (pass 18%)

Figure 9: Error distribution for three representative models. Inner ring: category proportions; outer ring: sub-type breakdown. The dominant failure mode shifts from Implementation Error (strong models) to Build Error (weak models). and 33%, respectively. Seed-2.0-Pro is dominated by earlier construction failures, with Build Error and Missing Implementation accounting for 41% and 31% of failures. This pattern indicates that, as model capability decreases, the primary bottleneck shifts from implementing the correct behavior to producing complete and buildable code.

6

Conclusion

R OADMAP B ENCH introduces a new evaluation axis for coding agents: multi-target, long-horizon software development across real version upgrades. Each task requires agents to interpret roadmap specifications, coordinate multi-file changes, and implement coherent feature sets. Across 115 tasks from 17 repositories and 5 programming languages, current models remain far from solving this setting. Under OpenHands, Claude-Opus-4.7 resolves only 39.1% of tasks, while Seed-2.0-Pro resolves 5.2%. Completion Score shows that partial progress is common: agents often complete a subset of roadmap targets before failing on integration, correctness, or construction-level reliability. Domain-level results further show uneven difficulty, with ML & Data being the most challenging, ORM & Validation relatively more tractable, and UI & Rendering exhibiting a large gap between frontier and weaker models. Our analysis indicates that stronger models more efficiently localize relevant code and convert exploration into targeted edits, whereas weaker models often fail earlier through build errors or missing implementations. These results position R OADMAP B ENCH as a diagnostic benchmark for measuring sustained software development capability beyond isolated issue resolution.

References OpenAI. SWE-bench Verified. Technical report, OpenAI, 2024. Xiang Deng, Jeff Da, Edwin Pan, Yannis Yiming He, Charles Ide, Kanak Garg, Niklas Lauffer, Andrew Park, Nitin Pasari, Chetan Rane, et al. Swe-bench pro: Can ai agents solve long-horizon software engineering tasks? arXiv preprint arXiv:2509.16941, 2025. Qixing Zhou, Jiacheng Zhang, Haiyang Wang, et al. FeatureBench: Benchmarking agentic coding for complex feature development. arXiv preprint arXiv:2602.10975, 2025. Mike A. Merrill, Alexander G. Shaw, Nicholas Carlini, Boxuan Li, Harsh Raj, Ivan Bercovich, Lin Shi, Jeong Yeon Shin, Thomas Walshe, E. Kelly Buchanan, Junhong Shen, Guanghao Ye, Haowei Lin, Jason

12

Poulos, Maoyu Wang, Marianna Nezhurina, Jenia Jitsev, Di Lu, et al. Terminal-bench: Benchmarking agents on hard, realistic tasks in command line interfaces, 2026. Minh VT Thai, Tue Le, Dung Nguyen Manh, Huy Phan Nhat, and Nghi DQ Bui. Swe-evo: Benchmarking coding agents in long-horizon software evolution scenarios. arXiv preprint arXiv:2512.18470, 2025. Jingzhe Ding, Shengda Long, Changxin Pu, et al. NL2Repo-Bench: Towards long-horizon repository generation evaluation of coding agents. arXiv preprint arXiv:2512.12730, 2025. Anthropic. Claude opus 4.6. Anthropic Blog Post, 2026a. https://www.anthropic.com/claude. OpenAI. Introducing gpt-5.4. introducing-gpt-5-4/.

OpenAI Blog Post,

2026.

https://openai.com/index/

Google DeepMind. Gemini 3 flash model card. https://storage.googleapis.com/deepmind-media/ Model-Cards/Gemini-3-Flash-Model-Card.pdf, 2025. John Yang, Carlos E Jimenez, Alexander Wettig, Kilian Lieret, Shunyu Yao, Karthik Narasimhan, and Ofir Press. Swe-agent: Agent-computer interfaces enable automated software engineering. Advances in Neural Information Processing Systems, 37:50528–50652, 2024. Kechi Zhang, Jia Li, Ge Li, Xianjie Shi, and Zhi Jin. Codeagent: Enhancing code generation with toolintegrated agent systems for real-world repo-level coding challenges, 2024. URL https://arxiv.org/ abs/2401.07339. Siming Huang, Tianhao Cheng, Jason Klein Liu, Weidi Xu, Jiaran Hao, Liuyihan Song, Yang Xu, Jian Yang, Jiaheng Liu, Chenchen Zhang, et al. Opencoder: The open cookbook for top-tier code large language models. In Proceedings of the 63rd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 33167–33193, 2025. Haoran Wang, Zhenyu Hou, Yao Wei, Jie Tang, and Yuxiao Dong. Swe-dev: Building software engineering agents with training and inference scaling. In Findings of the Association for Computational Linguistics: ACL 2025, pages 3742–3761, 2025. Carlos E Jimenez, John Yang, Alexander Wettig, Shunyu Yao, Kexin Pei, Ofir Press, and Karthik Narasimhan. SWE-bench: Can language models resolve real-world GitHub issues? In Proceedings of the International Conference on Learning Representations (ICLR), 2024. Tianyang Liu, Canwen Xu, and Julian McAuley. Repobench: Benchmarking repository-level code auto-completion systems. arXiv preprint arXiv:2306.03091, 2023. Xueying Du, Mingwei Liu, Kaixin Wang, Hanlin Wang, Junwei Liu, Yixuan Chen, Jiayi Feng, Chaofeng Sha, Xin Peng, and Yiling Lou. Classeval: A manually-crafted benchmark for evaluating llms on class-level code generation. arXiv preprint arXiv:2308.01861, 2023. Ranjan Sapkota, Konstantinos I Roumeliotis, and Manoj Karkee. Vibe coding vs. agentic coding: Fundamentals and practical implications of agentic ai. arXiv preprint arXiv:2505.19443, 2025. Yihong Dong, Xue Jiang, Jiaru Qian, Tian Wang, Kechi Zhang, Zhi Jin, and Ge Li. A Survey on Code Generation with LLM-based Agents, 2025. URL https://arxiv.org/abs/2508.00083. Giulio Starace, Oliver Jaffe, Dane Sherburn, James Aung, Jun Shern Chan, Leon Maksin, Rachel Dias, Evan Mays, Benjamin Kinsella, Wyatt Thompson, et al. PaperBench: Evaluating AI’s Ability to Replicate AI Research. arXiv preprint arXiv:2504.01848, 2025. Xingyao Wang, Boxuan Li, Yufan Song, Frank F Xu, Xiangru Tang, Mingchen Zhuge, Jiayi Pan, Yueqi Song, Bowen Li, Jaskirat Singh, et al. Openhands: An open platform for ai software developers as generalist agents. arXiv preprint arXiv:2407.16741, 2024. 13

Anthropic. Claude Code. https://www.anthropic.com/claude-code, 2025. Accessed: 2026-04-26. Mark Chen, Jerry Tworek, Heewoo Jun, et al. Evaluating large language models trained on code. arXiv preprint arXiv:2107.03374, 2021. Jacob Austin, Augustus Odena, Maxwell Nye, et al. Program synthesis with large language models. arXiv preprint arXiv:2108.07732, 2021. Qixing Zhou, Jiacheng Zhang, Haiyang Wang, Rui Hao, Jiahe Wang, Minghao Han, Yuxue Yang, Shuzhe Wu, Feiyang Pan, Lue Fan, et al. Featurebench: Benchmarking agentic coding for complex feature development. arXiv preprint arXiv:2602.10975, 2026. Anthropic. Claude opus 4.7. claude-opus-4-7.

Anthropic Blog Post, 2026b.

https://www.anthropic.com/news/

Google DeepMind. Gemini 3.1 Pro. https://deepmind.google/models/gemini/pro/, 2026. Accessed: 2026-04-29. DeepSeek-AI. DeepSeek-V4: Towards highly efficient million-token context intelligence, 2026. GLM-5-Team. GLM-5: From vibe coding to agentic engineering. arXiv preprint arXiv:2602.15763, 2026. MiniMax. Kimi-K2.6. https://www.kimi.com/blog/kimi-k2-6, 2026a. Accessed: 2026-04-23. XiaoMi. Xiaomi MiMo-V2.5-Pro. https://mimo.xiaomi.com/mimo-v2-5-pro, 2026. Accessed: 2026-04-27. Qwen Team. Qwen3.6-Plus: Towards real world agents. https://qwen.ai/blog?id=qwen3.6, 2026a. Accessed: 2026-04-29. Kimi Team. Kimi K2.5: Visual agentic intelligence. arXiv preprint arXiv:2602.02276, 2026. MiniMax. MiniMax-M2.7. https://www.minimax.io/models/text/m27, 2026b. Accessed: 2026-04-29. Qwen Team. Qwen3.5-397B. https://artificialanalysis.ai/articles/ qwen3-5-397b-a17b-everything-you-need-to-know, 2026b. Accessed: 2026-02-17. ByteDance Seed Team. Seed-2.0. https://seed.bytedance.com/en/seed2, 2026. Accessed: 2026-04-29. Harbor Framework Team. Harbor: A framework for evaluating and optimizing agents and models in container environments, jan 2026. URL https://github.com/harbor-framework/harbor.

14

Appendix A

Limitations

We acknowledge several limitations of this work. Our evaluation employs two agent scaffolds (OpenHands and Terminus 2). Agent performance is sensitive to scaffold design choices, and results under other frameworks may differ. Evaluation relies on test suites that verify behavioral correctness but do not assess code quality, maintainability, or adherence to idiomatic patterns. Future work could incorporate multi-dimensional metrics for a more holistic assessment. Although ROADMAPBENCH spans five programming languages and multiple software domains, it still covers only a limited subset of real-world development ecosystems. Future extensions could incorporate additional languages, frameworks, and application settings.

B

Ethics Statement

This research conforms to the Code of Ethics. All benchmark tasks are derived from publicly available open-source repositories. No private or proprietary code is included. Repository identities and version numbers are anonymized in the task instructions to prevent information leakage during evaluation, and no personally identifiable information is collected or used. Human annotators involved in quality control are co-authors of this work and participated voluntarily.

C

Broader Impacts

R OADMAP B ENCH is designed to measure and advance the capability of coding agents on realistic software engineering tasks. On the positive side, improved coding agents can increase developer productivity, lower barriers to software development, and accelerate open-source contributions. On the negative side, more capable coding agents could potentially be misused to generate malicious code or exploit vulnerabilities at scale. However, our benchmark evaluates agents on constructive software development tasks (implementing features from public roadmaps) rather than adversarial capabilities. We do not release any model weights or fine-tuning recipes. We believe the diagnostic value of understanding where current agents fail outweighs the marginal risk, as the benchmark primarily reveals limitations rather than enabling new harmful capabilities.

D

Human Evaluation

We conduct human evaluation as part of the task construction and quality-control pipeline. All annotators are Ph.D. students with computer science backgrounds and relevant experience in software engineering. They participated in constructing coding tasks, reviewing generated instructions, and repairing task-side defects identified during validation. The annotators were compensated above the local minimum hourly wage.

15

E

Task Details

This appendix provides detailed statistics that supplement the dataset overview in Section 3.2.

E.1

Repository and Language Coverage

Table 3 summarizes the repository coverage of our benchmark across five programming languages and diverse software domains. Table 3: Repository coverage by language, domain, task count, and median oracle-patch complexity. Language

Repository

Tasks

Domain

Med. Lines

Med. Files

Med. Subtasks

Python

Polars PyG Optuna spaCy Falcon

13 10 8 5 5

ML & Data ML & Data ML & Data ML & Data Web & RPC

1,346 7,044 4,054 4,226 3,311

42 140 82 135 44

5 6 5 6 6

TypeScript

MikroORM Prisma Valibot

10 9 3

ORM & Val ORM & Val ORM & Val

6,006 1,246 3,341

122 30 56

6 4 5

C++

Glaze thread-pool

14 6

Infra & Tool Infra & Tool

3,745 1,065

29 2

5 4

Go

Fiber Kitex Fyne

6 6 5

Web & RPC Web & RPC UI & Ren

1,997 8,018 20,339

25 149 876

6 5 7

Rust

Ratatui Diesel Slint Ruff

6 3 3 3

UI & Ren ORM & Val UI & Ren Infra & Tool

6,575 9,233 1,656 17,130

44 169 29 357

6 4 4 6

3,714

51

5

Overall (17 repos)

E.2

115

Task Complexity Distribution

Figure 10 plots all 115 tasks in lines-changed vs. files-changed space. The leftmost panel shows the full benchmark with dashed reference lines at the medians (3,714 lines, 51 files). The remaining five panels facet the data by programming language, highlighting each language against the full benchmark. The strong positive correlation confirms that tasks requiring more code also touch more files, and the spread over two orders of magnitude in both dimensions demonstrates the benchmark’s diversity. Python tasks cluster in a moderate range with several high-complexity outliers, while Go and Rust tasks tend toward high file counts due to generated code and macro expansions. Figure 11 presents vertical boxplots of files changed per repository, sorted by median. The log-scale y-axis highlights that complexity varies by more than two orders of magnitude across the benchmark.

E.3

Temporal Span and Repository Scale

Figure 12 visualizes the version upgrade trajectories as a constellation plot. Each line segment connects a task’s source version release to its target version, positioned by release date (x-axis) and repository source size (y-axis, log scale). Solid lines indicate that the codebase grew between versions; dashed lines indicate code cleanup (net size reduction). The benchmark spans releases from 2017 to 2026, covering nearly a decade of software evolution. Repository sizes range from ∼20 KB (thread-pool) to ∼10 MB (Polars, Go repositories), demonstrating diversity across small libraries and large codebases. The temporal spread reduces the risk of memorization from training data.

16

All Tasks (115) Python TypeScript C++ Go Rust

Lines Changed

105

51 files

104 3,714 lines

103

102

Lines

Python (41)

101

100

TypeScript (22)

102

103

Files Changed C++ (20)

Go (17)

Rust (15)

105

105

105

105

105

104

104

104

104

104

103

103

103

103

103

102

101

100

Files

102

103

102

100

101

Files

102

103

102

100

101

Files

102

102

103

101

100

Files

102

103

102

100

101

Files

102

103

Figure 10: Task complexity overview and per-language breakdown (log-log scale). (a) All 115 tasks colored by language, with dashed lines at the benchmark medians (3,714 lines, 51 files). (b) Per-language panels: each language highlighted against the full benchmark (gray).

Python TypeScript C++ Go Rust

Files Changed

103

102

101

Fyn e

Ru ff

sel Die

ex Kit

G Py

aC y sp

RM roO

t

a

Mik

tun Op

bo Va li

ui Ra tat

Fal co n

rs Po la

ma Pri s

nt Sli

ze Gla

r Fib e

thr ea d-p

oo

l

100

Figure 11: Distribution of files changed (oracle patch) across repositories. Repos are sorted by median files changed (log scale); individual task values are shown as jittered points.

17

RoadmapBench: Version Upgrade Trajectories = vold = vnew | dashed = code cleanup 35 MB

10 MB

Language Python TypeScript C++ Go Rust size grows code cleanup

Repository Source Size (log scale)

5 MB

3 MB

1 MB 0.5 MB

500 KB

100 KB

10 KB 2017

2018

2019

2020

2021

2022

Release Date

2023

2024

2025

2026

2027

Figure 12: Version upgrade trajectories. Each segment represents one task: hollow circles mark the source version, filled dots mark the target version. Solid lines indicate codebase growth; dashed lines indicate net size reduction. The temporal spread (2017–2026) and size diversity (20 KB–10 MB) demonstrate broad benchmark coverage.

18

F

Task Example

Below is the complete instruction for opt-4.0.0-roadmap, a representative R OADMAP B ENCH task grounded in the real Optuna v3.6.0→v4.0.0 transition (164-day window, oracle patch: 164 files, 7,794 LOC filtered). Hyperparameter Optimization Framework Development Roadmap Overview. This library is a hyperparameter optimization framework widely used in machine learning and scientific computing. It provides automated search over parameter spaces using efficient sampling algorithms, distributed optimization via various storage backends, and rich visualization of optimization results. Goals. Stabilize two experimental subsystems: the artifact management system and the journal-based distributed storage backend. Introduce constrained optimization awareness into best_trial and best_trials. Add two new termination components — EMMREvaluator and MedianErrorEvaluator. Add is_exhausted() to the grid search sampler.

Target 1: Artifact Store Official APIs Objective functions often produce files (model snapshots, logs) that need tracking alongside trial metadata. This target stabilizes the upload API and introduces download_artifact and get_all_artifact_meta. Requirements 1. ArtifactMeta — frozen dataclass importable from optuna.artifacts with fields: artifact_id: str, filename: str, mimetype: str, encoding: str | None. 2. download_artifact — importable from optuna.artifacts. All parameters keyword-only: artifact_store (ArtifactStore), file_path (str), artifact_id (str). Returns None. Raises FileExistsError if file_path already exists. 3. get_all_artifact_meta — importable from optuna.artifacts. Positional: study_or_trial (Trial, FrozenTrial, or Study). Keyword-only: storage (default None, required for FrozenTrial). Returns list[ArtifactMeta]. Raises ValueError if storage is None and input is a FrozenTrial. When given a Study, returns only study-level artifacts. 4. upload_artifact — updated to use keyword-only parameters in order: artifact_store, file_path, study_or_trial, with storage, mimetype, encoding as additional keyword-only. Backward compatibility with old positional order maintained. Returns str (artifact ID). Infers MIME type from file extension; defaults to "application/octet-stream". 5. optuna.artifacts.__all__ must include: ArtifactMeta, FileSystemArtifactStore, Boto3ArtifactStore, GCSArtifactStore, Backoff, get_all_artifact_meta, upload_artifact, download_artifact. Target 2: JournalStorage API Reorganization The journal-based storage backend enables distributed optimization over NFS by recording operation logs instead of state snapshots. The module is being reorganized from a private location to a public subpackage with clearer naming conventions. After this target, users should import journal components from optuna.storages.journal using the new class names, while old names remain available (with deprecation warnings) from optuna.storages. Requirements 1. Create public subpackage optuna/storages/journal/ containing: __init__.py, _base.py, _file.py, _redis.py, _storage.py. 2. Class renames (importable from optuna.storages.journal): BaseJournalBackend (was BaseJournalLogStorage), BaseJournalSnapshot (was BaseJournalLogSnapshot), JournalFileBackend (was JournalFileStorage), JournalRedisBackend (was JournalRedisStorage), JournalFileSymlinkLock, JournalFileOpenLock, JournalStorage (unchanged). 3. Old names remain importable from optuna.storages with deprecation warnings. BaseJournalLogStorage should subclass BaseJournalBackend decorated with @deprecated_class. 4. optuna.storages.journal.__all__ must include: JournalFileBackend, BaseJournalBackend, JournalFileOpenLock, JournalFileSymlinkLock, JournalRedisBackend, JournalStorage.

19

Target 3: Constrained Optimization in Study Properties When running constrained optimization, users set constraint values on each trial via system attributes. However, best_trial and best_trials currently ignore these constraints. This target makes these properties constraint-aware. After this target, study.best_trial returns the best feasible trial (all constraint values ≤ 0.0), and study.best_trials computes the Pareto front from only feasible trials. If no feasible trials exist, best_trial raises ValueError. Requirements 1. Helper module optuna/study/_constrained_optimization.py: define constant _CONSTRAINTS_KEY = "constraints". Implement _get_feasible_trials(trials) returning only trials where all constraint values are ≤ 0.0. Trials without a "constraints" key are considered infeasible. 2. best_trial property: if the best trial is infeasible, filter to feasible trials and select the one with best objective value (respecting study.direction). Raise ValueError if none exist. 3. best_trials property: when any trial has the constraints key, compute Pareto front from feasible trials only. Target 4: New Terminator Algorithms The existing termination framework allows optimization to stop when further trials are unlikely to yield improvements. This target introduces two new components: EMMREvaluator (Expected Minimum Model Regret) and MedianErrorEvaluator (derives threshold from paired improvement evaluator’s outputs). After this target, a user can create an EMMREvaluator, pair it with a MedianErrorEvaluator, and pass both to a Terminator for GP-based automatic stopping. Requirements 1. EMMREvaluator — importable from optuna.terminator, inherits BaseImprovementEvaluator. Constructor: __init__(self, deterministic_objective=False, delta=0.1, min_n_trials=2, seed=None). Raises ValueError if min_n_trials <= 1. Method evaluate: returns EMMR value; returns sys.float_info.max with insufficient trials or empty search space. 2. MedianErrorEvaluator — importable from optuna.terminator, inherits BaseErrorEvaluator. Constructor: __init__(self, paired_improvement_evaluator, warm_up_trials=10, n_initial_trials=20, threshold_ratio=0.01). Raises ValueError for invalid args. Method evaluate: before sufficient data returns negative sentinel; on first sufficient call computes median of improvement values multiplied by threshold_ratio, caches result. 3. optuna.terminator.__all__ must include both EMMREvaluator and MedianErrorEvaluator. Target 5: GridSampler Exhaustion Check When using GridSampler, the user may want to programmatically check whether all parameter combinations have been evaluated. Currently there is no public API for this. Requirement 1. is_exhausted(self, study: Study) -> bool on GridSampler: returns True if all grid combinations have been evaluated, False otherwise. Completion Criteria • All new classes and functions importable from their documented paths • Existing APIs remain unchanged (backward compatibility) • Deprecated old names still importable with deprecation warnings • Constraint-aware best_trial raises ValueError when no feasible trials exist • EMMREvaluator returns finite values with sufficient trials and large values with insufficient data • MedianErrorEvaluator caches its threshold after first computation • GridSampler.is_exhausted() correctly reports grid coverage

20

G

Construction Pipeline Details

G.1

Repository Selection Criteria

Candidate repositories must satisfy the following hard constraints: at least 1,000 GitHub stars, five or more tagged releases, continued release activity through 2025, and a primary language among our five targets (Python, TypeScript, Go, Rust, Java). Definition of high-quality release documentation. We require that each selected repository maintains release documentation with sufficient information density to support task construction. Concretely, a release qualifies as high-quality if it satisfies the following criteria: • Uses natural language to describe what changed in the version, rather than merely listing pull-request numbers or commit hashes. • Explains the background or motivation behind non-trivial changes (e.g., “to address X limitation” or “in response to user feedback on Y”). • Clearly states user-facing impacts such as breaking changes, deprecated APIs, behavioral modifications, or newly introduced features. • Optionally includes code examples, configuration snippets, or migration guides (these are positive signals but not strictly required). Releases that consist solely of auto-generated commit lists (e.g., fix #123, merge PR #456), empty bodies, or single-line descriptions are excluded. Each repository must have at least three releases meeting the above standard. Figure 13 shows representative examples of qualifying release documentation. Expert review and version-pair selection. Expert reviewers verify the quality of release documentation identified in the previous step and select consecutive version pairs suitable for task construction. A version pair is retained if it satisfies: (1) a non-trivial code delta of at least 500 lines changed, (2) at least one externally visible behavioral change expressible as a deterministic test, and (3) release documentation that describes the change in sufficient detail to construct an instruction.

G.2

Static Review Details

Stage 3 applies two complementary reviews under structured checklists, with expert reviewers assisted by Claude-Opus-4.7. Compliance review (20 items). The compliance review is conducted from the perspective of a solver who has no prior knowledge of the repository or version upgrade. It covers five categories: 1. Specification clarity (Q1–Q3): each target’s goal and constraints are explicitly stated; the instruction is self-contained without referencing the construction process; requirements are defined positively rather than by exclusion. 2. Implementation leakage (Q4): a systematic scan for five leakage types—algorithm/flow steps, internal naming, pseudo-code control flow, bug root-cause disclosure, and refactoring checklists—that reveal how to implement rather than what behavior is required. 3. Information integrity (Q5–Q7): public API contracts are unambiguous; no test metadata (file names, function names, scoring details) is disclosed; no version numbers or repository names appear. 4. Narrative quality (Q8–Q9): the instruction provides a coherent version narrative with clear priority ordering among targets; individual target sections follow a consistent structure (background, requirements, constraints). 5. Test conventions (T1–T7): tests use the required directory layout; target weights sum to 1.0; tests are deterministic and environment-independent; tests do not check implementation internals beyond the specified public contract.

21

(a) Optuna v4.2 (medium.com/optuna)

(b) Kitex v0.12.0 (cloudwego.io)

(c) Ruff v0.12.0 (astral.sh)

Figure 13: Examples of high-quality release documentation from three selected repositories. Each row shows cropped excerpts from a single version release, illustrating feature narratives, code examples, migration guides, and breaking-change descriptions that serve as source material for task construction. A task fails the compliance review if any item is marked FAIL. The synthesis agent revises the instruction or tests accordingly and re-validates. Per-target correctness review. For each target independently, a reviewer checks instruction–test alignment along four dimensions:

22

1. Completeness: every behavior asserted by tests is stated in the instruction. 2. Faithfulness: tests do not assert behaviors beyond the instruction specification. 3. Fairness: tests do not rely on unstated assumptions (e.g., exact error wording, internal names). 4. Minimality: tests performing only dead-letter matching without behavioral value are flagged for removal. Issues are classified as T-missing, T-ambiguous, T-incorrect, or T-other. Each confirmed issue is repaired by updating the instruction or test, and the oracle patch is re-run to confirm the fail-to-pass guarantee.

G.3

Quality Control Protocol

G.3.1

Attribution Classification

During rollout-based quality control, agent failures are attributed to either task-side defects (T-type) or model-side failures (M-type). T-type defects indicate problems in the task itself, such as missing specifications or flawed tests, while M-type failures reflect genuine limitations of the agent. Attribution is performed through expert review of agent trajectories and test outcomes. T-type defects are classified into four subcategories: (1) instruction gaps (a behavioral requirement is not mentioned in the instruction), (2) test brittleness (a test assertion is stricter than the instruction warrants, e.g., checking internal implementation details), (3) environment issues (a dependency or environment variable required for the task is missing from the Docker image), and (4) grading errors (the subtask-level test runner assigns incorrect weights or groupings). M-type failures are classified into three subcategories: (1) design failures (the agent’s implementation does not match the specification at a structural level), (2) implementation bugs (the implementation is structurally correct but contains code errors), and (3) debugging failures (the agent identifies an error but fails to correct it within the turn budget). G.3.2

Inter-Annotator Agreement

To assess attribution consistency, we randomly sampled 40 agent trajectories for independent annotation by two annotators. Cohen’s κ for T-type vs. M-type classification was 0.83, indicating strong agreement. Disagreements were resolved by a third annotator. The classification rubric and calibration examples are included in the supplementary materials. G.3.3

Iterative QC Impact

Each task undergoes iterative validation: an initial rollout identifies T-type defects, which are then fixed before re-evaluation. Of the 115 tasks, 45 required at least one fix round (average 3.1 rounds). Table 4 reports model performance before and after QC on all 115 tasks. For tasks that required no fix, the before and after scores are identical. Table 4: Impact of iterative QC on model performance (Terminus, 115 tasks). “Before”: initial validation; “After”: post-repair rollout. Completion Score

Resolved (%)

Model

Before

After

Before

After

Claude-Opus-4.6 GLM-5.1 Kimi-K2.5

0.564 0.475 0.329

0.683 0.511 0.348

+0.118 +0.036 +0.019

19.1 17.4 6.1

30.4 20.4 7.1

+11.2 +3.0 +1.0

23

H

Error Classification Details

This appendix provides the complete error taxonomy, classification methodology, per-model distributions, and representative case studies referenced in §5.6.

H.1

Classification Methodology

Each failed subtask is classified by a Claude-Sonnet-4.6 instance operating in agentic mode via Claude Code. For each task containing failed subtasks, the classifier: 1. Reads the complete test output (test-stdout.txt) containing all subtask results. 2. Reads the task specification (instruction.md) to understand requirements. 3. Optionally inspects the agent’s final code or greps the trajectory for relevant context. 4. Outputs a structured classification for each failed subtask: category, sub-type, root-cause phrase (English, 2–5 words), and rationale (1–3 sentences with technical detail). The task-level approach (one classifier call per task, classifying all failed subtasks together) enables cross-subtask awareness—e.g., recognizing that multiple subtasks fail due to the same root compilation error (classified as one primary Syntax Error plus cascading failures). Validation. We manually validated 50 randomly sampled classifications across all models and categories. The automated classifier achieved 88% exact-match agreement with expert labels at the category level (following the validation protocol of Jimenez et al. (2024)). Disagreements primarily involved the boundary between Code Defect and Wiring Error—both are implementation-level failures, so categorylevel accuracy is higher than sub-type accuracy. Coverage and cost. Classification covers 3,603 failed subtasks across 13 models (1,065 task groups). Total cost is approximately $350.

H.2

Error Taxonomy

Table 5 defines the five error categories and fourteen sub-types. Categories are ordered by failure stage— from early catastrophic failures (code does not compile) to late subtle failures (code compiles and runs but produces incorrect results). Within each category, sub-types capture the specific mechanism of failure.

H.3

Per-Model Error Distribution

Figure 14 shows the aggregate error distribution across all 3,603 classified failures. Implementation Error is the dominant category (39%), followed by Build Error (28%) and Missing Implementation (23%). Within Implementation Error, Code Defect alone accounts for over half of the sub-type (23% overall). Figure 15 breaks this down per model, ordered by subtask pass rate. Table 6 provides the exact counts and percentages.

H.4

Per-Model Analysis

Claude-Opus-4.7 (pass 70%). The strongest model with fewest total failures (136). Concentrates 55% in Implementation Error (Code Defect 38%), with Build Error nearly absent (4%). Missing Implementation accounts for 29%, driven equally by Not Implemented and Partially Implemented. Claude-Opus-4.6 (pass 64%). Concentrates 58% of failures in Implementation Error, dominated by Code Defect (38%). Build Error is rare (15%), and nearly half of those are cascading failures from a single root cause. This model rarely leaves features unimplemented; its bottleneck is execution precision. 24

Table 5: Error taxonomy with category and sub-type definitions. Categories are ordered by failure stage. “Freq.” shows the distribution across all 3,603 classified failures. Category Build Error (28.3%)

Sub-type

Definition

Freq.

Cascading

A root error in a shared module causes compilation failure across multiple subtasks. Direct compilation/linking failure: syntax error, type mismatch, or unresolved symbol. Incompatible dependency version or import of an unavailable package.

15.8%

Required functionality entirely absent—symbol or module does not exist. Main feature exists but specific sub-requirements are skipped.

13.8%

API exists but signature (parameters, return type) does not match. Code exists but is inaccessible: wrong module path or missing re-export.

3.7%

Logical bug: wrong formula, off-by-one, nil dereference, incorrect condition. Components correct but integration broken: params not forwarded, features not activated. Agent misinterprets the specification; implements wrong semantics. Main path works; failures only on unusual boundary inputs. Compiles but crashes at runtime: unhandled exception, deadlock, OOM.

23.1%

Agent stops working: gives up, analysis paralysis, or skips remaining subtasks. Budget/step/time limit hit or OOM-killed before completion.

3.5%

Syntax Error Dependency

Missing Impl. (22.6%)

Interface Mismatch (6.5%)

Not Implemented Partially Impl. Wrong Signature Wrong Path Code Defect

Impl. Error (38.5%)

Wiring Error Misunderstanding Edge Case Runtime Crash

Agent Failure (4.0%)

Abandoned Exhausted

11.1% 1.4%

8.8%

2.7%

6.8% 5.9% 1.4% 1.4%

0.5%

Table 6: Per-model error category distribution (count and percentage of failed subtasks). Parentheses after model names indicate subtask pass rate. Model

Impl.

Build

Miss.

Intf.

Agent

Total

Claude-Opus-4.7 (70%) Claude-Opus-4.6 (64%) GPT-5.4 (55%) DeepSeek-V4-Pro (51%) GLM-5.1 (51%) Kimi-K2.6 (46%) Gemini-3.1-Pro (45%) Qwen3.6-Plus (42%) Kimi-K2.5 (38%) MiniMax-M2.7 (36%) Mimo-V2.5-Pro (36%) Qwen3.5-397B (35%) Seed-2.0-Pro (17%)

75 (55%) 94 (58%) 55 (26%) 123 (51%) 106 (46%) 102 (36%) 101 (33%) 131 (40%) 132 (42%) 141 (44%) 135 (48%) 111 (35%) 82 (17%)

5 (4%) 25 (15%) 55 (26%) 54 (23%) 66 (29%) 89 (32%) 116 (38%) 91 (28%) 80 (26%) 79 (25%) 71 (25%) 96 (31%) 194 (41%)

40 (29%) 26 (16%) 76 (36%) 39 (16%) 38 (17%) 63 (22%) 52 (17%) 71 (22%) 69 (22%) 68 (21%) 48 (17%) 78 (25%) 148 (31%)

3 (2%) 12 (7%) 8 (4%) 17 (7%) 12 (5%) 12 (4%) 15 (5%) 32 (10%) 22 (7%) 32 (10%) 25 (9%) 12 (4%) 31 (6%)

13 (10%) 5 (3%) 20 (9%) 6 (3%) 7 (3%) 16 (6%) 19 (6%) 4 (1%) 9 (3%) 2 (1%) 5 (2%) 16 (5%) 23 (5%)

136 162 214 239 229 282 303 329 312 322 284 313 478

Overall

1,388 (39%)

1,021 (28%)

816 (23%)

233 (6%)

145 (4%)

3,603

GPT-5.4 (pass 55%). Uniquely dominated by Missing Implementation (36%)—the highest among all models. Agent Failure is also elevated (9%, all Abandoned), reflecting the “analysis paralysis” pattern where the model explores extensively but never starts writing code. When it does implement, Build and Implementation Errors are balanced (26% each).

25

Implementation Error Build Error

Missing Implementation Interface Mismatch

Agent Failure

Agent

Mismatch

Code Partial

6% 4%

39%

23% NotImpl

Wiring

28%

Misund.

Dep.

Runtime Edge

Syntax Cascade

Overall (n=3603) Figure 14: Overall error distribution across all models (n=3,603 failed subtasks). Implementation Error dominates (39%), with Code Defect as the single largest sub-type. DeepSeek-V4-Pro (pass 51%). Profile resembles Opus but with more Build Errors (23% vs. 15%). Implementation Error remains dominant (51%), indicating strong architectural planning but less precise execution. Agent Failure is minimal (3%). GLM-5.1 (pass 51%). Similar to DeepSeek with 46% Implementation Error and 29% Build Error. The higher Build Error ratio compared to Opus suggests less robust handling of complex type systems and module structures. Kimi-K2.6 (pass 46%). Balanced between Implementation Error (36%) and Build Error (32%), with cascading failures accounting for 21% of total. Agent Failure is moderately elevated (6%), split between Abandoned (12) and Exhausted (4). Profile sits between GLM-5.1 and Gemini—stronger than its predecessor K2.5 on Implementation Error but with similar Build Error rates. Gemini-3.1-Pro (pass 45%). Build Error dominates (38%)—the highest share among mid-tier models. Cascading failures are frequent (22% of total failures), indicating that compilation errors in early subtasks propagate to later subtasks. Implementation Error is relatively lower (33%). Qwen3.6-Plus (pass 42%). Interface Mismatch is notably high (10%), suggesting difficulty with API surface compliance (export paths, naming conventions). Otherwise balanced between Implementation Error (40%) and Build Error (28%). Kimi-K2.5 (pass 38%). Distribution closely matches Qwen3.6-Plus. Missing Implementation (22%) indicates that this model occasionally abandons complex sub-requirements. 26

Implementation Error Agent

Build Error

Missing Implementation

Interface Mismatch

Agent

Mismatch

Agent

Code

Mismatch

NotImpl 2%

10%

NotImpl

Code

7% 3%

Code Partial

29%

55% 4%

9%

4%

16%

Dep.

58%

15%

Misund.

Wiring

26%

Wiring

Runtime

Cascade

Edge

Misund.

(a) Claude-Opus-4.7 (pass 70%)

Dep.

(b) Claude-Opus-4.6 (pass 64%)

51%

Dep.

23%

26%

Wiring

Runtime

16%

Misund.

NotImpl Cascade Syntax

7% 3%

Partial Edge

36%

Syntax

NotImpl

Agent

Mismatch

Code

Mismatch

Partial

Partial

Agent Failure

Syntax Misund. Cascade

Syntax

(c) GPT-5.4 (pass 55%)

Edge

Wiring

(d) DeepSeek-V4-Pro (pass 51%)

Agent

Mismatch

Mismatch

Partial

Code

Agent

Partial

5% 3%

NotImpl

17%

Wiring

Syntax

Agent

Dep.

Wiring

Syntax

Agent

Code

Runtime

Wiring

17%

Code

Agent

Code

NotImpl 4% 5%

35%

25%

48% Partial

Wiring

25%

31%

Syntax

Misund.

Dep.

Runtime Edge

Wiring

Misund.

Cascade

(i) Kimi-K2.5 (pass 38%)

Mismatch

25%

Syntax

Edge

Cascade

Partial Dep.

Misund.

Mismatch

9% 2%

Edge

(h) Qwen3.6-Plus (pass 42%)

NotImpl

44%

21%

NotImpl

Cascade

Agent

Mismatch

Code

Wiring

Syntax

(g) Gemini-3.1-Pro (pass 45%)

Agent

Misund.

28%

Dep.

Syntax

10% 1%

26%

Dep.

Runtime

40%

22%

NotImpl

Edge

(f) Kimi-K2.6 (pass 46%)

Partial

42%

22%

NotImpl

38%

Cascade

7% 3%

10% 1%

Wiring

33%

Cascade

Mismatch

Code

Dep.

Wiring Runtime

(e) GLM-5.1 (pass 51%)

Partial

Misund.

32%

Edge

Mismatch

17%

Misund.

Dep.

Misund.

Cascade

NotImpl

6%

NotImpl

29%

Syntax

36%

Code

Partial 5%

22%

Agent

Mismatch

Code

Partial

4% 6%

46%

Dep.

Agent Mismatch

Code

Cascade

Edge

(j) MiniMax-M2.7 (pass 36%)

Misund.

Syntax

Cascade

EdgeRuntime

(k) Mimo-V2.5-Pro (pass 36%)

(l) Qwen3.5-397B (pass 35%)

Wiring Misund. Edge

Partial

6% 5%

17%

31% 41%

NotImpl

Dep.

Cascade

Syntax

(m) Seed-2.0-Pro (pass 17%)

Figure 15: Error distribution for all thirteen analyzed models (inner ring: category proportions; outer ring: sub-type breakdown). Models are ordered by decreasing subtask pass rate from (a) to (m). The dominant failure mode shifts from Implementation Error (strong models) to Build Error and Missing Implementation (weak models). MiniMax-M2.7 (pass 36%). Highest Implementation Error percentage among mid-tier models (44%), with Interface Mismatch also elevated (10%). Agent Failure is nearly zero (1%), meaning the model always attempts implementation—but frequently produces incorrect results. Mimo-V2.5-Pro (pass 36%). Implementation Error dominates (48%), with Code Defect at 34%—the highest raw Code Defect rate among all models. Interface Mismatch is elevated (9%), split between Wrong Signature (15) and Wrong Path (10). Partially Implemented (29) exceeds Not Implemented (19), indicating the model attempts most features but often delivers incomplete solutions. Qwen3.5-397B (pass 35%). Balanced across Implementation Error (35%), Build Error (31%), and Missing Implementation (25%). Syntax Error is notably high within Build Error (46 of 96), suggesting frequent compilation-level mistakes rather than cascading propagation. Partially Implemented (43) strongly 27

dominates Not Implemented (35), a pattern distinct from weaker models where Not Implemented typically leads. Seed-2.0-Pro (pass 17%). Dominated by Build Error (41%) and Missing Implementation (31%). Implementation Error accounts for only 17%—not because the model is precise, but because code often fails to compile before behavioral correctness can be evaluated. This model represents the weakest capability tier where fundamental code generation is the bottleneck.

H.5

Representative Case Studies

We present one representative case per error category, selected to demonstrate how each failure type manifests in practice. Each case includes the target requirement, the key test output, and root-cause analysis. Case 1: Implementation Error (Code Defect) pyg-1.7.2-roadmap Target 6: Regularization Functions | Kimi-K2.5 Target Requirement: Implement a gini(w: Tensor) function that computes the Gini coefficient of a 2D weight matrix (row-wise inequality of absolute values, averaged across rows). A fully sparse row gives Gini close to 1.0; uniform gives 0.0. For a matrix with row 1 = [0,0,0,0] and row 2 = [0,0,0,1000], the expected Gini is 0.5. Test Output (1 failed / 7 total): FAILED test_gini_regularization assert torch.isclose(result, torch.tensor(0.5)) AssertionError: tensor(0.1250) != tensor(0.5000) Root Cause: The normalization formula is inverted. The agent wrote gini = gini / (n - 1) instead of the correct gini = gini * n / (n - 1). For the test input [0,0,0,1000]: raw Gini = 0.75, correct normalized = 0.75 × 43 = 1.0, but the implementation computes 0.75 ÷ 3 = 0.25. Averaging with the all-zero row (Gini = 0) yields 0.125 instead of the expected 0.5. Insight: Six of seven tests pass—the function exists, compiles, and handles most cases correctly. The failure is a single arithmetic operator error (/ vs. *) in a normalization formula, exemplifying the “execution precision” bottleneck: models understand the algorithm but make subtle mistakes when translating mathematical specifications to code.

Case 2: Build Error (Circular Import) fal-1.3.0-roadmap Target 1: Media Framework | GPT-5.4 Target Requirement: Create a pluggable media handling system: BaseHandler abstract class, Handlers registry mapping content types to handler instances, JSONHandler/MessagePackHandler implementations, and a validate(schema) decorator for JSON Schema validation. Add media properties on Request/Response for automatic serialization. Test Output (0 collected, import error): ERROR collecting test_01_media.py ImportError while importing test module: falcon/__init__.py:32 -> falcon/api.py:21 -> falcon/routing/__init__.py:22 -> falcon/routing/compiled.py:21: import falcon.routing.converters AttributeError: module 'falcon' has no attribute 'routing' Root Cause: Agent used absolute import import falcon.routing.converters in compiled.py. This statement requires Python to resolve falcon.routing as an attribute of the falcon module object. However, at this point in the initialization sequence (falcon.__init__ → falcon.api → falcon.routing.__init__ → compiled.py), the falcon.__init__ module has not finished executing, so the routing attribute has not yet been bound to the falcon module namespace—even though falcon/routing/__init__.py is actively being loaded. The fix is to use a relative import (from . import converters). The failure cascades to all 5 subtasks (no tests can be

28

collected). Insight: A single import-path mistake renders the entire codebase unimportable, demonstrating how Build Errors—especially cascading ones—produce catastrophic multi-target failures.

Case 3: Missing Implementation (Not Implemented) opt-3.2.0-roadmap Target 4: BIPOP CMA-ES | Seed-2.0-Pro Target Requirement: Extend CmaEsSampler to accept restart_strategy="bipop", implementing BIpopulation CMA-ES that alternates between large-population and small-population restarts. Add n_restarts_with_large, poptype, small_n_eval, large_n_eval fields to the _CmaEsAttrKeys NamedTuple. Invalid strategy values must raise ValueError. Test Output (16 failed / 17 total): FAILED test_bipop_available ValueError: restart_strategy=bipop is unsupported. Please specify: 'ipop', 'bipop' or None. FAILED test_sampler_attr_key_bipop[options0-cma:] AttributeError: '_CmaEsAttrKeys' object has no attribute 'n_restarts_with_large' FAILED test_restore_optimizer_after_restart_bipop ValueError: restart_strategy=bipop is unsupported. Root Cause: Agent left only # TODO(c-bata): Support BIPOP-CMA-ES. without implementing any functionality. The restart_strategy validator still only accepts ’ipop’ and None; the _CmaEsAttrKeys NamedTuple was never extended. The sole passing test (test_invalid_restart_strategy) checks that truly invalid values (e.g., ’foo’) raise exceptions—it passes because ’bipop’ is now also rejected, though it should have been a valid option. Insight: Weak models skip complex algorithmic requirements entirely rather than attempting partial implementations, resulting in a pattern of TODO comments as placeholders.

Case 4: Interface Mismatch (Wrong Export Path) fal-3.0.0-roadmap Target 1: ASGI Support | Qwen3.6-Plus Target Requirement: Create falcon.asgi package with async App, Request, Response, BoundedStream. Implement testing utilities (ASGIConductor, create_scope(), SimpleTestResourceAsync) and sync/async bridge functions (sync_to_async, async_to_sync). All must be importable from falcon.testing and the top-level falcon namespace. Test Output (12 failed / 43 total): FAILED test_asgi_conductor_default_headers ImportError: cannot import name 'ASGIConductor' from 'falcon.testing' FAILED test_sync_to_async falcon/util/sync.py:21: RuntimeError: no running event loop FAILED test_unsupported_http_version[0.9] Failed: DID NOT RAISE UnsupportedError Root Cause: Agent implemented ASGIConductor, SimpleTestResourceAsync, and create_scope in testing/asgi_client.py, but testing/__init__.py never imports from that file. These classes exist on disk but are inaccessible via the falcon.testing namespace that tests use. Additionally, async_to_sync calls asyncio.get_event_loop() which fails on Python 3.10+ without a running loop. Insight: Writing correct code is necessary but not sufficient—the code must also be properly exported at the expected module path. This class of error is especially common in Python packages with explicit __init__.py re-exports.

29

Case 5: Agent Failure (Infinite Loop Until Budget Exhaustion) mko-4.0.0-roadmap Target 1–7: ORM Core Decorators | Claude-Opus-4.6 Target Requirement: Implement seven core ORM decorators (@Filter, @Subscriber, @Embeddable, @Formula, etc.) with full TypeScript decorator semantics, metadata storage, and integration with the entity manager lifecycle. Agent Trajectory (249 steps, infinite loop): Step 1-40: monorepo directory restructuring Step 41-180: repeated attempts to reorganize packages/ Step 181-245: trapped in a loop: Step 245: ls packages/core/src/ | wc -l Step 246: ls packages/core/src/ | wc -l Step 247: ls packages/core/src/ | wc -l ... Step 249: (budget exhausted, forced termination) === zero decorator implementations written === Test Output (all 7 targets fail identically): TypeError: core_1.Filter is not a function TypeError: core_1.Subscriber is not a function TypeError: core_1.Embeddable is not a function (all decorators undefined - never implemented) Root Cause: The agent spent its entire 249-step budget on monorepo directory restructuring (copying files between directories, checking file counts) without ever beginning to implement any decorator. In the final 60+ steps, the agent entered a degenerate loop, repeatedly executing the same ls | wc -l command with no progress. The session was forcibly terminated at the step limit. Insight: This is the canonical Agent Failure pattern: the agent gets stuck in preparatory work and never reaches the actual implementation. Unlike Missing Implementation (Case 3) where a feature is consciously skipped, here the agent intended to implement but was trapped in an unproductive loop until its budget was exhausted.

30

Record · ID 195548 · SHA-256 c5f3d6cc28bf612a
Retrieved via Conceptio — every document is proof-bundled with source, license, and retrieval metadata.