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

Reachability is judged on the tool tip with the tool length included · case 01

Targets whose wrist centre is out of reach return a clamped pose instead of "unreachable".

Inverse kinematics solvers● Open access↗
FA-87902

Reachability is judged on the tool tip with the tool length included · case 02

Targets whose wrist centre is out of reach return a clamped pose instead of "unreachable".

Inverse kinematics solvers◈ Members↗
FA-87903

Reachability is judged on the tool tip with the tool length included · case 03

Targets whose wrist centre is out of reach return a clamped pose instead of "unreachable".

Inverse kinematics solvers◈ Members↗
FA-87904

Reachability is judged on the tool tip with the tool length included · case 04

Targets whose wrist centre is out of reach return a clamped pose instead of "unreachable".

Inverse kinematics solvers◈ Members↗
FA-87905

Reachability is judged on the tool tip with the tool length included · case 05

Targets whose wrist centre is out of reach return a clamped pose instead of "unreachable".

Inverse kinematics solvers◈ Members↗
FA-87906

Forearm Jacobian column uses the shoulder angle · case 01

Steps move the wrist in a direction that does not reduce the task error whenever q2 is non-zero.

Inverse kinematics solvers● Open access↗
FA-87907

Forearm Jacobian column uses the shoulder angle · case 02

Steps move the wrist in a direction that does not reduce the task error whenever q2 is non-zero.

Inverse kinematics solvers◈ Members↗
FA-87908

Forearm Jacobian column uses the shoulder angle · case 03

Steps move the wrist in a direction that does not reduce the task error whenever q2 is non-zero.

Inverse kinematics solvers◈ Members↗
FA-87909

Forearm Jacobian column uses the shoulder angle · case 04

Steps move the wrist in a direction that does not reduce the task error whenever q2 is non-zero.

Inverse kinematics solvers◈ Members↗
FA-87910

Forearm Jacobian column uses the shoulder angle · case 05

Steps move the wrist in a direction that does not reduce the task error whenever q2 is non-zero.

Inverse kinematics solvers◈ Members↗
FA-87911

Damping factor is added unsquared to the normal matrix · case 01

Steps are over-damped for lambda<1 and under-damped for lambda>1 relative to the contract.

Inverse kinematics solvers● Open access↗
FA-87912

Damping factor is added unsquared to the normal matrix · case 02

Steps are over-damped for lambda<1 and under-damped for lambda>1 relative to the contract.

Inverse kinematics solvers◈ Members↗
FA-87913

Damping factor is added unsquared to the normal matrix · case 03

Steps are over-damped for lambda<1 and under-damped for lambda>1 relative to the contract.

Inverse kinematics solvers◈ Members↗
FA-87914

Damping factor is added unsquared to the normal matrix · case 04

Steps are over-damped for lambda<1 and under-damped for lambda>1 relative to the contract.

Inverse kinematics solvers◈ Members↗
FA-87915

Damping factor is added unsquared to the normal matrix · case 05

Steps are over-damped for lambda<1 and under-damped for lambda>1 relative to the contract.

Inverse kinematics solvers◈ Members↗
FA-87916

Task error is measured from target to end effector · case 01

Every step moves the arm away from the goal.

Inverse kinematics solvers● Open access↗
FA-87917

Task error is measured from target to end effector · case 02

Every step moves the arm away from the goal.

Inverse kinematics solvers◈ Members↗
FA-87918

Task error is measured from target to end effector · case 03

Every step moves the arm away from the goal.

Inverse kinematics solvers◈ Members↗
FA-87919

Task error is measured from target to end effector · case 04

Every step moves the arm away from the goal.

Inverse kinematics solvers◈ Members↗
FA-87920

Task error is measured from target to end effector · case 05

Every step moves the arm away from the goal.

Inverse kinematics solvers◈ Members↗
FA-87921

Joint update multiplies by J instead of J transpose · case 01

Joint deltas are rotated into the wrong space and the arm drifts sideways.

Inverse kinematics solvers● Open access↗
FA-87922

Joint update multiplies by J instead of J transpose · case 02

Joint deltas are rotated into the wrong space and the arm drifts sideways.

Inverse kinematics solvers◈ Members↗
FA-87923

Joint update multiplies by J instead of J transpose · case 03

Joint deltas are rotated into the wrong space and the arm drifts sideways.

Inverse kinematics solvers◈ Members↗
FA-87924

Joint update multiplies by J instead of J transpose · case 04

Joint deltas are rotated into the wrong space and the arm drifts sideways.

Inverse kinematics solvers◈ Members↗
FA-87925

Joint update multiplies by J instead of J transpose · case 05

Joint deltas are rotated into the wrong space and the arm drifts sideways.

Inverse kinematics solvers◈ Members↗
FA-87926

Step limiter clips joints independently and bends the step direction · case 01

Large corrections change direction instead of being scaled along the DLS direction.

Inverse kinematics solvers● Open access↗
FA-87927

Step limiter clips joints independently and bends the step direction · case 02

Large corrections change direction instead of being scaled along the DLS direction.

Inverse kinematics solvers◈ Members↗
FA-87928

Step limiter clips joints independently and bends the step direction · case 03

Large corrections change direction instead of being scaled along the DLS direction.

Inverse kinematics solvers◈ Members↗
FA-87929

Step limiter clips joints independently and bends the step direction · case 04

Large corrections change direction instead of being scaled along the DLS direction.

Inverse kinematics solvers◈ Members↗
FA-87930

Step limiter clips joints independently and bends the step direction · case 05

Large corrections change direction instead of being scaled along the DLS direction.

Inverse kinematics solvers◈ Members↗
FA-87931

Radian joint delta is added to degree joint state · case 01

Updates are 57 times too small relative to the degree-valued joints.

Inverse kinematics solvers● Open access↗
FA-87932

Radian joint delta is added to degree joint state · case 02

Updates are 57 times too small relative to the degree-valued joints.

Inverse kinematics solvers◈ Members↗
FA-87933

Radian joint delta is added to degree joint state · case 03

Updates are 57 times too small relative to the degree-valued joints.

Inverse kinematics solvers◈ Members↗
FA-87934

Radian joint delta is added to degree joint state · case 04

Updates are 57 times too small relative to the degree-valued joints.

Inverse kinematics solvers◈ Members↗
FA-87935

Radian joint delta is added to degree joint state · case 05

Updates are 57 times too small relative to the degree-valued joints.

Inverse kinematics solvers◈ Members↗
FA-87936

CCD sweep reuses tip position from before earlier joint updates · case 01

Joints nearer the base rotate toward a tip position that no longer exists, overshooting the target.

Inverse kinematics solvers● Open access↗
FA-87937

CCD sweep reuses tip position from before earlier joint updates · case 02

Joints nearer the base rotate toward a tip position that no longer exists, overshooting the target.

Inverse kinematics solvers◈ Members↗
FA-87938

CCD sweep reuses tip position from before earlier joint updates · case 03

Joints nearer the base rotate toward a tip position that no longer exists, overshooting the target.

Inverse kinematics solvers◈ Members↗
FA-87939

CCD sweep reuses tip position from before earlier joint updates · case 04

Joints nearer the base rotate toward a tip position that no longer exists, overshooting the target.

Inverse kinematics solvers◈ Members↗
FA-87940

CCD sweep reuses tip position from before earlier joint updates · case 05

Joints nearer the base rotate toward a tip position that no longer exists, overshooting the target.

Inverse kinematics solvers◈ Members↗
FA-87941

CCD sweep visits joints base first · case 01

Converged configurations differ from the tip-first CCD contract and use more sweeps.

Inverse kinematics solvers● Open access↗
FA-87942

CCD sweep visits joints base first · case 02

Converged configurations differ from the tip-first CCD contract and use more sweeps.

Inverse kinematics solvers◈ Members↗
FA-87943

CCD sweep visits joints base first · case 03

Converged configurations differ from the tip-first CCD contract and use more sweeps.

Inverse kinematics solvers◈ Members↗
FA-87944

CCD sweep visits joints base first · case 04

Converged configurations differ from the tip-first CCD contract and use more sweeps.

Inverse kinematics solvers◈ Members↗
FA-87945

CCD sweep visits joints base first · case 05

Converged configurations differ from the tip-first CCD contract and use more sweeps.

Inverse kinematics solvers◈ Members↗
FA-87946

CCD rotation angle has the wrong handedness · case 01

Each joint rotates away from the target by the angle it should close.

Inverse kinematics solvers● Open access↗
FA-87947

CCD rotation angle has the wrong handedness · case 02

Each joint rotates away from the target by the angle it should close.

Inverse kinematics solvers◈ Members↗
FA-87948

CCD rotation angle has the wrong handedness · case 03

Each joint rotates away from the target by the angle it should close.

Inverse kinematics solvers◈ Members↗
FA-87949

CCD rotation angle has the wrong handedness · case 04

Each joint rotates away from the target by the angle it should close.

Inverse kinematics solvers◈ Members↗
FA-87950

CCD rotation angle has the wrong handedness · case 05

Each joint rotates away from the target by the angle it should close.

Inverse kinematics solvers◈ Members↗
FA-87951

CCD clamps the per-step rotation instead of the joint angle · case 01

Joints drift beyond their limits over repeated sweeps.

Inverse kinematics solvers● Open access↗
FA-87952

CCD clamps the per-step rotation instead of the joint angle · case 02

Joints drift beyond their limits over repeated sweeps.

Inverse kinematics solvers◈ Members↗
FA-87953

CCD clamps the per-step rotation instead of the joint angle · case 03

Joints drift beyond their limits over repeated sweeps.

Inverse kinematics solvers◈ Members↗
FA-87954

CCD clamps the per-step rotation instead of the joint angle · case 04

Joints drift beyond their limits over repeated sweeps.

Inverse kinematics solvers◈ Members↗
FA-87955

CCD clamps the per-step rotation instead of the joint angle · case 05

Joints drift beyond their limits over repeated sweeps.

Inverse kinematics solvers◈ Members↗
FA-87956

CCD reports a sweep for the convergence check that stops it · case 01

Solves that start inside tolerance report one sweep instead of zero, and every count is one high after convergence.

Inverse kinematics solvers● Open access↗
FA-87957

CCD reports a sweep for the convergence check that stops it · case 02

Solves that start inside tolerance report one sweep instead of zero, and every count is one high after convergence.

Inverse kinematics solvers◈ Members↗
FA-87958

CCD reports a sweep for the convergence check that stops it · case 03

Solves that start inside tolerance report one sweep instead of zero, and every count is one high after convergence.

Inverse kinematics solvers◈ Members↗
FA-87959

CCD reports a sweep for the convergence check that stops it · case 04

Solves that start inside tolerance report one sweep instead of zero, and every count is one high after convergence.

Inverse kinematics solvers◈ Members↗
FA-87960

CCD reports a sweep for the convergence check that stops it · case 05

Solves that start inside tolerance report one sweep instead of zero, and every count is one high after convergence.

Inverse kinematics solvers◈ Members↗
FA-87961

CCD joint limit in degrees is compared with radian angles · case 01

Joint limits are effectively disabled because 45 is treated as 45 radians.

Inverse kinematics solvers● Open access↗
FA-87962

CCD joint limit in degrees is compared with radian angles · case 02

Joint limits are effectively disabled because 45 is treated as 45 radians.

Inverse kinematics solvers◈ Members↗
FA-87963

CCD joint limit in degrees is compared with radian angles · case 03

Joint limits are effectively disabled because 45 is treated as 45 radians.

Inverse kinematics solvers◈ Members↗
FA-87964

CCD joint limit in degrees is compared with radian angles · case 04

Joint limits are effectively disabled because 45 is treated as 45 radians.

Inverse kinematics solvers◈ Members↗
FA-87965

CCD joint limit in degrees is compared with radian angles · case 05

Joint limits are effectively disabled because 45 is treated as 45 radians.

Inverse kinematics solvers◈ Members↗
FA-87966

FABRIK reachability is measured from the current tip · case 01

Reachable targets are stretched toward as unreachable, and far targets near the tip enter the iteration.

Inverse kinematics solvers● Open access↗
FA-87967

FABRIK reachability is measured from the current tip · case 02

Reachable targets are stretched toward as unreachable, and far targets near the tip enter the iteration.

Inverse kinematics solvers◈ Members↗
FA-87968

FABRIK reachability is measured from the current tip · case 03

Reachable targets are stretched toward as unreachable, and far targets near the tip enter the iteration.

Inverse kinematics solvers◈ Members↗
FA-87969

FABRIK reachability is measured from the current tip · case 04

Reachable targets are stretched toward as unreachable, and far targets near the tip enter the iteration.

Inverse kinematics solvers◈ Members↗
FA-87970

FABRIK reachability is measured from the current tip · case 05

Reachable targets are stretched toward as unreachable, and far targets near the tip enter the iteration.

Inverse kinematics solvers◈ Members↗
FA-87971

FABRIK forward pass starts from a drifted base · case 01

The returned chain has its base displaced from the fixed mount.

Inverse kinematics solvers● Open access↗
FA-87972

FABRIK forward pass starts from a drifted base · case 02

The returned chain has its base displaced from the fixed mount.

Inverse kinematics solvers◈ Members↗
FA-87973

FABRIK forward pass starts from a drifted base · case 03

The returned chain has its base displaced from the fixed mount.

Inverse kinematics solvers◈ Members↗
FA-87974

FABRIK forward pass starts from a drifted base · case 04

The returned chain has its base displaced from the fixed mount.

Inverse kinematics solvers◈ Members↗
FA-87975

FABRIK forward pass starts from a drifted base · case 05

The returned chain has its base displaced from the fixed mount.

Inverse kinematics solvers◈ Members↗
FA-87976

FABRIK backward pass interpolates from the wrong joint · case 01

Joints are placed at the complementary fraction of the segment and link lengths are not preserved.

Inverse kinematics solvers● Open access↗
FA-87977

FABRIK backward pass interpolates from the wrong joint · case 02

Joints are placed at the complementary fraction of the segment and link lengths are not preserved.

Inverse kinematics solvers◈ Members↗
FA-87978

FABRIK backward pass interpolates from the wrong joint · case 03

Joints are placed at the complementary fraction of the segment and link lengths are not preserved.

Inverse kinematics solvers◈ Members↗
FA-87979

FABRIK backward pass interpolates from the wrong joint · case 04

Joints are placed at the complementary fraction of the segment and link lengths are not preserved.

Inverse kinematics solvers◈ Members↗
FA-87980

FABRIK backward pass interpolates from the wrong joint · case 05

Joints are placed at the complementary fraction of the segment and link lengths are not preserved.

Inverse kinematics solvers◈ Members↗
FA-87981

FABRIK forward pass uses link lengths in reversed order · case 01

Chains with unequal links come back with swapped segment lengths.

Inverse kinematics solvers● Open access↗
FA-87982

FABRIK forward pass uses link lengths in reversed order · case 02

Chains with unequal links come back with swapped segment lengths.

Inverse kinematics solvers◈ Members↗
FA-87983

FABRIK forward pass uses link lengths in reversed order · case 03

Chains with unequal links come back with swapped segment lengths.

Inverse kinematics solvers◈ Members↗
FA-87984

FABRIK forward pass uses link lengths in reversed order · case 04

Chains with unequal links come back with swapped segment lengths.

Inverse kinematics solvers◈ Members↗
FA-87985

FABRIK forward pass uses link lengths in reversed order · case 05

Chains with unequal links come back with swapped segment lengths.

Inverse kinematics solvers◈ Members↗
FA-87986

Unreachable FABRIK stretch uses the base distance for every joint · case 01

Stretched chains for unreachable targets have compressed outer links.

Inverse kinematics solvers● Open access↗
FA-87987

Unreachable FABRIK stretch uses the base distance for every joint · case 02

Stretched chains for unreachable targets have compressed outer links.

Inverse kinematics solvers◈ Members↗
FA-87988

Unreachable FABRIK stretch uses the base distance for every joint · case 03

Stretched chains for unreachable targets have compressed outer links.

Inverse kinematics solvers◈ Members↗
FA-87989

Unreachable FABRIK stretch uses the base distance for every joint · case 04

Stretched chains for unreachable targets have compressed outer links.

Inverse kinematics solvers◈ Members↗
FA-87990

Unreachable FABRIK stretch uses the base distance for every joint · case 05

Stretched chains for unreachable targets have compressed outer links.

Inverse kinematics solvers◈ Members↗
FA-87991

FABRIK reports the pass budget instead of the tip error · case 01

A solve that converges on its final allowed pass is reported as "max-iterations".

Inverse kinematics solvers● Open access↗
FA-87992

FABRIK reports the pass budget instead of the tip error · case 02

A solve that converges on its final allowed pass is reported as "max-iterations".

Inverse kinematics solvers◈ Members↗
FA-87993

FABRIK reports the pass budget instead of the tip error · case 03

A solve that converges on its final allowed pass is reported as "max-iterations".

Inverse kinematics solvers◈ Members↗
FA-87994

FABRIK reports the pass budget instead of the tip error · case 04

A solve that converges on its final allowed pass is reported as "max-iterations".

Inverse kinematics solvers◈ Members↗
FA-87995

FABRIK reports the pass budget instead of the tip error · case 05

A solve that converges on its final allowed pass is reported as "max-iterations".

Inverse kinematics solvers◈ Members↗
FA-87996

Candidates exactly at a joint stop are rejected · case 01

A solution sitting on a limit is discarded and a costlier branch or "none" is returned.

Inverse kinematics solvers● Open access↗
FA-87997

Candidates exactly at a joint stop are rejected · case 02

A solution sitting on a limit is discarded and a costlier branch or "none" is returned.

Inverse kinematics solvers◈ Members↗
FA-87998

Candidates exactly at a joint stop are rejected · case 03

A solution sitting on a limit is discarded and a costlier branch or "none" is returned.

Inverse kinematics solvers◈ Members↗
FA-87999

Candidates exactly at a joint stop are rejected · case 04

A solution sitting on a limit is discarded and a costlier branch or "none" is returned.

Inverse kinematics solvers◈ Members↗
FA-88000

Candidates exactly at a joint stop are rejected · case 05

A solution sitting on a limit is discarded and a costlier branch or "none" is returned.

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 ↗