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
Point classification against a polygon with holes: vertex crossing rule · case 01
Points level with a polygon vertex flip between inside and outside.
Point classification against a polygon with holes: vertex crossing rule · case 02
Points level with a polygon vertex flip between inside and outside.
Point classification against a polygon with holes: vertex crossing rule · case 03
Points level with a polygon vertex flip between inside and outside.
Point classification against a polygon with holes: vertex crossing rule · case 04
Points level with a polygon vertex flip between inside and outside.
Point classification against a polygon with holes: vertex crossing rule · case 05
Points level with a polygon vertex flip between inside and outside.
Point classification against a polygon with holes: segment extent test · case 01
Points on axis-parallel edges and on vertices are not reported as boundary.
Point classification against a polygon with holes: segment extent test · case 02
Points on axis-parallel edges and on vertices are not reported as boundary.
Point classification against a polygon with holes: segment extent test · case 03
Points on axis-parallel edges and on vertices are not reported as boundary.
Point classification against a polygon with holes: segment extent test · case 04
Points on axis-parallel edges and on vertices are not reported as boundary.
Point classification against a polygon with holes: segment extent test · case 05
Points on axis-parallel edges and on vertices are not reported as boundary.
DE-9IM matrix named predicate evaluation: T wildcard meaning · case 01
Line and point interactions never satisfy predicates that require a non-empty intersection.
DE-9IM matrix named predicate evaluation: T wildcard meaning · case 02
Line and point interactions never satisfy predicates that require a non-empty intersection.
DE-9IM matrix named predicate evaluation: T wildcard meaning · case 03
Line and point interactions never satisfy predicates that require a non-empty intersection.
DE-9IM matrix named predicate evaluation: T wildcard meaning · case 04
Line and point interactions never satisfy predicates that require a non-empty intersection.
DE-9IM matrix named predicate evaluation: T wildcard meaning · case 05
Line and point interactions never satisfy predicates that require a non-empty intersection.
DE-9IM matrix named predicate evaluation: touches alternatives · case 01
Geometries that meet only boundary-to-boundary are not reported as touching.
DE-9IM matrix named predicate evaluation: touches alternatives · case 02
Geometries that meet only boundary-to-boundary are not reported as touching.
DE-9IM matrix named predicate evaluation: touches alternatives · case 03
Geometries that meet only boundary-to-boundary are not reported as touching.
DE-9IM matrix named predicate evaluation: touches alternatives · case 04
Geometries that meet only boundary-to-boundary are not reported as touching.
DE-9IM matrix named predicate evaluation: touches alternatives · case 05
Geometries that meet only boundary-to-boundary are not reported as touching.
DE-9IM matrix named predicate evaluation: touches point pair exclusion · case 01
Two points are reported as touching.
DE-9IM matrix named predicate evaluation: touches point pair exclusion · case 02
Two points are reported as touching.
DE-9IM matrix named predicate evaluation: touches point pair exclusion · case 03
Two points are reported as touching.
DE-9IM matrix named predicate evaluation: touches point pair exclusion · case 04
Two points are reported as touching.
DE-9IM matrix named predicate evaluation: touches point pair exclusion · case 05
Two points are reported as touching.
DE-9IM matrix named predicate evaluation: overlaps dimension pattern · case 01
Lines that meet at a single crossing point are reported as overlapping.
DE-9IM matrix named predicate evaluation: overlaps dimension pattern · case 02
Lines that meet at a single crossing point are reported as overlapping.
DE-9IM matrix named predicate evaluation: overlaps dimension pattern · case 03
Lines that meet at a single crossing point are reported as overlapping.
DE-9IM matrix named predicate evaluation: overlaps dimension pattern · case 04
Lines that meet at a single crossing point are reported as overlapping.
DE-9IM matrix named predicate evaluation: overlaps dimension pattern · case 05
Lines that meet at a single crossing point are reported as overlapping.
DE-9IM matrix named predicate evaluation: overlaps equal dimension guard · case 01
A line lying partly inside a polygon is reported as overlapping it.
DE-9IM matrix named predicate evaluation: overlaps equal dimension guard · case 02
A line lying partly inside a polygon is reported as overlapping it.
DE-9IM matrix named predicate evaluation: overlaps equal dimension guard · case 03
A line lying partly inside a polygon is reported as overlapping it.
DE-9IM matrix named predicate evaluation: overlaps equal dimension guard · case 04
A line lying partly inside a polygon is reported as overlapping it.
DE-9IM matrix named predicate evaluation: overlaps equal dimension guard · case 05
A line lying partly inside a polygon is reported as overlapping it.
DE-9IM matrix named predicate evaluation: covers alternatives · case 01
A polygon does not cover a line that lies on its boundary.
DE-9IM matrix named predicate evaluation: covers alternatives · case 02
A polygon does not cover a line that lies on its boundary.
DE-9IM matrix named predicate evaluation: covers alternatives · case 03
A polygon does not cover a line that lies on its boundary.
DE-9IM matrix named predicate evaluation: covers alternatives · case 04
A polygon does not cover a line that lies on its boundary.
DE-9IM matrix named predicate evaluation: covers alternatives · case 05
A polygon does not cover a line that lies on its boundary.
Bounding box topological relation: equality test · case 01
Boxes that merely share a lower-left corner are reported as equal.
Bounding box topological relation: equality test · case 02
Boxes that merely share a lower-left corner are reported as equal.
Bounding box topological relation: equality test · case 03
Boxes that merely share a lower-left corner are reported as equal.
Bounding box topological relation: equality test · case 04
Boxes that merely share a lower-left corner are reported as equal.
Bounding box topological relation: equality test · case 05
Boxes that merely share a lower-left corner are reported as equal.
Bounding box topological relation: separation strictness · case 01
Boxes sharing an edge or corner are reported as disjoint.
Bounding box topological relation: separation strictness · case 02
Boxes sharing an edge or corner are reported as disjoint.
Bounding box topological relation: separation strictness · case 03
Boxes sharing an edge or corner are reported as disjoint.
Bounding box topological relation: separation strictness · case 04
Boxes sharing an edge or corner are reported as disjoint.
Bounding box topological relation: separation strictness · case 05
Boxes sharing an edge or corner are reported as disjoint.
Bounding box topological relation: containment with shared edges · case 01
A box flush against the inside of another is not reported as contained.
Bounding box topological relation: containment with shared edges · case 02
A box flush against the inside of another is not reported as contained.
Bounding box topological relation: containment with shared edges · case 03
A box flush against the inside of another is not reported as contained.
Bounding box topological relation: containment with shared edges · case 04
A box flush against the inside of another is not reported as contained.
Bounding box topological relation: containment with shared edges · case 05
A box flush against the inside of another is not reported as contained.
Bounding box topological relation: within operand completeness · case 01
A box poking out of the top of another is reported as within.
Bounding box topological relation: within operand completeness · case 02
A box poking out of the top of another is reported as within.
Bounding box topological relation: within operand completeness · case 03
A box poking out of the top of another is reported as within.
Bounding box topological relation: within operand completeness · case 04
A box poking out of the top of another is reported as within.
Bounding box topological relation: within operand completeness · case 05
A box poking out of the top of another is reported as within.
Bounding box topological relation: touching sides · case 01
Boxes stacked vertically are reported as overlapping.
Bounding box topological relation: touching sides · case 02
Boxes stacked vertically are reported as overlapping.
Bounding box topological relation: touching sides · case 03
Boxes stacked vertically are reported as overlapping.
Bounding box topological relation: touching sides · case 04
Boxes stacked vertically are reported as overlapping.
Bounding box topological relation: touching sides · case 05
Boxes stacked vertically are reported as overlapping.
TopoJSON arc stitching into rings: reversed arc index · case 01
Reversed arcs pull in the neighbouring arc.
TopoJSON arc stitching into rings: reversed arc index · case 02
Reversed arcs pull in the neighbouring arc.
TopoJSON arc stitching into rings: reversed arc index · case 03
Reversed arcs pull in the neighbouring arc.
TopoJSON arc stitching into rings: reversed arc index · case 04
Reversed arcs pull in the neighbouring arc.
TopoJSON arc stitching into rings: reversed arc index · case 05
Reversed arcs pull in the neighbouring arc.
TopoJSON arc stitching into rings: reversal application · case 01
Rings that use an arc backwards jump across the shape.
TopoJSON arc stitching into rings: reversal application · case 02
Rings that use an arc backwards jump across the shape.
TopoJSON arc stitching into rings: reversal application · case 03
Rings that use an arc backwards jump across the shape.
TopoJSON arc stitching into rings: reversal application · case 04
Rings that use an arc backwards jump across the shape.
TopoJSON arc stitching into rings: reversal application · case 05
Rings that use an arc backwards jump across the shape.
TopoJSON arc stitching into rings: delta accumulation · case 01
Decoded arcs collapse around the origin.
TopoJSON arc stitching into rings: delta accumulation · case 02
Decoded arcs collapse around the origin.
TopoJSON arc stitching into rings: delta accumulation · case 03
Decoded arcs collapse around the origin.
TopoJSON arc stitching into rings: delta accumulation · case 04
Decoded arcs collapse around the origin.
TopoJSON arc stitching into rings: delta accumulation · case 05
Decoded arcs collapse around the origin.
TopoJSON arc stitching into rings: transform order · case 01
Decoded coordinates are offset by the translate times the scale.
TopoJSON arc stitching into rings: transform order · case 02
Decoded coordinates are offset by the translate times the scale.
TopoJSON arc stitching into rings: transform order · case 03
Decoded coordinates are offset by the translate times the scale.
TopoJSON arc stitching into rings: transform order · case 04
Decoded coordinates are offset by the translate times the scale.
TopoJSON arc stitching into rings: transform order · case 05
Decoded coordinates are offset by the translate times the scale.
TopoJSON arc stitching into rings: identity transform default · case 01
Unquantized topologies decode every position to the origin.
TopoJSON arc stitching into rings: identity transform default · case 02
Unquantized topologies decode every position to the origin.
TopoJSON arc stitching into rings: identity transform default · case 03
Unquantized topologies decode every position to the origin.
TopoJSON arc stitching into rings: identity transform default · case 04
Unquantized topologies decode every position to the origin.
TopoJSON arc stitching into rings: identity transform default · case 05
Unquantized topologies decode every position to the origin.
TopoJSON arc stitching into rings: junction de-duplication · case 01
Stitched rings lose their closing vertex and contain doubled junctions.
TopoJSON arc stitching into rings: junction de-duplication · case 02
Stitched rings lose their closing vertex and contain doubled junctions.
TopoJSON arc stitching into rings: junction de-duplication · case 03
Stitched rings lose their closing vertex and contain doubled junctions.
TopoJSON arc stitching into rings: junction de-duplication · case 04
Stitched rings lose their closing vertex and contain doubled junctions.
TopoJSON arc stitching into rings: junction de-duplication · case 05
Stitched rings lose their closing vertex and contain doubled junctions.
Rook and queen polygon adjacency: edge direction normalisation · case 01
Neighbouring polygons with the same winding are never rook-adjacent.
Rook and queen polygon adjacency: edge direction normalisation · case 02
Neighbouring polygons with the same winding are never rook-adjacent.
Rook and queen polygon adjacency: edge direction normalisation · case 03
Neighbouring polygons with the same winding are never rook-adjacent.
Rook and queen polygon adjacency: edge direction normalisation · case 04
Neighbouring polygons with the same winding are never rook-adjacent.
Rook and queen polygon adjacency: edge direction normalisation · case 05
Neighbouring polygons with the same winding are never rook-adjacent.
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 ↗