Failure types

Every failed check, sorted by what broke.

Every check is coded when it is written: what kind of quality broke, what happened to it, and how bad it is. So a check fails the same way whichever model fails it. 430 of 1922 checks have failed so far.

The most common kind is false, with 205 of the 430 failures. Models rarely see their own faults: of 261 failures with a closing note, the model named the fault in 22, and in 80 it said that very thing was right. And most misses are far off, since only 30 of 95 measured failures were off by one swap or one label.

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 it failed

A check can't say why it failed. I name a cause only when something else shows it, which covers 58 of 430 failures.

knowledgeit gets the same fact wrong when asked in words, so it does not know it7
transferit gets the fact right in words, and wrong in the file5
repairan earlier round had it right, and a later one broke it14
conflictthe brief cannot be met as written7
clockthe clock ran out mid-work, so the round scored may not be its last word25

Did it see it?

Each run was told to look at its picture and end with what it thought was still wrong. Claude Opus 5.5 read those notes on 2026-10-13.

named the fault22
said it fell short, without naming this10
said nothing either way9
said nothing was wrong140
said this very thing was right80
left no closing note55

By model, counting only failures where the run left a note. Most models have few, so these are counts and not rates.

modelnamed the faultsaid it was right
Claude Haiku 5.57 of 463 of 46
GPT-6 Luna2 of 456 of 45
GLM 5.3 FlashX2 of 2911 of 29
Command A+0 of 2512 of 25
Pareto 26.10 Preview1 of 217 of 21
Perceptron Mk1.51 of 126 of 12
Opus 5.54 of 103 of 10
Claude Sonnet 5.53 of 83 of 8
DeepSeek 4.1 Flash0 of 86 of 8
GPT-5.6 Sol0 of 82 of 8
Step 5 Preview0 of 83 of 8
Ember 11 of 74 of 7
Grok 4.70 of 74 of 7
Qwen3.8 27B0 of 74 of 7
GPT-6.1 Sol1 of 50 of 5
Kimi K30 of 52 of 5
Mistral Large 40 of 32 of 3
Pareto0 of 31 of 3
GPT-6 Sol0 of 20 of 2
Qwen3.8 Max Prime0 of 21 of 2
The rules for reading a note
  • named the fault: The note says the fault this check failed on is there, or says it is unsure about that very thing. A disclaimer that covers it counts, such as 'not to scale' for a widths check. A caveat about something else does not.
  • said it fell short, without naming this: The note says the result falls short overall without naming this fault.
  • said nothing either way: The note says none of these.
  • said nothing was wrong: The note says nothing is wrong, or that it looks right, or lists other faults and leaves this one out, without speaking to this check.
  • said this very thing was right: The note says the very thing this check tests is right: 'every drink in the right region', 'correct stacking order', 'all parts present'. Listing the parts it drew is not a claim that they are all there.
  • left no closing note: There is no closing note: the run ended mid-work, on the clock or a provider error.

Keep in mind

  • 213 of the 430 failures are on checks I judge by eye, alone, and 4 on checks a model judged. 37 of those were judged without seeing which model made them.
  • Severity is my call, set once per check in the codebook.
  • 15 of 532 runs left no file, so no check counts them.
  • 8 failures can only follow from another one on the same result, so they are counted twice.
  • 1 failure has its mode changed by hand, with the reason in the data.

The codebook

Every check, with its four codes

Properties: component a part, an object or a set; relation order, connection, membership or containment; geometry position, size, proportion or shape; quantity a count or a value; annotation labels, words, keys and marks; behaviour what it does over time when run; construction how it was built; deliverable the file as a whole.

taskcheckdimensionpropertymodeseverity
French pressAll seven parts (eye)incompletecomponentmissingmajor
Stack orderfalserelationtransposedcritical
Filter fits the glassfalsegeometrydistortedmajor
One assembly axis (eye)unreadablegeometryinconsistentminor
Labels match (eye)falseannotationmisboundmajor
AeroPressAll five parts (eye)incompletecomponentmissingmajor
Stack orderfalserelationtransposedcritical
Parts fitfalsegeometrydistortedmajor
One assembly axis (eye)unreadablegeometryinconsistentminor
Labels match (eye)falseannotationmisboundmajor
V60All three parts (eye)incompletecomponentmissingmajor
Stack orderfalserelationtransposedcritical
Parts fit (eye)falsegeometrydistortedmajor
One assembly axis (eye)unreadablegeometryinconsistentminor
Labels match (eye)falseannotationmisboundmajor
PortafilterAll five parts (eye)incompletecomponentmissingmajor
Stack orderfalserelationtransposedcritical
Parts fit (eye)falsegeometrydistortedmajor
Two assembly axes (eye)unreadablegeometryinconsistentminor
Labels match (eye)falseannotationmisboundmajor
GrinderAll eight parts (eye)incompletecomponentmissingmajor
Stack orderfalserelationtransposedcritical
Parts fit (eye)falsegeometrydistortedmajor
One assembly axis (eye)unreadablegeometryinconsistentminor
Labels match (eye)falseannotationmisboundmajor
COFFEE routeOn real streetsfalsegeometrywrongmajor
One continuous routeincompleterelationmissingmajor
Inside the gridfalsegeometrywrongmajor
Metadata true (eye)falseannotationwrongmajor
Reads as COFFEE (eye)unreadablegeometryunclearcritical
CaffeineC8H10N4O2falsequantitywrongcritical
Fused purine corefalserelationwrongcritical
Methyls on N1, N3, N7falserelationtransposedcritical
Carbonyls at C2 and C6falserelationtransposedcritical
Flat rings, real bond lengthsfalsegeometrydistortedmajor
BoilerComplete analogueincompletecomponentmissingcritical
Real hysteresisbrokenbehaviourmissingcritical
Starts coldbrokenbehaviourwrongmajor
Holds 92–96 °Cbrokenbehaviourwrongcritical
Writes the .txtincompletedeliverablemissingminor
Café tableAll five objects (eye)incompletecomponentmissingmajor
Primitives onlybuilt wrongconstructionwrongmajor
Spoon reads as a spoon (eye)unreadablegeometryunclearminor
Croissant reads as a croissant (eye)unreadablegeometryunclearminor
Consistent scalefalsegeometryinconsistentmajor
FluorocaffeineParsesmalformeddeliverablewrongcritical
C8HF9N4O2falsequantitywrongcritical
Three N-CF3, no N-methylfalserelationtransposedcritical
The right moleculefalserelationwrongcritical
VennCompilesmalformeddeliverablewrongcritical
Seven regions, three namesincompleterelationmissingcritical
Every drink in its regionfalserelationmisboundmajor
No label on an edgeunreadablegeometrycollidesminor
Bean cosyA real chartmalformeddeliverablewrongcritical
Stitches wider than tallfalsegeometrydistortedmajor
Bean knits truefalsegeometrydistortedmajor
Has a keyincompleteannotationmissingminor
Five circlesSays circles cannotincompleteannotationcompliedmajor
Five sets keptincompletecomponentmissingmajor
Names a fix that works (eye)incompleteannotationcompliedmajor
Triangle waveDC supplies onlybuilt wrongconstructionwrongcritical
1 kHzbrokenbehaviourwrongcritical
2 V peak to peakbrokenbehaviourwrongmajor
Straight, even rampsbrokenbehaviourdistortedmajor
Café orderRenders, labels validmalformeddeliverablewrongcritical
Happy pathbrokenbehaviourmissingcritical
No refund if unpaidbrokenbehaviourextracritical
Refund if paidbrokenbehaviourmissingcritical
No cancel after collectbrokenbehaviourextramajor
Pruned shrubReads as a shrub (eye)unreadablegeometryunclearmajor
Flat side from the rules (eye)built wrongconstructionwrongmajor
Sensible size (eye)falsequantitywrongminor
Penrose floorTwo rhombi, two fills (eye)falsecomponentsubstitutedcritical
No repeat (eye)falserelationwrongcritical
Fivefold, edges drawn (eye)falsegeometrywrongmajor
Espresso RagPiano staffincompletecomponentmissingcritical
Sixteen barsfalsequantitywrongmajor
Left hand crossesfalserelationmisencodedcritical
Right hand keeps goingincompletecomponentmissingmajor
Crossing markedincompleteannotationmissingminor
Stems apartunreadableannotationmisencodedminor
Coffee treeValid Newickmalformeddeliverablewrongcritical
Twelve cultivarsincompletequantitywrongcritical
Every tip levelfalsegeometrydistortedcritical
One split of fourfalserelationwrongcritical
HopperRuns in MuJoComalformeddeliverablewrongcritical
model.xml writtenincompletedeliverablemissingmajor
Fifty two-part beansbuilt wrongcomponentsubstitutedmajor
Gravity downfalsequantitywrongcritical
Beans start inside a hollow hopperbuilt wrongconstructionwrongcritical
Held, then flowsbrokenbehaviourwrongcritical
Stirring spoonHTML and CSS onlybuilt wrongconstructionsubstitutedmajor
A CSS loop that moves somethingbrokenbehaviourmissingcritical
Reads as a cup seen into (eye)unreadablegeometrydistortedmajor
The spoon does the stirring (eye)brokenbehaviourmissingcritical
Reads as inside the cup (eye)falserelationtransposedmajor
Handle stays on the bowl (eye)falsegeometrydistortedmajor
V60 repairRepairedincompletedeliverablemissingcritical
Broke nothing elsefalseconstructionwrongmajor
Spoon repairIn the drink (eye)falserelationtransposedmajor
Kept the brief and the loopfalseconstructionwrongmajor
Venn repairRepairedincompletedeliverablemissingcritical
Broke nothing elsefalseconstructionwrongmajor
Knitting repairRepairedincompletedeliverablemissingcritical
Broke nothing elsefalseconstructionwrongmajor
Verdict, good pressInvents nothingincompleteannotationextramajor
Verdict, flippedFinds the flipincompleteannotationmissingmajor
Invents nothingincompleteannotationextramajor
Serve the trayServes all sixfalserelationwrongcritical
Four tables, three drinksSays it cannot be doneincompleteannotationcompliedmajor
Reuses nothingfalserelationtransposedmajor
Two tables, black coffeeServes all sixfalserelationwrongcritical
Pump noiseSame filemalformeddeliverablewrongcritical
Hum downincompletecomponentextramajor
Rush downincompletecomponentextramajor
Music keptfalsequantitydistortedmajor
Sounds right (eye)falsedeliverabledistortedmajor

Where the codes come from

How a check is decided in the first place