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
Mean anomaly propagation between epochs: Backward propagation leaves a negative mean anomaly · case 01
Propagating to an earlier epoch returns negative angles.
Mean anomaly propagation between epochs: Backward propagation leaves a negative mean anomaly · case 02
Propagating to an earlier epoch returns negative angles.
Mean anomaly propagation between epochs: Backward propagation leaves a negative mean anomaly · case 03
Propagating to an earlier epoch returns negative angles.
Mean anomaly propagation between epochs: Backward propagation leaves a negative mean anomaly · case 04
Propagating to an earlier epoch returns negative angles.
Mean anomaly propagation between epochs: Backward propagation leaves a negative mean anomaly · case 05
Propagating to an earlier epoch returns negative angles.
Mean anomaly propagation between epochs: Published half derivative is halved again · case 01
Decaying orbits accumulate too little along-track drift.
Mean anomaly propagation between epochs: Published half derivative is halved again · case 02
Decaying orbits accumulate too little along-track drift.
Mean anomaly propagation between epochs: Published half derivative is halved again · case 03
Decaying orbits accumulate too little along-track drift.
Mean anomaly propagation between epochs: Published half derivative is halved again · case 04
Decaying orbits accumulate too little along-track drift.
Mean anomaly propagation between epochs: Published half derivative is halved again · case 05
Decaying orbits accumulate too little along-track drift.
Mean anomaly propagation between epochs: Epoch fractions of a day are discarded · case 01
Propagation from sub-day epochs is off by hours of motion.
Mean anomaly propagation between epochs: Epoch fractions of a day are discarded · case 02
Propagation from sub-day epochs is off by hours of motion.
Mean anomaly propagation between epochs: Epoch fractions of a day are discarded · case 03
Propagation from sub-day epochs is off by hours of motion.
Mean anomaly propagation between epochs: Epoch fractions of a day are discarded · case 04
Propagation from sub-day epochs is off by hours of motion.
Mean anomaly propagation between epochs: Epoch fractions of a day are discarded · case 05
Propagation from sub-day epochs is off by hours of motion.
Two-line element set line 2: Eccentricity loses its implied decimal point · case 01
Eccentricities are reported as integers in the millions.
Two-line element set line 2: Eccentricity loses its implied decimal point · case 02
Eccentricities are reported as integers in the millions.
Two-line element set line 2: Eccentricity loses its implied decimal point · case 03
Eccentricities are reported as integers in the millions.
Two-line element set line 2: Eccentricity loses its implied decimal point · case 04
Eccentricities are reported as integers in the millions.
Two-line element set line 2: Eccentricity loses its implied decimal point · case 05
Eccentricities are reported as integers in the millions.
Two-line element set line 2: Revolution number includes the checksum digit · case 01
Revolution counts gain an extra trailing digit.
Two-line element set line 2: Revolution number includes the checksum digit · case 02
Revolution counts gain an extra trailing digit.
Two-line element set line 2: Revolution number includes the checksum digit · case 03
Revolution counts gain an extra trailing digit.
Two-line element set line 2: Revolution number includes the checksum digit · case 04
Revolution counts gain an extra trailing digit.
Two-line element set line 2: Revolution number includes the checksum digit · case 05
Revolution counts gain an extra trailing digit.
Two-line element set line 2: Checksum includes its own digit · case 01
Valid element sets are rejected as corrupt.
Two-line element set line 2: Checksum includes its own digit · case 02
Valid element sets are rejected as corrupt.
Two-line element set line 2: Checksum includes its own digit · case 03
Valid element sets are rejected as corrupt.
Two-line element set line 2: Checksum includes its own digit · case 04
Valid element sets are rejected as corrupt.
Two-line element set line 2: Checksum includes its own digit · case 05
Valid element sets are rejected as corrupt.
Two-line element set line 2: Line number column is not checked · case 01
A line from another record type is decoded as orbital elements.
Two-line element set line 2: Line number column is not checked · case 02
A line from another record type is decoded as orbital elements.
Two-line element set line 2: Line number column is not checked · case 03
A line from another record type is decoded as orbital elements.
Two-line element set line 2: Line number column is not checked · case 04
A line from another record type is decoded as orbital elements.
Two-line element set line 2: Line number column is not checked · case 05
A line from another record type is decoded as orbital elements.
Two-line element set line 2: Overlong lines are accepted · case 01
Lines with trailing carriage returns or truncated checksums slip through or crash later.
Two-line element set line 2: Overlong lines are accepted · case 02
Lines with trailing carriage returns or truncated checksums slip through or crash later.
Two-line element set line 2: Overlong lines are accepted · case 03
Lines with trailing carriage returns or truncated checksums slip through or crash later.
Two-line element set line 2: Overlong lines are accepted · case 04
Lines with trailing carriage returns or truncated checksums slip through or crash later.
Two-line element set line 2: Overlong lines are accepted · case 05
Lines with trailing carriage returns or truncated checksums slip through or crash later.
Two-line element set line 1: Two-digit epoch years pivot at 50 · case 01
Element sets from 1950-1956 or 2050-2056 are placed in the wrong century.
Two-line element set line 1: Two-digit epoch years pivot at 50 · case 02
Element sets from 1950-1956 or 2050-2056 are placed in the wrong century.
Two-line element set line 1: Two-digit epoch years pivot at 50 · case 03
Element sets from 1950-1956 or 2050-2056 are placed in the wrong century.
Two-line element set line 1: Two-digit epoch years pivot at 50 · case 04
Element sets from 1950-1956 or 2050-2056 are placed in the wrong century.
Two-line element set line 1: Two-digit epoch years pivot at 50 · case 05
Element sets from 1950-1956 or 2050-2056 are placed in the wrong century.
Two-line element set line 1: BSTAR mantissa is read without its assumed decimal · case 01
Drag terms are 100000 times too large.
Two-line element set line 1: BSTAR mantissa is read without its assumed decimal · case 02
Drag terms are 100000 times too large.
Two-line element set line 1: BSTAR mantissa is read without its assumed decimal · case 03
Drag terms are 100000 times too large.
Two-line element set line 1: BSTAR mantissa is read without its assumed decimal · case 04
Drag terms are 100000 times too large.
Two-line element set line 1: BSTAR mantissa is read without its assumed decimal · case 05
Drag terms are 100000 times too large.
Two-line element set line 1: Negative BSTAR loses its sign · case 01
Negative drag terms become positive.
Two-line element set line 1: Negative BSTAR loses its sign · case 02
Negative drag terms become positive.
Two-line element set line 1: Negative BSTAR loses its sign · case 03
Negative drag terms become positive.
Two-line element set line 1: Negative BSTAR loses its sign · case 04
Negative drag terms become positive.
Two-line element set line 1: Negative BSTAR loses its sign · case 05
Negative drag terms become positive.
Two-line element set line 1: Minus signs are ignored by the checksum · case 01
Element sets with negative fields fail validation.
Two-line element set line 1: Minus signs are ignored by the checksum · case 02
Element sets with negative fields fail validation.
Two-line element set line 1: Minus signs are ignored by the checksum · case 03
Element sets with negative fields fail validation.
Two-line element set line 1: Minus signs are ignored by the checksum · case 04
Element sets with negative fields fail validation.
Two-line element set line 1: Minus signs are ignored by the checksum · case 05
Element sets with negative fields fail validation.
Two-line element set line 1: Exponent is always treated as negative · case 01
Large positive-exponent drag terms shrink to tiny values.
Two-line element set line 1: Exponent is always treated as negative · case 02
Large positive-exponent drag terms shrink to tiny values.
Two-line element set line 1: Exponent is always treated as negative · case 03
Large positive-exponent drag terms shrink to tiny values.
Two-line element set line 1: Exponent is always treated as negative · case 04
Large positive-exponent drag terms shrink to tiny values.
Two-line element set line 1: Exponent is always treated as negative · case 05
Large positive-exponent drag terms shrink to tiny values.
Classical elements from a state vector: RAAN quadrant test has the wrong sign · case 01
Ascending nodes in one half of the sky are mirrored.
Classical elements from a state vector: RAAN quadrant test has the wrong sign · case 02
Ascending nodes in one half of the sky are mirrored.
Classical elements from a state vector: RAAN quadrant test has the wrong sign · case 03
Ascending nodes in one half of the sky are mirrored.
Classical elements from a state vector: RAAN quadrant test has the wrong sign · case 04
Ascending nodes in one half of the sky are mirrored.
Classical elements from a state vector: RAAN quadrant test has the wrong sign · case 05
Ascending nodes in one half of the sky are mirrored.
Classical elements from a state vector: Argument of perigee is never reflected · case 01
Perigees south of the equator are reported in the northern half.
Classical elements from a state vector: Argument of perigee is never reflected · case 02
Perigees south of the equator are reported in the northern half.
Classical elements from a state vector: Argument of perigee is never reflected · case 03
Perigees south of the equator are reported in the northern half.
Classical elements from a state vector: Argument of perigee is never reflected · case 04
Perigees south of the equator are reported in the northern half.
Classical elements from a state vector: Argument of perigee is never reflected · case 05
Perigees south of the equator are reported in the northern half.
Classical elements from a state vector: Inbound true anomaly is not reflected · case 01
After apoapsis the spacecraft appears to be outbound.
Classical elements from a state vector: Inbound true anomaly is not reflected · case 02
After apoapsis the spacecraft appears to be outbound.
Classical elements from a state vector: Inbound true anomaly is not reflected · case 03
After apoapsis the spacecraft appears to be outbound.
Classical elements from a state vector: Inbound true anomaly is not reflected · case 04
After apoapsis the spacecraft appears to be outbound.
Classical elements from a state vector: Inbound true anomaly is not reflected · case 05
After apoapsis the spacecraft appears to be outbound.
Classical elements from a state vector: Eccentricity vector adds the radial-velocity term · case 01
Eccentricity and perigee direction are wrong away from the apsides.
Classical elements from a state vector: Eccentricity vector adds the radial-velocity term · case 02
Eccentricity and perigee direction are wrong away from the apsides.
Classical elements from a state vector: Eccentricity vector adds the radial-velocity term · case 03
Eccentricity and perigee direction are wrong away from the apsides.
Classical elements from a state vector: Eccentricity vector adds the radial-velocity term · case 04
Eccentricity and perigee direction are wrong away from the apsides.
Classical elements from a state vector: Eccentricity vector adds the radial-velocity term · case 05
Eccentricity and perigee direction are wrong away from the apsides.
Classical elements from a state vector: Semi-major axis loses the energy sign · case 01
Bound orbits report a negative semi-major axis.
Classical elements from a state vector: Semi-major axis loses the energy sign · case 02
Bound orbits report a negative semi-major axis.
Classical elements from a state vector: Semi-major axis loses the energy sign · case 03
Bound orbits report a negative semi-major axis.
Classical elements from a state vector: Semi-major axis loses the energy sign · case 04
Bound orbits report a negative semi-major axis.
Classical elements from a state vector: Semi-major axis loses the energy sign · case 05
Bound orbits report a negative semi-major axis.
Classical elements from a state vector: Node vector is built from the wrong cross product order · case 01
RAAN is off by 180 degrees and argp by the same.
Classical elements from a state vector: Node vector is built from the wrong cross product order · case 02
RAAN is off by 180 degrees and argp by the same.
Classical elements from a state vector: Node vector is built from the wrong cross product order · case 03
RAAN is off by 180 degrees and argp by the same.
Classical elements from a state vector: Node vector is built from the wrong cross product order · case 04
RAAN is off by 180 degrees and argp by the same.
Classical elements from a state vector: Node vector is built from the wrong cross product order · case 05
RAAN is off by 180 degrees and argp by the same.
State vector from classical elements: Rotation matrix mixes the sign of one in-plane term · case 01
Inclined orbits are rotated into a skewed plane.
State vector from classical elements: Rotation matrix mixes the sign of one in-plane term · case 02
Inclined orbits are rotated into a skewed plane.
State vector from classical elements: Rotation matrix mixes the sign of one in-plane term · case 03
Inclined orbits are rotated into a skewed plane.
State vector from classical elements: Rotation matrix mixes the sign of one in-plane term · case 04
Inclined orbits are rotated into a skewed plane.
State vector from classical elements: Rotation matrix mixes the sign of one in-plane term · case 05
Inclined orbits are rotated into a skewed plane.
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 ↗