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

Fat margin is applied only to the upper corner · case 01

Jitter toward negative axes forces constant reinsertions.

Collision detection broadphase● Open access↗
FA-87402

Fat margin is applied only to the upper corner · case 02

Jitter toward negative axes forces constant reinsertions.

Collision detection broadphase◈ Members↗
FA-87403

Fat margin is applied only to the upper corner · case 03

Jitter toward negative axes forces constant reinsertions.

Collision detection broadphase◈ Members↗
FA-87404

Fat margin is applied only to the upper corner · case 04

Jitter toward negative axes forces constant reinsertions.

Collision detection broadphase◈ Members↗
FA-87405

Fat margin is applied only to the upper corner · case 05

Jitter toward negative axes forces constant reinsertions.

Collision detection broadphase◈ Members↗
FA-87406

Displacement multiplier is applied to x only · case 01

Falling bodies escape their fat boxes while sideways movers are fine.

Collision detection broadphase● Open access↗
FA-87407

Displacement multiplier is applied to x only · case 02

Falling bodies escape their fat boxes while sideways movers are fine.

Collision detection broadphase◈ Members↗
FA-87408

Displacement multiplier is applied to x only · case 03

Falling bodies escape their fat boxes while sideways movers are fine.

Collision detection broadphase◈ Members↗
FA-87409

Displacement multiplier is applied to x only · case 04

Falling bodies escape their fat boxes while sideways movers are fine.

Collision detection broadphase◈ Members↗
FA-87410

Displacement multiplier is applied to x only · case 05

Falling bodies escape their fat boxes while sideways movers are fine.

Collision detection broadphase◈ Members↗
FA-87411

Oversized fat boxes are never rebuilt · case 01

After a fast move stops, the huge fat box keeps generating false pairs.

Collision detection broadphase● Open access↗
FA-87412

Oversized fat boxes are never rebuilt · case 02

After a fast move stops, the huge fat box keeps generating false pairs.

Collision detection broadphase◈ Members↗
FA-87413

Oversized fat boxes are never rebuilt · case 03

After a fast move stops, the huge fat box keeps generating false pairs.

Collision detection broadphase◈ Members↗
FA-87414

Oversized fat boxes are never rebuilt · case 04

After a fast move stops, the huge fat box keeps generating false pairs.

Collision detection broadphase◈ Members↗
FA-87415

Oversized fat boxes are never rebuilt · case 05

After a fast move stops, the huge fat box keeps generating false pairs.

Collision detection broadphase◈ Members↗
FA-87416

Fat box size test uses half perimeter instead of area · case 01

The shrink rule triggers at the wrong sizes.

Collision detection broadphase● Open access↗
FA-87417

Fat box size test uses half perimeter instead of area · case 02

The shrink rule triggers at the wrong sizes.

Collision detection broadphase◈ Members↗
FA-87418

Fat box size test uses half perimeter instead of area · case 03

The shrink rule triggers at the wrong sizes.

Collision detection broadphase◈ Members↗
FA-87419

Fat box size test uses half perimeter instead of area · case 04

The shrink rule triggers at the wrong sizes.

Collision detection broadphase◈ Members↗
FA-87420

Fat box size test uses half perimeter instead of area · case 05

The shrink rule triggers at the wrong sizes.

Collision detection broadphase◈ Members↗
FA-87421

Vertical motion extension tests the x displacement sign · case 01

Bodies moving diagonally extend the wrong vertical side.

Collision detection broadphase● Open access↗
FA-87422

Vertical motion extension tests the x displacement sign · case 02

Bodies moving diagonally extend the wrong vertical side.

Collision detection broadphase◈ Members↗
FA-87423

Vertical motion extension tests the x displacement sign · case 03

Bodies moving diagonally extend the wrong vertical side.

Collision detection broadphase◈ Members↗
FA-87424

Vertical motion extension tests the x displacement sign · case 04

Bodies moving diagonally extend the wrong vertical side.

Collision detection broadphase◈ Members↗
FA-87425

Vertical motion extension tests the x displacement sign · case 05

Bodies moving diagonally extend the wrong vertical side.

Collision detection broadphase◈ Members↗
FA-87426

SAH build splits along the shorter centroid extent · case 01

Long thin scenes are cut across their narrow side and both children overlap heavily.

Collision detection broadphase● Open access↗
FA-87427

SAH build splits along the shorter centroid extent · case 02

Long thin scenes are cut across their narrow side and both children overlap heavily.

Collision detection broadphase◈ Members↗
FA-87428

SAH build splits along the shorter centroid extent · case 03

Long thin scenes are cut across their narrow side and both children overlap heavily.

Collision detection broadphase◈ Members↗
FA-87429

SAH build splits along the shorter centroid extent · case 04

Long thin scenes are cut across their narrow side and both children overlap heavily.

Collision detection broadphase◈ Members↗
FA-87430

SAH build splits along the shorter centroid extent · case 05

Long thin scenes are cut across their narrow side and both children overlap heavily.

Collision detection broadphase◈ Members↗
FA-87431

Primitives are ordered by their minimum edge instead of centroid · case 01

Large primitives are placed on the wrong side of the split.

Collision detection broadphase● Open access↗
FA-87432

Primitives are ordered by their minimum edge instead of centroid · case 02

Large primitives are placed on the wrong side of the split.

Collision detection broadphase◈ Members↗
FA-87433

Primitives are ordered by their minimum edge instead of centroid · case 03

Large primitives are placed on the wrong side of the split.

Collision detection broadphase◈ Members↗
FA-87434

Primitives are ordered by their minimum edge instead of centroid · case 04

Large primitives are placed on the wrong side of the split.

Collision detection broadphase◈ Members↗
FA-87435

Primitives are ordered by their minimum edge instead of centroid · case 05

Large primitives are placed on the wrong side of the split.

Collision detection broadphase◈ Members↗
FA-87436

SAH weights each child area by the other child count · case 01

Unbalanced splits are costed backwards.

Collision detection broadphase● Open access↗
FA-87437

SAH weights each child area by the other child count · case 02

Unbalanced splits are costed backwards.

Collision detection broadphase◈ Members↗
FA-87438

SAH weights each child area by the other child count · case 03

Unbalanced splits are costed backwards.

Collision detection broadphase◈ Members↗
FA-87439

SAH weights each child area by the other child count · case 04

Unbalanced splits are costed backwards.

Collision detection broadphase◈ Members↗
FA-87440

SAH weights each child area by the other child count · case 05

Unbalanced splits are costed backwards.

Collision detection broadphase◈ Members↗
FA-87441

SAH always splits because the leaf cost is ignored · case 01

Tiny nodes are split although a leaf is cheaper, deepening the tree.

Collision detection broadphase● Open access↗
FA-87442

SAH always splits because the leaf cost is ignored · case 02

Tiny nodes are split although a leaf is cheaper, deepening the tree.

Collision detection broadphase◈ Members↗
FA-87443

SAH always splits because the leaf cost is ignored · case 03

Tiny nodes are split although a leaf is cheaper, deepening the tree.

Collision detection broadphase◈ Members↗
FA-87444

SAH always splits because the leaf cost is ignored · case 04

Tiny nodes are split although a leaf is cheaper, deepening the tree.

Collision detection broadphase◈ Members↗
FA-87445

SAH always splits because the leaf cost is ignored · case 05

Tiny nodes are split although a leaf is cheaper, deepening the tree.

Collision detection broadphase◈ Members↗
FA-87446

SAH skips the last candidate split position · case 01

Splitting off a single outlier on the far side is never considered.

Collision detection broadphase● Open access↗
FA-87447

SAH skips the last candidate split position · case 02

Splitting off a single outlier on the far side is never considered.

Collision detection broadphase◈ Members↗
FA-87448

SAH skips the last candidate split position · case 03

Splitting off a single outlier on the far side is never considered.

Collision detection broadphase◈ Members↗
FA-87449

SAH skips the last candidate split position · case 04

Splitting off a single outlier on the far side is never considered.

Collision detection broadphase◈ Members↗
FA-87450

SAH skips the last candidate split position · case 05

Splitting off a single outlier on the far side is never considered.

Collision detection broadphase◈ Members↗
FA-87451

SAH normalizes by the parent perimeter at half scale · case 01

Split costs are halved relative to the leaf cost so splitting wins too often.

Collision detection broadphase● Open access↗
FA-87452

SAH normalizes by the parent perimeter at half scale · case 02

Split costs are halved relative to the leaf cost so splitting wins too often.

Collision detection broadphase◈ Members↗
FA-87453

SAH normalizes by the parent perimeter at half scale · case 03

Split costs are halved relative to the leaf cost so splitting wins too often.

Collision detection broadphase◈ Members↗
FA-87454

SAH normalizes by the parent perimeter at half scale · case 04

Split costs are halved relative to the leaf cost so splitting wins too often.

Collision detection broadphase◈ Members↗
FA-87455

SAH normalizes by the parent perimeter at half scale · case 05

Split costs are halved relative to the leaf cost so splitting wins too often.

Collision detection broadphase◈ Members↗
FA-87456

BVH traversal prunes nodes that only touch the query on x · case 01

Queries flush against an object edge return nothing.

Collision detection broadphase● Open access↗
FA-87457

BVH traversal prunes nodes that only touch the query on x · case 02

Queries flush against an object edge return nothing.

Collision detection broadphase◈ Members↗
FA-87458

BVH traversal prunes nodes that only touch the query on x · case 03

Queries flush against an object edge return nothing.

Collision detection broadphase◈ Members↗
FA-87459

BVH traversal prunes nodes that only touch the query on x · case 04

Queries flush against an object edge return nothing.

Collision detection broadphase◈ Members↗
FA-87460

BVH traversal prunes nodes that only touch the query on x · case 05

Queries flush against an object edge return nothing.

Collision detection broadphase◈ Members↗
FA-87461

Leaves are accepted without testing their own bounds · case 01

Every leaf under an overlapping parent is returned as a hit.

Collision detection broadphase● Open access↗
FA-87462

Leaves are accepted without testing their own bounds · case 02

Every leaf under an overlapping parent is returned as a hit.

Collision detection broadphase◈ Members↗
FA-87463

Leaves are accepted without testing their own bounds · case 03

Every leaf under an overlapping parent is returned as a hit.

Collision detection broadphase◈ Members↗
FA-87464

Leaves are accepted without testing their own bounds · case 04

Every leaf under an overlapping parent is returned as a hit.

Collision detection broadphase◈ Members↗
FA-87465

Leaves are accepted without testing their own bounds · case 05

Every leaf under an overlapping parent is returned as a hit.

Collision detection broadphase◈ Members↗
FA-87466

BVH query reports node indices instead of leaf ids · case 01

Callers look up the wrong objects for every hit.

Collision detection broadphase● Open access↗
FA-87467

BVH query reports node indices instead of leaf ids · case 02

Callers look up the wrong objects for every hit.

Collision detection broadphase◈ Members↗
FA-87468

BVH query reports node indices instead of leaf ids · case 03

Callers look up the wrong objects for every hit.

Collision detection broadphase◈ Members↗
FA-87469

BVH query reports node indices instead of leaf ids · case 04

Callers look up the wrong objects for every hit.

Collision detection broadphase◈ Members↗
FA-87470

BVH query reports node indices instead of leaf ids · case 05

Callers look up the wrong objects for every hit.

Collision detection broadphase◈ Members↗
FA-87471

Objects straddling the x midline are pushed into the left child · case 01

Queries on the right half miss objects that extend across the midline.

Collision detection broadphase● Open access↗
FA-87472

Objects straddling the x midline are pushed into the left child · case 02

Queries on the right half miss objects that extend across the midline.

Collision detection broadphase◈ Members↗
FA-87473

Objects straddling the x midline are pushed into the left child · case 03

Queries on the right half miss objects that extend across the midline.

Collision detection broadphase◈ Members↗
FA-87474

Objects straddling the x midline are pushed into the left child · case 04

Queries on the right half miss objects that extend across the midline.

Collision detection broadphase◈ Members↗
FA-87475

Objects straddling the x midline are pushed into the left child · case 05

Queries on the right half miss objects that extend across the midline.

Collision detection broadphase◈ Members↗
FA-87476

Objects starting exactly on the midline are treated as straddlers · case 01

Boundary-aligned objects pile up in parent nodes and inflate every query.

Collision detection broadphase● Open access↗
FA-87477

Objects starting exactly on the midline are treated as straddlers · case 02

Boundary-aligned objects pile up in parent nodes and inflate every query.

Collision detection broadphase◈ Members↗
FA-87478

Objects starting exactly on the midline are treated as straddlers · case 03

Boundary-aligned objects pile up in parent nodes and inflate every query.

Collision detection broadphase◈ Members↗
FA-87479

Objects starting exactly on the midline are treated as straddlers · case 04

Boundary-aligned objects pile up in parent nodes and inflate every query.

Collision detection broadphase◈ Members↗
FA-87480

Objects starting exactly on the midline are treated as straddlers · case 05

Boundary-aligned objects pile up in parent nodes and inflate every query.

Collision detection broadphase◈ Members↗
FA-87481

Quadtree splits when a node reaches capacity rather than exceeding it · case 01

Nodes split one object early, creating extra nodes.

Collision detection broadphase● Open access↗
FA-87482

Quadtree splits when a node reaches capacity rather than exceeding it · case 02

Nodes split one object early, creating extra nodes.

Collision detection broadphase◈ Members↗
FA-87483

Quadtree splits when a node reaches capacity rather than exceeding it · case 03

Nodes split one object early, creating extra nodes.

Collision detection broadphase◈ Members↗
FA-87484

Quadtree splits when a node reaches capacity rather than exceeding it · case 04

Nodes split one object early, creating extra nodes.

Collision detection broadphase◈ Members↗
FA-87485

Quadtree splits when a node reaches capacity rather than exceeding it · case 05

Nodes split one object early, creating extra nodes.

Collision detection broadphase◈ Members↗
FA-87486

Quadtree allows one level below the maximum depth · case 01

Degenerate clusters create nodes deeper than configured.

Collision detection broadphase● Open access↗
FA-87487

Quadtree allows one level below the maximum depth · case 02

Degenerate clusters create nodes deeper than configured.

Collision detection broadphase◈ Members↗
FA-87488

Quadtree allows one level below the maximum depth · case 03

Degenerate clusters create nodes deeper than configured.

Collision detection broadphase◈ Members↗
FA-87489

Quadtree allows one level below the maximum depth · case 04

Degenerate clusters create nodes deeper than configured.

Collision detection broadphase◈ Members↗
FA-87490

Quadtree allows one level below the maximum depth · case 05

Degenerate clusters create nodes deeper than configured.

Collision detection broadphase◈ Members↗
FA-87491

Child node origins are laid out column-major while indices are row-major · case 01

Objects are stored in a child covering the wrong region and queries miss them.

Collision detection broadphase● Open access↗
FA-87492

Child node origins are laid out column-major while indices are row-major · case 02

Objects are stored in a child covering the wrong region and queries miss them.

Collision detection broadphase◈ Members↗
FA-87493

Child node origins are laid out column-major while indices are row-major · case 03

Objects are stored in a child covering the wrong region and queries miss them.

Collision detection broadphase◈ Members↗
FA-87494

Child node origins are laid out column-major while indices are row-major · case 04

Objects are stored in a child covering the wrong region and queries miss them.

Collision detection broadphase◈ Members↗
FA-87495

Child node origins are laid out column-major while indices are row-major · case 05

Objects are stored in a child covering the wrong region and queries miss them.

Collision detection broadphase◈ Members↗
FA-87496

Splitting a node does not push existing objects down · case 01

Objects inserted before the split remain in the parent and appear in unrelated queries.

Collision detection broadphase● Open access↗
FA-87497

Splitting a node does not push existing objects down · case 02

Objects inserted before the split remain in the parent and appear in unrelated queries.

Collision detection broadphase◈ Members↗
FA-87498

Splitting a node does not push existing objects down · case 03

Objects inserted before the split remain in the parent and appear in unrelated queries.

Collision detection broadphase◈ Members↗
FA-87499

Splitting a node does not push existing objects down · case 04

Objects inserted before the split remain in the parent and appear in unrelated queries.

Collision detection broadphase◈ Members↗
FA-87500

Splitting a node does not push existing objects down · case 05

Objects inserted before the split remain in the parent and appear in unrelated queries.

Collision detection broadphase◈ 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 ↗