ReproBridge: Building Reproducibility into ML Research Artifacts
Organizations: University of Waterloo · Google
Abstract
Reproducing machine learning experiments requires reconstructing procedures from information scattered across papers, released code, and supporting artifacts. For coding agents, reproduction success can therefore depend on their ability to fill in missing details, rather than on the released artifacts alone. We ask whether preserving recovered procedures and decisions improves subsequent independent reproduction. We define a standardized artifact design comprising a refined codebase, environment setup, experiment launchers, and a reproduction guide, and introduce ReproBridge, an agent workflow for constructing these refined reproducible artifacts. ReproBridge-Bench provides 1,029 tasks from 387 experiments across 36 papers, anchored by five human-verified reference scores per task. Agents attempt tasks in fresh sessions with raw code or refined artifacts; a separate Auditor checks execution evidence. Across four evaluated models, refined artifacts raise mean reproduction success from 76.4% to 92.6% and reduce downstream API spending by 19.7% on average. The cross-model success-rate spread narrows from 21.6 to 3.9 percentage points, with all four models achieving mean success rates above 90%. Removing any component reduces success in the ablation study, with the largest losses from code and environment removal. These results suggest that preserving execution knowledge helps even models with lower raw-code success reproduce experiments more reliably and at lower API cost.
Figures & tables
| Cat. | Verification outcome | Interpretation | Tasks | Share (%) |
| 1 | Reproduced: stable | Compatible reference, low variability | 701 | 47.9 |
| 2 | Reproduced: variable | Compatible reference, higher variability | 328 | 22.4 |
| 3 | Numerical mismatch | Executed, but numerically incompatible | 183 | 12.5 |
| 4 | Execution blocked | Missing artifacts, dependencies, or code defects | 186 | 12.7 |
| 5 | Resource/access limit | Compute capacity or restricted access | 65 | 4.4 |
| Downstream evaluation (Categories 1 + 2) | 1,029 | 70.3 | ||
| Role | Input and responsibility | Output and check |
|---|---|---|
| Intake | Paper, pinned raw code, selected tasks; read and map the inputs | Input manifest, experiment groups, artifact availability, initial ambiguities |
| Planner | Task mapping and ambiguities; specify the measurement before execution | Task specifications with source references, recorded choices, execution plans, draft launchers |
| Builder | Dependency and artifact requirements; construct a working environment | Locked dependencies, setup and data scripts, container definition, smoke-test evidence |
| Reproducer | Plans and verified setup; execute and record justified changes | File-backed measurements, code changes, repetition records, explicit failure reasons |
| Distiller | Execution evidence, repairs, and decisions; synthesize the handoff | Reproduction guide, change record, aggregation and variability guidance |
| Packager | Code, setup, launchers, and documents; assemble a portable deliverable | Refined artifact and clean-shell verification evidence |
| Success (%) | Tokens (B) | API (USD) | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Model | Raw | RRA | Gain | Raw | RRA | Red. | Raw | RRA | Red. |
| Sonnet 4.6 | +19.3 | 19.8 | 20.6 | ||||||
| Sonnet 5 | +16.8 | 9.2 | 23.7 | ||||||
| Opus 5 | +5.5 | 6.3 | 17.7 | ||||||
| Gemini 3.8 | +23.2 | 18.3 | 16.8 | ||||||
| (a) Paper-macro, 95% interval | (b) Task-level, 80% interval | ||||||
| Model | Raw | RRA | Gain | I/T/W | Raw | RRA | Gain |
| Sonnet 4.6 | 69.9 | 89.7 | +19.8 | 25/8/3 | 61.3 | 88.2 | +26.9 |
| Sonnet 5 | 75.1 | 90.6 | +15.5 | 23/9/4 | 63.9 | 90.5 | +26.5 |
| Opus 5 | 87.5 | 94.2 | +6.7 | 16/15/5 | 82.0 | 92.3 | +10.3 |
| Gemini 3.8 Flash | 67.2 | 87.9 | +20.7 | 25/5/6 | 47.7 | 86.8 | +39.1 |
| Handoff | Success (%) | Loss (pp) |
|---|---|---|
| Raw code | 73.9 | — |
| Ordinary outputs | 81.2 | — |
| Full RRA | 93.0 | — |
| Full RRA without one component: | ||
| Refined codebase | 87.8 | 5.2 |
| Environment setup | 88.5 | 4.5 |
| Reproducer | Input | Codex | Claude | ||
|---|---|---|---|---|---|
| Invalid / matched | Success (%) | Invalid / matched | Success (%) | ||
| Sonnet 4.6 | Raw | 63/805 | 72.1 | 41/805 | 74.2 |
| Sonnet 4.6 | RRA | 23/968 | 91.8 | 6/968 | 93.5 |
| Sonnet 5 | Raw | 51/838 | 76.5 | 4/838 | 81.0 |
| Sonnet 5 | RRA | 0/962 | 93.5 | 0/962 | 93.5 |
| Opus 5 | Raw | 43/961 | 89.2 | 0/961 | 93.4 |
Appendix figures & tables16 assets
Supplementary material from the paper’s appendix.
Appendix
| Primary research area | Paper IDs | Papers |
|---|---|---|
| Deep learning | 35, 71, 84, 95, 96, 116, 129, 145 | 8 |
| Trustworthy ML | 7, 20, 24, 90, 124, 135, 169, 187 | 8 |
| General ML & theory | 1, 40, 66, 149, 223, 230 | 6 |
| ML systems & optimization | 81, 113, 121, 136, 141, 238 | 6 |
| Reinforcement learning & robotics | 2, 58, 134 | 3 |
| Probabilistic methods | 50, 112 | 2 |
| ID | Paper | Tasks | S4.6 | S5 | O5 | G3.8 |
|---|---|---|---|---|---|---|
| 1 | ( Li et al., 2026a ) | 12 | 9 / 9 | 9 / 9 | 11 / 9 | 12 / 9 |
| 2 | ( Petitbois et al., 2026 ) | 15 | 2 / 15 | 15 / 15 | 15 / 15 | 10 / 15 |
| 7 | ( Ferrere et al., 2026 ) | 82 | 75 / 76 | 75 / 81 | 80 / 77 | 62 / 75 |
| 20 | ( Zhou et al., 2026 ) | 12 | 10 / 12 | 2 / 12 | 9 / 12 | 11 / 9 |
| 24 | ( Angell et al., 2026 ) | 3 | 3 / 3 | 3 / 2 | 3 / 3 | 3 / 2 |
| 35 | ( Li et al., 2026c ) | 40 | 9 / 40 | 28 / 40 | 40 / 40 | 16 / 40 |
| ID | Paper | Criteria |
|---|---|---|
| 133 | ( Ding et al., 2026 ) | C1 |
| 156 | ( Słupiński and Lipiński, 2026 ) | C1 |
| 44 | ( Xu et al., 2026 ) | C1 |
| 27 | ( Sun et al., 2026 ) | C1 / C3 |
| 218 | ( Zhao et al., 2026a ) | C1 / C3 |
| 219 | ( Zhang et al., 2026b ) | C1 |
| Role / label | Model identifier | Harness | Effort |
|---|---|---|---|
| Construction | claude-opus-5[1m] | Claude Code | max |
| Sonnet 4.6 | claude-sonnet-4-6[1m] | Claude Code | max |
| Sonnet 5 | claude-sonnet-5[1m] | Claude Code | max |
| Opus 5 | claude-opus-5[1m] | Claude Code | max |
| Gemini 3.8 Flash | gemini-3.8-flash | Gemini CLI | high |
| Primary Auditor | gpt-5.6-sol | Codex CLI | high |
| Scope | Auditor | Flagged | TP | FP | FN | Precision (%) | Recall (%) |
|---|---|---|---|---|---|---|---|
| All | Codex | 35 | 31 | 4 | 8 | 88.6 | 79.5 |
| All | Claude | 28 | 24 | 4 | 15 | 85.7 | 61.5 |
| Raw | Codex | 29 | 26 | 3 | 7 | 89.7 | 78.8 |
| Raw | Claude | 24 | 20 | 4 | 13 | 83.3 | 60.6 |
| RRA | Codex | 6 | 5 | 1 | 1 | 83.3 | 83.3 |
| RRA | Claude | 4 | 4 | 0 | 2 | 100.0 | 66.7 |
| Model | Cat. | Raw (%) | RRA (%) | Gain (pp) |
|---|---|---|---|---|
| Sonnet 4.6 | 1 | 71.3 | 93.6 | +22.3 |
| Sonnet 4.6 | 2 | 73.8 | 88.1 | +14.3 |
| Sonnet 5 | 1 | 75.6 | 95.4 | +19.8 |
| Sonnet 5 | 2 | 78.4 | 89.3 | +11.0 |
| Opus 5 | 1 | 88.9 | 96.9 | +8.0 |
| Opus 5 | 2 | 89.9 | 92.1 | +2.1 |
| Model | Raw | RRA | Recoveries | Reversals | Net |
|---|---|---|---|---|---|
| Sonnet 4.6 | 742 | 945 | 234 | 31 | 203 |
| Sonnet 5 | 787 | 962 | 208 | 33 | 175 |
| Opus 5 | 918 | 981 | 100 | 37 | 63 |
| Gemini 3.8 Flash | 696 | 932 | 271 | 35 | 236 |
| Total | 3,143 | 3,820 | 813 | 136 | 677 |
| Papers with patches | First scored execution (h) | |||
|---|---|---|---|---|
| Model | Raw | RRA | Raw | RRA |
| Sonnet 4.6 | 26 | 11 | 0.50 | 0.27 |
| Sonnet 5 | 30 | 14 | 0.90 | 0.53 |
| Opus 5 | 24 | 16 | 0.54 | 0.32 |
| Gemini 3.8 Flash | 33 | 13 | 0.73 | 0.26 |
| Explanation | Est. outcomes | Share (%) |
|---|---|---|
| Protocol | 210 | 25.8 |
| Launcher | 76 | 9.4 |
| Env | 87 | 10.7 |
| Code | 99 | 12.2 |
| Artifact | 79 | 9.7 |
| Integrity | 217 | 26.7 |
| RRA outcome | Reversals | Share (%) |
|---|---|---|
| Numerical mismatch | 84 | 61.8 |
| Execution blocked | 10 | 7.4 |
| Resource/access limit | 31 | 22.8 |
| Audit-invalid match | 11 | 8.1 |
| ID | Paper | Experiments | Tasks | CPU-only tasks |
|---|---|---|---|---|
| 1 | TESS | 4 | 12 | 0 |
| 20 | EnergyDPS | 3 | 12 | 6 |
| 50 | ControlConsistencyBridges | 13 | 18 | 0 |
| 112 | AuxiliaryMCMC | 2 | 19 | 19 |
| 129 | KPEKTS | 5 | 20 | 0 |
| 141 | POET-X | 57 | 57 | 0 |
| Category | Findings | Papers | Distinct tasks |
|---|---|---|---|
| Hyperparameters | 41 | 26 | 287 |
| Objective | 41 | 22 | 400 |
| Data | 40 | 20 | 298 |
| Architecture | 33 | 18 | 209 |
| Evaluation procedure | 30 | 20 | 261 |
| Training procedure | 22 | 16 | 176 |
| Success rate (%) | API USD | |||||
|---|---|---|---|---|---|---|
| Reproducer | Raw | RRA | Gain (pp) | Raw | RRA | Reduction (%) |
| Sonnet 5 | 75.6 | 92.2 | +16.6 | 1,883 | 1,396 | 25.9 |
| Gemini 3.8 Flash | 59.7 | 91.2 | +31.5 | 478 | 389 | 18.6 |
| Model | Tokens (B) | Reduction (%) | API USD | Reduction (%) |
|---|---|---|---|---|
| Sonnet 4.6 | 8.48 / 6.80 | 19.8 | 3,165 / 2,512 | 20.6 |
| Sonnet 5 | 4.98 / 4.52 | 9.2 | 1,726 / 1,317 | 23.7 |
| Opus 5 | 3.01 / 2.82 | 6.3 | 3,480 / 2,865 | 17.7 |
| Gemini 3.8 Flash | 2.24 / 1.83 | 18.3 | 392 / 326 | 16.8 |
ML Reproducibility
Machine learning reproducibility studies whether model results and scientific claims can be independently checked and reliably repeated.
See all 144 papers