Evaluations
Six harnesses.
Two benchmarks.
SWE-bench Verified and Terminal-Bench 2.0, one model, one endpoint. Only the harness changes.
attempts · Terminal-Bench sittings. SpecPi v0.33.0, Jev off. Data
Head to head
01SWE-bench Verified
Terminal-Bench 2.0
All harnesses
02SWE-bench Verified
| Harness | Solved | Rate | Prompt tok | Cache hit | Cost/attempt |
|---|---|---|---|---|---|
| Pi (base) | 34/36 | 0.944 | 302,913 | 96.2% | $0.0069 |
| SpecPi | 34/36 | 0.944 | 308,634 | 96.4% | $0.0068 |
| Oh My Pi | 35/36 | 0.972 | 378,220 | 94.2% | $0.0087 |
| Claude Code | 35/36 | 0.972 | 744,689 | 96.0% | $0.0140 |
| OpenCode | 35/36 | 0.972 | 387,631 | 95.5% | $0.0049 |
| DeepSeek Harness | 33/36 | 0.917 | 695,200 | 95.7% | $0.0121 |
Terminal-Bench 2.0
| Harness | Solved | Rate | Per-sitting range | Prompt tok | Cache hit | Cost/attempt |
|---|---|---|---|---|---|---|
| Pi (base) | 164/230 | 0.713 | 56–77% (5) | 436,214 | 92.9% | $0.0155 |
| SpecPi | 62/77 | 0.805 | 79–82% (2) | 407,416 | 92.4% | $0.0144 |
| Oh My Pi | 115/151 | 0.762 | 66–76% (2) | 1,108,076 | 96.5% | $0.0237 |
| Claude Code | 81/112 | 0.723 | 64–66% (2) | 670,828 | 95.4% | $0.0273 |
| OpenCode | 29/39 | 0.744 | one sitting | 494,173 | 96.5% | $0.0124 |
| DeepSeek Harness | 21/38 | 0.553 | one sitting | 1,126,586 | 95.4% | $0.0226 |
Spend
03Noise
04Task by task
05SWE-bench Verified
| Task | Pi (base) | SpecPi | Oh My Pi | Claude Code | OpenCode | DeepSeek Harness |
|---|---|---|---|---|---|---|
django__django-11066 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
django__django-12193 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
django__django-13089 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
django__django-13512 | 1/3 | 1/3 | 2/3 | 2/3 | 2/3 | 0/3 |
django__django-14404 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
django__django-16801 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
matplotlib__matplotlib-23476 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
psf__requests-1142 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
pytest-dev__pytest-10081 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
sphinx-doc__sphinx-10435 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
sphinx-doc__sphinx-9367 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
sympy__sympy-24539 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 | 3/3 |
Terminal-Bench 2.0
| Task | Pi (base) | SpecPi | Oh My Pi | Claude Code | OpenCode | DeepSeek Harness |
|---|---|---|---|---|---|---|
cobol-modernization | 10/15 | 6/6 | 7/9 | 3/6 | 2/3 | 3/3 |
configure-git-webserver | 10/15 | 3/6 | 3/9 | 2/5 | 3/3 | 1/3 |
extract-elf | 10/15 | 5/6 | 7/9 | 3/6 | 3/3 | 2/3 |
fix-git | 15/15 | 6/6 | 9/9 | 5/6 | 3/3 | 3/3 |
hf-model-inference | 14/15 | 6/6 | 6/9 | 6/6 | 3/3 | 1/3 |
multi-source-data-merger | 15/15 | 6/6 | 9/9 | 6/6 | 3/3 | 3/3 |
prove-plus-comm | 13/15 | 6/6 | 9/9 | 6/6 | 3/3 | 3/3 |
pytorch-model-cli | 3/15 | 0/6 | 1/9 | 3/6 | 0/3 | 1/3 |
raman-fitting | 3/15 | 2/5 | 4/9 | 0/6 | 2/3 | 1/3 |
sanitize-git-repo | 1/15 | 6/6 | 7/9 | 2/6 | 3/3 | 0/3 |
sqlite-with-gcov | 14/15 | 6/6 | 7/9 | 6/6 | 0/3 | 0/2 |
tune-mjcf | 11/15 | 4/6 | 7/9 | 2/6 | 1/3 | 0/3 |
vulnerable-secret | 15/15 | 6/6 | 8/8 | 6/6 | 3/3 | 3/3 |
Solved / attempts, shaded by rate. configure-git-webserver only passes when a test
file is left behind: its checker's own push never succeeds.
Method
06- Model
deepseek-v4.1-flashthrough one endpoint, run by Harbor on Docker. - SWE-bench 12 Verified tasks × 3 attempts for every harness. Pi and SpecPi ran overnight, the other four later the same day. Six attempts that failed to set up on a download were run again.
- Terminal-Bench 7 calibration × 5 attempts, 13 widened × 3 per sitting, and a git pair of 7 attempts on each git task for every harness, kept out of the pooled totals.
- SpecPi the published 0.33.0 with Jev off. Earlier SpecPi + Jev rows are not shown: the layer changed nothing measurable.
- Cost recomputed from logged tokens at a frozen price list.
- Left out one broken task; failed setups.