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
Edge collapse reports the boundary rule before the link rule · case 01
A collapse that violates both conditions is reported as "boundary" rather than "link".
Edge collapse reports the boundary rule before the link rule · case 02
A collapse that violates both conditions is reported as "boundary" rather than "link".
Edge collapse reports the boundary rule before the link rule · case 03
A collapse that violates both conditions is reported as "boundary" rather than "link".
Edge collapse reports the boundary rule before the link rule · case 04
A collapse that violates both conditions is reported as "boundary" rather than "link".
Edge collapse reports the boundary rule before the link rule · case 05
A collapse that violates both conditions is reported as "boundary" rather than "link".
Loop subdivision edge count adds F instead of 3F · case 01
Predicted edge counts are low and the Euler characteristic drifts after subdivision.
Loop subdivision edge count adds F instead of 3F · case 02
Predicted edge counts are low and the Euler characteristic drifts after subdivision.
Loop subdivision edge count adds F instead of 3F · case 03
Predicted edge counts are low and the Euler characteristic drifts after subdivision.
Loop subdivision edge count adds F instead of 3F · case 04
Predicted edge counts are low and the Euler characteristic drifts after subdivision.
Loop subdivision edge count adds F instead of 3F · case 05
Predicted edge counts are low and the Euler characteristic drifts after subdivision.
Loop subdivision inserts a vertex per face instead of per edge · case 01
Vertex predictions are low for every mesh.
Loop subdivision inserts a vertex per face instead of per edge · case 02
Vertex predictions are low for every mesh.
Loop subdivision inserts a vertex per face instead of per edge · case 03
Vertex predictions are low for every mesh.
Loop subdivision inserts a vertex per face instead of per edge · case 04
Vertex predictions are low for every mesh.
Loop subdivision inserts a vertex per face instead of per edge · case 05
Vertex predictions are low for every mesh.
Catmull-Clark edge count uses the face count for face edges · case 01
Edge predictions are low for any mesh whose faces are not all triangles or quads.
Catmull-Clark edge count uses the face count for face edges · case 02
Edge predictions are low for any mesh whose faces are not all triangles or quads.
Catmull-Clark edge count uses the face count for face edges · case 03
Edge predictions are low for any mesh whose faces are not all triangles or quads.
Catmull-Clark edge count uses the face count for face edges · case 04
Edge predictions are low for any mesh whose faces are not all triangles or quads.
Catmull-Clark edge count uses the face count for face edges · case 05
Edge predictions are low for any mesh whose faces are not all triangles or quads.
Catmull-Clark keeps the input face list after a level · case 01
Face counts do not grow and later levels use stale arities.
Catmull-Clark keeps the input face list after a level · case 02
Face counts do not grow and later levels use stale arities.
Catmull-Clark keeps the input face list after a level · case 03
Face counts do not grow and later levels use stale arities.
Catmull-Clark keeps the input face list after a level · case 04
Face counts do not grow and later levels use stale arities.
Catmull-Clark keeps the input face list after a level · case 05
Face counts do not grow and later levels use stale arities.
Boundary edge count is not refined · case 01
Open meshes report their original boundary edge count after subdivision.
Boundary edge count is not refined · case 02
Open meshes report their original boundary edge count after subdivision.
Boundary edge count is not refined · case 03
Open meshes report their original boundary edge count after subdivision.
Boundary edge count is not refined · case 04
Open meshes report their original boundary edge count after subdivision.
Boundary edge count is not refined · case 05
Open meshes report their original boundary edge count after subdivision.
Loop subdivision accepts polygon faces · case 01
Quads are counted as if they were triangles.
Loop subdivision accepts polygon faces · case 02
Quads are counted as if they were triangles.
Loop subdivision accepts polygon faces · case 03
Quads are counted as if they were triangles.
Loop subdivision accepts polygon faces · case 04
Quads are counted as if they were triangles.
Loop subdivision accepts polygon faces · case 05
Quads are counted as if they were triangles.
Orientation propagation treats opposite edge directions as a mismatch · case 01
Consistent neighbours are flipped and a consistent mesh reports flips everywhere.
Orientation propagation treats opposite edge directions as a mismatch · case 02
Consistent neighbours are flipped and a consistent mesh reports flips everywhere.
Orientation propagation treats opposite edge directions as a mismatch · case 03
Consistent neighbours are flipped and a consistent mesh reports flips everywhere.
Orientation propagation treats opposite edge directions as a mismatch · case 04
Consistent neighbours are flipped and a consistent mesh reports flips everywhere.
Orientation propagation treats opposite edge directions as a mismatch · case 05
Consistent neighbours are flipped and a consistent mesh reports flips everywhere.
Neighbour flip state ignores the current face flip · case 01
Chains of alternately oriented faces are repaired incorrectly after the first flip.
Neighbour flip state ignores the current face flip · case 02
Chains of alternately oriented faces are repaired incorrectly after the first flip.
Neighbour flip state ignores the current face flip · case 03
Chains of alternately oriented faces are repaired incorrectly after the first flip.
Neighbour flip state ignores the current face flip · case 04
Chains of alternately oriented faces are repaired incorrectly after the first flip.
Neighbour flip state ignores the current face flip · case 05
Chains of alternately oriented faces are repaired incorrectly after the first flip.
Orientation propagation never detects a conflict · case 01
Moebius strips and projective planes are reported orientable.
Orientation propagation never detects a conflict · case 02
Moebius strips and projective planes are reported orientable.
Orientation propagation never detects a conflict · case 03
Moebius strips and projective planes are reported orientable.
Orientation propagation never detects a conflict · case 04
Moebius strips and projective planes are reported orientable.
Orientation propagation never detects a conflict · case 05
Moebius strips and projective planes are reported orientable.
Each new component seed is flipped · case 01
Every face of every component is reported as needing a flip.
Each new component seed is flipped · case 02
Every face of every component is reported as needing a flip.
Each new component seed is flipped · case 03
Every face of every component is reported as needing a flip.
Each new component seed is flipped · case 04
Every face of every component is reported as needing a flip.
Each new component seed is flipped · case 05
Every face of every component is reported as needing a flip.
Orientation propagation runs through three-face fins · case 01
Non-manifold books get an orientability answer instead of "non-manifold".
Orientation propagation runs through three-face fins · case 02
Non-manifold books get an orientability answer instead of "non-manifold".
Orientation propagation runs through three-face fins · case 03
Non-manifold books get an orientability answer instead of "non-manifold".
Orientation propagation runs through three-face fins · case 04
Non-manifold books get an orientability answer instead of "non-manifold".
Orientation propagation runs through three-face fins · case 05
Non-manifold books get an orientability answer instead of "non-manifold".
Compaction keeps faces that collapse to a line · case 01
Faces with repeated corners survive and keep otherwise unused vertices alive.
Compaction keeps faces that collapse to a line · case 02
Faces with repeated corners survive and keep otherwise unused vertices alive.
Compaction keeps faces that collapse to a line · case 03
Faces with repeated corners survive and keep otherwise unused vertices alive.
Compaction keeps faces that collapse to a line · case 04
Faces with repeated corners survive and keep otherwise unused vertices alive.
Compaction keeps faces that collapse to a line · case 05
Faces with repeated corners survive and keep otherwise unused vertices alive.
Compaction keeps vertices referenced only by dropped faces · case 01
Orphan vertices from discarded degenerate faces remain in the output.
Compaction keeps vertices referenced only by dropped faces · case 02
Orphan vertices from discarded degenerate faces remain in the output.
Compaction keeps vertices referenced only by dropped faces · case 03
Orphan vertices from discarded degenerate faces remain in the output.
Compaction keeps vertices referenced only by dropped faces · case 04
Orphan vertices from discarded degenerate faces remain in the output.
Compaction keeps vertices referenced only by dropped faces · case 05
Orphan vertices from discarded degenerate faces remain in the output.
Compaction numbers vertices in first-use order · case 01
The output vertex order depends on face order instead of the original index order.
Compaction numbers vertices in first-use order · case 02
The output vertex order depends on face order instead of the original index order.
Compaction numbers vertices in first-use order · case 03
The output vertex order depends on face order instead of the original index order.
Compaction numbers vertices in first-use order · case 04
The output vertex order depends on face order instead of the original index order.
Compaction numbers vertices in first-use order · case 05
The output vertex order depends on face order instead of the original index order.
Compaction writes one-based indices · case 01
Every remapped face points one vertex too far.
Compaction writes one-based indices · case 02
Every remapped face points one vertex too far.
Compaction writes one-based indices · case 03
Every remapped face points one vertex too far.
Compaction writes one-based indices · case 04
Every remapped face points one vertex too far.
Compaction writes one-based indices · case 05
Every remapped face points one vertex too far.
Welding truncates negative coordinates toward zero · case 01
Points just left of a cell centre on the negative side weld with the wrong neighbour.
Welding truncates negative coordinates toward zero · case 02
Points just left of a cell centre on the negative side weld with the wrong neighbour.
Welding truncates negative coordinates toward zero · case 03
Points just left of a cell centre on the negative side weld with the wrong neighbour.
Welding truncates negative coordinates toward zero · case 04
Points just left of a cell centre on the negative side weld with the wrong neighbour.
Welding truncates negative coordinates toward zero · case 05
Points just left of a cell centre on the negative side weld with the wrong neighbour.
Welded vertex is represented by its last original index · case 01
The representative list points at the last merged point instead of the lowest index.
Welded vertex is represented by its last original index · case 02
The representative list points at the last merged point instead of the lowest index.
Welded vertex is represented by its last original index · case 03
The representative list points at the last merged point instead of the lowest index.
Welded vertex is represented by its last original index · case 04
The representative list points at the last merged point instead of the lowest index.
Welded vertex is represented by its last original index · case 05
The representative list points at the last merged point instead of the lowest index.
Welding removes every repeated corner, not only consecutive ones · case 01
Polygons that legitimately revisit a vertex lose corners.
Welding removes every repeated corner, not only consecutive ones · case 02
Polygons that legitimately revisit a vertex lose corners.
Welding removes every repeated corner, not only consecutive ones · case 03
Polygons that legitimately revisit a vertex lose corners.
Welding removes every repeated corner, not only consecutive ones · case 04
Polygons that legitimately revisit a vertex lose corners.
Welding removes every repeated corner, not only consecutive ones · case 05
Polygons that legitimately revisit a vertex lose corners.
Welding keeps a repeated corner across the face seam · case 01
A face whose last corner welds onto its first keeps a zero-length closing edge.
Welding keeps a repeated corner across the face seam · case 02
A face whose last corner welds onto its first keeps a zero-length closing edge.
Welding keeps a repeated corner across the face seam · case 03
A face whose last corner welds onto its first keeps a zero-length closing edge.
Welding keeps a repeated corner across the face seam · case 04
A face whose last corner welds onto its first keeps a zero-length closing edge.
Welding keeps a repeated corner across the face seam · case 05
A face whose last corner welds onto its first keeps a zero-length closing edge.
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 ↗