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
Odd-length all-digit data starts in set C · case 01
A three-digit quantity is encoded as a pair in C plus a switch to B for its last digit.
Odd-length all-digit data starts in set C · case 02
A three-digit quantity is encoded as a pair in C plus a switch to B for its last digit.
Odd-length all-digit data starts in set C · case 03
A three-digit quantity is encoded as a pair in C plus a switch to B for its last digit.
Odd-length all-digit data starts in set C · case 04
A three-digit quantity is encoded as a pair in C plus a switch to B for its last digit.
Odd-length all-digit data starts in set C · case 05
A three-digit quantity is encoded as a pair in C plus a switch to B for its last digit.
Code 128 switches to set C for four digits in mid-data · case 01
Symbols grow when a four-digit run sits between letters, because two switch characters cost more than the pairs save.
Code 128 switches to set C for four digits in mid-data · case 02
Symbols grow when a four-digit run sits between letters, because two switch characters cost more than the pairs save.
Code 128 switches to set C for four digits in mid-data · case 03
Symbols grow when a four-digit run sits between letters, because two switch characters cost more than the pairs save.
Code 128 switches to set C for four digits in mid-data · case 04
Symbols grow when a four-digit run sits between letters, because two switch characters cost more than the pairs save.
Code 128 switches to set C for four digits in mid-data · case 05
Symbols grow when a four-digit run sits between letters, because two switch characters cost more than the pairs save.
Trailing four-digit runs stay in set B · case 01
Serial numbers ending in four or five digits produce longer symbols than necessary.
Trailing four-digit runs stay in set B · case 02
Serial numbers ending in four or five digits produce longer symbols than necessary.
Trailing four-digit runs stay in set B · case 03
Serial numbers ending in four or five digits produce longer symbols than necessary.
Trailing four-digit runs stay in set B · case 04
Serial numbers ending in four or five digits produce longer symbols than necessary.
Trailing four-digit runs stay in set B · case 05
Serial numbers ending in four or five digits produce longer symbols than necessary.
Odd digit run enters set C without peeling a digit · case 01
A seven-digit run ends with a lone digit that forces another switch back to B.
Odd digit run enters set C without peeling a digit · case 02
A seven-digit run ends with a lone digit that forces another switch back to B.
Odd digit run enters set C without peeling a digit · case 03
A seven-digit run ends with a lone digit that forces another switch back to B.
Odd digit run enters set C without peeling a digit · case 04
A seven-digit run ends with a lone digit that forces another switch back to B.
Odd digit run enters set C without peeling a digit · case 05
A seven-digit run ends with a lone digit that forces another switch back to B.
Set C pairs a digit with a following letter · case 01
Data such as "1234567A" produces a set C segment containing "7A".
Set C pairs a digit with a following letter · case 02
Data such as "1234567A" produces a set C segment containing "7A".
Set C pairs a digit with a following letter · case 03
Data such as "1234567A" produces a set C segment containing "7A".
Set C pairs a digit with a following letter · case 04
Data such as "1234567A" produces a set C segment containing "7A".
Set C pairs a digit with a following letter · case 05
Data such as "1234567A" produces a set C segment containing "7A".
Code 128 set A shifts control characters into the digit range · case 01
A GS separator encoded in set A decodes as "=", corrupting GS1 data.
Code 128 set A shifts control characters into the digit range · case 02
A GS separator encoded in set A decodes as "=", corrupting GS1 data.
Code 128 set A shifts control characters into the digit range · case 03
A GS separator encoded in set A decodes as "=", corrupting GS1 data.
Code 128 set A shifts control characters into the digit range · case 04
A GS separator encoded in set A decodes as "=", corrupting GS1 data.
Code 128 set A shifts control characters into the digit range · case 05
A GS separator encoded in set A decodes as "=", corrupting GS1 data.
Set A accepts lowercase letters · case 01
Lowercase text planned into set A decodes as control characters.
Set A accepts lowercase letters · case 02
Lowercase text planned into set A decodes as control characters.
Set A accepts lowercase letters · case 03
Lowercase text planned into set A decodes as control characters.
Set A accepts lowercase letters · case 04
Lowercase text planned into set A decodes as control characters.
Set A accepts lowercase letters · case 05
Lowercase text planned into set A decodes as control characters.
Code A and Code B switch characters are exchanged · case 01
Switching from C to B decodes as a switch to A, so lowercase letters decode as control codes.
Code A and Code B switch characters are exchanged · case 02
Switching from C to B decodes as a switch to A, so lowercase letters decode as control codes.
Code A and Code B switch characters are exchanged · case 03
Switching from C to B decodes as a switch to A, so lowercase letters decode as control codes.
Code A and Code B switch characters are exchanged · case 04
Switching from C to B decodes as a switch to A, so lowercase letters decode as control codes.
Code A and Code B switch characters are exchanged · case 05
Switching from C to B decodes as a switch to A, so lowercase letters decode as control codes.
SHIFT encodes its character in the current set · case 01
A lowercase letter shifted inside set A comes out as a control code.
SHIFT encodes its character in the current set · case 02
A lowercase letter shifted inside set A comes out as a control code.
SHIFT encodes its character in the current set · case 03
A lowercase letter shifted inside set A comes out as a control code.
SHIFT encodes its character in the current set · case 04
A lowercase letter shifted inside set A comes out as a control code.
SHIFT encodes its character in the current set · case 05
A lowercase letter shifted inside set A comes out as a control code.
Set C accepts pairs containing spaces · case 01
A space-padded quantity is encoded as a digit pair value because int() ignores whitespace.
Set C accepts pairs containing spaces · case 02
A space-padded quantity is encoded as a digit pair value because int() ignores whitespace.
Set C accepts pairs containing spaces · case 03
A space-padded quantity is encoded as a digit pair value because int() ignores whitespace.
Set C accepts pairs containing spaces · case 04
A space-padded quantity is encoded as a digit pair value because int() ignores whitespace.
Set C accepts pairs containing spaces · case 05
A space-padded quantity is encoded as a digit pair value because int() ignores whitespace.
Leading FNC1 is emitted without a start character · case 01
GS1 symbols begin with value 102 and no start code, so scanners reject them.
Leading FNC1 is emitted without a start character · case 02
GS1 symbols begin with value 102 and no start code, so scanners reject them.
Leading FNC1 is emitted without a start character · case 03
GS1 symbols begin with value 102 and no start code, so scanners reject them.
Leading FNC1 is emitted without a start character · case 04
GS1 symbols begin with value 102 and no start code, so scanners reject them.
Leading FNC1 is emitted without a start character · case 05
GS1 symbols begin with value 102 and no start code, so scanners reject them.
Code 39 width adds a gap after the stop character · case 01
Label layout reserves one extra narrow module, pushing the symbol into the right quiet zone.
Code 39 width adds a gap after the stop character · case 02
Label layout reserves one extra narrow module, pushing the symbol into the right quiet zone.
Code 39 width adds a gap after the stop character · case 03
Label layout reserves one extra narrow module, pushing the symbol into the right quiet zone.
Code 39 width adds a gap after the stop character · case 04
Label layout reserves one extra narrow module, pushing the symbol into the right quiet zone.
Code 39 width adds a gap after the stop character · case 05
Label layout reserves one extra narrow module, pushing the symbol into the right quiet zone.
Code 39 width omits the start and stop characters · case 01
Printed symbols are wider than the layout box and get clipped.
Code 39 width omits the start and stop characters · case 02
Printed symbols are wider than the layout box and get clipped.
Code 39 width omits the start and stop characters · case 03
Printed symbols are wider than the layout box and get clipped.
Code 39 width omits the start and stop characters · case 04
Printed symbols are wider than the layout box and get clipped.
Code 39 width omits the start and stop characters · case 05
Printed symbols are wider than the layout box and get clipped.
Standard Code 39 silently upper-cases lowercase input · case 01
Case-sensitive part numbers scan back in capitals without any error.
Standard Code 39 silently upper-cases lowercase input · case 02
Case-sensitive part numbers scan back in capitals without any error.
Standard Code 39 silently upper-cases lowercase input · case 03
Case-sensitive part numbers scan back in capitals without any error.
Standard Code 39 silently upper-cases lowercase input · case 04
Case-sensitive part numbers scan back in capitals without any error.
Standard Code 39 silently upper-cases lowercase input · case 05
Case-sensitive part numbers scan back in capitals without any error.
Full ASCII Code 39 leaves $ % + / unescaped · case 01
A price such as "$5" decodes in full ASCII readers as a control character.
Full ASCII Code 39 leaves $ % + / unescaped · case 02
A price such as "$5" decodes in full ASCII readers as a control character.
Full ASCII Code 39 leaves $ % + / unescaped · case 03
A price such as "$5" decodes in full ASCII readers as a control character.
Full ASCII Code 39 leaves $ % + / unescaped · case 04
A price such as "$5" decodes in full ASCII readers as a control character.
Full ASCII Code 39 leaves $ % + / unescaped · case 05
A price such as "$5" decodes in full ASCII readers as a control character.
Full ASCII control escapes are shifted by one letter · case 01
A tab encodes as $J (line feed) and data separators become the wrong control codes.
Full ASCII control escapes are shifted by one letter · case 02
A tab encodes as $J (line feed) and data separators become the wrong control codes.
Full ASCII control escapes are shifted by one letter · case 03
A tab encodes as $J (line feed) and data separators become the wrong control codes.
Full ASCII control escapes are shifted by one letter · case 04
A tab encodes as $J (line feed) and data separators become the wrong control codes.
Full ASCII control escapes are shifted by one letter · case 05
A tab encodes as $J (line feed) and data separators become the wrong control codes.
Code 39 accepts a 4:1 wide ratio · case 01
Symbols printed with an out-of-range ratio are wider than planned and fail grading.
Code 39 accepts a 4:1 wide ratio · case 02
Symbols printed with an out-of-range ratio are wider than planned and fail grading.
Code 39 accepts a 4:1 wide ratio · case 03
Symbols printed with an out-of-range ratio are wider than planned and fail grading.
Code 39 accepts a 4:1 wide ratio · case 04
Symbols printed with an out-of-range ratio are wider than planned and fail grading.
Code 39 accepts a 4:1 wide ratio · case 05
Symbols printed with an out-of-range ratio are wider than planned and fail grading.
EAN-13 right quiet zone uses the left width · case 01
Retail labels reserve four extra modules on the right and overflow narrow shelf strips.
EAN-13 right quiet zone uses the left width · case 02
Retail labels reserve four extra modules on the right and overflow narrow shelf strips.
EAN-13 right quiet zone uses the left width · case 03
Retail labels reserve four extra modules on the right and overflow narrow shelf strips.
EAN-13 right quiet zone uses the left width · case 04
Retail labels reserve four extra modules on the right and overflow narrow shelf strips.
EAN-13 right quiet zone uses the left width · case 05
Retail labels reserve four extra modules on the right and overflow narrow shelf strips.
Add-on width counts only the digit characters · case 01
Magazine labels with EAN-5 add-ons are laid out too narrow and the add-on is clipped.
Add-on width counts only the digit characters · case 02
Magazine labels with EAN-5 add-ons are laid out too narrow and the add-on is clipped.
Add-on width counts only the digit characters · case 03
Magazine labels with EAN-5 add-ons are laid out too narrow and the add-on is clipped.
Add-on width counts only the digit characters · case 04
Magazine labels with EAN-5 add-ons are laid out too narrow and the add-on is clipped.
Add-on width counts only the digit characters · case 05
Magazine labels with EAN-5 add-ons are laid out too narrow and the add-on is clipped.
Add-on gap is added on top of the main right quiet zone · case 01
Symbols with add-ons are wider than the allowed label area.
Add-on gap is added on top of the main right quiet zone · case 02
Symbols with add-ons are wider than the allowed label area.
Add-on gap is added on top of the main right quiet zone · case 03
Symbols with add-ons are wider than the allowed label area.
Add-on gap is added on top of the main right quiet zone · case 04
Symbols with add-ons are wider than the allowed label area.
Add-on gap is added on top of the main right quiet zone · case 05
Symbols with add-ons are wider than the allowed label area.
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 ↗