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
Paired bracket direction: numbers inside brackets · case 01
Brackets around numbers in RTL text are not resolved as RTL.
Paired bracket direction: numbers inside brackets · case 02
Brackets around numbers in RTL text are not resolved as RTL.
Paired bracket direction: numbers inside brackets · case 03
Brackets around numbers in RTL text are not resolved as RTL.
Paired bracket direction: numbers inside brackets · case 04
Brackets around numbers in RTL text are not resolved as RTL.
Paired bracket direction: numbers inside brackets · case 05
Brackets around numbers in RTL text are not resolved as RTL.
Paired bracket direction: context from updated brackets · case 01
Nested brackets ignore the resolution of their enclosing pair.
Paired bracket direction: context from updated brackets · case 02
Nested brackets ignore the resolution of their enclosing pair.
Paired bracket direction: context from updated brackets · case 03
Nested brackets ignore the resolution of their enclosing pair.
Paired bracket direction: context from updated brackets · case 04
Nested brackets ignore the resolution of their enclosing pair.
Paired bracket direction: context from updated brackets · case 05
Nested brackets ignore the resolution of their enclosing pair.
Paired bracket direction: context fallback · case 01
Brackets at the start of a sequence ignore the sequence start type.
Paired bracket direction: context fallback · case 02
Brackets at the start of a sequence ignore the sequence start type.
Paired bracket direction: context fallback · case 03
Brackets at the start of a sequence ignore the sequence start type.
Paired bracket direction: context fallback · case 04
Brackets at the start of a sequence ignore the sequence start type.
Paired bracket direction: context fallback · case 05
Brackets at the start of a sequence ignore the sequence start type.
Paired bracket direction: embedding match test · case 01
A pair containing both directions resolves to the opposite direction.
Paired bracket direction: embedding match test · case 02
A pair containing both directions resolves to the opposite direction.
Paired bracket direction: embedding match test · case 03
A pair containing both directions resolves to the opposite direction.
Paired bracket direction: embedding match test · case 04
A pair containing both directions resolves to the opposite direction.
Paired bracket direction: embedding match test · case 05
A pair containing both directions resolves to the opposite direction.
Paired bracket direction: pair processing order · case 01
Nested brackets resolve before their enclosing pair.
Paired bracket direction: pair processing order · case 02
Nested brackets resolve before their enclosing pair.
Paired bracket direction: pair processing order · case 03
Nested brackets resolve before their enclosing pair.
Paired bracket direction: pair processing order · case 04
Nested brackets resolve before their enclosing pair.
Paired bracket direction: pair processing order · case 05
Nested brackets resolve before their enclosing pair.
Paired bracket direction: empty pair handling · case 01
Brackets with no strong content are forced to the embedding direction.
Paired bracket direction: empty pair handling · case 02
Brackets with no strong content are forced to the embedding direction.
Paired bracket direction: empty pair handling · case 03
Brackets with no strong content are forced to the embedding direction.
Paired bracket direction: empty pair handling · case 04
Brackets with no strong content are forced to the embedding direction.
Paired bracket direction: empty pair handling · case 05
Brackets with no strong content are forced to the embedding direction.
Caret visual position: leading edge side · case 01
Carets attached to RTL characters appear on the wrong side.
Caret visual position: leading edge side · case 02
Carets attached to RTL characters appear on the wrong side.
Caret visual position: leading edge side · case 03
Carets attached to RTL characters appear on the wrong side.
Caret visual position: leading edge side · case 04
Carets attached to RTL characters appear on the wrong side.
Caret visual position: leading edge side · case 05
Carets attached to RTL characters appear on the wrong side.
Caret visual position: trailing edge side · case 01
Carets after RTL characters are drawn past them.
Caret visual position: trailing edge side · case 02
Carets after RTL characters are drawn past them.
Caret visual position: trailing edge side · case 03
Carets after RTL characters are drawn past them.
Caret visual position: trailing edge side · case 04
Carets after RTL characters are drawn past them.
Caret visual position: trailing edge side · case 05
Carets after RTL characters are drawn past them.
Caret visual position: affinity at line end · case 01
A caret before the last character jumps to the previous character.
Caret visual position: affinity at line end · case 02
A caret before the last character jumps to the previous character.
Caret visual position: affinity at line end · case 03
A caret before the last character jumps to the previous character.
Caret visual position: affinity at line end · case 04
A caret before the last character jumps to the previous character.
Caret visual position: affinity at line end · case 05
A caret before the last character jumps to the previous character.
Caret visual position: position inverse map · case 01
Carets are placed at the logical index instead of the visual slot.
Caret visual position: position inverse map · case 02
Carets are placed at the logical index instead of the visual slot.
Caret visual position: position inverse map · case 03
Carets are placed at the logical index instead of the visual slot.
Caret visual position: position inverse map · case 04
Carets are placed at the logical index instead of the visual slot.
Caret visual position: position inverse map · case 05
Carets are placed at the logical index instead of the visual slot.
Caret visual position: character direction test · case 01
Carets next to characters at level 2 are placed as if RTL.
Caret visual position: character direction test · case 02
Carets next to characters at level 2 are placed as if RTL.
Caret visual position: character direction test · case 03
Carets next to characters at level 2 are placed as if RTL.
Caret visual position: character direction test · case 04
Carets next to characters at level 2 are placed as if RTL.
Caret visual position: character direction test · case 05
Carets next to characters at level 2 are placed as if RTL.
Caret visual position: line start caret · case 01
A caret at offset 0 with backward affinity lands at the end of the line.
Caret visual position: line start caret · case 02
A caret at offset 0 with backward affinity lands at the end of the line.
Caret visual position: line start caret · case 03
A caret at offset 0 with backward affinity lands at the end of the line.
Caret visual position: line start caret · case 04
A caret at offset 0 with backward affinity lands at the end of the line.
Caret visual position: line start caret · case 05
A caret at offset 0 with backward affinity lands at the end of the line.
Bidi selection highlight: selection end exclusivity · case 01
Highlights include one character past the selection.
Bidi selection highlight: selection end exclusivity · case 02
Highlights include one character past the selection.
Bidi selection highlight: selection end exclusivity · case 03
Highlights include one character past the selection.
Bidi selection highlight: selection end exclusivity · case 04
Highlights include one character past the selection.
Bidi selection highlight: selection end exclusivity · case 05
Highlights include one character past the selection.
Bidi selection highlight: slot sorting · case 01
RTL selections are drawn as many one-unit fragments.
Bidi selection highlight: slot sorting · case 02
RTL selections are drawn as many one-unit fragments.
Bidi selection highlight: slot sorting · case 03
RTL selections are drawn as many one-unit fragments.
Bidi selection highlight: slot sorting · case 04
RTL selections are drawn as many one-unit fragments.
Bidi selection highlight: slot sorting · case 05
RTL selections are drawn as many one-unit fragments.
Bidi selection highlight: rectangle adjacency · case 01
Separate highlight fragments are fused across unselected gaps.
Bidi selection highlight: rectangle adjacency · case 02
Separate highlight fragments are fused across unselected gaps.
Bidi selection highlight: rectangle adjacency · case 03
Separate highlight fragments are fused across unselected gaps.
Bidi selection highlight: rectangle adjacency · case 04
Separate highlight fragments are fused across unselected gaps.
Bidi selection highlight: rectangle adjacency · case 05
Separate highlight fragments are fused across unselected gaps.
Bidi selection highlight: backward selection normalisation · case 01
Selections dragged right-to-left highlight nothing.
Bidi selection highlight: backward selection normalisation · case 02
Selections dragged right-to-left highlight nothing.
Bidi selection highlight: backward selection normalisation · case 03
Selections dragged right-to-left highlight nothing.
Bidi selection highlight: backward selection normalisation · case 04
Selections dragged right-to-left highlight nothing.
Bidi selection highlight: backward selection normalisation · case 05
Selections dragged right-to-left highlight nothing.
Bidi selection highlight: logical to visual mapping · case 01
Highlights follow the logical range as if the line were unidirectional.
Bidi selection highlight: logical to visual mapping · case 02
Highlights follow the logical range as if the line were unidirectional.
Bidi selection highlight: logical to visual mapping · case 03
Highlights follow the logical range as if the line were unidirectional.
Bidi selection highlight: logical to visual mapping · case 04
Highlights follow the logical range as if the line were unidirectional.
Bidi selection highlight: logical to visual mapping · case 05
Highlights follow the logical range as if the line were unidirectional.
Bidi hit testing: left clamp · case 01
Clicks left of the line hit characters at the far end.
Bidi hit testing: left clamp · case 02
Clicks left of the line hit characters at the far end.
Bidi hit testing: left clamp · case 03
Clicks left of the line hit characters at the far end.
Bidi hit testing: left clamp · case 04
Clicks left of the line hit characters at the far end.
Bidi hit testing: left clamp · case 05
Clicks left of the line hit characters at the far end.
Bidi hit testing: trailing side for RTL · case 01
Clicking the right half of an RTL character places the caret after it logically.
Bidi hit testing: trailing side for RTL · case 02
Clicking the right half of an RTL character places the caret after it logically.
Bidi hit testing: trailing side for RTL · case 03
Clicking the right half of an RTL character places the caret after it logically.
Bidi hit testing: trailing side for RTL · case 04
Clicking the right half of an RTL character places the caret after it logically.
Bidi hit testing: trailing side for RTL · case 05
Clicking the right half of an RTL character places the caret after it logically.
Bidi hit testing: visual slot lookup · case 01
Clicks hit the character with the logical index equal to the slot.
Bidi hit testing: visual slot lookup · case 02
Clicks hit the character with the logical index equal to the slot.
Bidi hit testing: visual slot lookup · case 03
Clicks hit the character with the logical index equal to the slot.
Bidi hit testing: visual slot lookup · case 04
Clicks hit the character with the logical index equal to the slot.
Bidi hit testing: visual slot lookup · case 05
Clicks hit the character with the logical index equal to the slot.
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 ↗