A fourth harness for HarnessTax: KISS Sorcar on SWE-bench Lite and Terminal-Bench 2.0

The HarnessTax study measured how much the agent harness changes what a fixed model can do, by running seven models through Claude Code, Codex CLI and Pi on the same SWE-bench Lite and Terminal-Bench 2.0 tasks. We ran the same tasks, models, limits and graders through a fourth harness, KISS Sorcar, a general-purpose agent framework configured with four shell-and-file tools and a system prompt of about 200 words. Averaged over the seven models, KISS Sorcar solves 71.4% of SWE-bench Lite attempts (Pi: 71.9%, Codex: 73.7%, Claude Code: 73.4%) and 67.9% of Terminal-Bench 2.0 attempts (Pi: 70.0%, Codex: 65.7%, Claude Code: 65.1%), at a cost per attempt about the same as Pi's and half of Claude Code's on SWE-bench Lite. Every per-model success rate falls inside the blog's confidence interval for the same model on Pi.

What was measured, and how

The HarnessTax study asks how much the coding-agent harness matters once the model is fixed. It runs seven models through three harnesses (Claude Code, Codex CLI and Pi) on 30 randomly sampled SWE-bench Lite instances and 30 Terminal-Bench 2.0 tasks, three attempts each, and reports success rate and cost per attempt. This page adds a fourth harness to that grid, KISS Sorcar, and keeps everything else the same.

KISS Sorcar is a general-purpose agent framework, not a coding tool. For this comparison it ran as a Sorcar Extension Agent (SEA): a small Python file that gives the framework's agent loop a task prompt, a model and a set of tools. The SEA's tools are the four a minimal coding harness needs, bash, read, write and edit, all executed inside the benchmark's own container over docker exec, plus the framework's built-in finish. The system prompt is short (about 200 words) and generic: work inside the container, explore before you edit, verify with the repository's own tests, stop when done. Nothing in it mentions either benchmark, and no benchmark-specific hints, retrieval, or test-oracle access are used.

The protocol follows the blog point by point:

The Claude Code, Codex and Pi numbers below are the blog's published values, not re-runs. The KISS Sorcar numbers are new measurements on the same tasks. Everything needed to rerun them is in benchmarkings/harnesstax/ of the KISS repository (see the last section).

SWE-bench Lite

SWE-bench Lite gives the agent a checked-out repository and a GitHub issue; the attempt counts as solved when the maintainers' hidden tests pass on the resulting patch. Across the seven models, KISS Sorcar solves 71.4% of attempts on average, against 71.9% for Pi, 73.4% for Claude Code and 73.7% for Codex. Cost is where the harnesses separate: taking the geometric mean over models, a KISS Sorcar attempt costs about the same as a Pi attempt, 23% less than a Codex attempt and half of a Claude Code attempt.

SWE-bench Lite: success rate vs. cost per attempt0%25%50%75%100%$0.01$0.1$1$10mean cost per attempt (USD, log scale)success rateFable 5 · Pi: 96.7% at $0.666Fable 5 · Claude Code: 97.8% at $1.329Fable 5 · Codex: 96.7% at $0.890Opus 4.8 · Pi: 82.2% at $0.473Opus 4.8 · Codex: 88.9% at $0.694Opus 4.8 · Claude Code: 86.7% at $0.976Sonnet 4.6 · Claude Code: 66.7% at $0.669Sonnet 4.6 · Pi: 64.4% at $0.679Sonnet 4.6 · Codex: 68.9% at $0.745Haiku 4.5 · Pi: 60.0% at $0.374Haiku 4.5 · Codex: 57.8% at $0.392Haiku 4.5 · Claude Code: 52.2% at $0.426GPT-5.6 Sol · Pi: 74.4% at $0.441GPT-5.6 Sol · Codex: 73.3% at $0.561GPT-5.6 Sol · Claude Code: 77.8% at $1.540GPT-5.6 Luna · Pi: 53.3% at $0.030GPT-5.6 Luna · Codex: 55.6% at $0.035GPT-5.6 Luna · Claude Code: 55.6% at $0.152Kimi K3 · Pi: 72.2% at $0.455Kimi K3 · Claude Code: 76.7% at $0.784Kimi K3 · Codex: 74.4% at $0.845Fable 5 · KISS Sorcar: 93.3% at $0.559Fable 5Haiku 4.5 · KISS Sorcar: 60.0% at $0.471Haiku 4.5Opus 4.8 · KISS Sorcar: 81.1% at $0.378Opus 4.8Sonnet 4.6 · KISS Sorcar: 64.4% at $0.519Sonnet 4.6GPT-5.6 Luna · KISS Sorcar: 53.3% at $0.036GPT-5.6 LunaGPT-5.6 Sol · KISS Sorcar: 76.7% at $0.615GPT-5.6 SolKimi K3 · KISS Sorcar: 71.1% at $0.425Kimi K3KISS SorcarPiCodexClaude Code
Each point is one model–harness pair. Hollow circles are the blog's published numbers for Pi, Codex CLI and Claude Code; filled diamonds are KISS Sorcar measured in this study. The dashed step line is the Pareto frontier over all 28 points: the highest success rate observed at or below each cost.
SWE-bench Lite: success rate by model and harness0%25%50%75%100%success rateFable 5 · KISS Sorcar: 93.3%Fable 5 · Pi: 96.7%Fable 5 · Claude Code: 97.8%Fable 5 · Codex: 96.7%Fable 5Opus 4.8 · KISS Sorcar: 81.1%Opus 4.8 · Pi: 82.2%Opus 4.8 · Codex: 88.9%Opus 4.8 · Claude Code: 86.7%Opus 4.8Sonnet 4.6 · KISS Sorcar: 64.4%Sonnet 4.6 · Claude Code: 66.7%Sonnet 4.6 · Pi: 64.4%Sonnet 4.6 · Codex: 68.9%Sonnet 4.6Haiku 4.5 · KISS Sorcar: 60.0%Haiku 4.5 · Pi: 60.0%Haiku 4.5 · Codex: 57.8%Haiku 4.5 · Claude Code: 52.2%Haiku 4.5GPT-5.6 Sol · KISS Sorcar: 76.7%GPT-5.6 Sol · Pi: 74.4%GPT-5.6 Sol · Codex: 73.3%GPT-5.6 Sol · Claude Code: 77.8%GPT-5.6 SolGPT-5.6 Luna · KISS Sorcar: 53.3%GPT-5.6 Luna · Pi: 53.3%GPT-5.6 Luna · Codex: 55.6%GPT-5.6 Luna · Claude Code: 55.6%GPT-5.6 LunaKimi K3 · KISS Sorcar: 71.1%Kimi K3 · Pi: 72.2%Kimi K3 · Claude Code: 76.7%Kimi K3 · Codex: 74.4%Kimi K3KISS SorcarPiCodexClaude Code
Success rate per model, with 95% confidence intervals from a task-level bootstrap (10,000 resamples). KISS Sorcar bars are drawn solid; blog harnesses are translucent.
SWE-bench Lite: mean cost per attempt by model and harness$0.00$0.57$1.13$1.70$2.26USD per attemptFable 5 · KISS Sorcar: $0.559Fable 5 · Pi: $0.666Fable 5 · Claude Code: $1.329Fable 5 · Codex: $0.890Fable 5Opus 4.8 · KISS Sorcar: $0.378Opus 4.8 · Pi: $0.473Opus 4.8 · Codex: $0.694Opus 4.8 · Claude Code: $0.976Opus 4.8Sonnet 4.6 · KISS Sorcar: $0.519Sonnet 4.6 · Claude Code: $0.669Sonnet 4.6 · Pi: $0.679Sonnet 4.6 · Codex: $0.745Sonnet 4.6Haiku 4.5 · KISS Sorcar: $0.471Haiku 4.5 · Pi: $0.374Haiku 4.5 · Codex: $0.392Haiku 4.5 · Claude Code: $0.426Haiku 4.5GPT-5.6 Sol · KISS Sorcar: $0.615GPT-5.6 Sol · Pi: $0.441GPT-5.6 Sol · Codex: $0.561GPT-5.6 Sol · Claude Code: $1.540GPT-5.6 SolGPT-5.6 Luna · KISS Sorcar: $0.036GPT-5.6 Luna · Pi: $0.030GPT-5.6 Luna · Codex: $0.035GPT-5.6 Luna · Claude Code: $0.152GPT-5.6 LunaKimi K3 · KISS Sorcar: $0.425Kimi K3 · Pi: $0.455Kimi K3 · Claude Code: $0.784Kimi K3 · Codex: $0.845Kimi K3KISS SorcarPiCodexClaude Code
Mean cost of one attempt (failed attempts included), with bootstrap 95% confidence intervals. Bars that exceed the axis are labelled with their value.
Model · harnessSuccess95% CI$ / attempt95% CI$ / solveTurns (mean)
Fable 5 · KISS Sorcar93.3%86.7%–98.9%$0.559 lowest$0.412–$0.731$0.59913.8
Fable 5 · Pi96.7%91.1%–100.0%$0.666$0.494–$0.875$0.689—
Fable 5 · Claude Code97.8% best93.3%–100.0%$1.329$1.101–$1.601$1.360—
Fable 5 · Codex96.7%91.1%–100.0%$0.890$0.697–$1.127$0.921—
Opus 4.8 · KISS Sorcar81.1%67.8%–92.2%$0.378 lowest$0.214–$0.569$0.46616.5
Opus 4.8 · Pi82.2%71.1%–92.2%$0.473$0.272–$0.725$0.575—
Opus 4.8 · Codex88.9% best77.8%–97.8%$0.694$0.491–$0.946$0.780—
Opus 4.8 · Claude Code86.7%75.6%–95.6%$0.976$0.733–$1.263$1.126—
Sonnet 4.6 · KISS Sorcar64.4%47.8%–80.0%$0.519 lowest$0.338–$0.721$0.80529.6
Sonnet 4.6 · Claude Code66.7%51.1%–81.1%$0.669$0.499–$0.863$1.004—
Sonnet 4.6 · Pi64.4%47.8%–80.0%$0.679$0.461–$0.926$1.054—
Sonnet 4.6 · Codex68.9% best53.3%–83.3%$0.745$0.485–$1.100$1.081—
Haiku 4.5 · KISS Sorcar60.0% best43.3%–76.7%$0.471$0.409–$0.535$0.78573.1
Haiku 4.5 · Pi60.0% best43.3%–75.6%$0.374 lowest$0.308–$0.441$0.623—
Haiku 4.5 · Codex57.8%41.1%–74.4%$0.392$0.296–$0.510$0.678—
Haiku 4.5 · Claude Code52.2%36.7%–67.8%$0.426$0.346–$0.507$0.816—
GPT-5.6 Sol · KISS Sorcar76.7%63.3%–88.9%$0.615$0.476–$0.790$0.80325.2
GPT-5.6 Sol · Pi74.4%58.9%–88.9%$0.441 lowest$0.342–$0.553$0.592—
GPT-5.6 Sol · Codex73.3%57.8%–87.8%$0.561$0.442–$0.702$0.765—
GPT-5.6 Sol · Claude Code77.8% best63.3%–90.0%$1.540$1.184–$2.095$1.980—
GPT-5.6 Luna · KISS Sorcar53.3%36.7%–70.0%$0.036$0.027–$0.047$0.06828.6
GPT-5.6 Luna · Pi53.3%35.6%–70.0%$0.030 lowest$0.024–$0.037$0.056—
GPT-5.6 Luna · Codex55.6% best37.8%–72.2%$0.035$0.028–$0.044$0.064—
GPT-5.6 Luna · Claude Code55.6% best38.9%–72.2%$0.152$0.120–$0.190$0.274—
Kimi K3 · KISS Sorcar71.1%56.7%–84.4%$0.425 lowest$0.300–$0.565$0.59734.1
Kimi K3 · Pi72.2%57.8%–85.6%$0.455$0.323–$0.607$0.630—
Kimi K3 · Claude Code76.7% best62.2%–88.9%$0.784$0.567–$1.045$1.023—
Kimi K3 · Codex74.4%60.0%–87.8%$0.845$0.665–$1.043$1.135—

Two model-level patterns stand out. With the two strongest models KISS Sorcar sits on the cost–success frontier: Fable 5 solves 93.3% at $0.56 per attempt (Pi: 96.7% at $0.67; Claude Code: 97.8% at $1.33) and Opus 4.8 solves 81.1% at $0.38 (Pi: 82.2% at $0.47; Codex: 88.9% at $0.69). These models finish in 14 to 16 model calls on average, close to the 15.4 turns the blog reports for Fable 5 on Pi, and about 85% of the tokens they consume are prompt-cache reads billed at a tenth of the input price. With Claude Haiku 4.5 and GPT-5.6 Sol the success rates match Pi (60.0% vs 60.0%, and 76.7% vs 74.4%) but KISS Sorcar pays more per attempt ($0.47 vs $0.37 for Haiku, $0.62 vs $0.44 for Sol). Haiku's trajectories explain its gap: it averages 73 model calls per attempt, writing and running many small diagnostic scripts before and after each edit, where the frontier models stop after a dozen. The harness does not stop it, so the extra turns become extra cost rather than extra solves.

Of the 180 unsolved KISS Sorcar attempts on this benchmark, 175 ended with the agent reporting success after its own checks and the hidden tests disagreeing, and 5 (all with Haiku) ran into the 100-turn cap. No attempt gave up or failed for infrastructure reasons. In the task-level grid below, 156 model–task pairs were solved at least once by both harnesses, 10 only by KISS Sorcar and 6 only by Pi; the remaining 38 pairs defeated both.

SWE-bench Lite: task-by-task, KISS Sorcar vs PiFable 5Haiku 4.5Opus 4.8Sonnet 4.6GPT-5.6 LunaGPT-5.6 SolKimi K3astropy__astropy-7746astropy__astropy-7746 · Fable 5: KISS Sorcar solved 2/3; Pi solved 1/32/3 · 1/3astropy__astropy-7746 · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3astropy__astropy-7746 · Opus 4.8: KISS Sorcar solved 0/3; Pi solved 1/30/3 · 1/3astropy__astropy-7746 · Sonnet 4.6: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3astropy__astropy-7746 · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3astropy__astropy-7746 · GPT-5.6 Sol: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3astropy__astropy-7746 · Kimi K3: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-11019django__django-11019 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-11019 · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-11019 · Opus 4.8: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-11019 · Sonnet 4.6: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-11019 · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-11019 · GPT-5.6 Sol: KISS Sorcar solved 2/3; Pi solved 0/32/3 · 0/3django__django-11019 · Kimi K3: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-11564django__django-11564 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-11564 · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-11564 · Opus 4.8: KISS Sorcar solved 2/3; Pi solved 1/32/3 · 1/3django__django-11564 · Sonnet 4.6: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-11564 · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-11564 · GPT-5.6 Sol: KISS Sorcar solved 2/3; Pi solved 2/32/3 · 2/3django__django-11564 · Kimi K3: KISS Sorcar solved 0/3; Pi solved 1/30/3 · 1/3django__django-11620django__django-11620 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-11620 · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-11620 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-11620 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-11620 · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-11620 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-11620 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-11630django__django-11630 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-11630 · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-11630 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 2/33/3 · 2/3django__django-11630 · Sonnet 4.6: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-11630 · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-11630 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-11630 · Kimi K3: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-11815django__django-11815 · Fable 5: KISS Sorcar solved 1/3; Pi solved 3/31/3 · 3/3django__django-11815 · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-11815 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 2/33/3 · 2/3django__django-11815 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-11815 · GPT-5.6 Luna: KISS Sorcar solved 2/3; Pi solved 2/32/3 · 2/3django__django-11815 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-11815 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-12308django__django-12308 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-12308 · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-12308 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-12308 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 2/33/3 · 2/3django__django-12308 · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-12308 · GPT-5.6 Sol: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-12308 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-12497django__django-12497 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-12497 · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-12497 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-12497 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-12497 · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-12497 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-12497 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-12747django__django-12747 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-12747 · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 1/30/3 · 1/3django__django-12747 · Opus 4.8: KISS Sorcar solved 2/3; Pi solved 2/32/3 · 2/3django__django-12747 · Sonnet 4.6: KISS Sorcar solved 0/3; Pi solved 3/30/3 · 3/3django__django-12747 · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-12747 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-12747 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-14608django__django-14608 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-14608 · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-14608 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-14608 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-14608 · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-14608 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-14608 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-15400django__django-15400 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-15400 · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 2/33/3 · 2/3django__django-15400 · Opus 4.8: KISS Sorcar solved 1/3; Pi solved 2/31/3 · 2/3django__django-15400 · Sonnet 4.6: KISS Sorcar solved 1/3; Pi solved 0/31/3 · 0/3django__django-15400 · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-15400 · GPT-5.6 Sol: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-15400 · Kimi K3: KISS Sorcar solved 2/3; Pi solved 2/32/3 · 2/3django__django-15819django__django-15819 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-15819 · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-15819 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3django__django-15819 · Sonnet 4.6: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-15819 · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3django__django-15819 · GPT-5.6 Sol: KISS Sorcar solved 1/3; Pi solved 0/31/3 · 0/3django__django-15819 · Kimi K3: KISS Sorcar solved 1/3; Pi solved 0/31/3 · 0/3matplotlib__matplotlib-24334matplotlib__matplotlib-24334 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3matplotlib__matplotlib-24334 · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3matplotlib__matplotlib-24334 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3matplotlib__matplotlib-24334 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 0/33/3 · 0/3matplotlib__matplotlib-24334 · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3matplotlib__matplotlib-24334 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3matplotlib__matplotlib-24334 · Kimi K3: KISS Sorcar solved 1/3; Pi solved 2/31/3 · 2/3matplotlib__matplotlib-25433matplotlib__matplotlib-25433 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3matplotlib__matplotlib-25433 · Haiku 4.5: KISS Sorcar solved 1/3; Pi solved 2/31/3 · 2/3matplotlib__matplotlib-25433 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3matplotlib__matplotlib-25433 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 2/33/3 · 2/3matplotlib__matplotlib-25433 · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3matplotlib__matplotlib-25433 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3matplotlib__matplotlib-25433 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3psf__requests-1963psf__requests-1963 · Fable 5: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3psf__requests-1963 · Haiku 4.5: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3psf__requests-1963 · Opus 4.8: KISS Sorcar solved 1/3; Pi solved 3/31/3 · 3/3psf__requests-1963 · Sonnet 4.6: KISS Sorcar solved 0/3; Pi solved 3/30/3 · 3/3psf__requests-1963 · GPT-5.6 Luna: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3psf__requests-1963 · GPT-5.6 Sol: KISS Sorcar solved 1/3; Pi solved 3/31/3 · 3/3psf__requests-1963 · Kimi K3: KISS Sorcar solved 1/3; Pi solved 2/31/3 · 2/3pylint-dev__pylint-5859pylint-dev__pylint-5859 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pylint-dev__pylint-5859 · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pylint-dev__pylint-5859 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pylint-dev__pylint-5859 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pylint-dev__pylint-5859 · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pylint-dev__pylint-5859 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pylint-dev__pylint-5859 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pytest-dev__pytest-5103pytest-dev__pytest-5103 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pytest-dev__pytest-5103 · Haiku 4.5: KISS Sorcar solved 1/3; Pi solved 3/31/3 · 3/3pytest-dev__pytest-5103 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pytest-dev__pytest-5103 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pytest-dev__pytest-5103 · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pytest-dev__pytest-5103 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pytest-dev__pytest-5103 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pytest-dev__pytest-5495pytest-dev__pytest-5495 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pytest-dev__pytest-5495 · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3pytest-dev__pytest-5495 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pytest-dev__pytest-5495 · Sonnet 4.6: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3pytest-dev__pytest-5495 · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3pytest-dev__pytest-5495 · GPT-5.6 Sol: KISS Sorcar solved 2/3; Pi solved 2/32/3 · 2/3pytest-dev__pytest-5495 · Kimi K3: KISS Sorcar solved 1/3; Pi solved 0/31/3 · 0/3scikit-learn__scikit-learn-13241scikit-learn__scikit-learn-13241 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3scikit-learn__scikit-learn-13241 · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 0/33/3 · 0/3scikit-learn__scikit-learn-13241 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3scikit-learn__scikit-learn-13241 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3scikit-learn__scikit-learn-13241 · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 0/33/3 · 0/3scikit-learn__scikit-learn-13241 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 0/33/3 · 0/3scikit-learn__scikit-learn-13241 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3scikit-learn__scikit-learn-14983scikit-learn__scikit-learn-14983 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3scikit-learn__scikit-learn-14983 · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3scikit-learn__scikit-learn-14983 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3scikit-learn__scikit-learn-14983 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3scikit-learn__scikit-learn-14983 · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3scikit-learn__scikit-learn-14983 · GPT-5.6 Sol: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3scikit-learn__scikit-learn-14983 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sphinx-doc__sphinx-10325sphinx-doc__sphinx-10325 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sphinx-doc__sphinx-10325 · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sphinx-doc__sphinx-10325 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sphinx-doc__sphinx-10325 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sphinx-doc__sphinx-10325 · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sphinx-doc__sphinx-10325 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sphinx-doc__sphinx-10325 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sphinx-doc__sphinx-8435sphinx-doc__sphinx-8435 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sphinx-doc__sphinx-8435 · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sphinx-doc__sphinx-8435 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sphinx-doc__sphinx-8435 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sphinx-doc__sphinx-8435 · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sphinx-doc__sphinx-8435 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sphinx-doc__sphinx-8435 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-11400sympy__sympy-11400 · Fable 5: KISS Sorcar solved 1/3; Pi solved 2/31/3 · 2/3sympy__sympy-11400 · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 1/33/3 · 1/3sympy__sympy-11400 · Opus 4.8: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3sympy__sympy-11400 · Sonnet 4.6: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3sympy__sympy-11400 · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3sympy__sympy-11400 · GPT-5.6 Sol: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3sympy__sympy-11400 · Kimi K3: KISS Sorcar solved 0/3; Pi solved 1/30/3 · 1/3sympy__sympy-14024sympy__sympy-14024 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-14024 · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3sympy__sympy-14024 · Opus 4.8: KISS Sorcar solved 1/3; Pi solved 1/31/3 · 1/3sympy__sympy-14024 · Sonnet 4.6: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3sympy__sympy-14024 · GPT-5.6 Luna: KISS Sorcar solved 2/3; Pi solved 2/32/3 · 2/3sympy__sympy-14024 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-14024 · Kimi K3: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3sympy__sympy-14817sympy__sympy-14817 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-14817 · Haiku 4.5: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3sympy__sympy-14817 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-14817 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-14817 · GPT-5.6 Luna: KISS Sorcar solved 2/3; Pi solved 2/32/3 · 2/3sympy__sympy-14817 · GPT-5.6 Sol: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3sympy__sympy-14817 · Kimi K3: KISS Sorcar solved 2/3; Pi solved 0/32/3 · 0/3sympy__sympy-15345sympy__sympy-15345 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-15345 · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-15345 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-15345 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-15345 · GPT-5.6 Luna: KISS Sorcar solved 1/3; Pi solved 3/31/3 · 3/3sympy__sympy-15345 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-15345 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-16792sympy__sympy-16792 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-16792 · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-16792 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-16792 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-16792 · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-16792 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-16792 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-20154sympy__sympy-20154 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-20154 · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-20154 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-20154 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-20154 · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-20154 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-20154 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-20590sympy__sympy-20590 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-20590 · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-20590 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-20590 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-20590 · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-20590 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-20590 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-23117sympy__sympy-23117 · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-23117 · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-23117 · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-23117 · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-23117 · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-23117 · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sympy__sympy-23117 · Kimi K3: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3most attempts solvedsomenonecell text: KISS Sorcar solves · Pi solves (blog; n/a = not published)
Task-level view. Each cell shows how many of KISS Sorcar's attempts solved the task (colour and first number) next to how many of the blog's three Pi attempts with the same model did (second number). Cells such as 0/3 · 3/3, or 3/3 · 0/3, mark tasks where the two harnesses disagree.

Terminal-Bench 2.0

Terminal-Bench 2.0 tasks are open-ended terminal jobs: compile a compiler, train a model under a size limit, recover a corrupted git repository, reverse-engineer a rendered image. Each task has its own wall-clock limit and a verifier script. Averaged over the seven models, KISS Sorcar solves 67.9% of attempts, against 70.0% for Pi, 65.7% for Codex and 65.1% for Claude Code, at a cost per attempt about the same as Pi's, 9% less than Codex's and 32% less than Claude Code's.

Terminal-Bench 2.0: success rate vs. cost per attempt0%25%50%75%100%$0.01$0.1$1$10mean cost per attempt (USD, log scale)success rateFable 5 · Codex: 72.2% at $0.976Fable 5 · Pi: 71.1% at $1.079Fable 5 · Claude Code: 75.6% at $1.554Opus 4.8 · Pi: 72.2% at $0.758Opus 4.8 · Codex: 72.2% at $0.848Opus 4.8 · Claude Code: 68.9% at $0.899Sonnet 4.6 · Codex: 63.3% at $0.552Sonnet 4.6 · Pi: 65.6% at $0.614Sonnet 4.6 · Claude Code: 62.2% at $0.669Haiku 4.5 · Codex: 31.1% at $0.214Haiku 4.5 · Pi: 47.8% at $0.250Haiku 4.5 · Claude Code: 41.1% at $0.263GPT-5.6 Sol · Pi: 83.3% at $0.421GPT-5.6 Sol · Codex: 78.9% at $0.761GPT-5.6 Sol · Claude Code: 71.1% at $1.355GPT-5.6 Luna · Pi: 76.7% at $0.045GPT-5.6 Luna · Codex: 72.2% at $0.064GPT-5.6 Luna · Claude Code: 70.0% at $0.098Kimi K3 · Pi: 73.3% at $0.383Kimi K3 · Codex: 70.0% at $0.450Kimi K3 · Claude Code: 66.7% at $0.521Fable 5 · KISS Sorcar: 71.1% at $1.120Fable 5Haiku 4.5 · KISS Sorcar: 45.6% at $0.297Haiku 4.5Opus 4.8 · KISS Sorcar: 63.3% at $0.866Opus 4.8Sonnet 4.6 · KISS Sorcar: 68.9% at $0.593Sonnet 4.6GPT-5.6 Luna · KISS Sorcar: 73.3% at $0.045GPT-5.6 LunaGPT-5.6 Sol · KISS Sorcar: 78.9% at $0.553GPT-5.6 SolKimi K3 · KISS Sorcar: 74.4% at $0.259Kimi K3KISS SorcarPiCodexClaude Code
Each point is one model–harness pair. Hollow circles are the blog's published numbers for Pi, Codex CLI and Claude Code; filled diamonds are KISS Sorcar measured in this study. The dashed step line is the Pareto frontier over all 28 points: the highest success rate observed at or below each cost.
Terminal-Bench 2.0: success rate by model and harness0%25%50%75%100%success rateFable 5 · KISS Sorcar: 71.1%Fable 5 · Codex: 72.2%Fable 5 · Pi: 71.1%Fable 5 · Claude Code: 75.6%Fable 5Opus 4.8 · KISS Sorcar: 63.3%Opus 4.8 · Pi: 72.2%Opus 4.8 · Codex: 72.2%Opus 4.8 · Claude Code: 68.9%Opus 4.8Sonnet 4.6 · KISS Sorcar: 68.9%Sonnet 4.6 · Codex: 63.3%Sonnet 4.6 · Pi: 65.6%Sonnet 4.6 · Claude Code: 62.2%Sonnet 4.6Haiku 4.5 · KISS Sorcar: 45.6%Haiku 4.5 · Codex: 31.1%Haiku 4.5 · Pi: 47.8%Haiku 4.5 · Claude Code: 41.1%Haiku 4.5GPT-5.6 Sol · KISS Sorcar: 78.9%GPT-5.6 Sol · Pi: 83.3%GPT-5.6 Sol · Codex: 78.9%GPT-5.6 Sol · Claude Code: 71.1%GPT-5.6 SolGPT-5.6 Luna · KISS Sorcar: 73.3%GPT-5.6 Luna · Pi: 76.7%GPT-5.6 Luna · Codex: 72.2%GPT-5.6 Luna · Claude Code: 70.0%GPT-5.6 LunaKimi K3 · KISS Sorcar: 74.4%Kimi K3 · Pi: 73.3%Kimi K3 · Codex: 70.0%Kimi K3 · Claude Code: 66.7%Kimi K3KISS SorcarPiCodexClaude Code
Success rate per model, with 95% confidence intervals from a task-level bootstrap (10,000 resamples). KISS Sorcar bars are drawn solid; blog harnesses are translucent.
Terminal-Bench 2.0: mean cost per attempt by model and harness$0.00$0.60$1.21$1.81$2.41USD per attemptFable 5 · KISS Sorcar: $1.120Fable 5 · Codex: $0.976Fable 5 · Pi: $1.079Fable 5 · Claude Code: $1.554Fable 5Opus 4.8 · KISS Sorcar: $0.866Opus 4.8 · Pi: $0.758Opus 4.8 · Codex: $0.848Opus 4.8 · Claude Code: $0.899Opus 4.8Sonnet 4.6 · KISS Sorcar: $0.593Sonnet 4.6 · Codex: $0.552Sonnet 4.6 · Pi: $0.614Sonnet 4.6 · Claude Code: $0.669Sonnet 4.6Haiku 4.5 · KISS Sorcar: $0.297Haiku 4.5 · Codex: $0.214Haiku 4.5 · Pi: $0.250Haiku 4.5 · Claude Code: $0.263Haiku 4.5GPT-5.6 Sol · KISS Sorcar: $0.553GPT-5.6 Sol · Pi: $0.421GPT-5.6 Sol · Codex: $0.761GPT-5.6 Sol · Claude Code: $1.355GPT-5.6 SolGPT-5.6 Luna · KISS Sorcar: $0.045GPT-5.6 Luna · Pi: $0.045GPT-5.6 Luna · Codex: $0.064GPT-5.6 Luna · Claude Code: $0.098GPT-5.6 LunaKimi K3 · KISS Sorcar: $0.259Kimi K3 · Pi: $0.383Kimi K3 · Codex: $0.450Kimi K3 · Claude Code: $0.521Kimi K3KISS SorcarPiCodexClaude Code
Mean cost of one attempt (failed attempts included), with bootstrap 95% confidence intervals. Bars that exceed the axis are labelled with their value.
Model · harnessSuccess95% CI$ / attempt95% CI$ / solveTurns (mean)
Fable 5 · KISS Sorcar71.1%55.6%–85.6%$1.120$0.679–$1.686$1.57613.5
Fable 5 · Codex72.2%56.7%–86.7%$0.976 lowest$0.632–$1.406$1.351—
Fable 5 · Pi71.1%54.4%–85.6%$1.079$0.571–$1.749$1.517—
Fable 5 · Claude Code75.6% best61.1%–88.9%$1.554$0.993–$2.235$2.057—
Opus 4.8 · KISS Sorcar63.3%46.7%–78.9%$0.866$0.479–$1.346$1.36719.5
Opus 4.8 · Pi72.2% best58.9%–84.4%$0.758 lowest$0.384–$1.245$1.049—
Opus 4.8 · Codex72.2% best56.7%–86.7%$0.848$0.508–$1.269$1.174—
Opus 4.8 · Claude Code68.9%52.2%–84.4%$0.899$0.590–$1.277$1.305—
Sonnet 4.6 · KISS Sorcar68.9% best54.4%–82.2%$0.593$0.385–$0.821$0.86123.6
Sonnet 4.6 · Codex63.3%46.7%–78.9%$0.552 lowest$0.380–$0.741$0.872—
Sonnet 4.6 · Pi65.6%48.9%–82.2%$0.614$0.391–$0.869$0.937—
Sonnet 4.6 · Claude Code62.2%46.7%–76.7%$0.669$0.447–$0.917$1.075—
Haiku 4.5 · KISS Sorcar45.6%30.0%–61.1%$0.297$0.215–$0.384$0.65340.9
Haiku 4.5 · Codex31.1%15.6%–47.8%$0.214 lowest$0.143–$0.293$0.687—
Haiku 4.5 · Pi47.8% best32.2%–63.3%$0.250$0.160–$0.355$0.522—
Haiku 4.5 · Claude Code41.1%27.8%–55.6%$0.263$0.162–$0.377$0.639—
GPT-5.6 Sol · KISS Sorcar78.9%65.6%–91.1%$0.553$0.362–$0.793$0.70018.5
GPT-5.6 Sol · Pi83.3% best71.1%–94.4%$0.421 lowest$0.272–$0.612$0.505—
GPT-5.6 Sol · Codex78.9%65.6%–91.1%$0.761$0.463–$1.131$0.965—
GPT-5.6 Sol · Claude Code71.1%55.6%–85.6%$1.355$0.948–$1.853$1.905—
GPT-5.6 Luna · KISS Sorcar73.3%58.9%–86.7%$0.045$0.026–$0.068$0.06124.6
GPT-5.6 Luna · Pi76.7% best62.2%–90.0%$0.045 lowest$0.026–$0.069$0.059—
GPT-5.6 Luna · Codex72.2%57.8%–85.6%$0.064$0.039–$0.093$0.089—
GPT-5.6 Luna · Claude Code70.0%55.6%–83.3%$0.098$0.068–$0.133$0.141—
Kimi K3 · KISS Sorcar74.4% best60.0%–86.7%$0.259 lowest$0.155–$0.383$0.34818.3
Kimi K3 · Pi73.3%60.0%–85.6%$0.383$0.239–$0.543$0.523—
Kimi K3 · Codex70.0%55.6%–83.3%$0.450$0.283–$0.657$0.643—
Kimi K3 · Claude Code66.7%52.2%–80.0%$0.521$0.356–$0.707$0.782—

Here the comparison splits by model rather than by harness. With Kimi K3, KISS Sorcar matches Pi's success rate (74.4% vs 73.3%) at $0.26 per attempt against Pi's $0.38, the largest cost gap in KISS Sorcar's favour in the study (Pi pays 1.48× as much). With Claude Sonnet 4.6 it posts the highest success rate of the four harnesses (68.9%; Pi 65.6%, Codex 63.3%, Claude Code 62.2%), and with Claude Haiku 4.5 it lands between Pi and Codex (45.6% vs 47.8% and 31.1%). GPT-5.6 Luna (73.3% vs 76.7%) and Claude Fable 5 (71.1% vs 71.1%) track Pi within a few points, at about Pi's cost.

The two models that fall short of Pi are Claude Opus 4.8 (63.3% vs 72.2%) and GPT-5.6 Sol (78.9% vs 83.3%, at $0.55 vs $0.42 per attempt). Both gaps sit inside the confidence intervals, but they have an identifiable cause. Opus's misses relative to Pi concentrate on gcode-to-text and path-tracing, which Pi's Opus solves 3/3 and KISS Sorcar's Opus solves 0/3 and 1/3, and every one of those misses ended at the task's wall-clock limit (15 and 30 minutes respectively). The trajectories show two different ways of losing to the clock. On gcode-to-text Opus made 38 to 56 model calls in its 15 minutes but spent only about a minute of that inside tool calls; the rest was the model's own reasoning between calls. On path-tracing it ran brute-force numerical searches that hit the harness's 180-second default command timeout two to eight times per attempt. Time limits matter on this benchmark generally: 66 of the 202 failed KISS Sorcar attempts (33%) ended at the task's wall-clock limit, 55 of them on five CPU-bound tasks (train-fasttext 19, make-doom-for-mips 12, compile-compcert 10, gcode-to-text 8, path-tracing 6). Those tasks ran on a shared 32-core host with up to 26 benchmark containers active at once; the blog does not describe its hardware, so part of this gap may be machine rather than harness.

In the task-level grid, 129 model–task pairs were solved at least once by both harnesses, 7 only by KISS Sorcar and 8 only by Pi, with 36 pairs solved by neither. The blog publishes per-task Pi results for six of the seven models on this benchmark, so Kimi K3 is not in these counts.

Terminal-Bench 2.0: task-by-task, KISS Sorcar vs PiFable 5Haiku 4.5Opus 4.8Sonnet 4.6GPT-5.6 LunaGPT-5.6 SolKimi K3adaptive-rejection-sampleradaptive-rejection-sampler · Fable 5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3adaptive-rejection-sampler · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3adaptive-rejection-sampler · Opus 4.8: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3adaptive-rejection-sampler · Sonnet 4.6: KISS Sorcar solved 1/3; Pi solved 0/31/3 · 0/3adaptive-rejection-sampler · GPT-5.6 Luna: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3adaptive-rejection-sampler · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3adaptive-rejection-sampler · Kimi K3: KISS Sorcar solved 1/3; Pi solved n/a1/3 · n/abuild-cython-extbuild-cython-ext · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3build-cython-ext · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3build-cython-ext · Opus 4.8: KISS Sorcar solved 2/3; Pi solved 2/32/3 · 2/3build-cython-ext · Sonnet 4.6: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3build-cython-ext · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3build-cython-ext · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3build-cython-ext · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/abuild-pmarsbuild-pmars · Fable 5: KISS Sorcar solved 3/3; Pi solved 2/33/3 · 2/3build-pmars · Haiku 4.5: KISS Sorcar solved 2/3; Pi solved 2/32/3 · 2/3build-pmars · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 2/33/3 · 2/3build-pmars · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3build-pmars · GPT-5.6 Luna: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3build-pmars · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3build-pmars · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/acode-from-imagecode-from-image · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3code-from-image · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3code-from-image · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3code-from-image · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3code-from-image · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3code-from-image · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3code-from-image · Kimi K3: KISS Sorcar solved 2/3; Pi solved n/a2/3 · n/acompile-compcertcompile-compcert · Fable 5: KISS Sorcar solved 1/3; Pi solved 2/31/3 · 2/3compile-compcert · Haiku 4.5: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3compile-compcert · Opus 4.8: KISS Sorcar solved 0/3; Pi solved 2/30/3 · 2/3compile-compcert · Sonnet 4.6: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3compile-compcert · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3compile-compcert · GPT-5.6 Sol: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3compile-compcert · Kimi K3: KISS Sorcar solved 0/3; Pi solved n/a0/3 · n/aconfigure-git-webserverconfigure-git-webserver · Fable 5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3configure-git-webserver · Haiku 4.5: KISS Sorcar solved 2/3; Pi solved 1/32/3 · 1/3configure-git-webserver · Opus 4.8: KISS Sorcar solved 0/3; Pi solved 1/30/3 · 1/3configure-git-webserver · Sonnet 4.6: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3configure-git-webserver · GPT-5.6 Luna: KISS Sorcar solved 1/3; Pi solved 0/31/3 · 0/3configure-git-webserver · GPT-5.6 Sol: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3configure-git-webserver · Kimi K3: KISS Sorcar solved 0/3; Pi solved n/a0/3 · n/aconstraints-schedulingconstraints-scheduling · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3constraints-scheduling · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3constraints-scheduling · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 2/33/3 · 2/3constraints-scheduling · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3constraints-scheduling · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3constraints-scheduling · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3constraints-scheduling · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/afeal-linear-cryptanalysisfeal-linear-cryptanalysis · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3feal-linear-cryptanalysis · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3feal-linear-cryptanalysis · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3feal-linear-cryptanalysis · Sonnet 4.6: KISS Sorcar solved 2/3; Pi solved 0/32/3 · 0/3feal-linear-cryptanalysis · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 2/33/3 · 2/3feal-linear-cryptanalysis · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3feal-linear-cryptanalysis · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/afinancial-document-processorfinancial-document-processor · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3financial-document-processor · Haiku 4.5: KISS Sorcar solved 1/3; Pi solved 0/31/3 · 0/3financial-document-processor · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3financial-document-processor · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3financial-document-processor · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 2/33/3 · 2/3financial-document-processor · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3financial-document-processor · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/afix-code-vulnerabilityfix-code-vulnerability · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3fix-code-vulnerability · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3fix-code-vulnerability · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3fix-code-vulnerability · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3fix-code-vulnerability · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3fix-code-vulnerability · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3fix-code-vulnerability · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/afix-gitfix-git · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3fix-git · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3fix-git · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3fix-git · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3fix-git · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3fix-git · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3fix-git · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/agcode-to-textgcode-to-text · Fable 5: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3gcode-to-text · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3gcode-to-text · Opus 4.8: KISS Sorcar solved 0/3; Pi solved 3/30/3 · 3/3gcode-to-text · Sonnet 4.6: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3gcode-to-text · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3gcode-to-text · GPT-5.6 Sol: KISS Sorcar solved 0/3; Pi solved 1/30/3 · 1/3gcode-to-text · Kimi K3: KISS Sorcar solved 2/3; Pi solved n/a2/3 · n/aheadless-terminalheadless-terminal · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3headless-terminal · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3headless-terminal · Opus 4.8: KISS Sorcar solved 1/3; Pi solved 2/31/3 · 2/3headless-terminal · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3headless-terminal · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3headless-terminal · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3headless-terminal · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/amake-doom-for-mipsmake-doom-for-mips · Fable 5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3make-doom-for-mips · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3make-doom-for-mips · Opus 4.8: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3make-doom-for-mips · Sonnet 4.6: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3make-doom-for-mips · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 2/30/3 · 2/3make-doom-for-mips · GPT-5.6 Sol: KISS Sorcar solved 0/3; Pi solved 1/30/3 · 1/3make-doom-for-mips · Kimi K3: KISS Sorcar solved 0/3; Pi solved n/a0/3 · n/amerge-diff-arc-agi-taskmerge-diff-arc-agi-task · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3merge-diff-arc-agi-task · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 2/33/3 · 2/3merge-diff-arc-agi-task · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3merge-diff-arc-agi-task · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3merge-diff-arc-agi-task · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3merge-diff-arc-agi-task · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3merge-diff-arc-agi-task · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/amulti-source-data-mergermulti-source-data-merger · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3multi-source-data-merger · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3multi-source-data-merger · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3multi-source-data-merger · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3multi-source-data-merger · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3multi-source-data-merger · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3multi-source-data-merger · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/anginx-request-loggingnginx-request-logging · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3nginx-request-logging · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3nginx-request-logging · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3nginx-request-logging · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3nginx-request-logging · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3nginx-request-logging · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3nginx-request-logging · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/aopenssl-selfsigned-certopenssl-selfsigned-cert · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3openssl-selfsigned-cert · Haiku 4.5: KISS Sorcar solved 2/3; Pi solved 2/32/3 · 2/3openssl-selfsigned-cert · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3openssl-selfsigned-cert · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3openssl-selfsigned-cert · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3openssl-selfsigned-cert · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3openssl-selfsigned-cert · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/apath-tracingpath-tracing · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3path-tracing · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3path-tracing · Opus 4.8: KISS Sorcar solved 1/3; Pi solved 3/31/3 · 3/3path-tracing · Sonnet 4.6: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3path-tracing · GPT-5.6 Luna: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3path-tracing · GPT-5.6 Sol: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3path-tracing · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/apath-tracing-reversepath-tracing-reverse · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3path-tracing-reverse · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3path-tracing-reverse · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3path-tracing-reverse · Sonnet 4.6: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3path-tracing-reverse · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 2/33/3 · 2/3path-tracing-reverse · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3path-tracing-reverse · Kimi K3: KISS Sorcar solved 2/3; Pi solved n/a2/3 · n/apypi-serverpypi-server · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pypi-server · Haiku 4.5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pypi-server · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pypi-server · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pypi-server · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pypi-server · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3pypi-server · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/aquery-optimizequery-optimize · Fable 5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3query-optimize · Haiku 4.5: KISS Sorcar solved 1/3; Pi solved 2/31/3 · 2/3query-optimize · Opus 4.8: KISS Sorcar solved 2/3; Pi solved 2/32/3 · 2/3query-optimize · Sonnet 4.6: KISS Sorcar solved 2/3; Pi solved 0/32/3 · 0/3query-optimize · GPT-5.6 Luna: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3query-optimize · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3query-optimize · Kimi K3: KISS Sorcar solved 1/3; Pi solved n/a1/3 · n/aregex-logregex-log · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3regex-log · Haiku 4.5: KISS Sorcar solved 2/3; Pi solved 2/32/3 · 2/3regex-log · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3regex-log · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3regex-log · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3regex-log · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3regex-log · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/areshard-c4-datareshard-c4-data · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3reshard-c4-data · Haiku 4.5: KISS Sorcar solved 1/3; Pi solved 3/31/3 · 3/3reshard-c4-data · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3reshard-c4-data · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 2/33/3 · 2/3reshard-c4-data · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3reshard-c4-data · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3reshard-c4-data · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/asam-cell-segsam-cell-seg · Fable 5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3sam-cell-seg · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3sam-cell-seg · Opus 4.8: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3sam-cell-seg · Sonnet 4.6: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3sam-cell-seg · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3sam-cell-seg · GPT-5.6 Sol: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3sam-cell-seg · Kimi K3: KISS Sorcar solved 0/3; Pi solved n/a0/3 · n/asparql-universitysparql-university · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sparql-university · Haiku 4.5: KISS Sorcar solved 1/3; Pi solved 2/31/3 · 2/3sparql-university · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sparql-university · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sparql-university · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sparql-university · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sparql-university · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/asqlite-db-truncatesqlite-db-truncate · Fable 5: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sqlite-db-truncate · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3sqlite-db-truncate · Opus 4.8: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sqlite-db-truncate · Sonnet 4.6: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sqlite-db-truncate · GPT-5.6 Luna: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sqlite-db-truncate · GPT-5.6 Sol: KISS Sorcar solved 3/3; Pi solved 3/33/3 · 3/3sqlite-db-truncate · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/atorch-tensor-parallelismtorch-tensor-parallelism · Fable 5: KISS Sorcar solved 1/3; Pi solved 0/31/3 · 0/3torch-tensor-parallelism · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3torch-tensor-parallelism · Opus 4.8: KISS Sorcar solved 0/3; Pi solved 1/30/3 · 1/3torch-tensor-parallelism · Sonnet 4.6: KISS Sorcar solved 2/3; Pi solved 3/32/3 · 3/3torch-tensor-parallelism · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 1/30/3 · 1/3torch-tensor-parallelism · GPT-5.6 Sol: KISS Sorcar solved 1/3; Pi solved 1/31/3 · 1/3torch-tensor-parallelism · Kimi K3: KISS Sorcar solved 3/3; Pi solved n/a3/3 · n/atrain-fasttexttrain-fasttext · Fable 5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3train-fasttext · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3train-fasttext · Opus 4.8: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3train-fasttext · Sonnet 4.6: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3train-fasttext · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3train-fasttext · GPT-5.6 Sol: KISS Sorcar solved 1/3; Pi solved 2/31/3 · 2/3train-fasttext · Kimi K3: KISS Sorcar solved 0/3; Pi solved n/a0/3 · n/avideo-processingvideo-processing · Fable 5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3video-processing · Haiku 4.5: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3video-processing · Opus 4.8: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3video-processing · Sonnet 4.6: KISS Sorcar solved 1/3; Pi solved 0/31/3 · 0/3video-processing · GPT-5.6 Luna: KISS Sorcar solved 0/3; Pi solved 0/30/3 · 0/3video-processing · GPT-5.6 Sol: KISS Sorcar solved 2/3; Pi solved 1/32/3 · 1/3video-processing · Kimi K3: KISS Sorcar solved 2/3; Pi solved n/a2/3 · n/amost attempts solvedsomenonecell text: KISS Sorcar solves · Pi solves (blog; n/a = not published)
Task-level view. Each cell shows how many of KISS Sorcar's attempts solved the task (colour and first number) next to how many of the blog's three Pi attempts with the same model did (second number). Cells such as 0/3 · 3/3, or 3/3 · 0/3, mark tasks where the two harnesses disagree.

What this says

The HarnessTax blog's conclusion was that the harness matters, but less than the model, and that a compact harness (Pi) can keep up with the tool vendors' own products. Adding KISS Sorcar confirms both points from outside the coding-tool world: a general-purpose agent framework with four container tools and a short prompt reaches the blog's Pi numbers on both benchmarks (71.4% vs 71.9% on SWE-bench Lite, 67.9% vs 70.0% on Terminal-Bench 2.0, averaged over seven models) and does so at half of Claude Code's cost per attempt on SWE-bench Lite and 32% less than it on Terminal-Bench 2.0. Where KISS Sorcar trails, the trajectories point at model habits the harness leaves alone (Haiku's long diagnostic loops, Opus's slow reasoning against short task clocks) rather than at missing capabilities.

Some caveats apply to all of the numbers above. Thirty tasks and three attempts give wide confidence intervals, roughly ±14 points, so differences of a few points between harnesses are not distinguishable from noise; that is true of the blog's own harness comparisons as well. The Claude Code, Codex and Pi values are the blog's published figures, not re-runs, and were priced with a price list we could not inspect. Kimi K3 was served by OpenRouter rather than Fireworks, and one of its 90 Terminal-Bench attempts (a re-run) was billed at OpenRouter's later list price of $1.70 / $8.50 per million tokens instead of $1.95 / $10.92; at the earlier price that attempt would cost at most 29% more, which moves Kimi's mean cost per attempt by well under 1%. The Terminal-Bench tasks with tight wall-clock limits ran on a busy machine. 21 of the 1,260 attempts were re-run once because the run itself was invalid: eight because the official grader exceeded its own time limit, two cancelled by an operator error, two in which a provider fallback briefly routed calls to a different model, and nine in which the harness let the agent execute a few tool calls past the 100-turn cap. No attempt was re-run because of its result. An attempt that reached the 100-turn cap is graded on the container's state at the cap and billed through its 100th model call; any further tool-less calls it made to write a summary are not counted.

Reproducing the numbers

# one-time: private daemon for the benchmark runs (KISS_HOME=~/.kiss-harnesstax)
uv run python -m benchmarkings.harnesstax.daemon &

# SWE-bench Lite: run the 30 instances for every model, three attempts, then grade
M="claude-fable-5,claude-opus-4-8,claude-sonnet-4-6,claude-haiku-4-5,gpt-5.6-sol,gpt-5.6-luna,openrouter/moonshotai/kimi-k3"
uv run python -m benchmarkings.harnesstax.swebench_runner --phase baseline --models "$M" --reps 3 --concurrency 10
uv run python -m benchmarkings.harnesstax.swebench_runner --phase baseline --evaluate

# Terminal-Bench 2.0 through Harbor (official verifiers), three attempts
uv run python -m benchmarkings.harnesstax.tb2_runner --phase baseline --models "$M" --reps 3 --concurrency 4

# attempts that failed for infrastructure reasons: set aside and re-run
uv run python -m benchmarkings.harnesstax.audit --phase baseline --quarantine --rerun-plan

# tables, confidence intervals, and this page
uv run python -m benchmarkings.harnesstax.aggregate --phase baseline
uv run python -m benchmarkings.harnesstax.report --phase baseline --out reports/harnesstax-kiss-sorcar.html

Every attempt leaves a trajectory.jsonl with all model messages and tool calls, a result.json with turns, tokens and cost, and, for SWE-bench Lite, the extracted model.patch and the official grader's per-run report; these live under benchmarkings/harnesstax/results/.

Computed comparison facts (JSON)
{
 "swebench-lite": {
  "means": {
   "Pi": {
    "models": 7,
    "kiss_success": 0.7142857142857143,
    "success": 0.7188571428571429,
    "cost_ratio": 0.9985236467408232
   },
   "Codex": {
    "models": 7,
    "kiss_success": 0.7142857142857143,
    "success": 0.7365714285714287,
    "cost_ratio": 1.2963005441391684
   },
   "Claude Code": {
    "models": 7,
    "kiss_success": 0.7142857142857143,
    "success": 0.7335714285714285,
    "cost_ratio": 2.024584517013977
   }
  },
  "agreement": {
   "both": 156,
   "kiss_only": 10,
   "pi_only": 6,
   "neither": 38
  },
  "frontier": [
   "Fable 5 \u00b7 KISS Sorcar",
   "Opus 4.8 \u00b7 KISS Sorcar",
   "Fable 5 \u00b7 Pi",
   "Fable 5 \u00b7 Claude Code",
   "Opus 4.8 \u00b7 Pi",
   "Haiku 4.5 \u00b7 Pi",
   "GPT-5.6 Luna \u00b7 Pi",
   "GPT-5.6 Luna \u00b7 Codex"
  ],
  "inside_pi_ci": [
   7,
   7
  ],
  "attempts": 630,
  "failures": 180,
  "outcomes": {
   "solved": 450,
   "claimed but wrong": 175,
   "turn cap": 5
  },
  "turn_cap_models": [
   "claude-haiku-4-5"
  ],
  "other_errors": 0,
  "timeouts_by_task": {},
  "pi_per_task": {
   "claude-fable-5": {
    "astropy__astropy-7746": [
     1,
     3
    ],
    "django__django-11019": [
     3,
     3
    ],
    "django__django-11564": [
     3,
     3
    ],
    "django__django-11620": [
     3,
     3
    ],
    "django__django-11630": [
     3,
     3
    ],
    "django__django-11815": [
     3,
     3
    ],
    "django__django-12308": [
     3,
     3
    ],
    "django__django-12497": [
     3,
     3
    ],
    "django__django-12747": [
     3,
     3
    ],
    "django__django-14608": [
     3,
     3
    ],
    "django__django-15400": [
     3,
     3
    ],
    "django__django-15819": [
     3,
     3
    ],
    "matplotlib__matplotlib-24334": [
     3,
     3
    ],
    "matplotlib__matplotlib-25433": [
     3,
     3
    ],
    "psf__requests-1963": [
     3,
     3
    ],
    "pylint-dev__pylint-5859": [
     3,
     3
    ],
    "pytest-dev__pytest-5103": [
     3,
     3
    ],
    "pytest-dev__pytest-5495": [
     3,
     3
    ],
    "scikit-learn__scikit-learn-13241": [
     3,
     3
    ],
    "scikit-learn__scikit-learn-14983": [
     3,
     3
    ],
    "sphinx-doc__sphinx-10325": [
     3,
     3
    ],
    "sphinx-doc__sphinx-8435": [
     3,
     3
    ],
    "sympy__sympy-11400": [
     2,
     3
    ],
    "sympy__sympy-14024": [
     3,
     3
    ],
    "sympy__sympy-14817": [
     3,
     3
    ],
    "sympy__sympy-15345": [
     3,
     3
    ],
    "sympy__sympy-16792": [
     3,
     3
    ],
    "sympy__sympy-20154": [
     3,
     3
    ],
    "sympy__sympy-20590": [
     3,
     3
    ],
    "sympy__sympy-23117": [
     3,
     3
    ]
   },
   "claude-opus-4-8": {
    "astropy__astropy-7746": [
     1,
     3
    ],
    "django__django-11019": [
     0,
     3
    ],
    "django__django-11564": [
     1,
     3
    ],
    "django__django-11620": [
     3,
     3
    ],
    "django__django-11630": [
     2,
     3
    ],
    "django__django-11815": [
     2,
     3
    ],
    "django__django-12308": [
     3,
     3
    ],
    "django__django-12497": [
     3,
     3
    ],
    "django__django-12747": [
     2,
     3
    ],
    "django__django-14608": [
     3,
     3
    ],
    "django__django-15400": [
     2,
     3
    ],
    "django__django-15819": [
     3,
     3
    ],
    "matplotlib__matplotlib-24334": [
     3,
     3
    ],
    "matplotlib__matplotlib-25433": [
     3,
     3
    ],
    "psf__requests-1963": [
     3,
     3
    ],
    "pylint-dev__pylint-5859": [
     3,
     3
    ],
    "pytest-dev__pytest-5103": [
     3,
     3
    ],
    "pytest-dev__pytest-5495": [
     3,
     3
    ],
    "scikit-learn__scikit-learn-13241": [
     3,
     3
    ],
    "scikit-learn__scikit-learn-14983": [
     3,
     3
    ],
    "sphinx-doc__sphinx-10325": [
     3,
     3
    ],
    "sphinx-doc__sphinx-8435": [
     3,
     3
    ],
    "sympy__sympy-11400": [
     0,
     3
    ],
    "sympy__sympy-14024": [
     1,
     3
    ],
    "sympy__sympy-14817": [
     3,
     3
    ],
    "sympy__sympy-15345": [
     3,
     3
    ],
    "sympy__sympy-16792": [
     3,
     3
    ],
    "sympy__sympy-20154": [
     3,
     3
    ],
    "sympy__sympy-20590": [
     3,
     3
    ],
    "sympy__sympy-23117": [
     3,
     3
    ]
   },
   "claude-sonnet-4-6": {
    "astropy__astropy-7746": [
     0,
     3
    ],
    "django__django-11019": [
     0,
     3
    ],
    "django__django-11564": [
     0,
     3
    ],
    "django__django-11620": [
     3,
     3
    ],
    "django__django-11630": [
     0,
     3
    ],
    "django__django-11815": [
     3,
     3
    ],
    "django__django-12308": [
     2,
     3
    ],
    "django__django-12497": [
     3,
     3
    ],
    "django__django-12747": [
     3,
     3
    ],
    "django__django-14608": [
     3,
     3
    ],
    "django__django-15400": [
     0,
     3
    ],
    "django__django-15819": [
     0,
     3
    ],
    "matplotlib__matplotlib-24334": [
     0,
     3
    ],
    "matplotlib__matplotlib-25433": [
     2,
     3
    ],
    "psf__requests-1963": [
     3,
     3
    ],
    "pylint-dev__pylint-5859": [
     3,
     3
    ],
    "pytest-dev__pytest-5103": [
     3,
     3
    ],
    "pytest-dev__pytest-5495": [
     0,
     3
    ],
    "scikit-learn__scikit-learn-13241": [
     3,
     3
    ],
    "scikit-learn__scikit-learn-14983": [
     3,
     3
    ],
    "sphinx-doc__sphinx-10325": [
     3,
     3
    ],
    "sphinx-doc__sphinx-8435": [
     3,
     3
    ],
    "sympy__sympy-11400": [
     0,
     3
    ],
    "sympy__sympy-14024": [
     0,
     3
    ],
    "sympy__sympy-14817": [
     3,
     3
    ],
    "sympy__sympy-15345": [
     3,
     3
    ],
    "sympy__sympy-16792": [
     3,
     3
    ],
    "sympy__sympy-20154": [
     3,
     3
    ],
    "sympy__sympy-20590": [
     3,
     3
    ],
    "sympy__sympy-23117": [
     3,
     3
    ]
   },
   "claude-haiku-4-5": {
    "astropy__astropy-7746": [
     0,
     3
    ],
    "django__django-11019": [
     0,
     3
    ],
    "django__django-11564": [
     0,
     3
    ],
    "django__django-11620": [
     3,
     3
    ],
    "django__django-11630": [
     0,
     3
    ],
    "django__django-11815": [
     3,
     3
    ],
    "django__django-12308": [
     0,
     3
    ],
    "django__django-12497": [
     3,
     3
    ],
    "django__django-12747": [
     1,
     3
    ],
    "django__django-14608": [
     3,
     3
    ],
    "django__django-15400": [
     2,
     3
    ],
    "django__django-15819": [
     0,
     3
    ],
    "matplotlib__matplotlib-24334": [
     0,
     3
    ],
    "matplotlib__matplotlib-25433": [
     2,
     3
    ],
    "psf__requests-1963": [
     3,
     3
    ],
    "pylint-dev__pylint-5859": [
     3,
     3
    ],
    "pytest-dev__pytest-5103": [
     3,
     3
    ],
    "pytest-dev__pytest-5495": [
     0,
     3
    ],
    "scikit-learn__scikit-learn-13241": [
     0,
     3
    ],
    "scikit-learn__scikit-learn-14983": [
     3,
     3
    ],
    "sphinx-doc__sphinx-10325": [
     3,
     3
    ],
    "sphinx-doc__sphinx-8435": [
     3,
     3
    ],
    "sympy__sympy-11400": [
     1,
     3
    ],
    "sympy__sympy-14024": [
     0,
     3
    ],
    "sympy__sympy-14817": [
     3,
     3
    ],
    "sympy__sympy-15345": [
     3,
     3
    ],
    "sympy__sympy-16792": [
     3,
     3
    ],
    "sympy__sympy-20154": [
     3,
     3
    ],
    "sympy__sympy-20590": [
     3,
     3
    ],
    "sympy__sympy-23117": [
     3,
     3
    ]
   },
   "gpt-5.6-sol": {
    "astropy__astropy-7746": [
     0,
     3
    ],
    "django__django-11019": [
     0,
     3
    ],
    "django__django-11564": [
     2,
     3
    ],
    "django__django-11620": [
     3,
     3
    ],
    "django__django-11630": [
     3,
     3
    ],
    "django__django-11815": [
     3,
     3
    ],
    "django__django-12308": [
     0,
     3
    ],
    "django__django-12497": [
     3,
     3
    ],
    "django__django-12747": [
     3,
     3
    ],
    "django__django-14608": [
     3,
     3
    ],
    "django__django-15400": [
     0,
     3
    ],
    "django__django-15819": [
     0,
     3
    ],
    "matplotlib__matplotlib-24334": [
     3,
     3
    ],
    "matplotlib__matplotlib-25433": [
     3,
     3
    ],
    "psf__requests-1963": [
     3,
     3
    ],
    "pylint-dev__pylint-5859": [
     3,
     3
    ],
    "pytest-dev__pytest-5103": [
     3,
     3
    ],
    "pytest-dev__pytest-5495": [
     2,
     3
    ],
    "scikit-learn__scikit-learn-13241": [
     0,
     3
    ],
    "scikit-learn__scikit-learn-14983": [
     3,
     3
    ],
    "sphinx-doc__sphinx-10325": [
     3,
     3
    ],
    "sphinx-doc__sphinx-8435": [
     3,
     3
    ],
    "sympy__sympy-11400": [
     0,
     3
    ],
    "sympy__sympy-14024": [
     3,
     3
    ],
    "sympy__sympy-14817": [
     3,
     3
    ],
    "sympy__sympy-15345": [
     3,
     3
    ],
    "sympy__sympy-16792": [
     3,
     3
    ],
    "sympy__sympy-20154": [
     3,
     3
    ],
    "sympy__sympy-20590": [
     3,
     3
    ],
    "sympy__sympy-23117": [
     3,
     3
    ]
   },
   "gpt-5.6-luna": {
    "astropy__astropy-7746": [
     0,
     3
    ],
    "django__django-11019": [
     0,
     3
    ],
    "django__django-11564": [
     0,
     3
    ],
    "django__django-11620": [
     3,
     3
    ],
    "django__django-11630": [
     0,
     3
    ],
    "django__django-11815": [
     2,
     3
    ],
    "django__django-12308": [
     0,
     3
    ],
    "django__django-12497": [
     3,
     3
    ],
    "django__django-12747": [
     0,
     3
    ],
    "django__django-14608": [
     3,
     3
    ],
    "django__django-15400": [
     0,
     3
    ],
    "django__django-15819": [
     0,
     3
    ],
    "matplotlib__matplotlib-24334": [
     0,
     3
    ],
    "matplotlib__matplotlib-25433": [
     3,
     3
    ],
    "psf__requests-1963": [
     3,
     3
    ],
    "pylint-dev__pylint-5859": [
     3,
     3
    ],
    "pytest-dev__pytest-5103": [
     3,
     3
    ],
    "pytest-dev__pytest-5495": [
     0,
     3
    ],
    "scikit-learn__scikit-learn-13241": [
     0,
     3
    ],
    "scikit-learn__scikit-learn-14983": [
     0,
     3
    ],
    "sphinx-doc__sphinx-10325": [
     3,
     3
    ],
    "sphinx-doc__sphinx-8435": [
     3,
     3
    ],
    "sympy__sympy-11400": [
     0,
     3
    ],
    "sympy__sympy-14024": [
     2,
     3
    ],
    "sympy__sympy-14817": [
     2,
     3
    ],
    "sympy__sympy-15345": [
     3,
     3
    ],
    "sympy__sympy-16792": [
     3,
     3
    ],
    "sympy__sympy-20154": [
     3,
     3
    ],
    "sympy__sympy-20590": [
     3,
     3
    ],
    "sympy__sympy-23117": [
     3,
     3
    ]
   },
   "openrouter/moonshotai/kimi-k3": {
    "astropy__astropy-7746": [
     0,
     3
    ],
    "django__django-11019": [
     0,
     3
    ],
    "django__django-11564": [
     1,
     3
    ],
    "django__django-11620": [
     3,
     3
    ],
    "django__django-11630": [
     0,
     3
    ],
    "django__django-11815": [
     3,
     3
    ],
    "django__django-12308": [
     3,
     3
    ],
    "django__django-12497": [
     3,
     3
    ],
    "django__django-12747": [
     3,
     3
    ],
    "django__django-14608": [
     3,
     3
    ],
    "django__django-15400": [
     2,
     3
    ],
    "django__django-15819": [
     0,
     3
    ],
    "matplotlib__matplotlib-24334": [
     2,
     3
    ],
    "matplotlib__matplotlib-25433": [
     3,
     3
    ],
    "psf__requests-1963": [
     2,
     3
    ],
    "pylint-dev__pylint-5859": [
     3,
     3
    ],
    "pytest-dev__pytest-5103": [
     3,
     3
    ],
    "pytest-dev__pytest-5495": [
     0,
     3
    ],
    "scikit-learn__scikit-learn-13241": [
     3,
     3
    ],
    "scikit-learn__scikit-learn-14983": [
     3,
     3
    ],
    "sphinx-doc__sphinx-10325": [
     3,
     3
    ],
    "sphinx-doc__sphinx-8435": [
     3,
     3
    ],
    "sympy__sympy-11400": [
     1,
     3
    ],
    "sympy__sympy-14024": [
     3,
     3
    ],
    "sympy__sympy-14817": [
     0,
     3
    ],
    "sympy__sympy-15345": [
     3,
     3
    ],
    "sympy__sympy-16792": [
     3,
     3
    ],
    "sympy__sympy-20154": [
     3,
     3
    ],
    "sympy__sympy-20590": [
     3,
     3
    ],
    "sympy__sympy-23117": [
     3,
     3
    ]
   }
  },
  "rerun": 0,
  "clock_failures": {}
 },
 "tb2": {
  "means": {
   "Pi": {
    "models": 7,
    "kiss_success": 0.6793650793650794,
    "success": 0.7,
    "cost_ratio": 0.9730838816192142
   },
   "Codex": {
    "models": 7,
    "kiss_success": 0.6793650793650794,
    "success": 0.657,
    "cost_ratio": 1.099560967733926
   },
   "Claude Code": {
    "models": 7,
    "kiss_success": 0.6793650793650794,
    "success": 0.6508571428571429,
    "cost_ratio": 1.4782110957533698
   }
  },
  "agreement": {
   "both": 129,
   "kiss_only": 7,
   "pi_only": 8,
   "neither": 36
  },
  "frontier": [
   "GPT-5.6 Sol \u00b7 Pi",
   "GPT-5.6 Luna \u00b7 Pi"
  ],
  "inside_pi_ci": [
   7,
   7
  ],
  "attempts": 630,
  "failures": 202,
  "outcomes": {
   "solved": 428,
   "claimed but wrong": 125,
   "infra/timeout": 66,
   "turn cap": 7,
   "gave up": 4
  },
  "turn_cap_models": [
   "claude-haiku-4-5",
   "gpt-5.6-luna"
  ],
  "other_errors": 0,
  "timeouts_by_task": {
   "train-fasttext": 19,
   "make-doom-for-mips": 12,
   "compile-compcert": 10,
   "gcode-to-text": 8,
   "path-tracing": 6,
   "path-tracing-reverse": 4,
   "feal-linear-cryptanalysis": 3,
   "adaptive-rejection-sampler": 3,
   "code-from-image": 1
  },
  "pi_per_task": {
   "claude-fable-5": {
    "adaptive-rejection-sampler": [
     0,
     3
    ],
    "build-cython-ext": [
     3,
     3
    ],
    "build-pmars": [
     2,
     3
    ],
    "code-from-image": [
     3,
     3
    ],
    "compile-compcert": [
     2,
     3
    ],
    "configure-git-webserver": [
     0,
     3
    ],
    "constraints-scheduling": [
     3,
     3
    ],
    "feal-linear-cryptanalysis": [
     3,
     3
    ],
    "financial-document-processor": [
     3,
     3
    ],
    "fix-code-vulnerability": [
     3,
     3
    ],
    "fix-git": [
     3,
     3
    ],
    "gcode-to-text": [
     3,
     3
    ],
    "headless-terminal": [
     3,
     3
    ],
    "make-doom-for-mips": [
     0,
     3
    ],
    "merge-diff-arc-agi-task": [
     3,
     3
    ],
    "multi-source-data-merger": [
     3,
     3
    ],
    "nginx-request-logging": [
     3,
     3
    ],
    "openssl-selfsigned-cert": [
     3,
     3
    ],
    "path-tracing": [
     3,
     3
    ],
    "path-tracing-reverse": [
     3,
     3
    ],
    "pypi-server": [
     3,
     3
    ],
    "query-optimize": [
     0,
     3
    ],
    "regex-log": [
     3,
     3
    ],
    "reshard-c4-data": [
     3,
     3
    ],
    "sam-cell-seg": [
     0,
     3
    ],
    "sparql-university": [
     3,
     3
    ],
    "sqlite-db-truncate": [
     3,
     3
    ],
    "torch-tensor-parallelism": [
     0,
     3
    ],
    "train-fasttext": [
     0,
     3
    ],
    "video-processing": [
     0,
     3
    ]
   },
   "claude-opus-4-8": {
    "adaptive-rejection-sampler": [
     0,
     3
    ],
    "build-cython-ext": [
     2,
     3
    ],
    "build-pmars": [
     2,
     3
    ],
    "code-from-image": [
     3,
     3
    ],
    "compile-compcert": [
     2,
     3
    ],
    "configure-git-webserver": [
     1,
     3
    ],
    "constraints-scheduling": [
     2,
     3
    ],
    "feal-linear-cryptanalysis": [
     3,
     3
    ],
    "financial-document-processor": [
     3,
     3
    ],
    "fix-code-vulnerability": [
     3,
     3
    ],
    "fix-git": [
     3,
     3
    ],
    "gcode-to-text": [
     3,
     3
    ],
    "headless-terminal": [
     2,
     3
    ],
    "make-doom-for-mips": [
     0,
     3
    ],
    "merge-diff-arc-agi-task": [
     3,
     3
    ],
    "multi-source-data-merger": [
     3,
     3
    ],
    "nginx-request-logging": [
     3,
     3
    ],
    "openssl-selfsigned-cert": [
     3,
     3
    ],
    "path-tracing": [
     3,
     3
    ],
    "path-tracing-reverse": [
     3,
     3
    ],
    "pypi-server": [
     3,
     3
    ],
    "query-optimize": [
     2,
     3
    ],
    "regex-log": [
     3,
     3
    ],
    "reshard-c4-data": [
     3,
     3
    ],
    "sam-cell-seg": [
     0,
     3
    ],
    "sparql-university": [
     3,
     3
    ],
    "sqlite-db-truncate": [
     3,
     3
    ],
    "torch-tensor-parallelism": [
     1,
     3
    ],
    "train-fasttext": [
     0,
     3
    ],
    "video-processing": [
     0,
     3
    ]
   },
   "claude-sonnet-4-6": {
    "adaptive-rejection-sampler": [
     0,
     3
    ],
    "build-cython-ext": [
     3,
     3
    ],
    "build-pmars": [
     3,
     3
    ],
    "code-from-image": [
     3,
     3
    ],
    "compile-compcert": [
     3,
     3
    ],
    "configure-git-webserver": [
     3,
     3
    ],
    "constraints-scheduling": [
     3,
     3
    ],
    "feal-linear-cryptanalysis": [
     0,
     3
    ],
    "financial-document-processor": [
     3,
     3
    ],
    "fix-code-vulnerability": [
     3,
     3
    ],
    "fix-git": [
     3,
     3
    ],
    "gcode-to-text": [
     0,
     3
    ],
    "headless-terminal": [
     3,
     3
    ],
    "make-doom-for-mips": [
     0,
     3
    ],
    "merge-diff-arc-agi-task": [
     3,
     3
    ],
    "multi-source-data-merger": [
     3,
     3
    ],
    "nginx-request-logging": [
     3,
     3
    ],
    "openssl-selfsigned-cert": [
     3,
     3
    ],
    "path-tracing": [
     0,
     3
    ],
    "path-tracing-reverse": [
     0,
     3
    ],
    "pypi-server": [
     3,
     3
    ],
    "query-optimize": [
     0,
     3
    ],
    "regex-log": [
     3,
     3
    ],
    "reshard-c4-data": [
     2,
     3
    ],
    "sam-cell-seg": [
     0,
     3
    ],
    "sparql-university": [
     3,
     3
    ],
    "sqlite-db-truncate": [
     3,
     3
    ],
    "torch-tensor-parallelism": [
     3,
     3
    ],
    "train-fasttext": [
     0,
     3
    ],
    "video-processing": [
     0,
     3
    ]
   },
   "claude-haiku-4-5": {
    "adaptive-rejection-sampler": [
     0,
     3
    ],
    "build-cython-ext": [
     0,
     3
    ],
    "build-pmars": [
     2,
     3
    ],
    "code-from-image": [
     3,
     3
    ],
    "compile-compcert": [
     3,
     3
    ],
    "configure-git-webserver": [
     1,
     3
    ],
    "constraints-scheduling": [
     3,
     3
    ],
    "feal-linear-cryptanalysis": [
     0,
     3
    ],
    "financial-document-processor": [
     0,
     3
    ],
    "fix-code-vulnerability": [
     3,
     3
    ],
    "fix-git": [
     3,
     3
    ],
    "gcode-to-text": [
     0,
     3
    ],
    "headless-terminal": [
     3,
     3
    ],
    "make-doom-for-mips": [
     0,
     3
    ],
    "merge-diff-arc-agi-task": [
     2,
     3
    ],
    "multi-source-data-merger": [
     3,
     3
    ],
    "nginx-request-logging": [
     3,
     3
    ],
    "openssl-selfsigned-cert": [
     2,
     3
    ],
    "path-tracing": [
     0,
     3
    ],
    "path-tracing-reverse": [
     0,
     3
    ],
    "pypi-server": [
     3,
     3
    ],
    "query-optimize": [
     2,
     3
    ],
    "regex-log": [
     2,
     3
    ],
    "reshard-c4-data": [
     3,
     3
    ],
    "sam-cell-seg": [
     0,
     3
    ],
    "sparql-university": [
     2,
     3
    ],
    "sqlite-db-truncate": [
     0,
     3
    ],
    "torch-tensor-parallelism": [
     0,
     3
    ],
    "train-fasttext": [
     0,
     3
    ],
    "video-processing": [
     0,
     3
    ]
   },
   "gpt-5.6-sol": {
    "adaptive-rejection-sampler": [
     3,
     3
    ],
    "build-cython-ext": [
     3,
     3
    ],
    "build-pmars": [
     3,
     3
    ],
    "code-from-image": [
     3,
     3
    ],
    "compile-compcert": [
     3,
     3
    ],
    "configure-git-webserver": [
     0,
     3
    ],
    "constraints-scheduling": [
     3,
     3
    ],
    "feal-linear-cryptanalysis": [
     3,
     3
    ],
    "financial-document-processor": [
     3,
     3
    ],
    "fix-code-vulnerability": [
     3,
     3
    ],
    "fix-git": [
     3,
     3
    ],
    "gcode-to-text": [
     1,
     3
    ],
    "headless-terminal": [
     3,
     3
    ],
    "make-doom-for-mips": [
     1,
     3
    ],
    "merge-diff-arc-agi-task": [
     3,
     3
    ],
    "multi-source-data-merger": [
     3,
     3
    ],
    "nginx-request-logging": [
     3,
     3
    ],
    "openssl-selfsigned-cert": [
     3,
     3
    ],
    "path-tracing": [
     3,
     3
    ],
    "path-tracing-reverse": [
     3,
     3
    ],
    "pypi-server": [
     3,
     3
    ],
    "query-optimize": [
     3,
     3
    ],
    "regex-log": [
     3,
     3
    ],
    "reshard-c4-data": [
     3,
     3
    ],
    "sam-cell-seg": [
     0,
     3
    ],
    "sparql-university": [
     3,
     3
    ],
    "sqlite-db-truncate": [
     3,
     3
    ],
    "torch-tensor-parallelism": [
     1,
     3
    ],
    "train-fasttext": [
     2,
     3
    ],
    "video-processing": [
     1,
     3
    ]
   },
   "gpt-5.6-luna": {
    "adaptive-rejection-sampler": [
     3,
     3
    ],
    "build-cython-ext": [
     3,
     3
    ],
    "build-pmars": [
     3,
     3
    ],
    "code-from-image": [
     3,
     3
    ],
    "compile-compcert": [
     3,
     3
    ],
    "configure-git-webserver": [
     0,
     3
    ],
    "constraints-scheduling": [
     3,
     3
    ],
    "feal-linear-cryptanalysis": [
     2,
     3
    ],
    "financial-document-processor": [
     2,
     3
    ],
    "fix-code-vulnerability": [
     3,
     3
    ],
    "fix-git": [
     3,
     3
    ],
    "gcode-to-text": [
     0,
     3
    ],
    "headless-terminal": [
     3,
     3
    ],
    "make-doom-for-mips": [
     2,
     3
    ],
    "merge-diff-arc-agi-task": [
     3,
     3
    ],
    "multi-source-data-merger": [
     3,
     3
    ],
    "nginx-request-logging": [
     3,
     3
    ],
    "openssl-selfsigned-cert": [
     3,
     3
    ],
    "path-tracing": [
     3,
     3
    ],
    "path-tracing-reverse": [
     2,
     3
    ],
    "pypi-server": [
     3,
     3
    ],
    "query-optimize": [
     3,
     3
    ],
    "regex-log": [
     3,
     3
    ],
    "reshard-c4-data": [
     3,
     3
    ],
    "sam-cell-seg": [
     0,
     3
    ],
    "sparql-university": [
     3,
     3
    ],
    "sqlite-db-truncate": [
     3,
     3
    ],
    "torch-tensor-parallelism": [
     1,
     3
    ],
    "train-fasttext": [
     0,
     3
    ],
    "video-processing": [
     0,
     3
    ]
   }
  },
  "rerun": 21,
  "clock_failures": {
   "claude-fable-5 / gcode-to-text": [
    1,
    1
   ],
   "claude-fable-5 / compile-compcert": [
    2,
    2
   ],
   "claude-fable-5 / make-doom-for-mips": [
    3,
    3
   ],
   "claude-fable-5 / adaptive-rejection-sampler": [
    3,
    0
   ],
   "claude-fable-5 / train-fasttext": [
    3,
    3
   ],
   "claude-opus-4-8 / gcode-to-text": [
    3,
    3
   ],
   "claude-opus-4-8 / compile-compcert": [
    3,
    3
   ],
   "claude-opus-4-8 / make-doom-for-mips": [
    3,
    3
   ],
   "claude-opus-4-8 / path-tracing": [
    2,
    2
   ],
   "claude-opus-4-8 / adaptive-rejection-sampler": [
    3,
    0
   ],
   "claude-opus-4-8 / train-fasttext": [
    3,
    3
   ],
   "claude-sonnet-4-6 / feal-linear-cryptanalysis": [
    1,
    1
   ],
   "claude-sonnet-4-6 / gcode-to-text": [
    3,
    3
   ],
   "claude-sonnet-4-6 / compile-compcert": [
    1,
    1
   ],
   "claude-sonnet-4-6 / make-doom-for-mips": [
    3,
    3
   ],
   "claude-sonnet-4-6 / path-tracing": [
    3,
    3
   ],
   "claude-sonnet-4-6 / path-tracing-reverse": [
    3,
    3
   ],
   "claude-sonnet-4-6 / adaptive-rejection-sampler": [
    2,
    0
   ],
   "claude-sonnet-4-6 / train-fasttext": [
    3,
    3
   ],
   "claude-haiku-4-5 / feal-linear-cryptanalysis": [
    3,
    2
   ],
   "claude-haiku-4-5 / gcode-to-text": [
    3,
    0
   ],
   "claude-haiku-4-5 / compile-compcert": [
    1,
    0
   ],
   "claude-haiku-4-5 / make-doom-for-mips": [
    3,
    0
   ],
   "claude-haiku-4-5 / path-tracing": [
    3,
    0
   ],
   "claude-haiku-4-5 / path-tracing-reverse": [
    3,
    0
   ],
   "claude-haiku-4-5 / adaptive-rejection-sampler": [
    3,
    2
   ],
   "claude-haiku-4-5 / train-fasttext": [
    3,
    3
   ],
   "gpt-5.6-sol / gcode-to-text": [
    3,
    1
   ],
   "gpt-5.6-sol / compile-compcert": [
    1,
    1
   ],
   "gpt-5.6-sol / make-doom-for-mips": [
    3,
    0
   ],
   "gpt-5.6-sol / path-tracing": [
    1,
    0
   ],
   "gpt-5.6-sol / train-fasttext": [
    2,
    2
   ],
   "gpt-5.6-luna / gcode-to-text": [
    3,
    0
   ],
   "gpt-5.6-luna / make-doom-for-mips": [
    3,
    0
   ],
   "gpt-5.6-luna / path-tracing": [
    1,
    1
   ],
   "gpt-5.6-luna / adaptive-rejection-sampler": [
    1,
    0
   ],
   "gpt-5.6-luna / train-fasttext": [
    3,
    2
   ],
   "openrouter/moonshotai/kimi-k3 / gcode-to-text": [
    1,
    0
   ],
   "openrouter/moonshotai/kimi-k3 / compile-compcert": [
    3,
    3
   ],
   "openrouter/moonshotai/kimi-k3 / make-doom-for-mips": [
    3,
    3
   ],
   "openrouter/moonshotai/kimi-k3 / code-from-image": [
    1,
    1
   ],
   "openrouter/moonshotai/kimi-k3 / path-tracing-reverse": [
    1,
    1
   ],
   "openrouter/moonshotai/kimi-k3 / adaptive-rejection-sampler": [
    2,
    1
   ],
   "openrouter/moonshotai/kimi-k3 / train-fasttext": [
    3,
    3
   ]
  }
 }
}