FAILURE MAP

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 ↗
100840Executable case variants
20168Distinct failure mechanisms
302520Executed implementations
20168Open-access cases

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

Python · Standard library
REFERENCEFAILURE MECHANISMDOMAINACCESS
FA-72601

Control digit eleven is not mapped to zero · case 01

Numbers whose weighted sum is a multiple of 11 produce control value 11.

Check-digit algorithms● Open access↗
FA-72602

Control digit eleven is not mapped to zero · case 02

Numbers whose weighted sum is a multiple of 11 produce control value 11.

Check-digit algorithms◈ Members↗
FA-72603

Control digit eleven is not mapped to zero · case 03

Numbers whose weighted sum is a multiple of 11 produce control value 11.

Check-digit algorithms◈ Members↗
FA-72604

Control digit eleven is not mapped to zero · case 04

Numbers whose weighted sum is a multiple of 11 produce control value 11.

Check-digit algorithms◈ Members↗
FA-72605

Control digit eleven is not mapped to zero · case 05

Numbers whose weighted sum is a multiple of 11 produce control value 11.

Check-digit algorithms◈ Members↗
FA-72606

Second control digit value ten is emitted · case 01

Base numbers whose second control digit would be 10 are reported as ordinary mismatches.

Check-digit algorithms● Open access↗
FA-72607

Second control digit value ten is emitted · case 02

Base numbers whose second control digit would be 10 are reported as ordinary mismatches.

Check-digit algorithms◈ Members↗
FA-72608

Second control digit value ten is emitted · case 03

Base numbers whose second control digit would be 10 are reported as ordinary mismatches.

Check-digit algorithms◈ Members↗
FA-72609

Second control digit value ten is emitted · case 04

Base numbers whose second control digit would be 10 are reported as ordinary mismatches.

Check-digit algorithms◈ Members↗
FA-72610

Second control digit value ten is emitted · case 05

Base numbers whose second control digit would be 10 are reported as ordinary mismatches.

Check-digit algorithms◈ Members↗
FA-72611

MRZ filler character is scored like a letter · case 01

Document numbers padded with "<" fail their check digit.

Check-digit algorithms● Open access↗
FA-72612

MRZ filler character is scored like a letter · case 02

Document numbers padded with "<" fail their check digit.

Check-digit algorithms◈ Members↗
FA-72613

MRZ filler character is scored like a letter · case 03

Document numbers padded with "<" fail their check digit.

Check-digit algorithms◈ Members↗
FA-72614

MRZ filler character is scored like a letter · case 04

Document numbers padded with "<" fail their check digit.

Check-digit algorithms◈ Members↗
FA-72615

MRZ filler character is scored like a letter · case 05

Document numbers padded with "<" fail their check digit.

Check-digit algorithms◈ Members↗
FA-72616

MRZ weights run 1,3,7 · case 01

Every check digit on the line disagrees with the document.

Check-digit algorithms● Open access↗
FA-72617

MRZ weights run 1,3,7 · case 02

Every check digit on the line disagrees with the document.

Check-digit algorithms◈ Members↗
FA-72618

MRZ weights run 1,3,7 · case 03

Every check digit on the line disagrees with the document.

Check-digit algorithms◈ Members↗
FA-72619

MRZ weights run 1,3,7 · case 04

Every check digit on the line disagrees with the document.

Check-digit algorithms◈ Members↗
FA-72620

MRZ weights run 1,3,7 · case 05

Every check digit on the line disagrees with the document.

Check-digit algorithms◈ Members↗
FA-72621

MRZ composite check omits the field check digits · case 01

The composite (final) check digit fails on valid passports.

Check-digit algorithms● Open access↗
FA-72622

MRZ composite check omits the field check digits · case 02

The composite (final) check digit fails on valid passports.

Check-digit algorithms◈ Members↗
FA-72623

MRZ composite check omits the field check digits · case 03

The composite (final) check digit fails on valid passports.

Check-digit algorithms◈ Members↗
FA-72624

MRZ composite check omits the field check digits · case 04

The composite (final) check digit fails on valid passports.

Check-digit algorithms◈ Members↗
FA-72625

MRZ composite check omits the field check digits · case 05

The composite (final) check digit fails on valid passports.

Check-digit algorithms◈ Members↗
FA-72626

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.

Check-digit algorithms● Open access↗
FA-72627

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.

Check-digit algorithms◈ Members↗
FA-72628

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.

Check-digit algorithms◈ Members↗
FA-72629

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.

Check-digit algorithms◈ Members↗
FA-72630

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.

Check-digit algorithms◈ Members↗
FA-72631

Code 128 weights the first data symbol by zero · case 01

Every barcode gets the wrong check symbol.

Check-digit algorithms● Open access↗
FA-72632

Code 128 weights the first data symbol by zero · case 02

Every barcode gets the wrong check symbol.

Check-digit algorithms◈ Members↗
FA-72633

Code 128 weights the first data symbol by zero · case 03

Every barcode gets the wrong check symbol.

Check-digit algorithms◈ Members↗
FA-72634

Code 128 weights the first data symbol by zero · case 04

Every barcode gets the wrong check symbol.

Check-digit algorithms◈ Members↗
FA-72635

Code 128 weights the first data symbol by zero · case 05

Every barcode gets the wrong check symbol.

Check-digit algorithms◈ Members↗
FA-72636

Code 128 set C encodes single digits · case 01

Numeric barcodes in set C get the wrong check symbol.

Check-digit algorithms● Open access↗
FA-72637

Code 128 set C encodes single digits · case 02

Numeric barcodes in set C get the wrong check symbol.

Check-digit algorithms◈ Members↗
FA-72638

Code 128 set C encodes single digits · case 03

Numeric barcodes in set C get the wrong check symbol.

Check-digit algorithms◈ Members↗
FA-72639

Code 128 set C encodes single digits · case 04

Numeric barcodes in set C get the wrong check symbol.

Check-digit algorithms◈ Members↗
FA-72640

Code 128 set C encodes single digits · case 05

Numeric barcodes in set C get the wrong check symbol.

Check-digit algorithms◈ Members↗
FA-72641

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.

Check-digit algorithms● Open access↗
FA-72642

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.

Check-digit algorithms◈ Members↗
FA-72643

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.

Check-digit algorithms◈ Members↗
FA-72644

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.

Check-digit algorithms◈ Members↗
FA-72645

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.

Check-digit algorithms◈ Members↗
FA-72646

Code 128 set B rejects DEL · case 01

Data containing DEL (value 95) in set B is refused.

Check-digit algorithms● Open access↗
FA-72647

Code 128 set B rejects DEL · case 02

Data containing DEL (value 95) in set B is refused.

Check-digit algorithms◈ Members↗
FA-72648

Code 128 set B rejects DEL · case 03

Data containing DEL (value 95) in set B is refused.

Check-digit algorithms◈ Members↗
FA-72649

Code 128 set B rejects DEL · case 04

Data containing DEL (value 95) in set B is refused.

Check-digit algorithms◈ Members↗
FA-72650

Code 128 set B rejects DEL · case 05

Data containing DEL (value 95) in set B is refused.

Check-digit algorithms◈ Members↗
FA-72651

UPC-E expansion treats m6 = 2 as a product digit · case 01

Codes ending in compressed digit 2 expand into the wrong manufacturer number.

Check-digit algorithms● Open access↗
FA-72652

UPC-E expansion treats m6 = 2 as a product digit · case 02

Codes ending in compressed digit 2 expand into the wrong manufacturer number.

Check-digit algorithms◈ Members↗
FA-72653

UPC-E expansion treats m6 = 2 as a product digit · case 03

Codes ending in compressed digit 2 expand into the wrong manufacturer number.

Check-digit algorithms◈ Members↗
FA-72654

UPC-E expansion treats m6 = 2 as a product digit · case 04

Codes ending in compressed digit 2 expand into the wrong manufacturer number.

Check-digit algorithms◈ Members↗
FA-72655

UPC-E expansion treats m6 = 2 as a product digit · case 05

Codes ending in compressed digit 2 expand into the wrong manufacturer number.

Check-digit algorithms◈ Members↗
FA-72656

UPC-E expansion places m5 before the zero run · case 01

Codes ending in compressed digit 4 expand to the wrong product number.

Check-digit algorithms● Open access↗
FA-72657

UPC-E expansion places m5 before the zero run · case 02

Codes ending in compressed digit 4 expand to the wrong product number.

Check-digit algorithms◈ Members↗
FA-72658

UPC-E expansion places m5 before the zero run · case 03

Codes ending in compressed digit 4 expand to the wrong product number.

Check-digit algorithms◈ Members↗
FA-72659

UPC-E expansion places m5 before the zero run · case 04

Codes ending in compressed digit 4 expand to the wrong product number.

Check-digit algorithms◈ Members↗
FA-72660

UPC-E expansion places m5 before the zero run · case 05

Codes ending in compressed digit 4 expand to the wrong product number.

Check-digit algorithms◈ Members↗
FA-72661

UPC-E expansion drops the zero run before m6 · case 01

Codes ending in 5-9 expand into shifted UPC-A numbers.

Check-digit algorithms● Open access↗
FA-72662

UPC-E expansion drops the zero run before m6 · case 02

Codes ending in 5-9 expand into shifted UPC-A numbers.

Check-digit algorithms◈ Members↗
FA-72663

UPC-E expansion drops the zero run before m6 · case 03

Codes ending in 5-9 expand into shifted UPC-A numbers.

Check-digit algorithms◈ Members↗
FA-72664

UPC-E expansion drops the zero run before m6 · case 04

Codes ending in 5-9 expand into shifted UPC-A numbers.

Check-digit algorithms◈ Members↗
FA-72665

UPC-E expansion drops the zero run before m6 · case 05

Codes ending in 5-9 expand into shifted UPC-A numbers.

Check-digit algorithms◈ Members↗
FA-72666

UPC-E check is computed on the compressed digits · case 01

Valid UPC-E labels are rejected.

Check-digit algorithms● Open access↗
FA-72667

UPC-E check is computed on the compressed digits · case 02

Valid UPC-E labels are rejected.

Check-digit algorithms◈ Members↗
FA-72668

UPC-E check is computed on the compressed digits · case 03

Valid UPC-E labels are rejected.

Check-digit algorithms◈ Members↗
FA-72669

UPC-E check is computed on the compressed digits · case 04

Valid UPC-E labels are rejected.

Check-digit algorithms◈ Members↗
FA-72670

UPC-E check is computed on the compressed digits · case 05

Valid UPC-E labels are rejected.

Check-digit algorithms◈ Members↗
FA-72671

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.

Check-digit algorithms● Open access↗
FA-72672

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.

Check-digit algorithms◈ Members↗
FA-72673

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.

Check-digit algorithms◈ Members↗
FA-72674

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.

Check-digit algorithms◈ Members↗
FA-72675

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.

Check-digit algorithms◈ Members↗
FA-72676

Structured communication expects 00 for a zero remainder · case 01

References whose base is a multiple of 97 are rejected when they carry 97.

Check-digit algorithms● Open access↗
FA-72677

Structured communication expects 00 for a zero remainder · case 02

References whose base is a multiple of 97 are rejected when they carry 97.

Check-digit algorithms◈ Members↗
FA-72678

Structured communication expects 00 for a zero remainder · case 03

References whose base is a multiple of 97 are rejected when they carry 97.

Check-digit algorithms◈ Members↗
FA-72679

Structured communication expects 00 for a zero remainder · case 04

References whose base is a multiple of 97 are rejected when they carry 97.

Check-digit algorithms◈ Members↗
FA-72680

Structured communication expects 00 for a zero remainder · case 05

References whose base is a multiple of 97 are rejected when they carry 97.

Check-digit algorithms◈ Members↗
FA-72681

Structured communication rejects the *** delimiter · case 01

References written with asterisks are reported malformed.

Check-digit algorithms● Open access↗
FA-72682

Structured communication rejects the *** delimiter · case 02

References written with asterisks are reported malformed.

Check-digit algorithms◈ Members↗
FA-72683

Structured communication rejects the *** delimiter · case 03

References written with asterisks are reported malformed.

Check-digit algorithms◈ Members↗
FA-72684

Structured communication rejects the *** delimiter · case 04

References written with asterisks are reported malformed.

Check-digit algorithms◈ Members↗
FA-72685

Structured communication rejects the *** delimiter · case 05

References written with asterisks are reported malformed.

Check-digit algorithms◈ Members↗
FA-72686

Structured communication accepts mismatched delimiters · case 01

A reference opened with +++ and closed with *** is accepted.

Check-digit algorithms● Open access↗
FA-72687

Structured communication accepts mismatched delimiters · case 02

A reference opened with +++ and closed with *** is accepted.

Check-digit algorithms◈ Members↗
FA-72688

Structured communication accepts mismatched delimiters · case 03

A reference opened with +++ and closed with *** is accepted.

Check-digit algorithms◈ Members↗
FA-72689

Structured communication accepts mismatched delimiters · case 04

A reference opened with +++ and closed with *** is accepted.

Check-digit algorithms◈ Members↗
FA-72690

Structured communication accepts mismatched delimiters · case 05

A reference opened with +++ and closed with *** is accepted.

Check-digit algorithms◈ Members↗
FA-72691

UK VAT weights start at seven · case 01

Valid VAT numbers are reported invalid.

Check-digit algorithms● Open access↗
FA-72692

UK VAT weights start at seven · case 02

Valid VAT numbers are reported invalid.

Check-digit algorithms◈ Members↗
FA-72693

UK VAT weights start at seven · case 03

Valid VAT numbers are reported invalid.

Check-digit algorithms◈ Members↗
FA-72694

UK VAT weights start at seven · case 04

Valid VAT numbers are reported invalid.

Check-digit algorithms◈ Members↗
FA-72695

UK VAT weights start at seven · case 05

Valid VAT numbers are reported invalid.

Check-digit algorithms◈ Members↗
FA-72696

UK VAT offset scheme compares against 55 · case 01

Numbers issued under the offset scheme are reported invalid.

Check-digit algorithms● Open access↗
FA-72697

UK VAT offset scheme compares against 55 · case 02

Numbers issued under the offset scheme are reported invalid.

Check-digit algorithms◈ Members↗
FA-72698

UK VAT offset scheme compares against 55 · case 03

Numbers issued under the offset scheme are reported invalid.

Check-digit algorithms◈ Members↗
FA-72699

UK VAT offset scheme compares against 55 · case 04

Numbers issued under the offset scheme are reported invalid.

Check-digit algorithms◈ Members↗
FA-72700

UK VAT offset scheme compares against 55 · case 05

Numbers issued under the offset scheme are reported invalid.

Check-digit algorithms◈ Members↗

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 ↗