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

Unified hunk builder: leading context is measured from the last change of a group · case 01

A hunk that groups several changes starts after its first change, losing lines and misnumbering the header.

Text diff and three-way merge● Open access↗
FA-75402

Unified hunk builder: leading context is measured from the last change of a group · case 02

A hunk that groups several changes starts after its first change, losing lines and misnumbering the header.

Text diff and three-way merge◈ Members↗
FA-75403

Unified hunk builder: leading context is measured from the last change of a group · case 03

A hunk that groups several changes starts after its first change, losing lines and misnumbering the header.

Text diff and three-way merge◈ Members↗
FA-75404

Unified hunk builder: leading context is measured from the last change of a group · case 04

A hunk that groups several changes starts after its first change, losing lines and misnumbering the header.

Text diff and three-way merge◈ Members↗
FA-75405

Unified hunk builder: leading context is measured from the last change of a group · case 05

A hunk that groups several changes starts after its first change, losing lines and misnumbering the header.

Text diff and three-way merge◈ Members↗
FA-75406

Unified hunk builder: old range counts exclude context lines · case 01

Header counts disagree with the hunk body and the patch is rejected as malformed.

Text diff and three-way merge● Open access↗
FA-75407

Unified hunk builder: old range counts exclude context lines · case 02

Header counts disagree with the hunk body and the patch is rejected as malformed.

Text diff and three-way merge◈ Members↗
FA-75408

Unified hunk builder: old range counts exclude context lines · case 03

Header counts disagree with the hunk body and the patch is rejected as malformed.

Text diff and three-way merge◈ Members↗
FA-75409

Unified hunk builder: old range counts exclude context lines · case 04

Header counts disagree with the hunk body and the patch is rejected as malformed.

Text diff and three-way merge◈ Members↗
FA-75410

Unified hunk builder: old range counts exclude context lines · case 05

Header counts disagree with the hunk body and the patch is rejected as malformed.

Text diff and three-way merge◈ Members↗
FA-75411

Unified hunk builder: context lines do not advance the old line number · case 01

Hunk headers point to old line numbers that drift upwards after every context line.

Text diff and three-way merge● Open access↗
FA-75412

Unified hunk builder: context lines do not advance the old line number · case 02

Hunk headers point to old line numbers that drift upwards after every context line.

Text diff and three-way merge◈ Members↗
FA-75413

Unified hunk builder: context lines do not advance the old line number · case 03

Hunk headers point to old line numbers that drift upwards after every context line.

Text diff and three-way merge◈ Members↗
FA-75414

Unified hunk builder: context lines do not advance the old line number · case 04

Hunk headers point to old line numbers that drift upwards after every context line.

Text diff and three-way merge◈ Members↗
FA-75415

Unified hunk builder: context lines do not advance the old line number · case 05

Hunk headers point to old line numbers that drift upwards after every context line.

Text diff and three-way merge◈ Members↗
FA-75416

Patch application with offset search: the discovered offset is not carried to later hunks · case 01

After one hunk applies with an offset, later hunks are searched from stale positions and may be rejected.

Text diff and three-way merge● Open access↗
FA-75417

Patch application with offset search: the discovered offset is not carried to later hunks · case 02

After one hunk applies with an offset, later hunks are searched from stale positions and may be rejected.

Text diff and three-way merge◈ Members↗
FA-75418

Patch application with offset search: the discovered offset is not carried to later hunks · case 03

After one hunk applies with an offset, later hunks are searched from stale positions and may be rejected.

Text diff and three-way merge◈ Members↗
FA-75419

Patch application with offset search: the discovered offset is not carried to later hunks · case 04

After one hunk applies with an offset, later hunks are searched from stale positions and may be rejected.

Text diff and three-way merge◈ Members↗
FA-75420

Patch application with offset search: the discovered offset is not carried to later hunks · case 05

After one hunk applies with an offset, later hunks are searched from stale positions and may be rejected.

Text diff and three-way merge◈ Members↗
FA-75421

Patch application with offset search: equal distances prefer the later position · case 01

An ambiguous hunk applies to the later of two equally distant matches.

Text diff and three-way merge● Open access↗
FA-75422

Patch application with offset search: equal distances prefer the later position · case 02

An ambiguous hunk applies to the later of two equally distant matches.

Text diff and three-way merge◈ Members↗
FA-75423

Patch application with offset search: equal distances prefer the later position · case 03

An ambiguous hunk applies to the later of two equally distant matches.

Text diff and three-way merge◈ Members↗
FA-75424

Patch application with offset search: equal distances prefer the later position · case 04

An ambiguous hunk applies to the later of two equally distant matches.

Text diff and three-way merge◈ Members↗
FA-75425

Patch application with offset search: equal distances prefer the later position · case 05

An ambiguous hunk applies to the later of two equally distant matches.

Text diff and three-way merge◈ Members↗
FA-75426

Patch application with offset search: a rejected hunk still shifts later hunks · case 01

After one hunk fails, the following hunks are searched at displaced positions.

Text diff and three-way merge● Open access↗
FA-75427

Patch application with offset search: a rejected hunk still shifts later hunks · case 02

After one hunk fails, the following hunks are searched at displaced positions.

Text diff and three-way merge◈ Members↗
FA-75428

Patch application with offset search: a rejected hunk still shifts later hunks · case 03

After one hunk fails, the following hunks are searched at displaced positions.

Text diff and three-way merge◈ Members↗
FA-75429

Patch application with offset search: a rejected hunk still shifts later hunks · case 04

After one hunk fails, the following hunks are searched at displaced positions.

Text diff and three-way merge◈ Members↗
FA-75430

Patch application with offset search: a rejected hunk still shifts later hunks · case 05

After one hunk fails, the following hunks are searched at displaced positions.

Text diff and three-way merge◈ Members↗
FA-75431

Patch application with offset search: a match exactly at the offset limit is rejected · case 01

Hunks displaced by exactly max_offset lines fail to apply.

Text diff and three-way merge● Open access↗
FA-75432

Patch application with offset search: a match exactly at the offset limit is rejected · case 02

Hunks displaced by exactly max_offset lines fail to apply.

Text diff and three-way merge◈ Members↗
FA-75433

Patch application with offset search: a match exactly at the offset limit is rejected · case 03

Hunks displaced by exactly max_offset lines fail to apply.

Text diff and three-way merge◈ Members↗
FA-75434

Patch application with offset search: a match exactly at the offset limit is rejected · case 04

Hunks displaced by exactly max_offset lines fail to apply.

Text diff and three-way merge◈ Members↗
FA-75435

Patch application with offset search: a match exactly at the offset limit is rejected · case 05

Hunks displaced by exactly max_offset lines fail to apply.

Text diff and three-way merge◈ Members↗
FA-75436

Patch application with offset search: the replaced span uses the new length · case 01

Applying a hunk that grows or shrinks the text swallows or duplicates neighbouring lines.

Text diff and three-way merge● Open access↗
FA-75437

Patch application with offset search: the replaced span uses the new length · case 02

Applying a hunk that grows or shrinks the text swallows or duplicates neighbouring lines.

Text diff and three-way merge◈ Members↗
FA-75438

Patch application with offset search: the replaced span uses the new length · case 03

Applying a hunk that grows or shrinks the text swallows or duplicates neighbouring lines.

Text diff and three-way merge◈ Members↗
FA-75439

Patch application with offset search: the replaced span uses the new length · case 04

Applying a hunk that grows or shrinks the text swallows or duplicates neighbouring lines.

Text diff and three-way merge◈ Members↗
FA-75440

Patch application with offset search: the replaced span uses the new length · case 05

Applying a hunk that grows or shrinks the text swallows or duplicates neighbouring lines.

Text diff and three-way merge◈ Members↗
FA-75441

diff3 chunk merge: a change made only on their side is discarded · case 01

Edits from the other branch silently vanish when our side left the region untouched.

Text diff and three-way merge● Open access↗
FA-75442

diff3 chunk merge: a change made only on their side is discarded · case 02

Edits from the other branch silently vanish when our side left the region untouched.

Text diff and three-way merge◈ Members↗
FA-75443

diff3 chunk merge: a change made only on their side is discarded · case 03

Edits from the other branch silently vanish when our side left the region untouched.

Text diff and three-way merge◈ Members↗
FA-75444

diff3 chunk merge: a change made only on their side is discarded · case 04

Edits from the other branch silently vanish when our side left the region untouched.

Text diff and three-way merge◈ Members↗
FA-75445

diff3 chunk merge: a change made only on their side is discarded · case 05

Edits from the other branch silently vanish when our side left the region untouched.

Text diff and three-way merge◈ Members↗
FA-75446

diff3 chunk merge: identical edits on both sides are reported as a conflict · case 01

Both branches made the same change and the merge still stops with a conflict.

Text diff and three-way merge● Open access↗
FA-75447

diff3 chunk merge: identical edits on both sides are reported as a conflict · case 02

Both branches made the same change and the merge still stops with a conflict.

Text diff and three-way merge◈ Members↗
FA-75448

diff3 chunk merge: identical edits on both sides are reported as a conflict · case 03

Both branches made the same change and the merge still stops with a conflict.

Text diff and three-way merge◈ Members↗
FA-75449

diff3 chunk merge: identical edits on both sides are reported as a conflict · case 04

Both branches made the same change and the merge still stops with a conflict.

Text diff and three-way merge◈ Members↗
FA-75450

diff3 chunk merge: identical edits on both sides are reported as a conflict · case 05

Both branches made the same change and the merge still stops with a conflict.

Text diff and three-way merge◈ Members↗
FA-75451

diff3 chunk merge: their copy of the anchor line leaks into the next region · case 01

After every stable line, their region looks changed and clean merges become conflicts or duplicate the anchor.

Text diff and three-way merge● Open access↗
FA-75452

diff3 chunk merge: their copy of the anchor line leaks into the next region · case 02

After every stable line, their region looks changed and clean merges become conflicts or duplicate the anchor.

Text diff and three-way merge◈ Members↗
FA-75453

diff3 chunk merge: their copy of the anchor line leaks into the next region · case 03

After every stable line, their region looks changed and clean merges become conflicts or duplicate the anchor.

Text diff and three-way merge◈ Members↗
FA-75454

diff3 chunk merge: their copy of the anchor line leaks into the next region · case 04

After every stable line, their region looks changed and clean merges become conflicts or duplicate the anchor.

Text diff and three-way merge◈ Members↗
FA-75455

diff3 chunk merge: their copy of the anchor line leaks into the next region · case 05

After every stable line, their region looks changed and clean merges become conflicts or duplicate the anchor.

Text diff and three-way merge◈ Members↗
FA-75456

diff3 chunk merge: conflicts omit the base section · case 01

Conflict hunks lack the original text, contrary to the diff3 conflict style.

Text diff and three-way merge● Open access↗
FA-75457

diff3 chunk merge: conflicts omit the base section · case 02

Conflict hunks lack the original text, contrary to the diff3 conflict style.

Text diff and three-way merge◈ Members↗
FA-75458

diff3 chunk merge: conflicts omit the base section · case 03

Conflict hunks lack the original text, contrary to the diff3 conflict style.

Text diff and three-way merge◈ Members↗
FA-75459

diff3 chunk merge: conflicts omit the base section · case 04

Conflict hunks lack the original text, contrary to the diff3 conflict style.

Text diff and three-way merge◈ Members↗
FA-75460

diff3 chunk merge: conflicts omit the base section · case 05

Conflict hunks lack the original text, contrary to the diff3 conflict style.

Text diff and three-way merge◈ Members↗
FA-75461

diff3 chunk merge: changes after the last stable line are dropped · case 01

Lines appended at the end of a file by either branch disappear from the merge.

Text diff and three-way merge● Open access↗
FA-75462

diff3 chunk merge: changes after the last stable line are dropped · case 02

Lines appended at the end of a file by either branch disappear from the merge.

Text diff and three-way merge◈ Members↗
FA-75463

diff3 chunk merge: changes after the last stable line are dropped · case 03

Lines appended at the end of a file by either branch disappear from the merge.

Text diff and three-way merge◈ Members↗
FA-75464

diff3 chunk merge: changes after the last stable line are dropped · case 04

Lines appended at the end of a file by either branch disappear from the merge.

Text diff and three-way merge◈ Members↗
FA-75465

diff3 chunk merge: changes after the last stable line are dropped · case 05

Lines appended at the end of a file by either branch disappear from the merge.

Text diff and three-way merge◈ Members↗
FA-75466

Conflict marker resolution: longer runs of marker characters open conflicts · case 01

Content lines such as banners made of angle brackets are mistaken for conflict markers.

Text diff and three-way merge● Open access↗
FA-75467

Conflict marker resolution: longer runs of marker characters open conflicts · case 02

Content lines such as banners made of angle brackets are mistaken for conflict markers.

Text diff and three-way merge◈ Members↗
FA-75468

Conflict marker resolution: longer runs of marker characters open conflicts · case 03

Content lines such as banners made of angle brackets are mistaken for conflict markers.

Text diff and three-way merge◈ Members↗
FA-75469

Conflict marker resolution: longer runs of marker characters open conflicts · case 04

Content lines such as banners made of angle brackets are mistaken for conflict markers.

Text diff and three-way merge◈ Members↗
FA-75470

Conflict marker resolution: longer runs of marker characters open conflicts · case 05

Content lines such as banners made of angle brackets are mistaken for conflict markers.

Text diff and three-way merge◈ Members↗
FA-75471

Conflict marker resolution: the base section is read as part of ours · case 01

Resolving to ours includes the base marker and the original text.

Text diff and three-way merge● Open access↗
FA-75472

Conflict marker resolution: the base section is read as part of ours · case 02

Resolving to ours includes the base marker and the original text.

Text diff and three-way merge◈ Members↗
FA-75473

Conflict marker resolution: the base section is read as part of ours · case 03

Resolving to ours includes the base marker and the original text.

Text diff and three-way merge◈ Members↗
FA-75474

Conflict marker resolution: the base section is read as part of ours · case 04

Resolving to ours includes the base marker and the original text.

Text diff and three-way merge◈ Members↗
FA-75475

Conflict marker resolution: the base section is read as part of ours · case 05

Resolving to ours includes the base marker and the original text.

Text diff and three-way merge◈ Members↗
FA-75476

Conflict marker resolution: a longer rule of equals signs ends the ours section · case 01

A heading underline inside our side splits the conflict in the wrong place.

Text diff and three-way merge● Open access↗
FA-75477

Conflict marker resolution: a longer rule of equals signs ends the ours section · case 02

A heading underline inside our side splits the conflict in the wrong place.

Text diff and three-way merge◈ Members↗
FA-75478

Conflict marker resolution: a longer rule of equals signs ends the ours section · case 03

A heading underline inside our side splits the conflict in the wrong place.

Text diff and three-way merge◈ Members↗
FA-75479

Conflict marker resolution: a longer rule of equals signs ends the ours section · case 04

A heading underline inside our side splits the conflict in the wrong place.

Text diff and three-way merge◈ Members↗
FA-75480

Conflict marker resolution: a longer rule of equals signs ends the ours section · case 05

A heading underline inside our side splits the conflict in the wrong place.

Text diff and three-way merge◈ Members↗
FA-75481

Conflict marker resolution: union places their lines first · case 01

The union resolution lists the other branch's lines before ours.

Text diff and three-way merge● Open access↗
FA-75482

Conflict marker resolution: union places their lines first · case 02

The union resolution lists the other branch's lines before ours.

Text diff and three-way merge◈ Members↗
FA-75483

Conflict marker resolution: union places their lines first · case 03

The union resolution lists the other branch's lines before ours.

Text diff and three-way merge◈ Members↗
FA-75484

Conflict marker resolution: union places their lines first · case 04

The union resolution lists the other branch's lines before ours.

Text diff and three-way merge◈ Members↗
FA-75485

Conflict marker resolution: union places their lines first · case 05

The union resolution lists the other branch's lines before ours.

Text diff and three-way merge◈ Members↗
FA-75486

Conflict marker resolution: an unclosed conflict silently drops its lines · case 01

A truncated file resolves without error and loses the text of the open conflict.

Text diff and three-way merge● Open access↗
FA-75487

Conflict marker resolution: an unclosed conflict silently drops its lines · case 02

A truncated file resolves without error and loses the text of the open conflict.

Text diff and three-way merge◈ Members↗
FA-75488

Conflict marker resolution: an unclosed conflict silently drops its lines · case 03

A truncated file resolves without error and loses the text of the open conflict.

Text diff and three-way merge◈ Members↗
FA-75489

Conflict marker resolution: an unclosed conflict silently drops its lines · case 04

A truncated file resolves without error and loses the text of the open conflict.

Text diff and three-way merge◈ Members↗
FA-75490

Conflict marker resolution: an unclosed conflict silently drops its lines · case 05

A truncated file resolves without error and loses the text of the open conflict.

Text diff and three-way merge◈ Members↗
FA-75491

End-of-file newline diff: a terminated file gains an empty unterminated last line · case 01

Every newline-terminated file shows a phantom empty line with a missing-newline marker.

Text diff and three-way merge● Open access↗
FA-75492

End-of-file newline diff: a terminated file gains an empty unterminated last line · case 02

Every newline-terminated file shows a phantom empty line with a missing-newline marker.

Text diff and three-way merge◈ Members↗
FA-75493

End-of-file newline diff: a terminated file gains an empty unterminated last line · case 03

Every newline-terminated file shows a phantom empty line with a missing-newline marker.

Text diff and three-way merge◈ Members↗
FA-75494

End-of-file newline diff: a terminated file gains an empty unterminated last line · case 04

Every newline-terminated file shows a phantom empty line with a missing-newline marker.

Text diff and three-way merge◈ Members↗
FA-75495

End-of-file newline diff: a terminated file gains an empty unterminated last line · case 05

Every newline-terminated file shows a phantom empty line with a missing-newline marker.

Text diff and three-way merge◈ Members↗
FA-75496

End-of-file newline diff: lines differing only in the final newline compare equal · case 01

Adding or removing the final newline produces an empty diff.

Text diff and three-way merge● Open access↗
FA-75497

End-of-file newline diff: lines differing only in the final newline compare equal · case 02

Adding or removing the final newline produces an empty diff.

Text diff and three-way merge◈ Members↗
FA-75498

End-of-file newline diff: lines differing only in the final newline compare equal · case 03

Adding or removing the final newline produces an empty diff.

Text diff and three-way merge◈ Members↗
FA-75499

End-of-file newline diff: lines differing only in the final newline compare equal · case 04

Adding or removing the final newline produces an empty diff.

Text diff and three-way merge◈ Members↗
FA-75500

End-of-file newline diff: lines differing only in the final newline compare equal · case 05

Adding or removing the final newline produces an empty diff.

Text diff and three-way merge◈ 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 ↗