Understand the failure.
Verify the repair.
Small, reproducible software failures. The broken implementation, the fix that didn’t work, and the one that passed—preserved together.
Explore the cases ↓How results are verified ↗WHAT THE ARCHIVE CONTAINS
100840 executable cases. 20168 are open.
Every case records the implementation that fails, the fix that did not work, and the repair that passed its checks—with recorded outputs and source hashes. This release adds 100840 cases across 20168 failure mechanisms and 254 domains.
The open tier gives you the failure and the unsuccessful fix for one case in every mechanism. The remaining 80672 cases, 5 variants per mechanism, are member-only: the verified repair, its recorded checks, and the full fixture suite are held in the member archive. Read the methodology ↗
A RECORD OF WHAT WENT WRONG
Browse the archive / 100840
Emergency and service code classifier: emergency codes are matched as prefixes · case 01
Service code "1331" is classified as emergency.
Emergency and service code classifier: emergency codes are matched as prefixes · case 02
Service code "1331" is classified as emergency.
Emergency and service code classifier: emergency codes are matched as prefixes · case 03
Service code "1331" is classified as emergency.
Emergency and service code classifier: emergency codes are matched as prefixes · case 04
Service code "1331" is classified as emergency.
Emergency and service code classifier: emergency codes are matched as prefixes · case 05
Service code "1331" is classified as emergency.
Emergency and service code classifier: only the first feature code is removed · case 01
"*67*82 0555..." is invalid instead of a national number with two feature tags.
Emergency and service code classifier: only the first feature code is removed · case 02
"*67*82 0555..." is invalid instead of a national number with two feature tags.
Emergency and service code classifier: only the first feature code is removed · case 03
"*67*82 0555..." is invalid instead of a national number with two feature tags.
Emergency and service code classifier: only the first feature code is removed · case 04
"*67*82 0555..." is invalid instead of a national number with two feature tags.
Emergency and service code classifier: only the first feature code is removed · case 05
"*67*82 0555..." is invalid instead of a national number with two feature tags.
Emergency and service code classifier: national numbers without the trunk are accepted · case 01
A nine-digit AA number without its leading 0 is classified national.
Emergency and service code classifier: national numbers without the trunk are accepted · case 02
A nine-digit AA number without its leading 0 is classified national.
Emergency and service code classifier: national numbers without the trunk are accepted · case 03
A nine-digit AA number without its leading 0 is classified national.
Emergency and service code classifier: national numbers without the trunk are accepted · case 04
A nine-digit AA number without its leading 0 is classified national.
Emergency and service code classifier: national numbers without the trunk are accepted · case 05
A nine-digit AA number without its leading 0 is classified national.
Emergency and service code classifier: short digit strings are service codes · case 01
"11" is classified as a service code.
Emergency and service code classifier: short digit strings are service codes · case 02
"11" is classified as a service code.
Emergency and service code classifier: short digit strings are service codes · case 03
"11" is classified as a service code.
Emergency and service code classifier: short digit strings are service codes · case 04
"11" is classified as a service code.
Emergency and service code classifier: short digit strings are service codes · case 05
"11" is classified as a service code.
Emergency and service code classifier: hash characters pass into the national number · case 01
"5550#11" in BB is classified as national.
Emergency and service code classifier: hash characters pass into the national number · case 02
"5550#11" in BB is classified as national.
Emergency and service code classifier: hash characters pass into the national number · case 03
"5550#11" in BB is classified as national.
Emergency and service code classifier: hash characters pass into the national number · case 04
"5550#11" in BB is classified as national.
Emergency and service code classifier: hash characters pass into the national number · case 05
"5550#11" in BB is classified as national.
Number list range compression: duplicates split a run · case 01
A repeated number produces a singleton followed by a run.
Number list range compression: duplicates split a run · case 02
A repeated number produces a singleton followed by a run.
Number list range compression: duplicates split a run · case 03
A repeated number produces a singleton followed by a run.
Number list range compression: duplicates split a run · case 04
A repeated number produces a singleton followed by a run.
Number list range compression: duplicates split a run · case 05
A repeated number produces a singleton followed by a run.
Number list range compression: the tail is always two digits · case 01
"5550198-5550201" is emitted as "5550198-01".
Number list range compression: the tail is always two digits · case 02
"5550198-5550201" is emitted as "5550198-01".
Number list range compression: the tail is always two digits · case 03
"5550198-5550201" is emitted as "5550198-01".
Number list range compression: the tail is always two digits · case 04
"5550198-5550201" is emitted as "5550198-01".
Number list range compression: the tail is always two digits · case 05
"5550198-5550201" is emitted as "5550198-01".
Number list range compression: runs join numbers of different lengths · case 01
"98, 99, 100, 101" becomes one run "98-101".
Number list range compression: runs join numbers of different lengths · case 02
"98, 99, 100, 101" becomes one run "98-101".
Number list range compression: runs join numbers of different lengths · case 03
"98, 99, 100, 101" becomes one run "98-101".
Number list range compression: runs join numbers of different lengths · case 04
"98, 99, 100, 101" becomes one run "98-101".
Number list range compression: runs join numbers of different lengths · case 05
"98, 99, 100, 101" becomes one run "98-101".
Number list range compression: numbers are sorted as text · case 01
"100" sorts before "98".
Number list range compression: numbers are sorted as text · case 02
"100" sorts before "98".
Number list range compression: numbers are sorted as text · case 03
"100" sorts before "98".
Number list range compression: numbers are sorted as text · case 04
"100" sorts before "98".
Number list range compression: numbers are sorted as text · case 05
"100" sorts before "98".
Number list range compression: runs are compared with their start · case 01
A three-number run is emitted as a pair and a singleton.
Number list range compression: runs are compared with their start · case 02
A three-number run is emitted as a pair and a singleton.
Number list range compression: runs are compared with their start · case 03
A three-number run is emitted as a pair and a singleton.
Number list range compression: runs are compared with their start · case 04
A three-number run is emitted as a pair and a singleton.
Number list range compression: runs are compared with their start · case 05
A three-number run is emitted as a pair and a singleton.
Pattern-driven phone input mask: literals are written before the next digit exists · case 01
Three typed digits show "(555) " with the closing bracket already present.
Pattern-driven phone input mask: literals are written before the next digit exists · case 02
Three typed digits show "(555) " with the closing bracket already present.
Pattern-driven phone input mask: literals are written before the next digit exists · case 03
Three typed digits show "(555) " with the closing bracket already present.
Pattern-driven phone input mask: literals are written before the next digit exists · case 04
Three typed digits show "(555) " with the closing bracket already present.
Pattern-driven phone input mask: literals are written before the next digit exists · case 05
Three typed digits show "(555) " with the closing bracket already present.
Pattern-driven phone input mask: escaped X consumes a digit · case 01
"E\XT XXXX" shows a backslash and uses the first digit as the X.
Pattern-driven phone input mask: escaped X consumes a digit · case 02
"E\XT XXXX" shows a backslash and uses the first digit as the X.
Pattern-driven phone input mask: escaped X consumes a digit · case 03
"E\XT XXXX" shows a backslash and uses the first digit as the X.
Pattern-driven phone input mask: escaped X consumes a digit · case 04
"E\XT XXXX" shows a backslash and uses the first digit as the X.
Pattern-driven phone input mask: escaped X consumes a digit · case 05
"E\XT XXXX" shows a backslash and uses the first digit as the X.
Pattern-driven phone input mask: digits beyond the pattern are dropped silently · case 01
An eleven-digit input renders as a valid ten-digit number.
Pattern-driven phone input mask: digits beyond the pattern are dropped silently · case 02
An eleven-digit input renders as a valid ten-digit number.
Pattern-driven phone input mask: digits beyond the pattern are dropped silently · case 03
An eleven-digit input renders as a valid ten-digit number.
Pattern-driven phone input mask: digits beyond the pattern are dropped silently · case 04
An eleven-digit input renders as a valid ten-digit number.
Pattern-driven phone input mask: digits beyond the pattern are dropped silently · case 05
An eleven-digit input renders as a valid ten-digit number.
Pattern-driven phone input mask: pending literals are written for partial input · case 01
Four digits in a pairs pattern render "55 50 " with a trailing space.
Pattern-driven phone input mask: pending literals are written for partial input · case 02
Four digits in a pairs pattern render "55 50 " with a trailing space.
Pattern-driven phone input mask: pending literals are written for partial input · case 03
Four digits in a pairs pattern render "55 50 " with a trailing space.
Pattern-driven phone input mask: pending literals are written for partial input · case 04
Four digits in a pairs pattern render "55 50 " with a trailing space.
Pattern-driven phone input mask: pending literals are written for partial input · case 05
Four digits in a pairs pattern render "55 50 " with a trailing space.
Pattern-driven phone input mask: the literal buffer is never cleared · case 01
Every digit is preceded by all literals seen so far: "(5(55(555) ...".
Pattern-driven phone input mask: the literal buffer is never cleared · case 02
Every digit is preceded by all literals seen so far: "(5(55(555) ...".
Pattern-driven phone input mask: the literal buffer is never cleared · case 03
Every digit is preceded by all literals seen so far: "(5(55(555) ...".
Pattern-driven phone input mask: the literal buffer is never cleared · case 04
Every digit is preceded by all literals seen so far: "(5(55(555) ...".
Pattern-driven phone input mask: the literal buffer is never cleared · case 05
Every digit is preceded by all literals seen so far: "(5(55(555) ...".
Numbering prefix pattern classifier: class ranges exclude their upper end · case 01
"74..." does not match "7[0-4]".
Numbering prefix pattern classifier: class ranges exclude their upper end · case 02
"74..." does not match "7[0-4]".
Numbering prefix pattern classifier: class ranges exclude their upper end · case 03
"74..." does not match "7[0-4]".
Numbering prefix pattern classifier: class ranges exclude their upper end · case 04
"74..." does not match "7[0-4]".
Numbering prefix pattern classifier: class ranges exclude their upper end · case 05
"74..." does not match "7[0-4]".
Numbering prefix pattern classifier: a number shorter than the pattern matches · case 01
"7" matches "7X".
Numbering prefix pattern classifier: a number shorter than the pattern matches · case 02
"7" matches "7X".
Numbering prefix pattern classifier: a number shorter than the pattern matches · case 03
"7" matches "7X".
Numbering prefix pattern classifier: a number shorter than the pattern matches · case 04
"7" matches "7X".
Numbering prefix pattern classifier: a number shorter than the pattern matches · case 05
"7" matches "7X".
Numbering prefix pattern classifier: digits inside a class count as literals · case 01
"7[0-4]" outranks the more specific literal "72".
Numbering prefix pattern classifier: digits inside a class count as literals · case 02
"7[0-4]" outranks the more specific literal "72".
Numbering prefix pattern classifier: digits inside a class count as literals · case 03
"7[0-4]" outranks the more specific literal "72".
Numbering prefix pattern classifier: digits inside a class count as literals · case 04
"7[0-4]" outranks the more specific literal "72".
Numbering prefix pattern classifier: digits inside a class count as literals · case 05
"7[0-4]" outranks the more specific literal "72".
Numbering prefix pattern classifier: ties go to the last rule · case 01
Two equally specific rules resolve to the later one.
Numbering prefix pattern classifier: ties go to the last rule · case 02
Two equally specific rules resolve to the later one.
Numbering prefix pattern classifier: ties go to the last rule · case 03
Two equally specific rules resolve to the later one.
Numbering prefix pattern classifier: ties go to the last rule · case 04
Two equally specific rules resolve to the later one.
Numbering prefix pattern classifier: ties go to the last rule · case 05
Two equally specific rules resolve to the later one.
Numbering prefix pattern classifier: a range overwrites an earlier matching literal in the same class · case 01
"5..." does not match "[50-3]X".
Numbering prefix pattern classifier: a range overwrites an earlier matching literal in the same class · case 02
"5..." does not match "[50-3]X".
Numbering prefix pattern classifier: a range overwrites an earlier matching literal in the same class · case 03
"5..." does not match "[50-3]X".
Numbering prefix pattern classifier: a range overwrites an earlier matching literal in the same class · case 04
"5..." does not match "[50-3]X".
Numbering prefix pattern classifier: a range overwrites an earlier matching literal in the same class · case 05
"5..." does not match "[50-3]X".
INSPECTABLE BY DESIGN
Every result has a runnable source.
Runnable implementations with recorded outputs, source hashes, and explicit contracts. Related variants share a failure mechanism and belong together in evaluation splits.
Read the methodology ↗