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

tel URI builder: letters are silently skipped · case 01

"+42 555 FAKE" becomes "tel:+42-555".

Phone number formatting● Open access↗
FA-96602

tel URI builder: letters are silently skipped · case 02

"+42 555 FAKE" becomes "tel:+42-555".

Phone number formatting◈ Members↗
FA-96603

tel URI builder: letters are silently skipped · case 03

"+42 555 FAKE" becomes "tel:+42-555".

Phone number formatting◈ Members↗
FA-96604

tel URI builder: letters are silently skipped · case 04

"+42 555 FAKE" becomes "tel:+42-555".

Phone number formatting◈ Members↗
FA-96605

tel URI builder: letters are silently skipped · case 05

"+42 555 FAKE" becomes "tel:+42-555".

Phone number formatting◈ Members↗
FA-96606

tel URI builder: non-numeric extensions are emitted · case 01

Extension "1a" appears in the URI.

Phone number formatting● Open access↗
FA-96607

tel URI builder: non-numeric extensions are emitted · case 02

Extension "1a" appears in the URI.

Phone number formatting◈ Members↗
FA-96608

tel URI builder: non-numeric extensions are emitted · case 03

Extension "1a" appears in the URI.

Phone number formatting◈ Members↗
FA-96609

tel URI builder: non-numeric extensions are emitted · case 04

Extension "1a" appears in the URI.

Phone number formatting◈ Members↗
FA-96610

tel URI builder: non-numeric extensions are emitted · case 05

Extension "1a" appears in the URI.

Phone number formatting◈ Members↗
FA-96611

tel URI builder: global numbers lose their plus sign · case 01

"+42 555..." becomes "tel:42-555...", which reads as a local number.

Phone number formatting● Open access↗
FA-96612

tel URI builder: global numbers lose their plus sign · case 02

"+42 555..." becomes "tel:42-555...", which reads as a local number.

Phone number formatting◈ Members↗
FA-96613

tel URI builder: global numbers lose their plus sign · case 03

"+42 555..." becomes "tel:42-555...", which reads as a local number.

Phone number formatting◈ Members↗
FA-96614

tel URI builder: global numbers lose their plus sign · case 04

"+42 555..." becomes "tel:42-555...", which reads as a local number.

Phone number formatting◈ Members↗
FA-96615

tel URI builder: global numbers lose their plus sign · case 05

"+42 555..." becomes "tel:42-555...", which reads as a local number.

Phone number formatting◈ Members↗
FA-96616

SMS sender identifier classifier: two-digit short codes are accepted · case 01

"11" is classified as a short code.

Phone number formatting● Open access↗
FA-96617

SMS sender identifier classifier: two-digit short codes are accepted · case 02

"11" is classified as a short code.

Phone number formatting◈ Members↗
FA-96618

SMS sender identifier classifier: two-digit short codes are accepted · case 03

"11" is classified as a short code.

Phone number formatting◈ Members↗
FA-96619

SMS sender identifier classifier: two-digit short codes are accepted · case 04

"11" is classified as a short code.

Phone number formatting◈ Members↗
FA-96620

SMS sender identifier classifier: two-digit short codes are accepted · case 05

"11" is classified as a short code.

Phone number formatting◈ Members↗
FA-96621

SMS sender identifier classifier: bare long numbers stay without a plus · case 01

"425550111" is returned without its leading plus.

Phone number formatting● Open access↗
FA-96622

SMS sender identifier classifier: bare long numbers stay without a plus · case 02

"425550111" is returned without its leading plus.

Phone number formatting◈ Members↗
FA-96623

SMS sender identifier classifier: bare long numbers stay without a plus · case 03

"425550111" is returned without its leading plus.

Phone number formatting◈ Members↗
FA-96624

SMS sender identifier classifier: bare long numbers stay without a plus · case 04

"425550111" is returned without its leading plus.

Phone number formatting◈ Members↗
FA-96625

SMS sender identifier classifier: bare long numbers stay without a plus · case 05

"425550111" is returned without its leading plus.

Phone number formatting◈ Members↗
FA-96626

SMS sender identifier classifier: overlong alphanumeric senders are accepted · case 01

A twelve-character sender is accepted.

Phone number formatting● Open access↗
FA-96627

SMS sender identifier classifier: overlong alphanumeric senders are accepted · case 02

A twelve-character sender is accepted.

Phone number formatting◈ Members↗
FA-96628

SMS sender identifier classifier: overlong alphanumeric senders are accepted · case 03

A twelve-character sender is accepted.

Phone number formatting◈ Members↗
FA-96629

SMS sender identifier classifier: overlong alphanumeric senders are accepted · case 04

A twelve-character sender is accepted.

Phone number formatting◈ Members↗
FA-96630

SMS sender identifier classifier: overlong alphanumeric senders are accepted · case 05

A twelve-character sender is accepted.

Phone number formatting◈ Members↗
FA-96631

SMS sender identifier classifier: punctuated digit strings pass as alphanumeric senders · case 01

"12-31" is accepted as an alphanumeric sender.

Phone number formatting● Open access↗
FA-96632

SMS sender identifier classifier: punctuated digit strings pass as alphanumeric senders · case 02

"12-31" is accepted as an alphanumeric sender.

Phone number formatting◈ Members↗
FA-96633

SMS sender identifier classifier: punctuated digit strings pass as alphanumeric senders · case 03

"12-31" is accepted as an alphanumeric sender.

Phone number formatting◈ Members↗
FA-96634

SMS sender identifier classifier: punctuated digit strings pass as alphanumeric senders · case 04

"12-31" is accepted as an alphanumeric sender.

Phone number formatting◈ Members↗
FA-96635

SMS sender identifier classifier: punctuated digit strings pass as alphanumeric senders · case 05

"12-31" is accepted as an alphanumeric sender.

Phone number formatting◈ Members↗
FA-96636

SMS sender identifier classifier: arbitrary punctuation is accepted · case 01

"FAKE*CO" is accepted.

Phone number formatting● Open access↗
FA-96637

SMS sender identifier classifier: arbitrary punctuation is accepted · case 02

"FAKE*CO" is accepted.

Phone number formatting◈ Members↗
FA-96638

SMS sender identifier classifier: arbitrary punctuation is accepted · case 03

"FAKE*CO" is accepted.

Phone number formatting◈ Members↗
FA-96639

SMS sender identifier classifier: arbitrary punctuation is accepted · case 04

"FAKE*CO" is accepted.

Phone number formatting◈ Members↗
FA-96640

SMS sender identifier classifier: arbitrary punctuation is accepted · case 05

"FAKE*CO" is accepted.

Phone number formatting◈ Members↗
FA-96641

SMS sender identifier classifier: short plus numbers are long codes · case 01

"+12145" is accepted as a long code.

Phone number formatting● Open access↗
FA-96642

SMS sender identifier classifier: short plus numbers are long codes · case 02

"+12145" is accepted as a long code.

Phone number formatting◈ Members↗
FA-96643

SMS sender identifier classifier: short plus numbers are long codes · case 03

"+12145" is accepted as a long code.

Phone number formatting◈ Members↗
FA-96644

SMS sender identifier classifier: short plus numbers are long codes · case 04

"+12145" is accepted as a long code.

Phone number formatting◈ Members↗
FA-96645

SMS sender identifier classifier: short plus numbers are long codes · case 05

"+12145" is accepted as a long code.

Phone number formatting◈ Members↗
FA-96646

PBX dial plan normalizer: international calls omit the international prefix · case 01

"+42 ..." dials the outside code followed directly by the country code.

Phone number formatting● Open access↗
FA-96647

PBX dial plan normalizer: international calls omit the international prefix · case 02

"+42 ..." dials the outside code followed directly by the country code.

Phone number formatting◈ Members↗
FA-96648

PBX dial plan normalizer: international calls omit the international prefix · case 03

"+42 ..." dials the outside code followed directly by the country code.

Phone number formatting◈ Members↗
FA-96649

PBX dial plan normalizer: international calls omit the international prefix · case 04

"+42 ..." dials the outside code followed directly by the country code.

Phone number formatting◈ Members↗
FA-96650

PBX dial plan normalizer: international calls omit the international prefix · case 05

"+42 ..." dials the outside code followed directly by the country code.

Phone number formatting◈ Members↗
FA-96651

PBX dial plan normalizer: a two-digit outside code breaks prefixed numbers · case 01

At a site whose outside code is 81, "81555..." is rejected.

Phone number formatting● Open access↗
FA-96652

PBX dial plan normalizer: a two-digit outside code breaks prefixed numbers · case 02

At a site whose outside code is 81, "81555..." is rejected.

Phone number formatting◈ Members↗
FA-96653

PBX dial plan normalizer: a two-digit outside code breaks prefixed numbers · case 03

At a site whose outside code is 81, "81555..." is rejected.

Phone number formatting◈ Members↗
FA-96654

PBX dial plan normalizer: a two-digit outside code breaks prefixed numbers · case 04

At a site whose outside code is 81, "81555..." is rejected.

Phone number formatting◈ Members↗
FA-96655

PBX dial plan normalizer: a two-digit outside code breaks prefixed numbers · case 05

At a site whose outside code is 81, "81555..." is rejected.

Phone number formatting◈ Members↗
FA-96656

PBX dial plan normalizer: ten-digit numbers are dialed without the 1 · case 01

National numbers are dialed as outside + ten digits.

Phone number formatting● Open access↗
FA-96657

PBX dial plan normalizer: ten-digit numbers are dialed without the 1 · case 02

National numbers are dialed as outside + ten digits.

Phone number formatting◈ Members↗
FA-96658

PBX dial plan normalizer: ten-digit numbers are dialed without the 1 · case 03

National numbers are dialed as outside + ten digits.

Phone number formatting◈ Members↗
FA-96659

PBX dial plan normalizer: ten-digit numbers are dialed without the 1 · case 04

National numbers are dialed as outside + ten digits.

Phone number formatting◈ Members↗
FA-96660

PBX dial plan normalizer: ten-digit numbers are dialed without the 1 · case 05

National numbers are dialed as outside + ten digits.

Phone number formatting◈ Members↗
FA-96661

PBX dial plan normalizer: extension length is hard-coded · case 01

Five-digit extensions at site B are treated as invalid numbers.

Phone number formatting● Open access↗
FA-96662

PBX dial plan normalizer: extension length is hard-coded · case 02

Five-digit extensions at site B are treated as invalid numbers.

Phone number formatting◈ Members↗
FA-96663

PBX dial plan normalizer: extension length is hard-coded · case 03

Five-digit extensions at site B are treated as invalid numbers.

Phone number formatting◈ Members↗
FA-96664

PBX dial plan normalizer: extension length is hard-coded · case 04

Five-digit extensions at site B are treated as invalid numbers.

Phone number formatting◈ Members↗
FA-96665

PBX dial plan normalizer: extension length is hard-coded · case 05

Five-digit extensions at site B are treated as invalid numbers.

Phone number formatting◈ Members↗
FA-96666

PBX dial plan normalizer: a leading space hides the plus · case 01

" +42 ..." is treated as a local number and rejected.

Phone number formatting● Open access↗
FA-96667

PBX dial plan normalizer: a leading space hides the plus · case 02

" +42 ..." is treated as a local number and rejected.

Phone number formatting◈ Members↗
FA-96668

PBX dial plan normalizer: a leading space hides the plus · case 03

" +42 ..." is treated as a local number and rejected.

Phone number formatting◈ Members↗
FA-96669

PBX dial plan normalizer: a leading space hides the plus · case 04

" +42 ..." is treated as a local number and rejected.

Phone number formatting◈ Members↗
FA-96670

PBX dial plan normalizer: a leading space hides the plus · case 05

" +42 ..." is treated as a local number and rejected.

Phone number formatting◈ Members↗
FA-96671

DID range shorthand expansion: the tail is treated as a whole number · case 01

"5550195-211" expands to "0000211" and is rejected.

Phone number formatting● Open access↗
FA-96672

DID range shorthand expansion: the tail is treated as a whole number · case 02

"5550195-211" expands to "0000211" and is rejected.

Phone number formatting◈ Members↗
FA-96673

DID range shorthand expansion: the tail is treated as a whole number · case 03

"5550195-211" expands to "0000211" and is rejected.

Phone number formatting◈ Members↗
FA-96674

DID range shorthand expansion: the tail is treated as a whole number · case 04

"5550195-211" expands to "0000211" and is rejected.

Phone number formatting◈ Members↗
FA-96675

DID range shorthand expansion: the tail is treated as a whole number · case 05

"5550195-211" expands to "0000211" and is rejected.

Phone number formatting◈ Members↗
FA-96676

DID range shorthand expansion: block size excludes the end number · case 01

A hundred-number block reports 99 numbers and a single number is rejected.

Phone number formatting● Open access↗
FA-96677

DID range shorthand expansion: block size excludes the end number · case 02

A hundred-number block reports 99 numbers and a single number is rejected.

Phone number formatting◈ Members↗
FA-96678

DID range shorthand expansion: block size excludes the end number · case 03

A hundred-number block reports 99 numbers and a single number is rejected.

Phone number formatting◈ Members↗
FA-96679

DID range shorthand expansion: block size excludes the end number · case 04

A hundred-number block reports 99 numbers and a single number is rejected.

Phone number formatting◈ Members↗
FA-96680

DID range shorthand expansion: block size excludes the end number · case 05

A hundred-number block reports 99 numbers and a single number is rejected.

Phone number formatting◈ Members↗
FA-96681

DID range shorthand expansion: a full hundred block is rejected · case 01

"5550100-5550199" returns None.

Phone number formatting● Open access↗
FA-96682

DID range shorthand expansion: a full hundred block is rejected · case 02

"5550100-5550199" returns None.

Phone number formatting◈ Members↗
FA-96683

DID range shorthand expansion: a full hundred block is rejected · case 03

"5550100-5550199" returns None.

Phone number formatting◈ Members↗
FA-96684

DID range shorthand expansion: a full hundred block is rejected · case 04

"5550100-5550199" returns None.

Phone number formatting◈ Members↗
FA-96685

DID range shorthand expansion: a full hundred block is rejected · case 05

"5550100-5550199" returns None.

Phone number formatting◈ Members↗
FA-96686

DID range shorthand expansion: reversed ranges are accepted · case 01

"5550105-04" returns a block with count 0.

Phone number formatting● Open access↗
FA-96687

DID range shorthand expansion: reversed ranges are accepted · case 02

"5550105-04" returns a block with count 0.

Phone number formatting◈ Members↗
FA-96688

DID range shorthand expansion: reversed ranges are accepted · case 03

"5550105-04" returns a block with count 0.

Phone number formatting◈ Members↗
FA-96689

DID range shorthand expansion: reversed ranges are accepted · case 04

"5550105-04" returns a block with count 0.

Phone number formatting◈ Members↗
FA-96690

DID range shorthand expansion: reversed ranges are accepted · case 05

"5550105-04" returns a block with count 0.

Phone number formatting◈ Members↗
FA-96691

DID range shorthand expansion: spaces around the hyphen break parsing · case 01

"5550100 - 01" is rejected.

Phone number formatting● Open access↗
FA-96692

DID range shorthand expansion: spaces around the hyphen break parsing · case 02

"5550100 - 01" is rejected.

Phone number formatting◈ Members↗
FA-96693

DID range shorthand expansion: spaces around the hyphen break parsing · case 03

"5550100 - 01" is rejected.

Phone number formatting◈ Members↗
FA-96694

DID range shorthand expansion: spaces around the hyphen break parsing · case 04

"5550100 - 01" is rejected.

Phone number formatting◈ Members↗
FA-96695

DID range shorthand expansion: spaces around the hyphen break parsing · case 05

"5550100 - 01" is rejected.

Phone number formatting◈ Members↗
FA-96696

Emergency and service code classifier: an emergency code inside the service range is a service call · case 01

"755" in BB is classified as a service code.

Phone number formatting● Open access↗
FA-96697

Emergency and service code classifier: an emergency code inside the service range is a service call · case 02

"755" in BB is classified as a service code.

Phone number formatting◈ Members↗
FA-96698

Emergency and service code classifier: an emergency code inside the service range is a service call · case 03

"755" in BB is classified as a service code.

Phone number formatting◈ Members↗
FA-96699

Emergency and service code classifier: an emergency code inside the service range is a service call · case 04

"755" in BB is classified as a service code.

Phone number formatting◈ Members↗
FA-96700

Emergency and service code classifier: an emergency code inside the service range is a service call · case 05

"755" in BB is classified as a service code.

Phone number formatting◈ 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 ↗