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 ↗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
Bidi hit testing: half boundary · case 01
Clicks in the right half are treated as left half.
Bidi hit testing: half boundary · case 02
Clicks in the right half are treated as left half.
Bidi hit testing: half boundary · case 03
Clicks in the right half are treated as left half.
Bidi hit testing: half boundary · case 04
Clicks in the right half are treated as left half.
Bidi hit testing: half boundary · case 05
Clicks in the right half are treated as left half.
Bidi hit testing: caret offset from edge · case 01
The caret lands on the wrong side of the hit character.
Bidi hit testing: caret offset from edge · case 02
The caret lands on the wrong side of the hit character.
Bidi hit testing: caret offset from edge · case 03
The caret lands on the wrong side of the hit character.
Bidi hit testing: caret offset from edge · case 04
The caret lands on the wrong side of the hit character.
Bidi hit testing: caret offset from edge · case 05
The caret lands on the wrong side of the hit character.
Per-line visual reordering: paragraph-wide reordering · case 01
Lines show characters from other lines after wrapping RTL text.
Per-line visual reordering: paragraph-wide reordering · case 02
Lines show characters from other lines after wrapping RTL text.
Per-line visual reordering: paragraph-wide reordering · case 03
Lines show characters from other lines after wrapping RTL text.
Per-line visual reordering: paragraph-wide reordering · case 04
Lines show characters from other lines after wrapping RTL text.
Per-line visual reordering: paragraph-wide reordering · case 05
Lines show characters from other lines after wrapping RTL text.
Per-line visual reordering: trailing whitespace per line · case 01
Spaces at the end of wrapped lines jump to the far side.
Per-line visual reordering: trailing whitespace per line · case 02
Spaces at the end of wrapped lines jump to the far side.
Per-line visual reordering: trailing whitespace per line · case 03
Spaces at the end of wrapped lines jump to the far side.
Per-line visual reordering: trailing whitespace per line · case 04
Spaces at the end of wrapped lines jump to the far side.
Per-line visual reordering: trailing whitespace per line · case 05
Spaces at the end of wrapped lines jump to the far side.
Per-line visual reordering: whitespace reset level · case 01
Trailing spaces on RTL paragraphs are reset to level 0.
Per-line visual reordering: whitespace reset level · case 02
Trailing spaces on RTL paragraphs are reset to level 0.
Per-line visual reordering: whitespace reset level · case 03
Trailing spaces on RTL paragraphs are reset to level 0.
Per-line visual reordering: whitespace reset level · case 04
Trailing spaces on RTL paragraphs are reset to level 0.
Per-line visual reordering: whitespace reset level · case 05
Trailing spaces on RTL paragraphs are reset to level 0.
Per-line visual reordering: line-local indices · case 01
Visual orders for later lines refer to the first line.
Per-line visual reordering: line-local indices · case 02
Visual orders for later lines refer to the first line.
Per-line visual reordering: line-local indices · case 03
Visual orders for later lines refer to the first line.
Per-line visual reordering: line-local indices · case 04
Visual orders for later lines refer to the first line.
Per-line visual reordering: line-local indices · case 05
Visual orders for later lines refer to the first line.
Direction-relative alignment: end alignment mapping · case 01
End-aligned RTL text sits on the right.
Direction-relative alignment: end alignment mapping · case 02
End-aligned RTL text sits on the right.
Direction-relative alignment: end alignment mapping · case 03
End-aligned RTL text sits on the right.
Direction-relative alignment: end alignment mapping · case 04
End-aligned RTL text sits on the right.
Direction-relative alignment: end alignment mapping · case 05
End-aligned RTL text sits on the right.
Direction-relative alignment: start alignment mapping · case 01
Start-aligned RTL paragraphs are left aligned.
Direction-relative alignment: start alignment mapping · case 02
Start-aligned RTL paragraphs are left aligned.
Direction-relative alignment: start alignment mapping · case 03
Start-aligned RTL paragraphs are left aligned.
Direction-relative alignment: start alignment mapping · case 04
Start-aligned RTL paragraphs are left aligned.
Direction-relative alignment: start alignment mapping · case 05
Start-aligned RTL paragraphs are left aligned.
Direction-relative alignment: overflowing center fallback · case 01
Overflowing centered lines hang off both edges.
Direction-relative alignment: overflowing center fallback · case 02
Overflowing centered lines hang off both edges.
Direction-relative alignment: overflowing center fallback · case 03
Overflowing centered lines hang off both edges.
Direction-relative alignment: overflowing center fallback · case 04
Overflowing centered lines hang off both edges.
Direction-relative alignment: overflowing center fallback · case 05
Overflowing centered lines hang off both edges.
Direction-relative alignment: center rounding by direction · case 01
Odd slack in RTL lines is split toward the wrong side.
Direction-relative alignment: center rounding by direction · case 02
Odd slack in RTL lines is split toward the wrong side.
Direction-relative alignment: center rounding by direction · case 03
Odd slack in RTL lines is split toward the wrong side.
Direction-relative alignment: center rounding by direction · case 04
Odd slack in RTL lines is split toward the wrong side.
Direction-relative alignment: center rounding by direction · case 05
Odd slack in RTL lines is split toward the wrong side.
Direction-relative alignment: justified last line · case 01
The last line of a justified RTL paragraph sits on the left.
Direction-relative alignment: justified last line · case 02
The last line of a justified RTL paragraph sits on the left.
Direction-relative alignment: justified last line · case 03
The last line of a justified RTL paragraph sits on the left.
Direction-relative alignment: justified last line · case 04
The last line of a justified RTL paragraph sits on the left.
Direction-relative alignment: justified last line · case 05
The last line of a justified RTL paragraph sits on the left.
Isolating run sequences: PDI matching order · case 01
Nested isolates join the wrong outer runs.
Isolating run sequences: PDI matching order · case 02
Nested isolates join the wrong outer runs.
Isolating run sequences: PDI matching order · case 03
Nested isolates join the wrong outer runs.
Isolating run sequences: PDI matching order · case 04
Nested isolates join the wrong outer runs.
Isolating run sequences: PDI matching order · case 05
Nested isolates join the wrong outer runs.
Isolating run sequences: first-strong isolate chaining · case 01
Text around an FSI isolate is split into separate sequences.
Isolating run sequences: first-strong isolate chaining · case 02
Text around an FSI isolate is split into separate sequences.
Isolating run sequences: first-strong isolate chaining · case 03
Text around an FSI isolate is split into separate sequences.
Isolating run sequences: first-strong isolate chaining · case 04
Text around an FSI isolate is split into separate sequences.
Isolating run sequences: first-strong isolate chaining · case 05
Text around an FSI isolate is split into separate sequences.
Isolating run sequences: chained run bookkeeping · case 01
The run after a PDI appears twice: joined and as its own sequence.
Isolating run sequences: chained run bookkeeping · case 02
The run after a PDI appears twice: joined and as its own sequence.
Isolating run sequences: chained run bookkeeping · case 03
The run after a PDI appears twice: joined and as its own sequence.
Isolating run sequences: chained run bookkeeping · case 04
The run after a PDI appears twice: joined and as its own sequence.
Isolating run sequences: chained run bookkeeping · case 05
The run after a PDI appears twice: joined and as its own sequence.
Isolating run sequences: chained sequence end · case 01
eos of an isolate-spanning sequence is taken from the middle of the text.
Isolating run sequences: chained sequence end · case 02
eos of an isolate-spanning sequence is taken from the middle of the text.
Isolating run sequences: chained sequence end · case 03
eos of an isolate-spanning sequence is taken from the middle of the text.
Isolating run sequences: chained sequence end · case 04
eos of an isolate-spanning sequence is taken from the middle of the text.
Isolating run sequences: chained sequence end · case 05
eos of an isolate-spanning sequence is taken from the middle of the text.
Isolating run sequences: sos level comparison · case 01
Sequence start types follow the run level only.
Isolating run sequences: sos level comparison · case 02
Sequence start types follow the run level only.
Isolating run sequences: sos level comparison · case 03
Sequence start types follow the run level only.
Isolating run sequences: sos level comparison · case 04
Sequence start types follow the run level only.
Isolating run sequences: sos level comparison · case 05
Sequence start types follow the run level only.
Isolating run sequences: eos after isolate initiator · case 01
Sequences ending in an unmatched initiator take eos from the isolate content.
Isolating run sequences: eos after isolate initiator · case 02
Sequences ending in an unmatched initiator take eos from the isolate content.
Isolating run sequences: eos after isolate initiator · case 03
Sequences ending in an unmatched initiator take eos from the isolate content.
Isolating run sequences: eos after isolate initiator · case 04
Sequences ending in an unmatched initiator take eos from the isolate content.
Isolating run sequences: eos after isolate initiator · case 05
Sequences ending in an unmatched initiator take eos from the isolate content.
Isolating run sequences: eos level comparison · case 01
Sequence end types follow the next character only.
Isolating run sequences: eos level comparison · case 02
Sequence end types follow the next character only.
Isolating run sequences: eos level comparison · case 03
Sequence end types follow the next character only.
Isolating run sequences: eos level comparison · case 04
Sequence end types follow the next character only.
Isolating run sequences: eos level comparison · case 05
Sequence end types follow the next character only.
Visual run list for shaping: run length accumulation · case 01
Runs report lengths one short, dropping their last glyph.
Visual run list for shaping: run length accumulation · case 02
Runs report lengths one short, dropping their last glyph.
Visual run list for shaping: run length accumulation · case 03
Runs report lengths one short, dropping their last glyph.
Visual run list for shaping: run length accumulation · case 04
Runs report lengths one short, dropping their last glyph.
Visual run list for shaping: run length accumulation · case 05
Runs report lengths one short, dropping their last glyph.
Visual run list for shaping: run direction label · case 01
Level-2 runs are shaped right-to-left.
Visual run list for shaping: run direction label · case 02
Level-2 runs are shaped right-to-left.
Visual run list for shaping: run direction label · case 03
Level-2 runs are shaped right-to-left.
Visual run list for shaping: run direction label · case 04
Level-2 runs are shaped right-to-left.
Visual run list for shaping: run direction label · case 05
Level-2 runs are shaped right-to-left.
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 ↗