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
Control digit eleven is not mapped to zero · case 01
Numbers whose weighted sum is a multiple of 11 produce control value 11.
Control digit eleven is not mapped to zero · case 02
Numbers whose weighted sum is a multiple of 11 produce control value 11.
Control digit eleven is not mapped to zero · case 03
Numbers whose weighted sum is a multiple of 11 produce control value 11.
Control digit eleven is not mapped to zero · case 04
Numbers whose weighted sum is a multiple of 11 produce control value 11.
Control digit eleven is not mapped to zero · case 05
Numbers whose weighted sum is a multiple of 11 produce control value 11.
Second control digit value ten is emitted · case 01
Base numbers whose second control digit would be 10 are reported as ordinary mismatches.
Second control digit value ten is emitted · case 02
Base numbers whose second control digit would be 10 are reported as ordinary mismatches.
Second control digit value ten is emitted · case 03
Base numbers whose second control digit would be 10 are reported as ordinary mismatches.
Second control digit value ten is emitted · case 04
Base numbers whose second control digit would be 10 are reported as ordinary mismatches.
Second control digit value ten is emitted · case 05
Base numbers whose second control digit would be 10 are reported as ordinary mismatches.
MRZ filler character is scored like a letter · case 01
Document numbers padded with "<" fail their check digit.
MRZ filler character is scored like a letter · case 02
Document numbers padded with "<" fail their check digit.
MRZ filler character is scored like a letter · case 03
Document numbers padded with "<" fail their check digit.
MRZ filler character is scored like a letter · case 04
Document numbers padded with "<" fail their check digit.
MRZ filler character is scored like a letter · case 05
Document numbers padded with "<" fail their check digit.
MRZ weights run 1,3,7 · case 01
Every check digit on the line disagrees with the document.
MRZ weights run 1,3,7 · case 02
Every check digit on the line disagrees with the document.
MRZ weights run 1,3,7 · case 03
Every check digit on the line disagrees with the document.
MRZ weights run 1,3,7 · case 04
Every check digit on the line disagrees with the document.
MRZ weights run 1,3,7 · case 05
Every check digit on the line disagrees with the document.
MRZ composite check omits the field check digits · case 01
The composite (final) check digit fails on valid passports.
MRZ composite check omits the field check digits · case 02
The composite (final) check digit fails on valid passports.
MRZ composite check omits the field check digits · case 03
The composite (final) check digit fails on valid passports.
MRZ composite check omits the field check digits · case 04
The composite (final) check digit fails on valid passports.
MRZ composite check omits the field check digits · case 05
The composite (final) check digit fails on valid passports.
MRZ rejects the filler check on an empty optional field · case 01
Passports with no optional data and a "<" check character report a bad optional check.
MRZ rejects the filler check on an empty optional field · case 02
Passports with no optional data and a "<" check character report a bad optional check.
MRZ rejects the filler check on an empty optional field · case 03
Passports with no optional data and a "<" check character report a bad optional check.
MRZ rejects the filler check on an empty optional field · case 04
Passports with no optional data and a "<" check character report a bad optional check.
MRZ rejects the filler check on an empty optional field · case 05
Passports with no optional data and a "<" check character report a bad optional check.
Code 128 weights the first data symbol by zero · case 01
Every barcode gets the wrong check symbol.
Code 128 weights the first data symbol by zero · case 02
Every barcode gets the wrong check symbol.
Code 128 weights the first data symbol by zero · case 03
Every barcode gets the wrong check symbol.
Code 128 weights the first data symbol by zero · case 04
Every barcode gets the wrong check symbol.
Code 128 weights the first data symbol by zero · case 05
Every barcode gets the wrong check symbol.
Code 128 set C encodes single digits · case 01
Numeric barcodes in set C get the wrong check symbol.
Code 128 set C encodes single digits · case 02
Numeric barcodes in set C get the wrong check symbol.
Code 128 set C encodes single digits · case 03
Numeric barcodes in set C get the wrong check symbol.
Code 128 set C encodes single digits · case 04
Numeric barcodes in set C get the wrong check symbol.
Code 128 set C encodes single digits · case 05
Numeric barcodes in set C get the wrong check symbol.
Code 128 set A scores control characters by code point · case 01
Barcodes carrying tab or other control characters in set A get wrong check symbols.
Code 128 set A scores control characters by code point · case 02
Barcodes carrying tab or other control characters in set A get wrong check symbols.
Code 128 set A scores control characters by code point · case 03
Barcodes carrying tab or other control characters in set A get wrong check symbols.
Code 128 set A scores control characters by code point · case 04
Barcodes carrying tab or other control characters in set A get wrong check symbols.
Code 128 set A scores control characters by code point · case 05
Barcodes carrying tab or other control characters in set A get wrong check symbols.
Code 128 set B rejects DEL · case 01
Data containing DEL (value 95) in set B is refused.
Code 128 set B rejects DEL · case 02
Data containing DEL (value 95) in set B is refused.
Code 128 set B rejects DEL · case 03
Data containing DEL (value 95) in set B is refused.
Code 128 set B rejects DEL · case 04
Data containing DEL (value 95) in set B is refused.
Code 128 set B rejects DEL · case 05
Data containing DEL (value 95) in set B is refused.
UPC-E expansion treats m6 = 2 as a product digit · case 01
Codes ending in compressed digit 2 expand into the wrong manufacturer number.
UPC-E expansion treats m6 = 2 as a product digit · case 02
Codes ending in compressed digit 2 expand into the wrong manufacturer number.
UPC-E expansion treats m6 = 2 as a product digit · case 03
Codes ending in compressed digit 2 expand into the wrong manufacturer number.
UPC-E expansion treats m6 = 2 as a product digit · case 04
Codes ending in compressed digit 2 expand into the wrong manufacturer number.
UPC-E expansion treats m6 = 2 as a product digit · case 05
Codes ending in compressed digit 2 expand into the wrong manufacturer number.
UPC-E expansion places m5 before the zero run · case 01
Codes ending in compressed digit 4 expand to the wrong product number.
UPC-E expansion places m5 before the zero run · case 02
Codes ending in compressed digit 4 expand to the wrong product number.
UPC-E expansion places m5 before the zero run · case 03
Codes ending in compressed digit 4 expand to the wrong product number.
UPC-E expansion places m5 before the zero run · case 04
Codes ending in compressed digit 4 expand to the wrong product number.
UPC-E expansion places m5 before the zero run · case 05
Codes ending in compressed digit 4 expand to the wrong product number.
UPC-E expansion drops the zero run before m6 · case 01
Codes ending in 5-9 expand into shifted UPC-A numbers.
UPC-E expansion drops the zero run before m6 · case 02
Codes ending in 5-9 expand into shifted UPC-A numbers.
UPC-E expansion drops the zero run before m6 · case 03
Codes ending in 5-9 expand into shifted UPC-A numbers.
UPC-E expansion drops the zero run before m6 · case 04
Codes ending in 5-9 expand into shifted UPC-A numbers.
UPC-E expansion drops the zero run before m6 · case 05
Codes ending in 5-9 expand into shifted UPC-A numbers.
UPC-E check is computed on the compressed digits · case 01
Valid UPC-E labels are rejected.
UPC-E check is computed on the compressed digits · case 02
Valid UPC-E labels are rejected.
UPC-E check is computed on the compressed digits · case 03
Valid UPC-E labels are rejected.
UPC-E check is computed on the compressed digits · case 04
Valid UPC-E labels are rejected.
UPC-E check is computed on the compressed digits · case 05
Valid UPC-E labels are rejected.
UPC-E admits number systems other than 0 and 1 · case 01
Eight-digit strings starting 2-9 are expanded as if they were UPC-E.
UPC-E admits number systems other than 0 and 1 · case 02
Eight-digit strings starting 2-9 are expanded as if they were UPC-E.
UPC-E admits number systems other than 0 and 1 · case 03
Eight-digit strings starting 2-9 are expanded as if they were UPC-E.
UPC-E admits number systems other than 0 and 1 · case 04
Eight-digit strings starting 2-9 are expanded as if they were UPC-E.
UPC-E admits number systems other than 0 and 1 · case 05
Eight-digit strings starting 2-9 are expanded as if they were UPC-E.
Structured communication expects 00 for a zero remainder · case 01
References whose base is a multiple of 97 are rejected when they carry 97.
Structured communication expects 00 for a zero remainder · case 02
References whose base is a multiple of 97 are rejected when they carry 97.
Structured communication expects 00 for a zero remainder · case 03
References whose base is a multiple of 97 are rejected when they carry 97.
Structured communication expects 00 for a zero remainder · case 04
References whose base is a multiple of 97 are rejected when they carry 97.
Structured communication expects 00 for a zero remainder · case 05
References whose base is a multiple of 97 are rejected when they carry 97.
Structured communication rejects the *** delimiter · case 01
References written with asterisks are reported malformed.
Structured communication rejects the *** delimiter · case 02
References written with asterisks are reported malformed.
Structured communication rejects the *** delimiter · case 03
References written with asterisks are reported malformed.
Structured communication rejects the *** delimiter · case 04
References written with asterisks are reported malformed.
Structured communication rejects the *** delimiter · case 05
References written with asterisks are reported malformed.
Structured communication accepts mismatched delimiters · case 01
A reference opened with +++ and closed with *** is accepted.
Structured communication accepts mismatched delimiters · case 02
A reference opened with +++ and closed with *** is accepted.
Structured communication accepts mismatched delimiters · case 03
A reference opened with +++ and closed with *** is accepted.
Structured communication accepts mismatched delimiters · case 04
A reference opened with +++ and closed with *** is accepted.
Structured communication accepts mismatched delimiters · case 05
A reference opened with +++ and closed with *** is accepted.
UK VAT weights start at seven · case 01
Valid VAT numbers are reported invalid.
UK VAT weights start at seven · case 02
Valid VAT numbers are reported invalid.
UK VAT weights start at seven · case 03
Valid VAT numbers are reported invalid.
UK VAT weights start at seven · case 04
Valid VAT numbers are reported invalid.
UK VAT weights start at seven · case 05
Valid VAT numbers are reported invalid.
UK VAT offset scheme compares against 55 · case 01
Numbers issued under the offset scheme are reported invalid.
UK VAT offset scheme compares against 55 · case 02
Numbers issued under the offset scheme are reported invalid.
UK VAT offset scheme compares against 55 · case 03
Numbers issued under the offset scheme are reported invalid.
UK VAT offset scheme compares against 55 · case 04
Numbers issued under the offset scheme are reported invalid.
UK VAT offset scheme compares against 55 · case 05
Numbers issued under the offset scheme are reported invalid.
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 ↗