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-72701

UK VAT reads only the last check digit · case 01

Most valid VAT numbers are rejected.

Check-digit algorithms● Open access↗
FA-72702

UK VAT reads only the last check digit · case 02

Most valid VAT numbers are rejected.

Check-digit algorithms◈ Members↗
FA-72703

UK VAT reads only the last check digit · case 03

Most valid VAT numbers are rejected.

Check-digit algorithms◈ Members↗
FA-72704

UK VAT reads only the last check digit · case 04

Most valid VAT numbers are rejected.

Check-digit algorithms◈ Members↗
FA-72705

UK VAT reads only the last check digit · case 05

Most valid VAT numbers are rejected.

Check-digit algorithms◈ Members↗
FA-72706

Luhn mod N folds addends in base ten · case 01

Codes containing letters in doubled positions receive the wrong check character.

Check-digit algorithms● Open access↗
FA-72707

Luhn mod N folds addends in base ten · case 02

Codes containing letters in doubled positions receive the wrong check character.

Check-digit algorithms◈ Members↗
FA-72708

Luhn mod N folds addends in base ten · case 03

Codes containing letters in doubled positions receive the wrong check character.

Check-digit algorithms◈ Members↗
FA-72709

Luhn mod N folds addends in base ten · case 04

Codes containing letters in doubled positions receive the wrong check character.

Check-digit algorithms◈ Members↗
FA-72710

Luhn mod N folds addends in base ten · case 05

Codes containing letters in doubled positions receive the wrong check character.

Check-digit algorithms◈ Members↗
FA-72711

Luhn mod N generation starts with factor one · case 01

Generated check characters fail validation.

Check-digit algorithms● Open access↗
FA-72712

Luhn mod N generation starts with factor one · case 02

Generated check characters fail validation.

Check-digit algorithms◈ Members↗
FA-72713

Luhn mod N generation starts with factor one · case 03

Generated check characters fail validation.

Check-digit algorithms◈ Members↗
FA-72714

Luhn mod N generation starts with factor one · case 04

Generated check characters fail validation.

Check-digit algorithms◈ Members↗
FA-72715

Luhn mod N generation starts with factor one · case 05

Generated check characters fail validation.

Check-digit algorithms◈ Members↗
FA-72716

Container letter values do not skip multiples of eleven · case 01

Container numbers with owner letters B or later get the wrong check digit.

Check-digit algorithms● Open access↗
FA-72717

Container letter values do not skip multiples of eleven · case 02

Container numbers with owner letters B or later get the wrong check digit.

Check-digit algorithms◈ Members↗
FA-72718

Container letter values do not skip multiples of eleven · case 03

Container numbers with owner letters B or later get the wrong check digit.

Check-digit algorithms◈ Members↗
FA-72719

Container letter values do not skip multiples of eleven · case 04

Container numbers with owner letters B or later get the wrong check digit.

Check-digit algorithms◈ Members↗
FA-72720

Container letter values do not skip multiples of eleven · case 05

Container numbers with owner letters B or later get the wrong check digit.

Check-digit algorithms◈ Members↗
FA-72721

Container weights start at two · case 01

Every container number fails its check.

Check-digit algorithms● Open access↗
FA-72722

Container weights start at two · case 02

Every container number fails its check.

Check-digit algorithms◈ Members↗
FA-72723

Container weights start at two · case 03

Every container number fails its check.

Check-digit algorithms◈ Members↗
FA-72724

Container weights start at two · case 04

Every container number fails its check.

Check-digit algorithms◈ Members↗
FA-72725

Container weights start at two · case 05

Every container number fails its check.

Check-digit algorithms◈ Members↗
FA-72726

Container check keeps remainder ten · case 01

Containers whose sum leaves remainder 10 never validate.

Check-digit algorithms● Open access↗
FA-72727

Container check keeps remainder ten · case 02

Containers whose sum leaves remainder 10 never validate.

Check-digit algorithms◈ Members↗
FA-72728

Container check keeps remainder ten · case 03

Containers whose sum leaves remainder 10 never validate.

Check-digit algorithms◈ Members↗
FA-72729

Container check keeps remainder ten · case 04

Containers whose sum leaves remainder 10 never validate.

Check-digit algorithms◈ Members↗
FA-72730

Container check keeps remainder ten · case 05

Containers whose sum leaves remainder 10 never validate.

Check-digit algorithms◈ Members↗
FA-72731

Container category admits only freight containers · case 01

Detachable-equipment (J) and trailer (Z) identifiers are rejected.

Check-digit algorithms● Open access↗
FA-72732

Container category admits only freight containers · case 02

Detachable-equipment (J) and trailer (Z) identifiers are rejected.

Check-digit algorithms◈ Members↗
FA-72733

Container category admits only freight containers · case 03

Detachable-equipment (J) and trailer (Z) identifiers are rejected.

Check-digit algorithms◈ Members↗
FA-72734

Container category admits only freight containers · case 04

Detachable-equipment (J) and trailer (Z) identifiers are rejected.

Check-digit algorithms◈ Members↗
FA-72735

Container category admits only freight containers · case 05

Detachable-equipment (J) and trailer (Z) identifiers are rejected.

Check-digit algorithms◈ Members↗
FA-72736

CPF first check digit can become ten · case 01

Numbers whose first check digit should be 0 are rejected.

Check-digit algorithms● Open access↗
FA-72737

CPF first check digit can become ten · case 02

Numbers whose first check digit should be 0 are rejected.

Check-digit algorithms◈ Members↗
FA-72738

CPF first check digit can become ten · case 03

Numbers whose first check digit should be 0 are rejected.

Check-digit algorithms◈ Members↗
FA-72739

CPF first check digit can become ten · case 04

Numbers whose first check digit should be 0 are rejected.

Check-digit algorithms◈ Members↗
FA-72740

CPF first check digit can become ten · case 05

Numbers whose first check digit should be 0 are rejected.

Check-digit algorithms◈ Members↗
FA-72741

CPF accepts repeated-digit numbers · case 01

Placeholder numbers such as 111.111.111-11 pass both check digits.

Check-digit algorithms● Open access↗
FA-72742

CPF accepts repeated-digit numbers · case 02

Placeholder numbers such as 111.111.111-11 pass both check digits.

Check-digit algorithms◈ Members↗
FA-72743

CPF accepts repeated-digit numbers · case 03

Placeholder numbers such as 111.111.111-11 pass both check digits.

Check-digit algorithms◈ Members↗
FA-72744

CPF accepts repeated-digit numbers · case 04

Placeholder numbers such as 111.111.111-11 pass both check digits.

Check-digit algorithms◈ Members↗
FA-72745

CPF accepts repeated-digit numbers · case 05

Placeholder numbers such as 111.111.111-11 pass both check digits.

Check-digit algorithms◈ Members↗
FA-72746

CPF second check digit reuses the first weight range · case 01

Most valid CPFs fail the second check digit.

Check-digit algorithms● Open access↗
FA-72747

CPF second check digit reuses the first weight range · case 02

Most valid CPFs fail the second check digit.

Check-digit algorithms◈ Members↗
FA-72748

CPF second check digit reuses the first weight range · case 03

Most valid CPFs fail the second check digit.

Check-digit algorithms◈ Members↗
FA-72749

CPF second check digit reuses the first weight range · case 04

Most valid CPFs fail the second check digit.

Check-digit algorithms◈ Members↗
FA-72750

CPF second check digit reuses the first weight range · case 05

Most valid CPFs fail the second check digit.

Check-digit algorithms◈ Members↗
FA-72751

Mastercard 2-series range excludes 2720 · case 01

Cards issued at the top of the 2-series BIN range are reported as unknown.

Check-digit algorithms● Open access↗
FA-72752

Mastercard 2-series range excludes 2720 · case 02

Cards issued at the top of the 2-series BIN range are reported as unknown.

Check-digit algorithms◈ Members↗
FA-72753

Mastercard 2-series range excludes 2720 · case 03

Cards issued at the top of the 2-series BIN range are reported as unknown.

Check-digit algorithms◈ Members↗
FA-72754

Mastercard 2-series range excludes 2720 · case 04

Cards issued at the top of the 2-series BIN range are reported as unknown.

Check-digit algorithms◈ Members↗
FA-72755

Mastercard 2-series range excludes 2720 · case 05

Cards issued at the top of the 2-series BIN range are reported as unknown.

Check-digit algorithms◈ Members↗
FA-72756

Amex prefix test uses a range · case 01

Diners-style 35 and 36 prefixes with 15 digits are routed to amex.

Check-digit algorithms● Open access↗
FA-72757

Amex prefix test uses a range · case 02

Diners-style 35 and 36 prefixes with 15 digits are routed to amex.

Check-digit algorithms◈ Members↗
FA-72758

Amex prefix test uses a range · case 03

Diners-style 35 and 36 prefixes with 15 digits are routed to amex.

Check-digit algorithms◈ Members↗
FA-72759

Amex prefix test uses a range · case 04

Diners-style 35 and 36 prefixes with 15 digits are routed to amex.

Check-digit algorithms◈ Members↗
FA-72760

Amex prefix test uses a range · case 05

Diners-style 35 and 36 prefixes with 15 digits are routed to amex.

Check-digit algorithms◈ Members↗
FA-72761

Discover range claims all of 64 · case 01

Cards with prefixes 640-643 are routed to discover.

Check-digit algorithms● Open access↗
FA-72762

Discover range claims all of 64 · case 02

Cards with prefixes 640-643 are routed to discover.

Check-digit algorithms◈ Members↗
FA-72763

Discover range claims all of 64 · case 03

Cards with prefixes 640-643 are routed to discover.

Check-digit algorithms◈ Members↗
FA-72764

Discover range claims all of 64 · case 04

Cards with prefixes 640-643 are routed to discover.

Check-digit algorithms◈ Members↗
FA-72765

Discover range claims all of 64 · case 05

Cards with prefixes 640-643 are routed to discover.

Check-digit algorithms◈ Members↗
FA-72766

Visa routing rejects nineteen-digit cards · case 01

Long-format Visa cards are reported as unknown.

Check-digit algorithms● Open access↗
FA-72767

Visa routing rejects nineteen-digit cards · case 02

Long-format Visa cards are reported as unknown.

Check-digit algorithms◈ Members↗
FA-72768

Visa routing rejects nineteen-digit cards · case 03

Long-format Visa cards are reported as unknown.

Check-digit algorithms◈ Members↗
FA-72769

Visa routing rejects nineteen-digit cards · case 04

Long-format Visa cards are reported as unknown.

Check-digit algorithms◈ Members↗
FA-72770

Visa routing rejects nineteen-digit cards · case 05

Long-format Visa cards are reported as unknown.

Check-digit algorithms◈ Members↗
FA-72771

LEI check digits lose the leading zero · case 01

Check values below 10 produce a 19-character LEI.

Check-digit algorithms● Open access↗
FA-72772

LEI check digits lose the leading zero · case 02

Check values below 10 produce a 19-character LEI.

Check-digit algorithms◈ Members↗
FA-72773

LEI check digits lose the leading zero · case 03

Check values below 10 produce a 19-character LEI.

Check-digit algorithms◈ Members↗
FA-72774

LEI check digits lose the leading zero · case 04

Check values below 10 produce a 19-character LEI.

Check-digit algorithms◈ Members↗
FA-72775

LEI check digits lose the leading zero · case 05

Check values below 10 produce a 19-character LEI.

Check-digit algorithms◈ Members↗
FA-72776

LEI check is computed without the 00 placeholder · case 01

Nearly every generated LEI fails validation.

Check-digit algorithms● Open access↗
FA-72777

LEI check is computed without the 00 placeholder · case 02

Nearly every generated LEI fails validation.

Check-digit algorithms◈ Members↗
FA-72778

LEI check is computed without the 00 placeholder · case 03

Nearly every generated LEI fails validation.

Check-digit algorithms◈ Members↗
FA-72779

LEI check is computed without the 00 placeholder · case 04

Nearly every generated LEI fails validation.

Check-digit algorithms◈ Members↗
FA-72780

LEI check is computed without the 00 placeholder · case 05

Nearly every generated LEI fails validation.

Check-digit algorithms◈ Members↗
FA-72781

NRIC omits the offset for T and G series · case 01

Identifiers issued from 2000 onwards (T, G) get the wrong check letter.

Check-digit algorithms● Open access↗
FA-72782

NRIC omits the offset for T and G series · case 02

Identifiers issued from 2000 onwards (T, G) get the wrong check letter.

Check-digit algorithms◈ Members↗
FA-72783

NRIC omits the offset for T and G series · case 03

Identifiers issued from 2000 onwards (T, G) get the wrong check letter.

Check-digit algorithms◈ Members↗
FA-72784

NRIC omits the offset for T and G series · case 04

Identifiers issued from 2000 onwards (T, G) get the wrong check letter.

Check-digit algorithms◈ Members↗
FA-72785

NRIC omits the offset for T and G series · case 05

Identifiers issued from 2000 onwards (T, G) get the wrong check letter.

Check-digit algorithms◈ Members↗
FA-72786

NRIC pairs the wrong series with each letter table · case 01

Either citizen or foreigner numbers get check letters from the other table.

Check-digit algorithms● Open access↗
FA-72787

NRIC pairs the wrong series with each letter table · case 02

Either citizen or foreigner numbers get check letters from the other table.

Check-digit algorithms◈ Members↗
FA-72788

NRIC pairs the wrong series with each letter table · case 03

Either citizen or foreigner numbers get check letters from the other table.

Check-digit algorithms◈ Members↗
FA-72789

NRIC pairs the wrong series with each letter table · case 04

Either citizen or foreigner numbers get check letters from the other table.

Check-digit algorithms◈ Members↗
FA-72790

NRIC pairs the wrong series with each letter table · case 05

Either citizen or foreigner numbers get check letters from the other table.

Check-digit algorithms◈ Members↗
FA-72791

NRIC reads the check table from the other end · case 01

Almost every check letter is wrong.

Check-digit algorithms● Open access↗
FA-72792

NRIC reads the check table from the other end · case 02

Almost every check letter is wrong.

Check-digit algorithms◈ Members↗
FA-72793

NRIC reads the check table from the other end · case 03

Almost every check letter is wrong.

Check-digit algorithms◈ Members↗
FA-72794

NRIC reads the check table from the other end · case 04

Almost every check letter is wrong.

Check-digit algorithms◈ Members↗
FA-72795

NRIC reads the check table from the other end · case 05

Almost every check letter is wrong.

Check-digit algorithms◈ Members↗
FA-72796

Missing-digit recovery ignores the doubling at the unknown position · case 01

Unknown digits in doubled positions are recovered incorrectly.

Check-digit algorithms● Open access↗
FA-72797

Missing-digit recovery ignores the doubling at the unknown position · case 02

Unknown digits in doubled positions are recovered incorrectly.

Check-digit algorithms◈ Members↗
FA-72798

Missing-digit recovery ignores the doubling at the unknown position · case 03

Unknown digits in doubled positions are recovered incorrectly.

Check-digit algorithms◈ Members↗
FA-72799

Missing-digit recovery ignores the doubling at the unknown position · case 04

Unknown digits in doubled positions are recovered incorrectly.

Check-digit algorithms◈ Members↗
FA-72800

Missing-digit recovery ignores the doubling at the unknown position · case 05

Unknown digits in doubled positions are recovered incorrectly.

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 ↗