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

Bidi hit testing: half boundary · case 01

Clicks in the right half are treated as left half.

Bidirectional text layout● Open access↗
FA-80702

Bidi hit testing: half boundary · case 02

Clicks in the right half are treated as left half.

Bidirectional text layout◈ Members↗
FA-80703

Bidi hit testing: half boundary · case 03

Clicks in the right half are treated as left half.

Bidirectional text layout◈ Members↗
FA-80704

Bidi hit testing: half boundary · case 04

Clicks in the right half are treated as left half.

Bidirectional text layout◈ Members↗
FA-80705

Bidi hit testing: half boundary · case 05

Clicks in the right half are treated as left half.

Bidirectional text layout◈ Members↗
FA-80706

Bidi hit testing: caret offset from edge · case 01

The caret lands on the wrong side of the hit character.

Bidirectional text layout● Open access↗
FA-80707

Bidi hit testing: caret offset from edge · case 02

The caret lands on the wrong side of the hit character.

Bidirectional text layout◈ Members↗
FA-80708

Bidi hit testing: caret offset from edge · case 03

The caret lands on the wrong side of the hit character.

Bidirectional text layout◈ Members↗
FA-80709

Bidi hit testing: caret offset from edge · case 04

The caret lands on the wrong side of the hit character.

Bidirectional text layout◈ Members↗
FA-80710

Bidi hit testing: caret offset from edge · case 05

The caret lands on the wrong side of the hit character.

Bidirectional text layout◈ Members↗
FA-80711

Per-line visual reordering: paragraph-wide reordering · case 01

Lines show characters from other lines after wrapping RTL text.

Bidirectional text layout● Open access↗
FA-80712

Per-line visual reordering: paragraph-wide reordering · case 02

Lines show characters from other lines after wrapping RTL text.

Bidirectional text layout◈ Members↗
FA-80713

Per-line visual reordering: paragraph-wide reordering · case 03

Lines show characters from other lines after wrapping RTL text.

Bidirectional text layout◈ Members↗
FA-80714

Per-line visual reordering: paragraph-wide reordering · case 04

Lines show characters from other lines after wrapping RTL text.

Bidirectional text layout◈ Members↗
FA-80715

Per-line visual reordering: paragraph-wide reordering · case 05

Lines show characters from other lines after wrapping RTL text.

Bidirectional text layout◈ Members↗
FA-80716

Per-line visual reordering: trailing whitespace per line · case 01

Spaces at the end of wrapped lines jump to the far side.

Bidirectional text layout● Open access↗
FA-80717

Per-line visual reordering: trailing whitespace per line · case 02

Spaces at the end of wrapped lines jump to the far side.

Bidirectional text layout◈ Members↗
FA-80718

Per-line visual reordering: trailing whitespace per line · case 03

Spaces at the end of wrapped lines jump to the far side.

Bidirectional text layout◈ Members↗
FA-80719

Per-line visual reordering: trailing whitespace per line · case 04

Spaces at the end of wrapped lines jump to the far side.

Bidirectional text layout◈ Members↗
FA-80720

Per-line visual reordering: trailing whitespace per line · case 05

Spaces at the end of wrapped lines jump to the far side.

Bidirectional text layout◈ Members↗
FA-80721

Per-line visual reordering: whitespace reset level · case 01

Trailing spaces on RTL paragraphs are reset to level 0.

Bidirectional text layout● Open access↗
FA-80722

Per-line visual reordering: whitespace reset level · case 02

Trailing spaces on RTL paragraphs are reset to level 0.

Bidirectional text layout◈ Members↗
FA-80723

Per-line visual reordering: whitespace reset level · case 03

Trailing spaces on RTL paragraphs are reset to level 0.

Bidirectional text layout◈ Members↗
FA-80724

Per-line visual reordering: whitespace reset level · case 04

Trailing spaces on RTL paragraphs are reset to level 0.

Bidirectional text layout◈ Members↗
FA-80725

Per-line visual reordering: whitespace reset level · case 05

Trailing spaces on RTL paragraphs are reset to level 0.

Bidirectional text layout◈ Members↗
FA-80726

Per-line visual reordering: line-local indices · case 01

Visual orders for later lines refer to the first line.

Bidirectional text layout● Open access↗
FA-80727

Per-line visual reordering: line-local indices · case 02

Visual orders for later lines refer to the first line.

Bidirectional text layout◈ Members↗
FA-80728

Per-line visual reordering: line-local indices · case 03

Visual orders for later lines refer to the first line.

Bidirectional text layout◈ Members↗
FA-80729

Per-line visual reordering: line-local indices · case 04

Visual orders for later lines refer to the first line.

Bidirectional text layout◈ Members↗
FA-80730

Per-line visual reordering: line-local indices · case 05

Visual orders for later lines refer to the first line.

Bidirectional text layout◈ Members↗
FA-80731

Direction-relative alignment: end alignment mapping · case 01

End-aligned RTL text sits on the right.

Bidirectional text layout● Open access↗
FA-80732

Direction-relative alignment: end alignment mapping · case 02

End-aligned RTL text sits on the right.

Bidirectional text layout◈ Members↗
FA-80733

Direction-relative alignment: end alignment mapping · case 03

End-aligned RTL text sits on the right.

Bidirectional text layout◈ Members↗
FA-80734

Direction-relative alignment: end alignment mapping · case 04

End-aligned RTL text sits on the right.

Bidirectional text layout◈ Members↗
FA-80735

Direction-relative alignment: end alignment mapping · case 05

End-aligned RTL text sits on the right.

Bidirectional text layout◈ Members↗
FA-80736

Direction-relative alignment: start alignment mapping · case 01

Start-aligned RTL paragraphs are left aligned.

Bidirectional text layout● Open access↗
FA-80737

Direction-relative alignment: start alignment mapping · case 02

Start-aligned RTL paragraphs are left aligned.

Bidirectional text layout◈ Members↗
FA-80738

Direction-relative alignment: start alignment mapping · case 03

Start-aligned RTL paragraphs are left aligned.

Bidirectional text layout◈ Members↗
FA-80739

Direction-relative alignment: start alignment mapping · case 04

Start-aligned RTL paragraphs are left aligned.

Bidirectional text layout◈ Members↗
FA-80740

Direction-relative alignment: start alignment mapping · case 05

Start-aligned RTL paragraphs are left aligned.

Bidirectional text layout◈ Members↗
FA-80741

Direction-relative alignment: overflowing center fallback · case 01

Overflowing centered lines hang off both edges.

Bidirectional text layout● Open access↗
FA-80742

Direction-relative alignment: overflowing center fallback · case 02

Overflowing centered lines hang off both edges.

Bidirectional text layout◈ Members↗
FA-80743

Direction-relative alignment: overflowing center fallback · case 03

Overflowing centered lines hang off both edges.

Bidirectional text layout◈ Members↗
FA-80744

Direction-relative alignment: overflowing center fallback · case 04

Overflowing centered lines hang off both edges.

Bidirectional text layout◈ Members↗
FA-80745

Direction-relative alignment: overflowing center fallback · case 05

Overflowing centered lines hang off both edges.

Bidirectional text layout◈ Members↗
FA-80746

Direction-relative alignment: center rounding by direction · case 01

Odd slack in RTL lines is split toward the wrong side.

Bidirectional text layout● Open access↗
FA-80747

Direction-relative alignment: center rounding by direction · case 02

Odd slack in RTL lines is split toward the wrong side.

Bidirectional text layout◈ Members↗
FA-80748

Direction-relative alignment: center rounding by direction · case 03

Odd slack in RTL lines is split toward the wrong side.

Bidirectional text layout◈ Members↗
FA-80749

Direction-relative alignment: center rounding by direction · case 04

Odd slack in RTL lines is split toward the wrong side.

Bidirectional text layout◈ Members↗
FA-80750

Direction-relative alignment: center rounding by direction · case 05

Odd slack in RTL lines is split toward the wrong side.

Bidirectional text layout◈ Members↗
FA-80751

Direction-relative alignment: justified last line · case 01

The last line of a justified RTL paragraph sits on the left.

Bidirectional text layout● Open access↗
FA-80752

Direction-relative alignment: justified last line · case 02

The last line of a justified RTL paragraph sits on the left.

Bidirectional text layout◈ Members↗
FA-80753

Direction-relative alignment: justified last line · case 03

The last line of a justified RTL paragraph sits on the left.

Bidirectional text layout◈ Members↗
FA-80754

Direction-relative alignment: justified last line · case 04

The last line of a justified RTL paragraph sits on the left.

Bidirectional text layout◈ Members↗
FA-80755

Direction-relative alignment: justified last line · case 05

The last line of a justified RTL paragraph sits on the left.

Bidirectional text layout◈ Members↗
FA-80756

Isolating run sequences: PDI matching order · case 01

Nested isolates join the wrong outer runs.

Bidirectional text layout● Open access↗
FA-80757

Isolating run sequences: PDI matching order · case 02

Nested isolates join the wrong outer runs.

Bidirectional text layout◈ Members↗
FA-80758

Isolating run sequences: PDI matching order · case 03

Nested isolates join the wrong outer runs.

Bidirectional text layout◈ Members↗
FA-80759

Isolating run sequences: PDI matching order · case 04

Nested isolates join the wrong outer runs.

Bidirectional text layout◈ Members↗
FA-80760

Isolating run sequences: PDI matching order · case 05

Nested isolates join the wrong outer runs.

Bidirectional text layout◈ Members↗
FA-80761

Isolating run sequences: first-strong isolate chaining · case 01

Text around an FSI isolate is split into separate sequences.

Bidirectional text layout● Open access↗
FA-80762

Isolating run sequences: first-strong isolate chaining · case 02

Text around an FSI isolate is split into separate sequences.

Bidirectional text layout◈ Members↗
FA-80763

Isolating run sequences: first-strong isolate chaining · case 03

Text around an FSI isolate is split into separate sequences.

Bidirectional text layout◈ Members↗
FA-80764

Isolating run sequences: first-strong isolate chaining · case 04

Text around an FSI isolate is split into separate sequences.

Bidirectional text layout◈ Members↗
FA-80765

Isolating run sequences: first-strong isolate chaining · case 05

Text around an FSI isolate is split into separate sequences.

Bidirectional text layout◈ Members↗
FA-80766

Isolating run sequences: chained run bookkeeping · case 01

The run after a PDI appears twice: joined and as its own sequence.

Bidirectional text layout● Open access↗
FA-80767

Isolating run sequences: chained run bookkeeping · case 02

The run after a PDI appears twice: joined and as its own sequence.

Bidirectional text layout◈ Members↗
FA-80768

Isolating run sequences: chained run bookkeeping · case 03

The run after a PDI appears twice: joined and as its own sequence.

Bidirectional text layout◈ Members↗
FA-80769

Isolating run sequences: chained run bookkeeping · case 04

The run after a PDI appears twice: joined and as its own sequence.

Bidirectional text layout◈ Members↗
FA-80770

Isolating run sequences: chained run bookkeeping · case 05

The run after a PDI appears twice: joined and as its own sequence.

Bidirectional text layout◈ Members↗
FA-80771

Isolating run sequences: chained sequence end · case 01

eos of an isolate-spanning sequence is taken from the middle of the text.

Bidirectional text layout● Open access↗
FA-80772

Isolating run sequences: chained sequence end · case 02

eos of an isolate-spanning sequence is taken from the middle of the text.

Bidirectional text layout◈ Members↗
FA-80773

Isolating run sequences: chained sequence end · case 03

eos of an isolate-spanning sequence is taken from the middle of the text.

Bidirectional text layout◈ Members↗
FA-80774

Isolating run sequences: chained sequence end · case 04

eos of an isolate-spanning sequence is taken from the middle of the text.

Bidirectional text layout◈ Members↗
FA-80775

Isolating run sequences: chained sequence end · case 05

eos of an isolate-spanning sequence is taken from the middle of the text.

Bidirectional text layout◈ Members↗
FA-80776

Isolating run sequences: sos level comparison · case 01

Sequence start types follow the run level only.

Bidirectional text layout● Open access↗
FA-80777

Isolating run sequences: sos level comparison · case 02

Sequence start types follow the run level only.

Bidirectional text layout◈ Members↗
FA-80778

Isolating run sequences: sos level comparison · case 03

Sequence start types follow the run level only.

Bidirectional text layout◈ Members↗
FA-80779

Isolating run sequences: sos level comparison · case 04

Sequence start types follow the run level only.

Bidirectional text layout◈ Members↗
FA-80780

Isolating run sequences: sos level comparison · case 05

Sequence start types follow the run level only.

Bidirectional text layout◈ Members↗
FA-80781

Isolating run sequences: eos after isolate initiator · case 01

Sequences ending in an unmatched initiator take eos from the isolate content.

Bidirectional text layout● Open access↗
FA-80782

Isolating run sequences: eos after isolate initiator · case 02

Sequences ending in an unmatched initiator take eos from the isolate content.

Bidirectional text layout◈ Members↗
FA-80783

Isolating run sequences: eos after isolate initiator · case 03

Sequences ending in an unmatched initiator take eos from the isolate content.

Bidirectional text layout◈ Members↗
FA-80784

Isolating run sequences: eos after isolate initiator · case 04

Sequences ending in an unmatched initiator take eos from the isolate content.

Bidirectional text layout◈ Members↗
FA-80785

Isolating run sequences: eos after isolate initiator · case 05

Sequences ending in an unmatched initiator take eos from the isolate content.

Bidirectional text layout◈ Members↗
FA-80786

Isolating run sequences: eos level comparison · case 01

Sequence end types follow the next character only.

Bidirectional text layout● Open access↗
FA-80787

Isolating run sequences: eos level comparison · case 02

Sequence end types follow the next character only.

Bidirectional text layout◈ Members↗
FA-80788

Isolating run sequences: eos level comparison · case 03

Sequence end types follow the next character only.

Bidirectional text layout◈ Members↗
FA-80789

Isolating run sequences: eos level comparison · case 04

Sequence end types follow the next character only.

Bidirectional text layout◈ Members↗
FA-80790

Isolating run sequences: eos level comparison · case 05

Sequence end types follow the next character only.

Bidirectional text layout◈ Members↗
FA-80791

Visual run list for shaping: run length accumulation · case 01

Runs report lengths one short, dropping their last glyph.

Bidirectional text layout● Open access↗
FA-80792

Visual run list for shaping: run length accumulation · case 02

Runs report lengths one short, dropping their last glyph.

Bidirectional text layout◈ Members↗
FA-80793

Visual run list for shaping: run length accumulation · case 03

Runs report lengths one short, dropping their last glyph.

Bidirectional text layout◈ Members↗
FA-80794

Visual run list for shaping: run length accumulation · case 04

Runs report lengths one short, dropping their last glyph.

Bidirectional text layout◈ Members↗
FA-80795

Visual run list for shaping: run length accumulation · case 05

Runs report lengths one short, dropping their last glyph.

Bidirectional text layout◈ Members↗
FA-80796

Visual run list for shaping: run direction label · case 01

Level-2 runs are shaped right-to-left.

Bidirectional text layout● Open access↗
FA-80797

Visual run list for shaping: run direction label · case 02

Level-2 runs are shaped right-to-left.

Bidirectional text layout◈ Members↗
FA-80798

Visual run list for shaping: run direction label · case 03

Level-2 runs are shaped right-to-left.

Bidirectional text layout◈ Members↗
FA-80799

Visual run list for shaping: run direction label · case 04

Level-2 runs are shaped right-to-left.

Bidirectional text layout◈ Members↗
FA-80800

Visual run list for shaping: run direction label · case 05

Level-2 runs are shaped right-to-left.

Bidirectional text layout◈ 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 ↗