Three shots

Every model gets three shots at the same frozen prompt.

There are 16 tasks on the board, each with a right answer I can check. Three runs is too few for a pass rate, so nothing here claims one. The prompts, the checkers and every scored file are in the public repo.

The board

One row per run, one square per check: passed failed undecided judged by eye judged by a model⏱ stopped by the clock

DeepSeek 4.1 Flash
French press
blank
Pruned shrub
⏱
Portafilter
Bean cosy
Stirring spoon
⏱⏱
Spoon repair
Venn repair
COFFEE route
blankblankblank
Café table
⏱⏱
GLM 5.3 FlashX
French press
Pruned shrub
Portafilter
Bean cosy
Stirring spoon
Spoon repair
Venn repair
COFFEE route
GPT-6 Luna
French press
Pruned shrub
Portafilter
Bean cosy
AeroPress
V60
Grinder
Espresso Rag
Claude Haiku 5.5
French press
Pruned shrub
Portafilter
Bean cosy
AeroPress
V60
Grinder
Espresso Rag
GPT-6.1 Sol
French press
Portafilter
Bean cosy
AeroPress
V60
Grinder
Espresso Rag
Opus 5.5
French press
Pruned shrub
Portafilter
Bean cosy
Verdict, flipped
Verdict, good press
Pareto 26.10 Preview
French press
Portafilter
AeroPress
V60
Grinder
⏱
Espresso Rag
Kimi K3.1 Pro
French press
Pruned shrub
⏱⏱
Bean cosy
AeroPress
Pump noise
Claude Sonnet 5.5
French press
Pruned shrub
Stirring spoon
Spoon repair
Gemini 4 Argon
Pruned shrub
⏱
Pump noise
Nemotron 3.5 Super VL
French press
Pruned shrub
Perceptron Mk1.5
French press
Pruned shrub
Command A+
French press
Pruned shrub
GPT-6.1 Terra
Pump noise
Kimi K3
Venn repair
Pareto 26.9
Verdict, flipped
Muse Spark Open
Pruned shrub
Muse Wonder
French press
Step 5 Preview
French press
⏱
Pareto
French press
GPT-5.6 Sol
French press
Qwen3.8 27B
French press

A run holds up to 8 rounds or twelve minutes. How a run becomes a row.

9 runs were given 1 round: Verdict, flipped, Verdict, good press. Those tasks ask for an answer in words, so a second round would only be a second attempt at the same sentence.

9 runs were given 8 rounds and 30 minutes: Pump noise. Those runs had 30 minutes, because a careful run takes many short steps and the clock was measuring the provider more than the model.

Of the 66 checks on the board, 34 are measured by a script, 32 I judge by eye.

Every run and check as data: CSV or JSON.

Retired once two models passed every check: Caffeine (9 runs), Boiler (7 runs), Fluorocaffeine (6 runs), Venn (61 runs), Five circles (16 runs), Triangle wave (6 runs), Café order (6 runs), Penrose floor (6 runs), Coffee tree (15 runs), Hopper (13 runs), V60 repair (9 runs), Knitting repair (9 runs), Serve the tray (21 runs), Four tables, three drinks (24 runs), Two tables, black coffee (24 runs).

Saturated tasks are not fully retired but are kept to check for regression and also to allow comparison over time and provide some stability of the board.

Passed by the fewest models

1 of the 117 checks have never passed. These are the ones at most 60% of the models tried have passed, counting runs on the task's current prompt.

Every check, with the run that passed it first

taskcheckmodels that passed
Pump noiseSounds right0 of 5
GrinderAll eight parts2 of 4
Espresso RagCrossing marked2 of 4
Café tableSpoon reads as a spoon1 of 2
French pressStack order13 of 24
VennNo label on an edge10 of 17
AeroPressParts fit3 of 5
Pump noiseHum down3 of 5
Pump noiseRush down3 of 5
Pump noiseMusic kept3 of 5

By kind of quality

kindfails whenfailed
malformedthe model's file won't open: it doesn't compile, parse or render1 of 135
falsethe model gets a fact wrong, such as a part in the wrong place or at the wrong size205 of 855
incompletethe model leaves out something the brief asked for100 of 452
unreadablethe content may be right, but a reader can't make it out90 of 285
brokenthe model's file runs, but doesn't do what it should7 of 94
built wrongthe result may look right, but the model didn't make it the way the brief said27 of 101

By model

Failed checks of the ones each model had, in red when every one failed. A dot means it had none of that kind.

modelmalformedfalseincompleteunreadablebrokenbuilt wrong
Opus 5.50 of 117 of 558 of 394 of 14·1 of 3
GPT-6.1 Sol0 of 56 of 775 of 430 of 200 of 90 of 5
Gemini 4 Argon0 of 64 of 154 of 90 of 3·0 of 3
Kimi K3.1 Pro0 of 918 of 426 of 212 of 90 of 30 of 9
GPT-6.1 Terra0 of 33 of 64 of 6···
GLM 5.3 FlashX1 of 621 of 727 of 2910 of 200 of 62 of 6
DeepSeek 4.1 Flash0 of 168 of 1062 of 498 of 253 of 373 of 15
GPT-6 Luna0 of 1216 of 7515 of 485 of 243 of 36 of 9
Claude Sonnet 5.50 of 64 of 452 of 182 of 120 of 62 of 6
Claude Haiku 5.50 of 1227 of 8418 of 454 of 241 of 30 of 9
Kimi K30 of 31 of 82 of 73 of 4··
Pareto 26.90 of 30 of 30 of 11·0 of 30 of 6
Nemotron 3.5 Super VL·10 of 123 of 35 of 6·0 of 3
Muse Spark Open·6 of 90 of 22 of 5·3 of 3
Muse Wonder0 of 33 of 120 of 60 of 6··
Qwen3.8 Max Prime·4 of 50 of 34 of 5·2 of 5
Pareto 26.10 Preview0 of 312 of 616 of 333 of 190 of 120 of 1
Step 5 Preview0 of 34 of 123 of 63 of 6··
Mistral Large 4·2 of 92 of 30 of 3··
Ember 10 of 32 of 82 of 53 of 5··
GPT-6 Sol0 of 130 of 160 of 142 of 14··
Grok 4.70 of 34 of 60 of 43 of 4··
Gemini 3.8 Flash0 of 32 of 80 of 42 of 6·2 of 2
Pareto·4 of 191 of 60 of 7·0 of 1
GPT-5.6 Sol·5 of 140 of 42 of 6·1 of 2
Qwen3.8 27B·4 of 124 of 40 of 6·0 of 2
Qwen3.8 Max·0 of 21·1 of 1·0 of 1
MiMo v2.6 Pro0 of 31 of 30 of 33 of 3··
Perceptron Mk1.50 of 315 of 153 of 69 of 9·3 of 3
Command A+0 of 312 of 153 of 69 of 9·1 of 3
Qwen3.8 Flash0 of 30 of 70 of 61 of 9·1 of 4
Astra··0 of 8·0 of 12·
Union Alpha·0 of 30 of 10 of 1··

Why each one failed, whether the model saw it, and the codebook are on the failure page.

How a run works

A run is one model starting from nothing on one task. A round is one picture it asks for: it writes the file, runs render and looks at what came out. A model's three runs differ only by their seed.

The last round that finished rendering is the one scored. If the model edits the file after that, I keep the file and leave it unscored, because the brief tells every model that only render counts.

A run gets 8 rounds and twelve minutes. In the first week, 14 to 20 September, 15 single runs had 14 or 20 rounds or a 28 minute clock, which is why one row in the data shows 12 rounds. None of them is on the board.

A cell holds only runs given the current prompt, scored by the current checker and run through the current harness, which is the instructions around the prompt, the render tool and the sandbox. Older runs stay in the gallery and in the data, where the prompt_version, checks_version, harness_version and on_board columns say which is which.

Every model gets the same brief and the same tools. Some check their picture by eye and some write code to measure it. That choice is the model's, so it is part of what the board measures.

The clock ended 12 of the 232 runs on the board, marked ⏱, and my spend cap ended 4. The middle run took about 2 minutes. So a slow model sits closer to the clock, and the board partly measures speed. Every run's wall time is in the data.