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
Balanced headline wrapping: final layout width · case 01
The balanced width is computed but lines are laid out at the full width.
Balanced headline wrapping: final layout width · case 02
The balanced width is computed but lines are laid out at the full width.
Balanced headline wrapping: final layout width · case 03
The balanced width is computed but lines are laid out at the full width.
Balanced headline wrapping: final layout width · case 04
The balanced width is computed but lines are laid out at the full width.
Balanced headline wrapping: final layout width · case 05
The balanced width is computed but lines are laid out at the full width.
Balanced headline wrapping: search termination · case 01
Balanced widths come out one column too wide.
Balanced headline wrapping: search termination · case 02
Balanced widths come out one column too wide.
Balanced headline wrapping: search termination · case 03
Balanced widths come out one column too wide.
Balanced headline wrapping: search termination · case 04
Balanced widths come out one column too wide.
Balanced headline wrapping: search termination · case 05
Balanced widths come out one column too wide.
URL line breaking: double slash integrity · case 01
URLs are broken between the two slashes of "//".
URL line breaking: double slash integrity · case 02
URLs are broken between the two slashes of "//".
URL line breaking: double slash integrity · case 03
URLs are broken between the two slashes of "//".
URL line breaking: double slash integrity · case 04
URLs are broken between the two slashes of "//".
URL line breaking: double slash integrity · case 05
URLs are broken between the two slashes of "//".
URL line breaking: after double slash · case 01
No break is offered right after "https://".
URL line breaking: after double slash · case 02
No break is offered right after "https://".
URL line breaking: after double slash · case 03
No break is offered right after "https://".
URL line breaking: after double slash · case 04
No break is offered right after "https://".
URL line breaking: after double slash · case 05
No break is offered right after "https://".
URL line breaking: period break side · case 01
Lines end with a dangling period instead of starting with it.
URL line breaking: period break side · case 02
Lines end with a dangling period instead of starting with it.
URL line breaking: period break side · case 03
Lines end with a dangling period instead of starting with it.
URL line breaking: period break side · case 04
Lines end with a dangling period instead of starting with it.
URL line breaking: period break side · case 05
Lines end with a dangling period instead of starting with it.
URL line breaking: equals and ampersand sides · case 01
Query strings only break on one side of = and &.
URL line breaking: equals and ampersand sides · case 02
Query strings only break on one side of = and &.
URL line breaking: equals and ampersand sides · case 03
Query strings only break on one side of = and &.
URL line breaking: equals and ampersand sides · case 04
Query strings only break on one side of = and &.
URL line breaking: equals and ampersand sides · case 05
Query strings only break on one side of = and &.
URL line breaking: candidate window · case 01
An opportunity exactly at the line end is ignored.
URL line breaking: candidate window · case 02
An opportunity exactly at the line end is ignored.
URL line breaking: candidate window · case 03
An opportunity exactly at the line end is ignored.
URL line breaking: candidate window · case 04
An opportunity exactly at the line end is ignored.
URL line breaking: candidate window · case 05
An opportunity exactly at the line end is ignored.
URL line breaking: hard break fallback · case 01
Unbreakable URL runs overflow the line.
URL line breaking: hard break fallback · case 02
Unbreakable URL runs overflow the line.
URL line breaking: hard break fallback · case 03
Unbreakable URL runs overflow the line.
URL line breaking: hard break fallback · case 04
Unbreakable URL runs overflow the line.
URL line breaking: hard break fallback · case 05
Unbreakable URL runs overflow the line.
First-strong paragraph direction: Arabic letter strength · case 01
Paragraphs starting with Arabic letters default to left-to-right.
First-strong paragraph direction: Arabic letter strength · case 02
Paragraphs starting with Arabic letters default to left-to-right.
First-strong paragraph direction: Arabic letter strength · case 03
Paragraphs starting with Arabic letters default to left-to-right.
First-strong paragraph direction: Arabic letter strength · case 04
Paragraphs starting with Arabic letters default to left-to-right.
First-strong paragraph direction: Arabic letter strength · case 05
Paragraphs starting with Arabic letters default to left-to-right.
First-strong paragraph direction: unmatched PDI · case 01
A stray PDI hides the rest of the paragraph from direction detection.
First-strong paragraph direction: unmatched PDI · case 02
A stray PDI hides the rest of the paragraph from direction detection.
First-strong paragraph direction: unmatched PDI · case 03
A stray PDI hides the rest of the paragraph from direction detection.
First-strong paragraph direction: unmatched PDI · case 04
A stray PDI hides the rest of the paragraph from direction detection.
First-strong paragraph direction: unmatched PDI · case 05
A stray PDI hides the rest of the paragraph from direction detection.
First-strong paragraph direction: first-strong isolate initiator · case 01
Letters inside an FSI isolate decide the paragraph direction.
First-strong paragraph direction: first-strong isolate initiator · case 02
Letters inside an FSI isolate decide the paragraph direction.
First-strong paragraph direction: first-strong isolate initiator · case 03
Letters inside an FSI isolate decide the paragraph direction.
First-strong paragraph direction: first-strong isolate initiator · case 04
Letters inside an FSI isolate decide the paragraph direction.
First-strong paragraph direction: first-strong isolate initiator · case 05
Letters inside an FSI isolate decide the paragraph direction.
First-strong paragraph direction: numbers as strong · case 01
Paragraphs that start with a number become left-to-right.
First-strong paragraph direction: numbers as strong · case 02
Paragraphs that start with a number become left-to-right.
First-strong paragraph direction: numbers as strong · case 03
Paragraphs that start with a number become left-to-right.
First-strong paragraph direction: numbers as strong · case 04
Paragraphs that start with a number become left-to-right.
First-strong paragraph direction: numbers as strong · case 05
Paragraphs that start with a number become left-to-right.
First-strong paragraph direction: nested isolate depth · case 01
Text after an inner PDI is treated as outside all isolates.
First-strong paragraph direction: nested isolate depth · case 02
Text after an inner PDI is treated as outside all isolates.
First-strong paragraph direction: nested isolate depth · case 03
Text after an inner PDI is treated as outside all isolates.
First-strong paragraph direction: nested isolate depth · case 04
Text after an inner PDI is treated as outside all isolates.
First-strong paragraph direction: nested isolate depth · case 05
Text after an inner PDI is treated as outside all isolates.
First-strong paragraph direction: isolate content skipping · case 01
Letters inside isolates decide the paragraph direction.
First-strong paragraph direction: isolate content skipping · case 02
Letters inside isolates decide the paragraph direction.
First-strong paragraph direction: isolate content skipping · case 03
Letters inside isolates decide the paragraph direction.
First-strong paragraph direction: isolate content skipping · case 04
Letters inside isolates decide the paragraph direction.
First-strong paragraph direction: isolate content skipping · case 05
Letters inside isolates decide the paragraph direction.
Weak type resolution: nonspacing mark inheritance · case 01
Combining marks take the sequence start type instead of their base.
Weak type resolution: nonspacing mark inheritance · case 02
Combining marks take the sequence start type instead of their base.
Weak type resolution: nonspacing mark inheritance · case 03
Combining marks take the sequence start type instead of their base.
Weak type resolution: nonspacing mark inheritance · case 04
Combining marks take the sequence start type instead of their base.
Weak type resolution: nonspacing mark inheritance · case 05
Combining marks take the sequence start type instead of their base.
Weak type resolution: mark after isolate boundary · case 01
A combining mark after an isolate initiator or PDI inherits an isolate class.
Weak type resolution: mark after isolate boundary · case 02
A combining mark after an isolate initiator or PDI inherits an isolate class.
Weak type resolution: mark after isolate boundary · case 03
A combining mark after an isolate initiator or PDI inherits an isolate class.
Weak type resolution: mark after isolate boundary · case 04
A combining mark after an isolate initiator or PDI inherits an isolate class.
Weak type resolution: mark after isolate boundary · case 05
A combining mark after an isolate initiator or PDI inherits an isolate class.
Weak type resolution: Arabic context tracking · case 01
Numbers after Arabic letters stay European.
Weak type resolution: Arabic context tracking · case 02
Numbers after Arabic letters stay European.
Weak type resolution: Arabic context tracking · case 03
Numbers after Arabic letters stay European.
Weak type resolution: Arabic context tracking · case 04
Numbers after Arabic letters stay European.
Weak type resolution: Arabic context tracking · case 05
Numbers after Arabic letters stay European.
Weak type resolution: plus sign between numbers · case 01
A plus between Arabic numbers joins them, or European pairs split.
Weak type resolution: plus sign between numbers · case 02
A plus between Arabic numbers joins them, or European pairs split.
Weak type resolution: plus sign between numbers · case 03
A plus between Arabic numbers joins them, or European pairs split.
Weak type resolution: plus sign between numbers · case 04
A plus between Arabic numbers joins them, or European pairs split.
Weak type resolution: plus sign between numbers · case 05
A plus between Arabic numbers joins them, or European pairs split.
Weak type resolution: common separator number types · case 01
A comma between a European and an Arabic number is absorbed.
Weak type resolution: common separator number types · case 02
A comma between a European and an Arabic number is absorbed.
Weak type resolution: common separator number types · case 03
A comma between a European and an Arabic number is absorbed.
Weak type resolution: common separator number types · case 04
A comma between a European and an Arabic number is absorbed.
Weak type resolution: common separator number types · case 05
A comma between a European and an Arabic number is absorbed.
Weak type resolution: terminator adjacency · case 01
Currency signs before a number are not attached to it.
Weak type resolution: terminator adjacency · case 02
Currency signs before a number are not attached to it.
Weak type resolution: terminator adjacency · case 03
Currency signs before a number are not attached to it.
Weak type resolution: terminator adjacency · case 04
Currency signs before a number are not attached to it.
Weak type resolution: terminator adjacency · case 05
Currency signs before a number are not attached to it.
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 ↗