Claude Opus 5.5, GPT-6.1 Sol and Claude Haiku 5.5 passed almost the same number of hard coding tasks.
Each model got 3 tries at each of 7 real coding tasks, 30 minutes per try. Claude Opus 5.5 passed 15 of its 21 tries, GPT-6.1 Sol and Claude Haiku 5.5 passed 14, and GPT-6 Luna passed 9.
Each version tests something different. Scores don't carry over.
Results#
Claude Opus 5.5 passed 15 of 21 tries, GPT-6.1 Sol 14, Claude Haiku 5.5 14 and GPT-6 Luna 9.
7 tasks, 3 tries each. A gap of 1 can be luck. Tap or hover over a bar to see each task.
Source: skill-evals.brenhq.com, updated 14 October 2026. Deep suite v1. 84 tries, medium effort, 30 minutes per try.
Each task#
Every model passed Navidrome every time. No model passed LibreDWG even once.
Each square is one try. Filled means it passed.
| Task | GPT-6.1 Sol | Claude Opus 5.5 | Claude Haiku 5.5 | GPT-6 Luna |
|---|---|---|---|---|
| Build a featureThe model gets a feature request. To pass, it must pass hidden tests it never saw, and the existing tests must still pass. | ||||
| Flipt feature-flag server, GoLet one rule target several user segments at once. | 3 of 3 | 3 of 3 | 3 of 3 | 1 of 3 |
| Fix a bugThe model gets a bug report. To pass, it must pass hidden tests it never saw, and the existing tests must still pass. | ||||
| Proton Mail web client email web app, TypeScriptHold back mailbox reloads until pending changes finish, and recover from failed loads. | 3 of 3 | 2 of 3 | 3 of 3 | 1 of 3 |
| Navidrome music streaming server, GoFix pages that crash after an upgrade leaves date fields empty. | 3 of 3 | 3 of 3 | 3 of 3 | 3 of 3 |
| Speed up codeThe model gets slow code. To pass, it must get 95% of the expert's speed-up without changing the results. | ||||
| pandas data library, PythonMake setting values one at a time in nullable integer arrays faster. | 0 of 3 | 1 of 3 | 0 of 3 | 0 of 3 |
| NumPy math library, PythonMake np.isin faster on integer arrays. | 2 of 3 | 3 of 3 | 2 of 3 | 2 of 3 |
| Fix a security flawThe model gets a crash report. To pass, it must clear all 4 checks listed under Security fixes. | ||||
| wolfSSL TLS and crypto library, CFix a heap buffer overflow when a big number is written out in hex. | 3 of 3 | 3 of 3 | 3 of 3 | 2 of 3 |
| LibreDWG library that reads CAD drawings, CFix a buffer over-read while reading a drawing file. | 0 of 3 | 0 of 3 | 0 of 3 | 0 of 3 |
| Not countedThis task is shown on its own and not counted in the 7. Its hidden tests check for a function the task never asks for. | ||||
| Ansible IT automation tool, PythonAdd a module that manages message routing routes on F5 BIG-IP devices. | 2 of 3 | 3 of 3 | 1 of 3 | 0 of 3 |
Source: skill-evals.brenhq.com, updated 14 October 2026. Deep suite v1. 96 tries, medium effort, 30 minutes per try.
Every try
| Task | Model | Try | Passed | Minutes | Output tokens | Matches original fix | What the grader saw |
|---|---|---|---|---|---|---|---|
| Ansible | GPT-6.1 Sol | 1 | yes | 2.6 | 5,971 | 41% | 6 of 6 hidden tests passed |
| Ansible | GPT-6.1 Sol | 2 | yes | 3.1 | 7,057 | 39% | 6 of 6 hidden tests passed |
| Ansible | GPT-6.1 Sol | 3 | no | 2.4 | 6,040 | 42% | 3 of 6 hidden tests passed |
| Ansible | Claude Opus 5.5 | 1 | yes | 1.9 | 11,227 | 91% * | 6 of 6 hidden tests passed |
| Ansible | Claude Opus 5.5 | 2 | yes | 2.0 | 13,528 | 91% * | 6 of 6 hidden tests passed |
| Ansible | Claude Opus 5.5 | 3 | yes | 1.8 | 11,393 | 92% * | 6 of 6 hidden tests passed |
| Ansible | Claude Haiku 5.5 | 1 | no | 1.1 | 15,573 | 74% * | 3 of 6 hidden tests passed |
| Ansible | Claude Haiku 5.5 | 2 | yes | 1.2 | 15,798 | 72% * | 6 of 6 hidden tests passed |
| Ansible | Claude Haiku 5.5 | 3 | no | 1.5 | 17,767 | 73% * | 3 of 6 hidden tests passed |
| Ansible | GPT-6 Luna | 1 | no | 0.6 | 3,486 | 29% | 3 of 6 hidden tests passed |
| Ansible | GPT-6 Luna | 2 | no | 0.7 | 4,115 | 24% | 3 of 6 hidden tests passed |
| Ansible | GPT-6 Luna | 3 | no | 1.2 | 3,419 | 22% | 3 of 6 hidden tests passed |
| Flipt | GPT-6.1 Sol | 1 | yes | 4.4 | 8,219 | 9% | 3 of 3 hidden tests passed |
| Flipt | GPT-6.1 Sol | 2 | yes | 4.0 | 7,448 | 9% | 3 of 3 hidden tests passed |
| Flipt | GPT-6.1 Sol | 3 | yes | 4.1 | 8,634 | 16% | 3 of 3 hidden tests passed |
| Flipt | Claude Opus 5.5 | 1 | yes | 5.1 | 12,383 | 71% * | 3 of 3 hidden tests passed |
| Flipt | Claude Opus 5.5 | 2 | yes | 4.0 | 10,782 | 85% * | 3 of 3 hidden tests passed |
| Flipt | Claude Opus 5.5 | 3 | yes | 4.4 | 11,544 | 76% * | 3 of 3 hidden tests passed |
| Flipt | Claude Haiku 5.5 | 1 | yes | 3.1 | 21,393 | 26% | 3 of 3 hidden tests passed |
| Flipt | Claude Haiku 5.5 | 2 | yes | 4.1 | 19,712 | 24% | 3 of 3 hidden tests passed |
| Flipt | Claude Haiku 5.5 | 3 | yes | 3.3 | 18,353 | 20% | 3 of 3 hidden tests passed |
| Flipt | GPT-6 Luna | 1 | yes | 1.1 | 4,157 | 0% | 3 of 3 hidden tests passed |
| Flipt | GPT-6 Luna | 2 | no | 2.5 | 5,358 | 6% | 2 of 3 hidden tests passed |
| Flipt | GPT-6 Luna | 3 | no | 1.5 | 3,731 | 3% | 2 of 3 hidden tests passed |
| Proton Mail web client | GPT-6.1 Sol | 1 | yes | 6.0 | 10,560 | 56% | 3 of 3 hidden tests passed |
| Proton Mail web client | GPT-6.1 Sol | 2 | yes | 7.0 | 13,757 | 57% | 3 of 3 hidden tests passed |
| Proton Mail web client | GPT-6.1 Sol | 3 | yes | 7.9 | 13,238 | 57% | 3 of 3 hidden tests passed |
| Proton Mail web client | Claude Opus 5.5 | 1 | yes | 18.1 | 18,378 | 70% * | 3 of 3 hidden tests passed |
| Proton Mail web client | Claude Opus 5.5 | 2 | yes | 13.0 | 17,007 | 68% * | 3 of 3 hidden tests passed |
| Proton Mail web client | Claude Opus 5.5 | 3 | no | 18.2 | 13,324 | 70% * | 2 of 3 hidden tests passed |
| Proton Mail web client | Claude Haiku 5.5 | 1 | yes | 10.7 | 44,202 | 61% * | 3 of 3 hidden tests passed |
| Proton Mail web client | Claude Haiku 5.5 | 2 | yes | 8.1 | 55,829 | 56% | 3 of 3 hidden tests passed |
| Proton Mail web client | Claude Haiku 5.5 | 3 | yes | 5.8 | 41,899 | 64% * | 3 of 3 hidden tests passed |
| Proton Mail web client | GPT-6 Luna | 1 | yes | 1.3 | 5,382 | 43% | 3 of 3 hidden tests passed |
| Proton Mail web client | GPT-6 Luna | 2 | no | 1.2 | 3,458 | 42% | 2 of 3 hidden tests passed |
| Proton Mail web client | GPT-6 Luna | 3 | no | 0.9 | 3,728 | 42% | 2 of 3 hidden tests passed |
| Navidrome | GPT-6.1 Sol | 1 | yes | 2.7 | 5,394 | 12% | 3 of 3 hidden tests passed |
| Navidrome | GPT-6.1 Sol | 2 | yes | 2.7 | 5,287 | 12% | 3 of 3 hidden tests passed |
| Navidrome | GPT-6.1 Sol | 3 | yes | 1.7 | 3,304 | 12% | 3 of 3 hidden tests passed |
| Navidrome | Claude Opus 5.5 | 1 | yes | 1.6 | 3,774 | 12% | 3 of 3 hidden tests passed |
| Navidrome | Claude Opus 5.5 | 2 | yes | 1.6 | 3,812 | 12% | 3 of 3 hidden tests passed |
| Navidrome | Claude Opus 5.5 | 3 | yes | 1.6 | 3,284 | 12% | 3 of 3 hidden tests passed |
| Navidrome | Claude Haiku 5.5 | 1 | yes | 1.5 | 7,543 | 12% | 3 of 3 hidden tests passed |
| Navidrome | Claude Haiku 5.5 | 2 | yes | 2.0 | 9,813 | 12% | 3 of 3 hidden tests passed |
| Navidrome | Claude Haiku 5.5 | 3 | yes | 1.4 | 5,988 | 12% | 3 of 3 hidden tests passed |
| Navidrome | GPT-6 Luna | 1 | yes | 0.9 | 3,518 | 1% | 3 of 3 hidden tests passed |
| Navidrome | GPT-6 Luna | 2 | yes | 0.6 | 2,795 | 2% | 3 of 3 hidden tests passed |
| Navidrome | GPT-6 Luna | 3 | yes | 1.3 | 3,201 | 1% | 3 of 3 hidden tests passed |
| pandas | GPT-6.1 Sol | 1 | no | 2.5 | 4,686 | 11% | 1.16x faster than before; 0.435 of the expert's speed-up |
| pandas | GPT-6.1 Sol | 2 | no | 3.5 | 5,705 | 4% | 1.17x faster than before; 0.446 of the expert's speed-up |
| pandas | GPT-6.1 Sol | 3 | no | 3.3 | 5,764 | 11% | 1.19x faster than before; 0.441 of the expert's speed-up |
| pandas | Claude Opus 5.5 | 1 | yes | 2.0 | 9,197 | 21% | 2.56x faster than before; 1.032 of the expert's speed-up |
| pandas | Claude Opus 5.5 | 2 | no | 1.9 | 7,848 | 14% | 1.86x faster than before; 0.746 of the expert's speed-up |
| pandas | Claude Opus 5.5 | 3 | no | 1.9 | 6,919 | 11% | 1.88x faster than before; 0.751 of the expert's speed-up |
| pandas | Claude Haiku 5.5 | 1 | no | 1.6 | 8,975 | 7% | 1.14x faster than before; 0.429 of the expert's speed-up |
| pandas | Claude Haiku 5.5 | 2 | no | 3.7 | 11,009 | 11% | 1.25x faster than before; 0.452 of the expert's speed-up |
| pandas | Claude Haiku 5.5 | 3 | no | 1.2 | 12,206 | 7% | 1.15x faster than before; 0.429 of the expert's speed-up |
| pandas | GPT-6 Luna | 1 | no | 1.2 | 3,707 | 7% | 1.15x faster than before; 0.431 of the expert's speed-up |
| pandas | GPT-6 Luna | 2 | no | 1.5 | 4,971 | 7% | 1.23x faster than before; 0.455 of the expert's speed-up |
| pandas | GPT-6 Luna | 3 | no | 1.2 | 3,063 | 7% | 1.12x faster than before; 0.427 of the expert's speed-up |
| NumPy | GPT-6.1 Sol | 1 | yes | 4.7 | 7,829 | 4% | 7.50x faster than before; 1.039 of the expert's speed-up |
| NumPy | GPT-6.1 Sol | 2 | no | 2.6 | 4,288 | 0% | 6.89x faster than before; 0.934 of the expert's speed-up |
| NumPy | GPT-6.1 Sol | 3 | yes | 2.5 | 4,273 | 0% | 6.68x faster than before; 0.950 of the expert's speed-up |
| NumPy | Claude Opus 5.5 | 1 | yes | 2.5 | 10,320 | 0% | 9.67x faster than before; 1.234 of the expert's speed-up |
| NumPy | Claude Opus 5.5 | 2 | yes | 1.4 | 6,985 | 4% | 9.54x faster than before; 1.185 of the expert's speed-up |
| NumPy | Claude Opus 5.5 | 3 | yes | 1.9 | 10,109 | 0% | 11.84x faster than before; 1.457 of the expert's speed-up |
| NumPy | Claude Haiku 5.5 | 1 | no | 1.5 | 14,236 | 0% | 1.72x faster than before; 0.181 of the expert's speed-up |
| NumPy | Claude Haiku 5.5 | 2 | yes | 3.4 | 17,170 | 0% | 7.69x faster than before; 1.050 of the expert's speed-up |
| NumPy | Claude Haiku 5.5 | 3 | yes | 1.6 | 15,219 | 0% | 8.94x faster than before; 1.093 of the expert's speed-up |
| NumPy | GPT-6 Luna | 1 | yes | 1.2 | 2,628 | 0% | 11.18x faster than before; 1.292 of the expert's speed-up |
| NumPy | GPT-6 Luna | 2 | no | 0.8 | 2,528 | 0% | 6.46x faster than before; 0.779 of the expert's speed-up |
| NumPy | GPT-6 Luna | 3 | yes | 1.0 | 2,843 | 0% | 11.90x faster than before; 1.522 of the expert's speed-up |
| wolfSSL | GPT-6.1 Sol | 1 | yes | 5.4 | 4,337 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: yes; output match: yes |
| wolfSSL | GPT-6.1 Sol | 2 | yes | 4.8 | 3,009 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: yes; output match: yes |
| wolfSSL | GPT-6.1 Sol | 3 | yes | 6.8 | 3,039 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: yes; output match: yes |
| wolfSSL | Claude Opus 5.5 | 1 | yes | 30.1 (cap) | – | 100% * | crash input fixed: yes; replayed inputs: yes; unit tests: yes; output match: yes |
| wolfSSL | Claude Opus 5.5 | 2 | yes | 9.2 | 2,262 | 100% * | crash input fixed: yes; replayed inputs: yes; unit tests: yes; output match: yes |
| wolfSSL | Claude Opus 5.5 | 3 | yes | 9.2 | 2,424 | 100% * | crash input fixed: yes; replayed inputs: yes; unit tests: yes; output match: yes |
| wolfSSL | Claude Haiku 5.5 | 1 | yes | 4.1 | 10,932 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: yes; output match: yes |
| wolfSSL | Claude Haiku 5.5 | 2 | yes | 16.6 | 24,647 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: yes; output match: yes |
| wolfSSL | Claude Haiku 5.5 | 3 | yes | 14.3 | 25,326 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: yes; output match: yes |
| wolfSSL | GPT-6 Luna | 1 | yes | 7.0 | 5,699 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: yes; output match: yes |
| wolfSSL | GPT-6 Luna | 2 | no | 4.0 | 3,615 | 0% | crash input fixed: no; replayed inputs: no; unit tests: yes; output match: yes |
| wolfSSL | GPT-6 Luna | 3 | yes | 3.3 | 4,248 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: yes; output match: yes |
| LibreDWG | GPT-6.1 Sol | 1 | no | 7.1 | 3,146 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: no; output match: no |
| LibreDWG | GPT-6.1 Sol | 2 | no | 9.6 | 3,649 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: no; output match: no |
| LibreDWG | GPT-6.1 Sol | 3 | no | 10.7 | 3,818 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: no; output match: no |
| LibreDWG | Claude Opus 5.5 | 1 | no | 15.0 | 5,938 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: no; output match: no |
| LibreDWG | Claude Opus 5.5 | 2 | no | 17.7 | 9,492 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: no; output match: no |
| LibreDWG | Claude Opus 5.5 | 3 | no | 15.6 | 8,026 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: no; output match: no |
| LibreDWG | Claude Haiku 5.5 | 1 | no | 13.4 | 9,366 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: no; output match: no |
| LibreDWG | Claude Haiku 5.5 | 2 | no | 17.9 | 38,108 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: no; output match: no |
| LibreDWG | Claude Haiku 5.5 | 3 | no | 21.1 | 15,374 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: no; output match: no |
| LibreDWG | GPT-6 Luna | 1 | no | 13.2 | 8,460 | 0% | crash input fixed: no; replayed inputs: no; unit tests: no; output match: no |
| LibreDWG | GPT-6 Luna | 2 | no | 6.8 | 2,838 | 0% | crash input fixed: no; replayed inputs: no; unit tests: no; output match: no |
| LibreDWG | GPT-6 Luna | 3 | no | 16.6 | 6,279 | 0% | crash input fixed: yes; replayed inputs: yes; unit tests: no; output match: no |
The table scrolls sideways on a small screen.
Matches original fix is how much of the project's own fix the try repeated, counting the fix's added lines that also appear in the try (tests, spacing and lines under 12 characters left out). These are public tasks, so a model may have seen that fix in training. At 60% or more the try gets a *: a warning, not proof, because small fixes can match by nature. I picked 60% after seeing the first tries. Marked: Claude Haiku 5.5 on Ansible, try 1 (74%, failed), Claude Haiku 5.5 on Ansible, try 2 (72%, passed), Claude Haiku 5.5 on Ansible, try 3 (73%, failed), Claude Opus 5.5 on Ansible, try 1 (91%, passed), Claude Opus 5.5 on Ansible, try 2 (91%, passed), Claude Opus 5.5 on Ansible, try 3 (92%, passed), Claude Opus 5.5 on Flipt, try 1 (71%, passed), Claude Opus 5.5 on Flipt, try 2 (85%, passed), Claude Opus 5.5 on Flipt, try 3 (76%, passed), Claude Haiku 5.5 on Proton Mail web client, try 1 (61%, passed), Claude Haiku 5.5 on Proton Mail web client, try 3 (64%, passed), Claude Opus 5.5 on Proton Mail web client, try 1 (70%, passed), Claude Opus 5.5 on Proton Mail web client, try 2 (68%, passed), Claude Opus 5.5 on Proton Mail web client, try 3 (70%, failed), Claude Opus 5.5 on wolfSSL, try 1 (100%, passed), Claude Opus 5.5 on wolfSSL, try 2 (100%, passed) and Claude Opus 5.5 on wolfSSL, try 3 (100%, passed).
Cost#
Cost per passed try at standard API prices: GPT-6 Luna $0.03; Claude Haiku 5.5 $0.05 to $0.23; GPT-6.1 Sol $0.41 to $0.46; Claude Opus 5.5 $0.73, from 20 tries.
The cost of all tries, failed ones included, divided by the tries that passed. Typical means the middle try.
Some costs are a range because the tools don't log everything they're billed for. Details are under How I tested.
| Model | GPT-6.1 Sol | Claude Opus 5.5 | Claude Haiku 5.5 | GPT-6 Luna |
|---|---|---|---|---|
| Tries passed | 14 of 21 | 15 of 21 | 14 of 21 | 9 of 21 |
| Minutes per try, typical | 4.4 | 4.4 | 3.7 | 1.3 |
| Tokens written per try, typical | 5,287 | 8,612 | 15,374 | 3,707 |
| Total cost | $5.73 to $6.45 | $10.27 (20 tries logged) | $0.64 to $3.19 | $0.28 to $0.31 |
| Cost per pass | $0.41 to $0.46 | $0.73 (from 20 tries) | $0.05 to $0.23 | $0.03 |
Source: skill-evals.brenhq.com, updated 14 October 2026. Deep suite v1. 84 tries, medium effort, 30 minutes per try. Prices checked 29 September 2026, OpenAI's cache-write rates 14 October 2026.
Speed-ups#
On pandas, only Claude Opus 5.5 matched the expert's speed-up, once. On NumPy, every model matched the expert's speed-up at least twice.
Each square is one try. Filled means it got 95% of the expert's speed-up without changing the results. The number is the best try's speed-up as a share of the expert's.
| Task | GPT-6.1 Sol | Claude Opus 5.5 | Claude Haiku 5.5 | GPT-6 Luna |
|---|---|---|---|---|
| Speed up code | ||||
| pandasMake setting values one at a time in nullable integer arrays faster. | best 45% | best 103% | best 45% | best 46% |
| NumPyMake np.isin faster on integer arrays. | best 104% | best 146% | best 109% | best 152% |
Source: skill-evals.brenhq.com, updated 14 October 2026. Deep suite v1. 24 tries, medium effort, timed alone on dedicated cores. Timing noise is about 1%: the expert's own fix measured 101% and 101% of itself.
Security fixes#
11 of 12 tries fixed the wolfSSL bug; only GPT-6 Luna missed once. None fixed the LibreDWG bug, though 10 of 12 stopped the crash.
Each square is one try. Filled means it passed that check. On LibreDWG the models patched the line that crashed, but the real bug was in another file.
| Check | GPT-6.1 Sol | Claude Opus 5.5 | Claude Haiku 5.5 | GPT-6 Luna |
|---|---|---|---|---|
| wolfSSLFix a heap buffer overflow when a big number is written out in hex. | ||||
| Crash input no longer crashes | 3 of 3 | 3 of 3 | 3 of 3 | 2 of 3 |
| No memory errors on other inputs | 3 of 3 | 3 of 3 | 3 of 3 | 2 of 3 |
| Library's own tests pass | 3 of 3 | 3 of 3 | 3 of 3 | 3 of 3 |
| Output unchanged | 3 of 3 | 3 of 3 | 3 of 3 | 3 of 3 |
| Passed all 4 checks | 3 of 3 | 3 of 3 | 3 of 3 | 2 of 3 |
| LibreDWGFix a buffer over-read while reading a drawing file. | ||||
| Crash input no longer crashes | 3 of 3 | 3 of 3 | 3 of 3 | 1 of 3 |
| No memory errors on other inputs | 3 of 3 | 3 of 3 | 3 of 3 | 1 of 3 |
| Library's own tests pass | 0 of 3 | 0 of 3 | 0 of 3 | 0 of 3 |
| Output unchanged | 0 of 3 | 0 of 3 | 0 of 3 | 0 of 3 |
| Passed all 4 checks | 0 of 3 | 0 of 3 | 0 of 3 | 0 of 3 |
Source: skill-evals.brenhq.com, updated 14 October 2026. Deep suite v1. 24 tries, medium effort, each check on a fresh build. What each check means is under How I tested.
How I tested#
How the tasks were picked, run and checked
Why this test: on the other pages, my launch tests give every model near full marks, so they can't show a model getting better. The 8 tasks come from three public task sets, credited below: features and bug fixes, speeding up Python code, and memory-safety fixes in C. 7 of them count in the scores above; the other is shown on its own. I picked the tasks at random before any model ran, then checked each one: the original fix must pass and untouched code must fail. I replaced 2 picked tasks: in one the original fix failed here, and the other could only be passed by rewriting unrelated code. One more was replaced before that, because its fix needs a library that isn't installed and tries have no internet.
This is version 1, frozen 13 October 2026: these 8 tasks, 3 tries each, the same settings and the same containers. A new model gets the same set. If I change a task or a setting, that's a new version, and it isn't compared with this one.
Claude Opus 5.5 and Claude Haiku 5.5 ran in Claude Code 2.1.284, and GPT-6.1 Sol and GPT-6 Luna in Codex CLI 0.159.0, all at medium effort, 30 minutes per try (1 try hit the limit). Each try ran in the task's own container with no internet except the model's API: no web search, no downloads, no way to look up the original fix. The model never saw the hidden tests or the original fix; the speed-up tasks include their timing script, as intended. Its change was then copied into a fresh container and graded by the task's own grader, which undoes any edit to existing tests. Claude Opus 5.5 and Claude Haiku 5.5 shared one login, so their tries went one at a time.
Costs use each vendor's standard API prices. Claude Haiku 5.5 is a range because Anthropic charges more for prompts over 100k tokens, and prompt sizes weren't logged. GPT costs are a range because Codex doesn't log cache writes, which OpenAI bills at 1.25 times the input price. Claude Opus 5.5's try 1 on wolfSSL hit the time limit before logging its tokens, so 20 of its tries have a cost. Minutes are start to finish, tests included.
The security tasks have 4 checks, each on a fresh build: the crash input no longer crashes; none of the task's other crash inputs or normal inputs trips the memory checker; every library test that passes with the original fix still passes; and output on normal inputs matches the original fix exactly.
Limits: this test can't confirm that a model improves week to week. It has 7 counted tasks and 3 tries each, so one try moves a model's count a lot, and each model ran in one tool at one effort. These are public tasks, so a model may have seen the original fix in training; the try table marks tries that repeated most of it. The speed-up tasks were picked from those whose expert fix changes Python only, so a rebuild fits in one try.
A trial round ran first, 1 try per task, and isn't counted. It found bugs in my setup, each logged; the affected tries were set aside and rerun. Fable 5.1, Grok 4.7 and GPT-6 Astra reviewed it before these tries.
Every try's record is in results.json, under deep_runs, deep_checks, deep_pilot_runs and deep_suite. The plan and every change to it are in deep-suite-plan.txt.
Credit: the tasks and their graders come from SWE-bench Pro's public hard set (Scale AI), GSO and PatchBench.