Commit 7ce8a89
committed
feat: subsample swe-bench-pro to 33/66/66 and put it on deepseek
A full 146/292/293 split is unaffordable for an optimizer loop. Each case builds
a real repository and runs its test suite, so the held-out baseline alone cost
~7.8h of wall clock for three rounds, and the optimizer evaluates candidates
many times over. 33/66/66 matches browsecomp-plus and gaia, the suite's tightest
split, which is the right reference for its most expensive benchmark.
The sample is NESTED, which is the load-bearing detail. The full split is
computed first, unchanged, and each partition is then sampled within itself, so
the sampled test set is a strict subset of the full test set. Two things follow:
no instance can migrate from test into development (a flat re-split moves them,
which would quietly destroy the held-out guarantee), and the baseline did not
need re-measuring.
baseline_reward: 0.2923, pinned, with score_baseline: false like every
sibling. That is the same K=3 trials that produced the published
full-partition 0.2940 +-0.0082, recomputed over the 66 sampled cases; the
recomputation reproduces 0.2940 +-0.0082 exactly on the full set first, which
is what validates it. The point estimate barely moves, but the spread widens
to +-0.0332 because n falls 293 -> 66. Worth remembering when reading a
candidate's margin over this floor.
Repository stratification and the sha256 ordering are unchanged and apply within
each partition, so all 11 upstream repos are still represented in every one. The
566 unselected instances stay in the manifest with `partition: null`, keeping
their refs pinned so a later widening is a counts-only change, not a re-pin.
`--tasks-dir` is now optional: the manifest already records every instance's
name and stratum, so changing counts no longer means re-exporting 731 task dirs.
Config corrections that ride along, all aligning with the rest of the suite:
- case_timeout_seconds 1800 -> 3000, equal to task_agent_timeout_seconds, so
the multiplier is 1.0 like every sibling. The old value implied 0.6, but the
published baseline was in fact measured at 1.0: all 879 sampled trial
configs record agent_timeout_multiplier=1.0. The config was wrong, not the
measurement.
- max_concurrency 8 -> 24.
- total_cases 1x -> 4x the partition (132/264), the convention every other
benchmark already follows.
- target model gpt-4o -> fireworks_ai/deepseek-v4-flash, prefixed-only because
the agents strip just `openai/` before the gateway matches exactly.
CONFIGURATION.md gains the swe-bench-pro column it never had, and a footnote
explaining the subsample and the widened error bar.
Verified: partitions regenerate byte-identically and --check passes; every
partition is a strict subset of its full counterpart; all 11 repos appear in
each; the build compiles and the compiled task carries 132/264 budgets,
baseline_reward 0.2923, deepseek on all three backends and finalization,
case==agent timeout 3000, max_concurrency 24, and n_attempts 3 / mean on the
test backend only; 13 passed, 6 skipped in test_v05_benchmark_configs.py.1 parent d93c696 commit 7ce8a89
7 files changed
Lines changed: 752 additions & 1180 deletions
File tree
- harness-engineering-bench
- swe-bench-pro
- baseline
- partitions
- scripts
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
| |||
267 | 267 | | |
268 | 268 | | |
269 | 269 | | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
270 | 287 | | |
271 | 288 | | |
272 | 289 | | |
| |||
316 | 333 | | |
317 | 334 | | |
318 | 335 | | |
319 | | - | |
| 336 | + | |
320 | 337 | | |
321 | 338 | | |
322 | 339 | | |
| |||
Lines changed: 23 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
| 36 | + | |
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
42 | 46 | | |
43 | 47 | | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
44 | 55 | | |
45 | 56 | | |
46 | 57 | | |
| |||
49 | 60 | | |
50 | 61 | | |
51 | 62 | | |
52 | | - | |
| 63 | + | |
53 | 64 | | |
54 | 65 | | |
55 | 66 | | |
56 | | - | |
| 67 | + | |
57 | 68 | | |
58 | 69 | | |
59 | 70 | | |
| |||
69 | 80 | | |
70 | 81 | | |
71 | 82 | | |
72 | | - | |
73 | | - | |
74 | | - | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
75 | 88 | | |
76 | | - | |
| 89 | + | |
77 | 90 | | |
78 | | - | |
| 91 | + | |
79 | 92 | | |
80 | 93 | | |
81 | 94 | | |
| |||
100 | 113 | | |
101 | 114 | | |
102 | 115 | | |
103 | | - | |
| 116 | + | |
104 | 117 | | |
105 | 118 | | |
106 | 119 | | |
| |||
0 commit comments