Commit 00cb4fc
committed
feat: add a subsampled swe-bench-pro variant (33/66/66) for optimizer runs
Additive only. The canonical baseline/build.yaml and its 146/292/293 split are
byte-unchanged; this adds a second config beside them.
Why: the full split is unaffordable for an optimizer loop. Each case builds a
real repository and runs its test suite, so the full-split held-out baseline
alone cost ~7.8h of wall clock for three rounds, and an optimizer evaluates
candidates many times over. 33/66/66 matches gaia and browsecomp-plus, 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. `--sample` computes the
canonical split first, unchanged, then narrows each partition within itself, so
partitions/sample/test.json is a strict subset of partitions/test.json. Two
things follow. No instance can migrate from test into development: a flat
re-split at the smaller size does move them, and the first version of this
change produced a "held-out" set with zero overlap with the real one, silently
drawn from what had been dev and validation. And the baseline needed no
re-measuring.
baseline_reward: 0.2923 over the 66 sampled cases, recomputed from the very
same K=3 trials that produced the canonical 0.2940 +-0.0082. The
recomputation reproduces 0.2940 +-0.0082 exactly on the full set first, which
is what validates it. The point estimate barely moves; the spread widens to
+-0.0332 because n falls 293 -> 66.
CAVEAT recorded in the file: those trials targeted qwen-3.6-27b while the
variant targets deepseek-v4-flash, so 0.2923 is provisional until a K=3
deepseek pass over the 66 replaces it (~1.8h at max_concurrency 24).
Repository stratification and sha256 ordering are unchanged and apply within
each partition, so all 11 upstream repos appear in every sampled partition. The
sample shares the canonical manifest rather than duplicating it: it pins the
same 731 refs and the build loader reads only names from it, so a second copy
would just be a second thing to keep in sync. `--tasks-dir` is now optional,
since the manifest already records every name and stratum.
The variant also carries the settings the canonical config is missing relative
to its siblings: deepseek-v4-flash (prefixed-only, because agents strip just
`openai/` before the gateway matches exactly), max_concurrency 24, 4x case
budgets (132/264), case_timeout equal to task_agent_timeout at 3000 so the
multiplier is 1.0, score_baseline false with the baseline pinned, and
n_attempts 3 / mean on the test target.
CONFIGURATION.md gains the swe-bench-pro column it never had, describing the
canonical config, plus a footnote covering the variant and two pre-existing
inconsistencies in the canonical file that are deliberately left alone here:
case_timeout_seconds 1800 implies a 0.6 multiplier though the pinned 0.294 was
measured at 1.0 (all 879 sampled trial configs say so), and model: gpt-4o though
that baseline was measured against qwen-3.6-27b.
Verified: canonical partitions, manifest and build.yaml show no diff against
pr3; canonical --check passes; --sample regenerates byte-identically; every
sampled partition is a strict subset of its canonical counterpart; both configs
compile side by side (full -> 146/292/293, gpt-4o, 1800; sample -> 33/66/66,
deepseek, 3000, baseline 0.2923, budgets 132/264, n_attempts 3/mean on test
only); 13 passed, 6 skipped in test_v05_benchmark_configs.py.1 parent d93c696 commit 00cb4fc
6 files changed
Lines changed: 509 additions & 27 deletions
File tree
- harness-engineering-bench
- swe-bench-pro
- baseline
- partitions/sample
- 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 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
270 | 307 | | |
271 | 308 | | |
272 | 309 | | |
| |||
316 | 353 | | |
317 | 354 | | |
318 | 355 | | |
319 | | - | |
| 356 | + | |
320 | 357 | | |
321 | 358 | | |
322 | 359 | | |
| |||
Lines changed: 155 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
Lines changed: 35 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
0 commit comments