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

Variable-length area code grouping: the trunk zero is counted as a national digit · case 01

Every number typed with its leading 0 is rejected.

Phone number formatting● Open access↗
FA-96402

Variable-length area code grouping: the trunk zero is counted as a national digit · case 02

Every number typed with its leading 0 is rejected.

Phone number formatting◈ Members↗
FA-96403

Variable-length area code grouping: the trunk zero is counted as a national digit · case 03

Every number typed with its leading 0 is rejected.

Phone number formatting◈ Members↗
FA-96404

Variable-length area code grouping: the trunk zero is counted as a national digit · case 04

Every number typed with its leading 0 is rejected.

Phone number formatting◈ Members↗
FA-96405

Variable-length area code grouping: the trunk zero is counted as a national digit · case 05

Every number typed with its leading 0 is rejected.

Phone number formatting◈ Members↗
FA-96406

Variable-length area code grouping: odd subscriber numbers are split long-first · case 01

A seven-digit subscriber part prints as 4+3 instead of 3+4.

Phone number formatting● Open access↗
FA-96407

Variable-length area code grouping: odd subscriber numbers are split long-first · case 02

A seven-digit subscriber part prints as 4+3 instead of 3+4.

Phone number formatting◈ Members↗
FA-96408

Variable-length area code grouping: odd subscriber numbers are split long-first · case 03

A seven-digit subscriber part prints as 4+3 instead of 3+4.

Phone number formatting◈ Members↗
FA-96409

Variable-length area code grouping: odd subscriber numbers are split long-first · case 04

A seven-digit subscriber part prints as 4+3 instead of 3+4.

Phone number formatting◈ Members↗
FA-96410

Variable-length area code grouping: odd subscriber numbers are split long-first · case 05

A seven-digit subscriber part prints as 4+3 instead of 3+4.

Phone number formatting◈ Members↗
FA-96411

Variable-length area code grouping: five-digit subscriber parts are split · case 01

A long area code prints its five subscriber digits as 3+2.

Phone number formatting● Open access↗
FA-96412

Variable-length area code grouping: five-digit subscriber parts are split · case 02

A long area code prints its five subscriber digits as 3+2.

Phone number formatting◈ Members↗
FA-96413

Variable-length area code grouping: five-digit subscriber parts are split · case 03

A long area code prints its five subscriber digits as 3+2.

Phone number formatting◈ Members↗
FA-96414

Variable-length area code grouping: five-digit subscriber parts are split · case 04

A long area code prints its five subscriber digits as 3+2.

Phone number formatting◈ Members↗
FA-96415

Variable-length area code grouping: five-digit subscriber parts are split · case 05

A long area code prints its five subscriber digits as 3+2.

Phone number formatting◈ Members↗
FA-96416

Variable-length area code grouping: mobile block code taken as three digits · case 01

Mobile numbers print as "07xx xxx xxx".

Phone number formatting● Open access↗
FA-96417

Variable-length area code grouping: mobile block code taken as three digits · case 02

Mobile numbers print as "07xx xxx xxx".

Phone number formatting◈ Members↗
FA-96418

Variable-length area code grouping: mobile block code taken as three digits · case 03

Mobile numbers print as "07xx xxx xxx".

Phone number formatting◈ Members↗
FA-96419

Variable-length area code grouping: mobile block code taken as three digits · case 04

Mobile numbers print as "07xx xxx xxx".

Phone number formatting◈ Members↗
FA-96420

Variable-length area code grouping: mobile block code taken as three digits · case 05

Mobile numbers print as "07xx xxx xxx".

Phone number formatting◈ Members↗
FA-96421

Vanity keypad translator: Q is missing from the keypad table · case 01

A vanity word containing Q comes up one digit short and is rejected.

Phone number formatting● Open access↗
FA-96422

Vanity keypad translator: Q is missing from the keypad table · case 02

A vanity word containing Q comes up one digit short and is rejected.

Phone number formatting◈ Members↗
FA-96423

Vanity keypad translator: Q is missing from the keypad table · case 03

A vanity word containing Q comes up one digit short and is rejected.

Phone number formatting◈ Members↗
FA-96424

Vanity keypad translator: Q is missing from the keypad table · case 04

A vanity word containing Q comes up one digit short and is rejected.

Phone number formatting◈ Members↗
FA-96425

Vanity keypad translator: Q is missing from the keypad table · case 05

A vanity word containing Q comes up one digit short and is rejected.

Phone number formatting◈ Members↗
FA-96426

Vanity keypad translator: lowercase letters are dropped · case 01

"(555) quizzap" is rejected as too short.

Phone number formatting● Open access↗
FA-96427

Vanity keypad translator: lowercase letters are dropped · case 02

"(555) quizzap" is rejected as too short.

Phone number formatting◈ Members↗
FA-96428

Vanity keypad translator: lowercase letters are dropped · case 03

"(555) quizzap" is rejected as too short.

Phone number formatting◈ Members↗
FA-96429

Vanity keypad translator: lowercase letters are dropped · case 04

"(555) quizzap" is rejected as too short.

Phone number formatting◈ Members↗
FA-96430

Vanity keypad translator: lowercase letters are dropped · case 05

"(555) quizzap" is rejected as too short.

Phone number formatting◈ Members↗
FA-96431

Vanity keypad translator: extra digits after the tenth are accepted · case 01

An eleven-digit number loses its last digit and is accepted.

Phone number formatting● Open access↗
FA-96432

Vanity keypad translator: extra digits after the tenth are accepted · case 02

An eleven-digit number loses its last digit and is accepted.

Phone number formatting◈ Members↗
FA-96433

Vanity keypad translator: extra digits after the tenth are accepted · case 03

An eleven-digit number loses its last digit and is accepted.

Phone number formatting◈ Members↗
FA-96434

Vanity keypad translator: extra digits after the tenth are accepted · case 04

An eleven-digit number loses its last digit and is accepted.

Phone number formatting◈ Members↗
FA-96435

Vanity keypad translator: extra digits after the tenth are accepted · case 05

An eleven-digit number loses its last digit and is accepted.

Phone number formatting◈ Members↗
FA-96436

Vanity keypad translator: dots and parentheses are rejected · case 01

"555.QUIZZAP" returns None.

Phone number formatting● Open access↗
FA-96437

Vanity keypad translator: dots and parentheses are rejected · case 02

"555.QUIZZAP" returns None.

Phone number formatting◈ Members↗
FA-96438

Vanity keypad translator: dots and parentheses are rejected · case 03

"555.QUIZZAP" returns None.

Phone number formatting◈ Members↗
FA-96439

Vanity keypad translator: dots and parentheses are rejected · case 04

"555.QUIZZAP" returns None.

Phone number formatting◈ Members↗
FA-96440

Vanity keypad translator: dots and parentheses are rejected · case 05

"555.QUIZZAP" returns None.

Phone number formatting◈ Members↗
FA-96441

Vanity keypad translator: seven-symbol numbers are accepted · case 01

"555-FAKE" formats as a partial number.

Phone number formatting● Open access↗
FA-96442

Vanity keypad translator: seven-symbol numbers are accepted · case 02

"555-FAKE" formats as a partial number.

Phone number formatting◈ Members↗
FA-96443

Vanity keypad translator: seven-symbol numbers are accepted · case 03

"555-FAKE" formats as a partial number.

Phone number formatting◈ Members↗
FA-96444

Vanity keypad translator: seven-symbol numbers are accepted · case 04

"555-FAKE" formats as a partial number.

Phone number formatting◈ Members↗
FA-96445

Vanity keypad translator: seven-symbol numbers are accepted · case 05

"555-FAKE" formats as a partial number.

Phone number formatting◈ Members↗
FA-96446

Extension and dial-pause parser: "ext" is tried before "extension" · case 01

"... extension 1" leaves "ension 1" as the extension and is rejected.

Phone number formatting● Open access↗
FA-96447

Extension and dial-pause parser: "ext" is tried before "extension" · case 02

"... extension 1" leaves "ension 1" as the extension and is rejected.

Phone number formatting◈ Members↗
FA-96448

Extension and dial-pause parser: "ext" is tried before "extension" · case 03

"... extension 1" leaves "ension 1" as the extension and is rejected.

Phone number formatting◈ Members↗
FA-96449

Extension and dial-pause parser: "ext" is tried before "extension" · case 04

"... extension 1" leaves "ension 1" as the extension and is rejected.

Phone number formatting◈ Members↗
FA-96450

Extension and dial-pause parser: "ext" is tried before "extension" · case 05

"... extension 1" leaves "ension 1" as the extension and is rejected.

Phone number formatting◈ Members↗
FA-96451

Extension and dial-pause parser: a leading marker starts an extension · case 01

"#555-0115" is treated as an empty number with a seven-digit extension and rejected.

Phone number formatting● Open access↗
FA-96452

Extension and dial-pause parser: a leading marker starts an extension · case 02

"#555-0115" is treated as an empty number with a seven-digit extension and rejected.

Phone number formatting◈ Members↗
FA-96453

Extension and dial-pause parser: a leading marker starts an extension · case 03

"#555-0115" is treated as an empty number with a seven-digit extension and rejected.

Phone number formatting◈ Members↗
FA-96454

Extension and dial-pause parser: a leading marker starts an extension · case 04

"#555-0115" is treated as an empty number with a seven-digit extension and rejected.

Phone number formatting◈ Members↗
FA-96455

Extension and dial-pause parser: a leading marker starts an extension · case 05

"#555-0115" is treated as an empty number with a seven-digit extension and rejected.

Phone number formatting◈ Members↗
FA-96456

Extension and dial-pause parser: overlong extensions are accepted · case 01

A seven-digit extension is accepted.

Phone number formatting● Open access↗
FA-96457

Extension and dial-pause parser: overlong extensions are accepted · case 02

A seven-digit extension is accepted.

Phone number formatting◈ Members↗
FA-96458

Extension and dial-pause parser: overlong extensions are accepted · case 03

A seven-digit extension is accepted.

Phone number formatting◈ Members↗
FA-96459

Extension and dial-pause parser: overlong extensions are accepted · case 04

A seven-digit extension is accepted.

Phone number formatting◈ Members↗
FA-96460

Extension and dial-pause parser: overlong extensions are accepted · case 05

A seven-digit extension is accepted.

Phone number formatting◈ Members↗
FA-96461

Extension and dial-pause parser: the space after the marker invalidates the extension · case 01

"... x 7" is rejected.

Phone number formatting● Open access↗
FA-96462

Extension and dial-pause parser: the space after the marker invalidates the extension · case 02

"... x 7" is rejected.

Phone number formatting◈ Members↗
FA-96463

Extension and dial-pause parser: the space after the marker invalidates the extension · case 03

"... x 7" is rejected.

Phone number formatting◈ Members↗
FA-96464

Extension and dial-pause parser: the space after the marker invalidates the extension · case 04

"... x 7" is rejected.

Phone number formatting◈ Members↗
FA-96465

Extension and dial-pause parser: the space after the marker invalidates the extension · case 05

"... x 7" is rejected.

Phone number formatting◈ Members↗
FA-96466

Extension and dial-pause parser: uppercase markers are not found · case 01

"... EXT 41" folds the extension digits into the main number.

Phone number formatting● Open access↗
FA-96467

Extension and dial-pause parser: uppercase markers are not found · case 02

"... EXT 41" folds the extension digits into the main number.

Phone number formatting◈ Members↗
FA-96468

Extension and dial-pause parser: uppercase markers are not found · case 03

"... EXT 41" folds the extension digits into the main number.

Phone number formatting◈ Members↗
FA-96469

Extension and dial-pause parser: uppercase markers are not found · case 04

"... EXT 41" folds the extension digits into the main number.

Phone number formatting◈ Members↗
FA-96470

Extension and dial-pause parser: uppercase markers are not found · case 05

"... EXT 41" folds the extension digits into the main number.

Phone number formatting◈ Members↗
FA-96471

Extension and dial-pause parser: comma and semicolon meanings are swapped · case 01

A comma is reported as wait and a semicolon as pause.

Phone number formatting● Open access↗
FA-96472

Extension and dial-pause parser: comma and semicolon meanings are swapped · case 02

A comma is reported as wait and a semicolon as pause.

Phone number formatting◈ Members↗
FA-96473

Extension and dial-pause parser: comma and semicolon meanings are swapped · case 03

A comma is reported as wait and a semicolon as pause.

Phone number formatting◈ Members↗
FA-96474

Extension and dial-pause parser: comma and semicolon meanings are swapped · case 04

A comma is reported as wait and a semicolon as pause.

Phone number formatting◈ Members↗
FA-96475

Extension and dial-pause parser: comma and semicolon meanings are swapped · case 05

A comma is reported as wait and a semicolon as pause.

Phone number formatting◈ Members↗
FA-96476

Display masking of subscriber digits: country code digits are masked · case 01

"+42 555 ..." renders as "+** *** ..." hiding the country.

Phone number formatting● Open access↗
FA-96477

Display masking of subscriber digits: country code digits are masked · case 02

"+42 555 ..." renders as "+** *** ..." hiding the country.

Phone number formatting◈ Members↗
FA-96478

Display masking of subscriber digits: country code digits are masked · case 03

"+42 555 ..." renders as "+** *** ..." hiding the country.

Phone number formatting◈ Members↗
FA-96479

Display masking of subscriber digits: country code digits are masked · case 04

"+42 555 ..." renders as "+** *** ..." hiding the country.

Phone number formatting◈ Members↗
FA-96480

Display masking of subscriber digits: country code digits are masked · case 05

"+42 555 ..." renders as "+** *** ..." hiding the country.

Phone number formatting◈ Members↗
FA-96481

Display masking of subscriber digits: four-digit numbers are shown in full · case 01

"+8 1122" is displayed unmasked.

Phone number formatting● Open access↗
FA-96482

Display masking of subscriber digits: four-digit numbers are shown in full · case 02

"+8 1122" is displayed unmasked.

Phone number formatting◈ Members↗
FA-96483

Display masking of subscriber digits: four-digit numbers are shown in full · case 03

"+8 1122" is displayed unmasked.

Phone number formatting◈ Members↗
FA-96484

Display masking of subscriber digits: four-digit numbers are shown in full · case 04

"+8 1122" is displayed unmasked.

Phone number formatting◈ Members↗
FA-96485

Display masking of subscriber digits: four-digit numbers are shown in full · case 05

"+8 1122" is displayed unmasked.

Phone number formatting◈ Members↗
FA-96486

Display masking of subscriber digits: five trailing digits are shown · case 01

One extra digit is revealed.

Phone number formatting● Open access↗
FA-96487

Display masking of subscriber digits: five trailing digits are shown · case 02

One extra digit is revealed.

Phone number formatting◈ Members↗
FA-96488

Display masking of subscriber digits: five trailing digits are shown · case 03

One extra digit is revealed.

Phone number formatting◈ Members↗
FA-96489

Display masking of subscriber digits: five trailing digits are shown · case 04

One extra digit is revealed.

Phone number formatting◈ Members↗
FA-96490

Display masking of subscriber digits: five trailing digits are shown · case 05

One extra digit is revealed.

Phone number formatting◈ Members↗
FA-96491

Display masking of subscriber digits: separators are dropped from the masked number · case 01

"+891 555-0115" renders without its space and hyphen.

Phone number formatting● Open access↗
FA-96492

Display masking of subscriber digits: separators are dropped from the masked number · case 02

"+891 555-0115" renders without its space and hyphen.

Phone number formatting◈ Members↗
FA-96493

Display masking of subscriber digits: separators are dropped from the masked number · case 03

"+891 555-0115" renders without its space and hyphen.

Phone number formatting◈ Members↗
FA-96494

Display masking of subscriber digits: separators are dropped from the masked number · case 04

"+891 555-0115" renders without its space and hyphen.

Phone number formatting◈ Members↗
FA-96495

Display masking of subscriber digits: separators are dropped from the masked number · case 05

"+891 555-0115" renders without its space and hyphen.

Phone number formatting◈ Members↗
FA-96496

Display masking of subscriber digits: separators are counted as digits · case 01

Fewer than four digits are revealed when the number contains separators.

Phone number formatting● Open access↗
FA-96497

Display masking of subscriber digits: separators are counted as digits · case 02

Fewer than four digits are revealed when the number contains separators.

Phone number formatting◈ Members↗
FA-96498

Display masking of subscriber digits: separators are counted as digits · case 03

Fewer than four digits are revealed when the number contains separators.

Phone number formatting◈ Members↗
FA-96499

Display masking of subscriber digits: separators are counted as digits · case 04

Fewer than four digits are revealed when the number contains separators.

Phone number formatting◈ Members↗
FA-96500

Display masking of subscriber digits: separators are counted as digits · case 05

Fewer than four digits are revealed when the number contains separators.

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 ↗