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

Limited joints are charged the wrap-around distance · case 01

A branch that would require driving through a hard stop looks cheap and is selected.

Inverse kinematics solvers● Open access↗
FA-88002

Limited joints are charged the wrap-around distance · case 02

A branch that would require driving through a hard stop looks cheap and is selected.

Inverse kinematics solvers◈ Members↗
FA-88003

Limited joints are charged the wrap-around distance · case 03

A branch that would require driving through a hard stop looks cheap and is selected.

Inverse kinematics solvers◈ Members↗
FA-88004

Limited joints are charged the wrap-around distance · case 04

A branch that would require driving through a hard stop looks cheap and is selected.

Inverse kinematics solvers◈ Members↗
FA-88005

Limited joints are charged the wrap-around distance · case 05

A branch that would require driving through a hard stop looks cheap and is selected.

Inverse kinematics solvers◈ Members↗
FA-88006

Continuous joints are charged the long way around · case 01

A candidate 10 degrees away across the +/-180 seam costs as if it were 350 degrees away.

Inverse kinematics solvers● Open access↗
FA-88007

Continuous joints are charged the long way around · case 02

A candidate 10 degrees away across the +/-180 seam costs as if it were 350 degrees away.

Inverse kinematics solvers◈ Members↗
FA-88008

Continuous joints are charged the long way around · case 03

A candidate 10 degrees away across the +/-180 seam costs as if it were 350 degrees away.

Inverse kinematics solvers◈ Members↗
FA-88009

Continuous joints are charged the long way around · case 04

A candidate 10 degrees away across the +/-180 seam costs as if it were 350 degrees away.

Inverse kinematics solvers◈ Members↗
FA-88010

Continuous joints are charged the long way around · case 05

A candidate 10 degrees away across the +/-180 seam costs as if it were 350 degrees away.

Inverse kinematics solvers◈ Members↗
FA-88011

Branch cost ignores per-joint weights · case 01

Moving a heavy base joint is charged the same as moving a light wrist joint.

Inverse kinematics solvers● Open access↗
FA-88012

Branch cost ignores per-joint weights · case 02

Moving a heavy base joint is charged the same as moving a light wrist joint.

Inverse kinematics solvers◈ Members↗
FA-88013

Branch cost ignores per-joint weights · case 03

Moving a heavy base joint is charged the same as moving a light wrist joint.

Inverse kinematics solvers◈ Members↗
FA-88014

Branch cost ignores per-joint weights · case 04

Moving a heavy base joint is charged the same as moving a light wrist joint.

Inverse kinematics solvers◈ Members↗
FA-88015

Branch cost ignores per-joint weights · case 05

Moving a heavy base joint is charged the same as moving a light wrist joint.

Inverse kinematics solvers◈ Members↗
FA-88016

Equal-cost branches select the later candidate · case 01

Among symmetric solutions the last one listed is chosen, flipping the arm unexpectedly.

Inverse kinematics solvers● Open access↗
FA-88017

Equal-cost branches select the later candidate · case 02

Among symmetric solutions the last one listed is chosen, flipping the arm unexpectedly.

Inverse kinematics solvers◈ Members↗
FA-88018

Equal-cost branches select the later candidate · case 03

Among symmetric solutions the last one listed is chosen, flipping the arm unexpectedly.

Inverse kinematics solvers◈ Members↗
FA-88019

Equal-cost branches select the later candidate · case 04

Among symmetric solutions the last one listed is chosen, flipping the arm unexpectedly.

Inverse kinematics solvers◈ Members↗
FA-88020

Equal-cost branches select the later candidate · case 05

Among symmetric solutions the last one listed is chosen, flipping the arm unexpectedly.

Inverse kinematics solvers◈ Members↗
FA-88021

Selected branch index refers to the filtered list · case 01

When an infeasible candidate precedes the winner, the reported index points at the wrong solution.

Inverse kinematics solvers● Open access↗
FA-88022

Selected branch index refers to the filtered list · case 02

When an infeasible candidate precedes the winner, the reported index points at the wrong solution.

Inverse kinematics solvers◈ Members↗
FA-88023

Selected branch index refers to the filtered list · case 03

When an infeasible candidate precedes the winner, the reported index points at the wrong solution.

Inverse kinematics solvers◈ Members↗
FA-88024

Selected branch index refers to the filtered list · case 04

When an infeasible candidate precedes the winner, the reported index points at the wrong solution.

Inverse kinematics solvers◈ Members↗
FA-88025

Selected branch index refers to the filtered list · case 05

When an infeasible candidate precedes the winner, the reported index points at the wrong solution.

Inverse kinematics solvers◈ Members↗
FA-88026

SCARA quill extension is computed upward · case 01

Reachable heights are rejected and heights above the home plane are accepted.

Inverse kinematics solvers● Open access↗
FA-88027

SCARA quill extension is computed upward · case 02

Reachable heights are rejected and heights above the home plane are accepted.

Inverse kinematics solvers◈ Members↗
FA-88028

SCARA quill extension is computed upward · case 03

Reachable heights are rejected and heights above the home plane are accepted.

Inverse kinematics solvers◈ Members↗
FA-88029

SCARA quill extension is computed upward · case 04

Reachable heights are rejected and heights above the home plane are accepted.

Inverse kinematics solvers◈ Members↗
FA-88030

SCARA quill extension is computed upward · case 05

Reachable heights are rejected and heights above the home plane are accepted.

Inverse kinematics solvers◈ Members↗
FA-88031

SCARA rejects heights exactly at the quill end stops · case 01

Targets at full retraction or full extension report "out-of-stroke".

Inverse kinematics solvers● Open access↗
FA-88032

SCARA rejects heights exactly at the quill end stops · case 02

Targets at full retraction or full extension report "out-of-stroke".

Inverse kinematics solvers◈ Members↗
FA-88033

SCARA rejects heights exactly at the quill end stops · case 03

Targets at full retraction or full extension report "out-of-stroke".

Inverse kinematics solvers◈ Members↗
FA-88034

SCARA rejects heights exactly at the quill end stops · case 04

Targets at full retraction or full extension report "out-of-stroke".

Inverse kinematics solvers◈ Members↗
FA-88035

SCARA rejects heights exactly at the quill end stops · case 05

Targets at full retraction or full extension report "out-of-stroke".

Inverse kinematics solvers◈ Members↗
FA-88036

SCARA tool roll ignores the arm joints · case 01

The tool heading is off by the sum of the shoulder and elbow angles.

Inverse kinematics solvers● Open access↗
FA-88037

SCARA tool roll ignores the arm joints · case 02

The tool heading is off by the sum of the shoulder and elbow angles.

Inverse kinematics solvers◈ Members↗
FA-88038

SCARA tool roll ignores the arm joints · case 03

The tool heading is off by the sum of the shoulder and elbow angles.

Inverse kinematics solvers◈ Members↗
FA-88039

SCARA tool roll ignores the arm joints · case 04

The tool heading is off by the sum of the shoulder and elbow angles.

Inverse kinematics solvers◈ Members↗
FA-88040

SCARA tool roll ignores the arm joints · case 05

The tool heading is off by the sum of the shoulder and elbow angles.

Inverse kinematics solvers◈ Members↗
FA-88041

SCARA wrap subtracts one turn at most · case 01

Yaw requests of several turns leave the roll joint outside (-180,180].

Inverse kinematics solvers● Open access↗
FA-88042

SCARA wrap subtracts one turn at most · case 02

Yaw requests of several turns leave the roll joint outside (-180,180].

Inverse kinematics solvers◈ Members↗
FA-88043

SCARA wrap subtracts one turn at most · case 03

Yaw requests of several turns leave the roll joint outside (-180,180].

Inverse kinematics solvers◈ Members↗
FA-88044

SCARA wrap subtracts one turn at most · case 04

Yaw requests of several turns leave the roll joint outside (-180,180].

Inverse kinematics solvers◈ Members↗
FA-88045

SCARA wrap subtracts one turn at most · case 05

Yaw requests of several turns leave the roll joint outside (-180,180].

Inverse kinematics solvers◈ Members↗
FA-88046

SCARA law of cosines receives the radius instead of its square · case 01

Elbow angles are wrong everywhere except at unit radius.

Inverse kinematics solvers● Open access↗
FA-88047

SCARA law of cosines receives the radius instead of its square · case 02

Elbow angles are wrong everywhere except at unit radius.

Inverse kinematics solvers◈ Members↗
FA-88048

SCARA law of cosines receives the radius instead of its square · case 03

Elbow angles are wrong everywhere except at unit radius.

Inverse kinematics solvers◈ Members↗
FA-88049

SCARA law of cosines receives the radius instead of its square · case 04

Elbow angles are wrong everywhere except at unit radius.

Inverse kinematics solvers◈ Members↗
FA-88050

SCARA law of cosines receives the radius instead of its square · case 05

Elbow angles are wrong everywhere except at unit radius.

Inverse kinematics solvers◈ Members↗
FA-88051

SCARA reports reach failure before stroke failure · case 01

A target that is both too high and too far reports "unreachable" instead of "out-of-stroke".

Inverse kinematics solvers● Open access↗
FA-88052

SCARA reports reach failure before stroke failure · case 02

A target that is both too high and too far reports "unreachable" instead of "out-of-stroke".

Inverse kinematics solvers◈ Members↗
FA-88053

SCARA reports reach failure before stroke failure · case 03

A target that is both too high and too far reports "unreachable" instead of "out-of-stroke".

Inverse kinematics solvers◈ Members↗
FA-88054

SCARA reports reach failure before stroke failure · case 04

A target that is both too high and too far reports "unreachable" instead of "out-of-stroke".

Inverse kinematics solvers◈ Members↗
FA-88055

SCARA reports reach failure before stroke failure · case 05

A target that is both too high and too far reports "unreachable" instead of "out-of-stroke".

Inverse kinematics solvers◈ Members↗
FA-88056

Wrist singularity is detected only at an exact zero · case 01

Nearly aligned wrist axes produce huge, noise-driven a and g values instead of the documented convention.

Inverse kinematics solvers● Open access↗
FA-88057

Wrist singularity is detected only at an exact zero · case 02

Nearly aligned wrist axes produce huge, noise-driven a and g values instead of the documented convention.

Inverse kinematics solvers◈ Members↗
FA-88058

Wrist singularity is detected only at an exact zero · case 03

Nearly aligned wrist axes produce huge, noise-driven a and g values instead of the documented convention.

Inverse kinematics solvers◈ Members↗
FA-88059

Wrist singularity is detected only at an exact zero · case 04

Nearly aligned wrist axes produce huge, noise-driven a and g values instead of the documented convention.

Inverse kinematics solvers◈ Members↗
FA-88060

Wrist singularity is detected only at an exact zero · case 05

Nearly aligned wrist axes produce huge, noise-driven a and g values instead of the documented convention.

Inverse kinematics solvers◈ Members↗
FA-88061

Inverted wrist singularity reuses the upright roll formula · case 01

At b=180 the returned g has the wrong sign relation to the rotation.

Inverse kinematics solvers● Open access↗
FA-88062

Inverted wrist singularity reuses the upright roll formula · case 02

At b=180 the returned g has the wrong sign relation to the rotation.

Inverse kinematics solvers◈ Members↗
FA-88063

Inverted wrist singularity reuses the upright roll formula · case 03

At b=180 the returned g has the wrong sign relation to the rotation.

Inverse kinematics solvers◈ Members↗
FA-88064

Inverted wrist singularity reuses the upright roll formula · case 04

At b=180 the returned g has the wrong sign relation to the rotation.

Inverse kinematics solvers◈ Members↗
FA-88065

Inverted wrist singularity reuses the upright roll formula · case 05

At b=180 the returned g has the wrong sign relation to the rotation.

Inverse kinematics solvers◈ Members↗
FA-88066

Flipped wrist branch leaves the first angle unrotated · case 01

The flip solution reproduces a different orientation from the input matrix.

Inverse kinematics solvers● Open access↗
FA-88067

Flipped wrist branch leaves the first angle unrotated · case 02

The flip solution reproduces a different orientation from the input matrix.

Inverse kinematics solvers◈ Members↗
FA-88068

Flipped wrist branch leaves the first angle unrotated · case 03

The flip solution reproduces a different orientation from the input matrix.

Inverse kinematics solvers◈ Members↗
FA-88069

Flipped wrist branch leaves the first angle unrotated · case 04

The flip solution reproduces a different orientation from the input matrix.

Inverse kinematics solvers◈ Members↗
FA-88070

Flipped wrist branch leaves the first angle unrotated · case 05

The flip solution reproduces a different orientation from the input matrix.

Inverse kinematics solvers◈ Members↗
FA-88071

Wrist roll is taken from R20 without its minus sign · case 01

The final roll angle is mirrored to 180-g.

Inverse kinematics solvers● Open access↗
FA-88072

Wrist roll is taken from R20 without its minus sign · case 02

The final roll angle is mirrored to 180-g.

Inverse kinematics solvers◈ Members↗
FA-88073

Wrist roll is taken from R20 without its minus sign · case 03

The final roll angle is mirrored to 180-g.

Inverse kinematics solvers◈ Members↗
FA-88074

Wrist roll is taken from R20 without its minus sign · case 04

The final roll angle is mirrored to 180-g.

Inverse kinematics solvers◈ Members↗
FA-88075

Wrist roll is taken from R20 without its minus sign · case 05

The final roll angle is mirrored to 180-g.

Inverse kinematics solvers◈ Members↗
FA-88076

Wrist pitch is recovered with asin and cannot exceed 90 degrees · case 01

Tilts beyond 90 degrees fold back, giving the supplementary pitch.

Inverse kinematics solvers● Open access↗
FA-88077

Wrist pitch is recovered with asin and cannot exceed 90 degrees · case 02

Tilts beyond 90 degrees fold back, giving the supplementary pitch.

Inverse kinematics solvers◈ Members↗
FA-88078

Wrist pitch is recovered with asin and cannot exceed 90 degrees · case 03

Tilts beyond 90 degrees fold back, giving the supplementary pitch.

Inverse kinematics solvers◈ Members↗
FA-88079

Wrist pitch is recovered with asin and cannot exceed 90 degrees · case 04

Tilts beyond 90 degrees fold back, giving the supplementary pitch.

Inverse kinematics solvers◈ Members↗
FA-88080

Wrist pitch is recovered with asin and cannot exceed 90 degrees · case 05

Tilts beyond 90 degrees fold back, giving the supplementary pitch.

Inverse kinematics solvers◈ Members↗
FA-88081

First wrist angle is read from the bottom row instead of the last column · case 01

The first angle equals a function of the last angle, so a and g appear swapped.

Inverse kinematics solvers● Open access↗
FA-88082

First wrist angle is read from the bottom row instead of the last column · case 02

The first angle equals a function of the last angle, so a and g appear swapped.

Inverse kinematics solvers◈ Members↗
FA-88083

First wrist angle is read from the bottom row instead of the last column · case 03

The first angle equals a function of the last angle, so a and g appear swapped.

Inverse kinematics solvers◈ Members↗
FA-88084

First wrist angle is read from the bottom row instead of the last column · case 04

The first angle equals a function of the last angle, so a and g appear swapped.

Inverse kinematics solvers◈ Members↗
FA-88085

First wrist angle is read from the bottom row instead of the last column · case 05

The first angle equals a function of the last angle, so a and g appear swapped.

Inverse kinematics solvers◈ Members↗
FA-88086

Delta effector offset enlarges the tower radius · case 01

Every carriage height is computed for towers that are 2e too far out.

Inverse kinematics solvers● Open access↗
FA-88087

Delta effector offset enlarges the tower radius · case 02

Every carriage height is computed for towers that are 2e too far out.

Inverse kinematics solvers◈ Members↗
FA-88088

Delta effector offset enlarges the tower radius · case 03

Every carriage height is computed for towers that are 2e too far out.

Inverse kinematics solvers◈ Members↗
FA-88089

Delta effector offset enlarges the tower radius · case 04

Every carriage height is computed for towers that are 2e too far out.

Inverse kinematics solvers◈ Members↗
FA-88090

Delta effector offset enlarges the tower radius · case 05

Every carriage height is computed for towers that are 2e too far out.

Inverse kinematics solvers◈ Members↗
FA-88091

Delta towers are placed at 0, 120 and 240 degrees · case 01

Carriage heights belong to a rotated tower layout, so moves in y tilt the effector.

Inverse kinematics solvers● Open access↗
FA-88092

Delta towers are placed at 0, 120 and 240 degrees · case 02

Carriage heights belong to a rotated tower layout, so moves in y tilt the effector.

Inverse kinematics solvers◈ Members↗
FA-88093

Delta towers are placed at 0, 120 and 240 degrees · case 03

Carriage heights belong to a rotated tower layout, so moves in y tilt the effector.

Inverse kinematics solvers◈ Members↗
FA-88094

Delta towers are placed at 0, 120 and 240 degrees · case 04

Carriage heights belong to a rotated tower layout, so moves in y tilt the effector.

Inverse kinematics solvers◈ Members↗
FA-88095

Delta towers are placed at 0, 120 and 240 degrees · case 05

Carriage heights belong to a rotated tower layout, so moves in y tilt the effector.

Inverse kinematics solvers◈ Members↗
FA-88096

Delta rejects a point where one rod is exactly horizontal · case 01

A reachable point on the rod-length boundary returns "unreachable".

Inverse kinematics solvers● Open access↗
FA-88097

Delta rejects a point where one rod is exactly horizontal · case 02

A reachable point on the rod-length boundary returns "unreachable".

Inverse kinematics solvers◈ Members↗
FA-88098

Delta rejects a point where one rod is exactly horizontal · case 03

A reachable point on the rod-length boundary returns "unreachable".

Inverse kinematics solvers◈ Members↗
FA-88099

Delta rejects a point where one rod is exactly horizontal · case 04

A reachable point on the rod-length boundary returns "unreachable".

Inverse kinematics solvers◈ Members↗
FA-88100

Delta rejects a point where one rod is exactly horizontal · case 05

A reachable point on the rod-length boundary returns "unreachable".

Inverse kinematics solvers◈ 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 ↗