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

Hunk overlap check: ranges extend one line past their last line · case 01

Hunks one line apart are reported as conflicting.

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

Hunk overlap check: ranges extend one line past their last line · case 02

Hunks one line apart are reported as conflicting.

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

Hunk overlap check: ranges extend one line past their last line · case 03

Hunks one line apart are reported as conflicting.

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

Hunk overlap check: ranges extend one line past their last line · case 04

Hunks one line apart are reported as conflicting.

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

Hunk overlap check: ranges extend one line past their last line · case 05

Hunks one line apart are reported as conflicting.

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

Patch reversal: an omitted count becomes an explicit zero · case 01

Reversing a single-line hunk produces a header claiming an empty range.

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

Patch reversal: an omitted count becomes an explicit zero · case 02

Reversing a single-line hunk produces a header claiming an empty range.

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

Patch reversal: an omitted count becomes an explicit zero · case 03

Reversing a single-line hunk produces a header claiming an empty range.

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

Patch reversal: an omitted count becomes an explicit zero · case 04

Reversing a single-line hunk produces a header claiming an empty range.

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

Patch reversal: an omitted count becomes an explicit zero · case 05

Reversing a single-line hunk produces a header claiming an empty range.

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

Patch reversal: header starts are swapped but counts are not · case 01

The reversed hunk's header counts disagree with its body.

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

Patch reversal: header starts are swapped but counts are not · case 02

The reversed hunk's header counts disagree with its body.

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

Patch reversal: header starts are swapped but counts are not · case 03

The reversed hunk's header counts disagree with its body.

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

Patch reversal: header starts are swapped but counts are not · case 04

The reversed hunk's header counts disagree with its body.

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

Patch reversal: header starts are swapped but counts are not · case 05

The reversed hunk's header counts disagree with its body.

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

Patch reversal: reversed blocks list additions before removals · case 01

The reversed hunk shows new lines before old lines inside each change.

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

Patch reversal: reversed blocks list additions before removals · case 02

The reversed hunk shows new lines before old lines inside each change.

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

Patch reversal: reversed blocks list additions before removals · case 03

The reversed hunk shows new lines before old lines inside each change.

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

Patch reversal: reversed blocks list additions before removals · case 04

The reversed hunk shows new lines before old lines inside each change.

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

Patch reversal: reversed blocks list additions before removals · case 05

The reversed hunk shows new lines before old lines inside each change.

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

Patch reversal: no-newline markers detach from their lines · case 01

After reordering, the missing-newline marker follows the wrong line or starts a block.

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

Patch reversal: no-newline markers detach from their lines · case 02

After reordering, the missing-newline marker follows the wrong line or starts a block.

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

Patch reversal: no-newline markers detach from their lines · case 03

After reordering, the missing-newline marker follows the wrong line or starts a block.

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

Patch reversal: no-newline markers detach from their lines · case 04

After reordering, the missing-newline marker follows the wrong line or starts a block.

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

Patch reversal: no-newline markers detach from their lines · case 05

After reordering, the missing-newline marker follows the wrong line or starts a block.

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

Patch reversal: the function context after the header is dropped · case 01

Reversed hunks lose the section heading shown after the @@ markers.

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

Patch reversal: the function context after the header is dropped · case 02

Reversed hunks lose the section heading shown after the @@ markers.

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

Patch reversal: the function context after the header is dropped · case 03

Reversed hunks lose the section heading shown after the @@ markers.

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

Patch reversal: the function context after the header is dropped · case 04

Reversed hunks lose the section heading shown after the @@ markers.

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

Patch reversal: the function context after the header is dropped · case 05

Reversed hunks lose the section heading shown after the @@ markers.

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

Blame propagation: removed lines do not advance the old-line cursor · case 01

Lines after a deletion are credited to the commits of the deleted lines.

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

Blame propagation: removed lines do not advance the old-line cursor · case 02

Lines after a deletion are credited to the commits of the deleted lines.

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

Blame propagation: removed lines do not advance the old-line cursor · case 03

Lines after a deletion are credited to the commits of the deleted lines.

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

Blame propagation: removed lines do not advance the old-line cursor · case 04

Lines after a deletion are credited to the commits of the deleted lines.

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

Blame propagation: removed lines do not advance the old-line cursor · case 05

Lines after a deletion are credited to the commits of the deleted lines.

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

Blame propagation: whitespace-only rewrites keep old blame even when not requested · case 01

Plain blame hides reformatting commits.

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

Blame propagation: whitespace-only rewrites keep old blame even when not requested · case 02

Plain blame hides reformatting commits.

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

Blame propagation: whitespace-only rewrites keep old blame even when not requested · case 03

Plain blame hides reformatting commits.

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

Blame propagation: whitespace-only rewrites keep old blame even when not requested · case 04

Plain blame hides reformatting commits.

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

Blame propagation: whitespace-only rewrites keep old blame even when not requested · case 05

Plain blame hides reformatting commits.

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

Blame propagation: every added line is compared with the first removed line · case 01

The second and later reformatted lines are credited to the reformatting commit, and duplicates inherit the wrong commit.

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

Blame propagation: every added line is compared with the first removed line · case 02

The second and later reformatted lines are credited to the reformatting commit, and duplicates inherit the wrong commit.

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

Blame propagation: every added line is compared with the first removed line · case 03

The second and later reformatted lines are credited to the reformatting commit, and duplicates inherit the wrong commit.

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

Blame propagation: every added line is compared with the first removed line · case 04

The second and later reformatted lines are credited to the reformatting commit, and duplicates inherit the wrong commit.

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

Blame propagation: every added line is compared with the first removed line · case 05

The second and later reformatted lines are credited to the reformatting commit, and duplicates inherit the wrong commit.

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

Unified hunk parser: an omitted old count is read as zero · case 01

Single-line hunks are rejected as truncated or misread.

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

Unified hunk parser: an omitted old count is read as zero · case 02

Single-line hunks are rejected as truncated or misread.

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

Unified hunk parser: an omitted old count is read as zero · case 03

Single-line hunks are rejected as truncated or misread.

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

Unified hunk parser: an omitted old count is read as zero · case 04

Single-line hunks are rejected as truncated or misread.

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

Unified hunk parser: an omitted old count is read as zero · case 05

Single-line hunks are rejected as truncated or misread.

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

Unified hunk parser: no-newline markers end the hunk body · case 01

Patches touching a last line without newline are reported as truncated.

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

Unified hunk parser: no-newline markers end the hunk body · case 02

Patches touching a last line without newline are reported as truncated.

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

Unified hunk parser: no-newline markers end the hunk body · case 03

Patches touching a last line without newline are reported as truncated.

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

Unified hunk parser: no-newline markers end the hunk body · case 04

Patches touching a last line without newline are reported as truncated.

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

Unified hunk parser: no-newline markers end the hunk body · case 05

Patches touching a last line without newline are reported as truncated.

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

Unified hunk parser: an empty line inside a hunk ends it · case 01

Patches whose blank context lines lost their leading space are rejected as truncated.

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

Unified hunk parser: an empty line inside a hunk ends it · case 02

Patches whose blank context lines lost their leading space are rejected as truncated.

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

Unified hunk parser: an empty line inside a hunk ends it · case 03

Patches whose blank context lines lost their leading space are rejected as truncated.

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

Unified hunk parser: an empty line inside a hunk ends it · case 04

Patches whose blank context lines lost their leading space are rejected as truncated.

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

Unified hunk parser: an empty line inside a hunk ends it · case 05

Patches whose blank context lines lost their leading space are rejected as truncated.

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

Unified hunk parser: the body stops when either side is exhausted · case 01

Hunks ending in additions or removals are reported as truncated.

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

Unified hunk parser: the body stops when either side is exhausted · case 02

Hunks ending in additions or removals are reported as truncated.

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

Unified hunk parser: the body stops when either side is exhausted · case 03

Hunks ending in additions or removals are reported as truncated.

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

Unified hunk parser: the body stops when either side is exhausted · case 04

Hunks ending in additions or removals are reported as truncated.

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

Unified hunk parser: the body stops when either side is exhausted · case 05

Hunks ending in additions or removals are reported as truncated.

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

Tree listing diff: directories are ordered by bare name · case 01

A file replaced by a same-named directory is reported as a type change, and entries around directories are misordered.

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

Tree listing diff: directories are ordered by bare name · case 02

A file replaced by a same-named directory is reported as a type change, and entries around directories are misordered.

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

Tree listing diff: directories are ordered by bare name · case 03

A file replaced by a same-named directory is reported as a type change, and entries around directories are misordered.

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

Tree listing diff: directories are ordered by bare name · case 04

A file replaced by a same-named directory is reported as a type change, and entries around directories are misordered.

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

Tree listing diff: directories are ordered by bare name · case 05

A file replaced by a same-named directory is reported as a type change, and entries around directories are misordered.

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

Tree listing diff: an executable-bit change is reported as a type change · case 01

Toggling the executable bit shows up as "T" instead of a modification.

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

Tree listing diff: an executable-bit change is reported as a type change · case 02

Toggling the executable bit shows up as "T" instead of a modification.

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

Tree listing diff: an executable-bit change is reported as a type change · case 03

Toggling the executable bit shows up as "T" instead of a modification.

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

Tree listing diff: an executable-bit change is reported as a type change · case 04

Toggling the executable bit shows up as "T" instead of a modification.

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

Tree listing diff: an executable-bit change is reported as a type change · case 05

Toggling the executable bit shows up as "T" instead of a modification.

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

Tree listing diff: mode-only changes are not reported · case 01

Making a script executable produces no change entry.

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

Tree listing diff: mode-only changes are not reported · case 02

Making a script executable produces no change entry.

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

Tree listing diff: mode-only changes are not reported · case 03

Making a script executable produces no change entry.

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

Tree listing diff: mode-only changes are not reported · case 04

Making a script executable produces no change entry.

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

Tree listing diff: mode-only changes are not reported · case 05

Making a script executable produces no change entry.

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

Tree listing diff: entries after the shorter listing ends are ignored · case 01

Files added or deleted at the end of the directory are missing from the diff.

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

Tree listing diff: entries after the shorter listing ends are ignored · case 02

Files added or deleted at the end of the directory are missing from the diff.

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

Tree listing diff: entries after the shorter listing ends are ignored · case 03

Files added or deleted at the end of the directory are missing from the diff.

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

Tree listing diff: entries after the shorter listing ends are ignored · case 04

Files added or deleted at the end of the directory are missing from the diff.

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

Tree listing diff: entries after the shorter listing ends are ignored · case 05

Files added or deleted at the end of the directory are missing from the diff.

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

Hunk function context: the hunk's own first line can be its heading · case 01

A hunk that starts on a definition shows that definition instead of the enclosing one.

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

Hunk function context: the hunk's own first line can be its heading · case 02

A hunk that starts on a definition shows that definition instead of the enclosing one.

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

Hunk function context: the hunk's own first line can be its heading · case 03

A hunk that starts on a definition shows that definition instead of the enclosing one.

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

Hunk function context: the hunk's own first line can be its heading · case 04

A hunk that starts on a definition shows that definition instead of the enclosing one.

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

Hunk function context: the hunk's own first line can be its heading · case 05

A hunk that starts on a definition shows that definition instead of the enclosing one.

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

Hunk function context: indented statements are taken as headings · case 01

The header shows a statement inside the function instead of the function signature.

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

Hunk function context: indented statements are taken as headings · case 02

The header shows a statement inside the function instead of the function signature.

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

Hunk function context: indented statements are taken as headings · case 03

The header shows a statement inside the function instead of the function signature.

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

Hunk function context: indented statements are taken as headings · case 04

The header shows a statement inside the function instead of the function signature.

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

Hunk function context: indented statements are taken as headings · case 05

The header shows a statement inside the function instead of the function signature.

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

Hunk function context: long headings are not truncated · case 01

Very long signatures overflow the hunk header.

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

Hunk function context: long headings are not truncated · case 02

Very long signatures overflow the hunk header.

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

Hunk function context: long headings are not truncated · case 03

Very long signatures overflow the hunk header.

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

Hunk function context: long headings are not truncated · case 04

Very long signatures overflow the hunk header.

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

Hunk function context: long headings are not truncated · case 05

Very long signatures overflow the hunk header.

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 ↗