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
Gear ratio divides the joint angle · case 01
Motor commands are ratio^2 too small.
Gear ratio divides the joint angle · case 02
Motor commands are ratio^2 too small.
Gear ratio divides the joint angle · case 03
Motor commands are ratio^2 too small.
Gear ratio divides the joint angle · case 04
Motor commands are ratio^2 too small.
Gear ratio divides the joint angle · case 05
Motor commands are ratio^2 too small.
Encoder counts use banker's rounding · case 01
Exact half counts round to even, so +0.5 counts sometimes round down.
Encoder counts use banker's rounding · case 02
Exact half counts round to even, so +0.5 counts sometimes round down.
Encoder counts use banker's rounding · case 03
Exact half counts round to even, so +0.5 counts sometimes round down.
Encoder counts use banker's rounding · case 04
Exact half counts round to even, so +0.5 counts sometimes round down.
Encoder counts use banker's rounding · case 05
Exact half counts round to even, so +0.5 counts sometimes round down.
Joint direction flag reverses only the raw angle · case 01
Reversed joints get the zero offset applied with the wrong sign.
Joint direction flag reverses only the raw angle · case 02
Reversed joints get the zero offset applied with the wrong sign.
Joint direction flag reverses only the raw angle · case 03
Reversed joints get the zero offset applied with the wrong sign.
Joint direction flag reverses only the raw angle · case 04
Reversed joints get the zero offset applied with the wrong sign.
Joint direction flag reverses only the raw angle · case 05
Reversed joints get the zero offset applied with the wrong sign.
Count limits are checked against joint degrees · case 01
Commands beyond encoder travel pass because the geometric angle is small.
Count limits are checked against joint degrees · case 02
Commands beyond encoder travel pass because the geometric angle is small.
Count limits are checked against joint degrees · case 03
Commands beyond encoder travel pass because the geometric angle is small.
Count limits are checked against joint degrees · case 04
Commands beyond encoder travel pass because the geometric angle is small.
Count limits are checked against joint degrees · case 05
Commands beyond encoder travel pass because the geometric angle is small.
Encoder resolution omits quadrature decoding · case 01
Counts are four times too small.
Encoder resolution omits quadrature decoding · case 02
Counts are four times too small.
Encoder resolution omits quadrature decoding · case 03
Counts are four times too small.
Encoder resolution omits quadrature decoding · case 04
Counts are four times too small.
Encoder resolution omits quadrature decoding · case 05
Counts are four times too small.
Adaptive gain uses J^T J^T e instead of J J^T e · case 01
The step length is tuned to a vector that is not the predicted task-space motion.
Adaptive gain uses J^T J^T e instead of J J^T e · case 02
The step length is tuned to a vector that is not the predicted task-space motion.
Adaptive gain uses J^T J^T e instead of J J^T e · case 03
The step length is tuned to a vector that is not the predicted task-space motion.
Adaptive gain uses J^T J^T e instead of J J^T e · case 04
The step length is tuned to a vector that is not the predicted task-space motion.
Adaptive gain uses J^T J^T e instead of J J^T e · case 05
The step length is tuned to a vector that is not the predicted task-space motion.
Adaptive gain numerator uses the squared error norm · case 01
The step gain ignores how well the predicted motion aligns with the error.
Adaptive gain numerator uses the squared error norm · case 02
The step gain ignores how well the predicted motion aligns with the error.
Adaptive gain numerator uses the squared error norm · case 03
The step gain ignores how well the predicted motion aligns with the error.
Adaptive gain numerator uses the squared error norm · case 04
The step gain ignores how well the predicted motion aligns with the error.
Adaptive gain numerator uses the squared error norm · case 05
The step gain ignores how well the predicted motion aligns with the error.
Adaptive gain divides by the norm instead of the squared norm · case 01
Steps are too long or too short depending on the magnitude of J J^T e.
Adaptive gain divides by the norm instead of the squared norm · case 02
Steps are too long or too short depending on the magnitude of J J^T e.
Adaptive gain divides by the norm instead of the squared norm · case 03
Steps are too long or too short depending on the magnitude of J J^T e.
Adaptive gain divides by the norm instead of the squared norm · case 04
Steps are too long or too short depending on the magnitude of J J^T e.
Adaptive gain divides by the norm instead of the squared norm · case 05
Steps are too long or too short depending on the magnitude of J J^T e.
Euler count stores each shared edge once per direction · case 01
Closed meshes report twice as many edges and a strongly negative Euler characteristic.
Euler count stores each shared edge once per direction · case 02
Closed meshes report twice as many edges and a strongly negative Euler characteristic.
Euler count stores each shared edge once per direction · case 03
Closed meshes report twice as many edges and a strongly negative Euler characteristic.
Euler count stores each shared edge once per direction · case 04
Closed meshes report twice as many edges and a strongly negative Euler characteristic.
Euler count stores each shared edge once per direction · case 05
Closed meshes report twice as many edges and a strongly negative Euler characteristic.
Euler count omits the edge from the last vertex back to the first · case 01
Every face loses one edge, so E is too small and chi too large.
Euler count omits the edge from the last vertex back to the first · case 02
Every face loses one edge, so E is too small and chi too large.
Euler count omits the edge from the last vertex back to the first · case 03
Every face loses one edge, so E is too small and chi too large.
Euler count omits the edge from the last vertex back to the first · case 04
Every face loses one edge, so E is too small and chi too large.
Euler count omits the edge from the last vertex back to the first · case 05
Every face loses one edge, so E is too small and chi too large.
Euler count uses the largest index as the vertex count · case 01
Meshes with unused index gaps report extra vertices and a wrong genus.
Euler count uses the largest index as the vertex count · case 02
Meshes with unused index gaps report extra vertices and a wrong genus.
Euler count uses the largest index as the vertex count · case 03
Meshes with unused index gaps report extra vertices and a wrong genus.
Euler count uses the largest index as the vertex count · case 04
Meshes with unused index gaps report extra vertices and a wrong genus.
Euler count uses the largest index as the vertex count · case 05
Meshes with unused index gaps report extra vertices and a wrong genus.
Boundary loops include edges shared by three faces · case 01
Non-manifold fins are counted as boundary loops.
Boundary loops include edges shared by three faces · case 02
Non-manifold fins are counted as boundary loops.
Boundary loops include edges shared by three faces · case 03
Non-manifold fins are counted as boundary loops.
Boundary loops include edges shared by three faces · case 04
Non-manifold fins are counted as boundary loops.
Boundary loops include edges shared by three faces · case 05
Non-manifold fins are counted as boundary loops.
Genus formula assumes a single connected component · case 01
Two disjoint spheres are reported with genus -1.
Genus formula assumes a single connected component · case 02
Two disjoint spheres are reported with genus -1.
Genus formula assumes a single connected component · case 03
Two disjoint spheres are reported with genus -1.
Genus formula assumes a single connected component · case 04
Two disjoint spheres are reported with genus -1.
Genus formula assumes a single connected component · case 05
Two disjoint spheres are reported with genus -1.
Genus of a non-orientable surface is floored to an integer · case 01
Moebius strips and projective planes report genus 0 instead of the null signal.
Genus of a non-orientable surface is floored to an integer · case 02
Moebius strips and projective planes report genus 0 instead of the null signal.
Genus of a non-orientable surface is floored to an integer · case 03
Moebius strips and projective planes report genus 0 instead of the null signal.
Genus of a non-orientable surface is floored to an integer · case 04
Moebius strips and projective planes report genus 0 instead of the null signal.
Genus of a non-orientable surface is floored to an integer · case 05
Moebius strips and projective planes report genus 0 instead of the null signal.
Consistent shared edges are flagged as inconsistent · case 01
Every properly oriented closed mesh is reported non-orientable.
Consistent shared edges are flagged as inconsistent · case 02
Every properly oriented closed mesh is reported non-orientable.
Consistent shared edges are flagged as inconsistent · case 03
Every properly oriented closed mesh is reported non-orientable.
Consistent shared edges are flagged as inconsistent · case 04
Every properly oriented closed mesh is reported non-orientable.
Consistent shared edges are flagged as inconsistent · case 05
Every properly oriented closed mesh is reported non-orientable.
Inconsistent orientation outranks non-manifold edges · case 01
A mesh with both fins and flipped faces is reported as merely inconsistent.
Inconsistent orientation outranks non-manifold edges · case 02
A mesh with both fins and flipped faces is reported as merely inconsistent.
Inconsistent orientation outranks non-manifold edges · case 03
A mesh with both fins and flipped faces is reported as merely inconsistent.
Inconsistent orientation outranks non-manifold edges · case 04
A mesh with both fins and flipped faces is reported as merely inconsistent.
Inconsistent orientation outranks non-manifold edges · case 05
A mesh with both fins and flipped faces is reported as merely inconsistent.
Repeated consecutive indices create a self-loop edge · case 01
Faces with a duplicated corner add a phantom boundary edge.
Repeated consecutive indices create a self-loop edge · case 02
Faces with a duplicated corner add a phantom boundary edge.
Repeated consecutive indices create a self-loop edge · case 03
Faces with a duplicated corner add a phantom boundary edge.
Repeated consecutive indices create a self-loop edge · case 04
Faces with a duplicated corner add a phantom boundary edge.
Repeated consecutive indices create a self-loop edge · case 05
Faces with a duplicated corner add a phantom boundary edge.
Edges with three or more faces are counted as interior · case 01
Non-manifold fins disappear from the report.
Edges with three or more faces are counted as interior · case 02
Non-manifold fins disappear from the report.
Edges with three or more faces are counted as interior · case 03
Non-manifold fins disappear from the report.
Edges with three or more faces are counted as interior · case 04
Non-manifold fins disappear from the report.
Edges with three or more faces are counted as interior · case 05
Non-manifold fins disappear from the report.
An empty face list is reported as a closed oriented surface · case 01
Empty meshes pass watertightness checks.
An empty face list is reported as a closed oriented surface · case 02
Empty meshes pass watertightness checks.
An empty face list is reported as a closed oriented surface · case 03
Empty meshes pass watertightness checks.
An empty face list is reported as a closed oriented surface · case 04
Empty meshes pass watertightness checks.
An empty face list is reported as a closed oriented surface · case 05
Empty meshes pass watertightness checks.
Boundary loops are walked against the face orientation · case 01
Every loop comes back in reversed vertex order.
Boundary loops are walked against the face orientation · case 02
Every loop comes back in reversed vertex order.
Boundary loops are walked against the face orientation · case 03
Every loop comes back in reversed vertex order.
Boundary loops are walked against the face orientation · case 04
Every loop comes back in reversed vertex order.
Boundary loops are walked against the face orientation · case 05
Every loop comes back in reversed vertex order.
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 ↗