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
Horn silence is not cancelled by a new alarm · case 01
Once silenced, later alarms never sound the horn.
Horn silence is not cancelled by a new alarm · case 02
Once silenced, later alarms never sound the horn.
Horn silence is not cancelled by a new alarm · case 03
Once silenced, later alarms never sound the horn.
Horn silence is not cancelled by a new alarm · case 04
Once silenced, later alarms never sound the horn.
Horn silence is not cancelled by a new alarm · case 05
Once silenced, later alarms never sound the horn.
Stack light flashes for an unacknowledged alarm of a hidden level · case 01
The red lamp flashes because of an unacknowledged low alarm that the lamp is not showing.
Stack light flashes for an unacknowledged alarm of a hidden level · case 02
The red lamp flashes because of an unacknowledged low alarm that the lamp is not showing.
Stack light flashes for an unacknowledged alarm of a hidden level · case 03
The red lamp flashes because of an unacknowledged low alarm that the lamp is not showing.
Stack light flashes for an unacknowledged alarm of a hidden level · case 04
The red lamp flashes because of an unacknowledged low alarm that the lamp is not showing.
Stack light flashes for an unacknowledged alarm of a hidden level · case 05
The red lamp flashes because of an unacknowledged low alarm that the lamp is not showing.
Horn keeps sounding for acknowledged alarms · case 01
Acknowledging alarms does not stop the horn while they remain active.
Horn keeps sounding for acknowledged alarms · case 02
Acknowledging alarms does not stop the horn while they remain active.
Horn keeps sounding for acknowledged alarms · case 03
Acknowledging alarms does not stop the horn while they remain active.
Horn keeps sounding for acknowledged alarms · case 04
Acknowledging alarms does not stop the horn while they remain active.
Horn keeps sounding for acknowledged alarms · case 05
Acknowledging alarms does not stop the horn while they remain active.
INT overflow wraps as an unsigned 16-bit value · case 01
Unclamped overflow stores a positive value above 32767 instead of the negative two's-complement result.
INT overflow wraps as an unsigned 16-bit value · case 02
Unclamped overflow stores a positive value above 32767 instead of the negative two's-complement result.
INT overflow wraps as an unsigned 16-bit value · case 03
Unclamped overflow stores a positive value above 32767 instead of the negative two's-complement result.
INT overflow wraps as an unsigned 16-bit value · case 04
Unclamped overflow stores a positive value above 32767 instead of the negative two's-complement result.
INT overflow wraps as an unsigned 16-bit value · case 05
Unclamped overflow stores a positive value above 32767 instead of the negative two's-complement result.
INT overflow test treats -32768 as out of range · case 01
A legitimate most-negative result sets the overflow bit and faults the processor.
INT overflow test treats -32768 as out of range · case 02
A legitimate most-negative result sets the overflow bit and faults the processor.
INT overflow test treats -32768 as out of range · case 03
A legitimate most-negative result sets the overflow bit and faults the processor.
INT overflow test treats -32768 as out of range · case 04
A legitimate most-negative result sets the overflow bit and faults the processor.
INT overflow test treats -32768 as out of range · case 05
A legitimate most-negative result sets the overflow bit and faults the processor.
INT saturation direction follows the first operand · case 01
Multiplying two negative numbers saturates to -32768 instead of 32767.
INT saturation direction follows the first operand · case 02
Multiplying two negative numbers saturates to -32768 instead of 32767.
INT saturation direction follows the first operand · case 03
Multiplying two negative numbers saturates to -32768 instead of 32767.
INT saturation direction follows the first operand · case 04
Multiplying two negative numbers saturates to -32768 instead of 32767.
INT saturation direction follows the first operand · case 05
Multiplying two negative numbers saturates to -32768 instead of 32767.
Overflow trap clearing rung is evaluated before the math rung · case 01
An overflow in the same scan as the clearing rung still halts the processor.
Overflow trap clearing rung is evaluated before the math rung · case 02
An overflow in the same scan as the clearing rung still halts the processor.
Overflow trap clearing rung is evaluated before the math rung · case 03
An overflow in the same scan as the clearing rung still halts the processor.
Overflow trap clearing rung is evaluated before the math rung · case 04
An overflow in the same scan as the clearing rung still halts the processor.
Overflow trap clearing rung is evaluated before the math rung · case 05
An overflow in the same scan as the clearing rung still halts the processor.
INT overflow bit stays set for later instructions · case 01
After one handled overflow every later math result is flagged, saturated and trapped.
INT overflow bit stays set for later instructions · case 02
After one handled overflow every later math result is flagged, saturated and trapped.
INT overflow bit stays set for later instructions · case 03
After one handled overflow every later math result is flagged, saturated and trapped.
INT overflow bit stays set for later instructions · case 04
After one handled overflow every later math result is flagged, saturated and trapped.
INT overflow bit stays set for later instructions · case 05
After one handled overflow every later math result is flagged, saturated and trapped.
Auto changeover squeezes the deadband by lowering the heating setpoint · case 01
Raising cooling close to heating silently drops the heating setpoint the user just chose.
Auto changeover squeezes the deadband by lowering the heating setpoint · case 02
Raising cooling close to heating silently drops the heating setpoint the user just chose.
Auto changeover squeezes the deadband by lowering the heating setpoint · case 03
Raising cooling close to heating silently drops the heating setpoint the user just chose.
Auto changeover squeezes the deadband by lowering the heating setpoint · case 04
Raising cooling close to heating silently drops the heating setpoint the user just chose.
Auto changeover squeezes the deadband by lowering the heating setpoint · case 05
Raising cooling close to heating silently drops the heating setpoint the user just chose.
Heating call starts without its differential · case 01
The furnace starts as soon as the room dips below setpoint and short-cycles around it.
Heating call starts without its differential · case 02
The furnace starts as soon as the room dips below setpoint and short-cycles around it.
Heating call starts without its differential · case 03
The furnace starts as soon as the room dips below setpoint and short-cycles around it.
Heating call starts without its differential · case 04
The furnace starts as soon as the room dips below setpoint and short-cycles around it.
Heating call starts without its differential · case 05
The furnace starts as soon as the room dips below setpoint and short-cycles around it.
Heating call ends at the start threshold instead of at setpoint · case 01
Rooms never reach the heating setpoint and the call chatters at the bottom of the band.
Heating call ends at the start threshold instead of at setpoint · case 02
Rooms never reach the heating setpoint and the call chatters at the bottom of the band.
Heating call ends at the start threshold instead of at setpoint · case 03
Rooms never reach the heating setpoint and the call chatters at the bottom of the band.
Heating call ends at the start threshold instead of at setpoint · case 04
Rooms never reach the heating setpoint and the call chatters at the bottom of the band.
Heating call ends at the start threshold instead of at setpoint · case 05
Rooms never reach the heating setpoint and the call chatters at the bottom of the band.
Cooling call ends only once below the cooling setpoint · case 01
Air conditioner runs one extra sample past setpoint on every cycle.
Cooling call ends only once below the cooling setpoint · case 02
Air conditioner runs one extra sample past setpoint on every cycle.
Cooling call ends only once below the cooling setpoint · case 03
Air conditioner runs one extra sample past setpoint on every cycle.
Cooling call ends only once below the cooling setpoint · case 04
Air conditioner runs one extra sample past setpoint on every cycle.
Cooling call ends only once below the cooling setpoint · case 05
Air conditioner runs one extra sample past setpoint on every cycle.
Changeover delay is measured from when heating started · case 01
Cooling can start immediately after a long heating call because the lockout already expired.
Changeover delay is measured from when heating started · case 02
Cooling can start immediately after a long heating call because the lockout already expired.
Changeover delay is measured from when heating started · case 03
Cooling can start immediately after a long heating call because the lockout already expired.
Changeover delay is measured from when heating started · case 04
Cooling can start immediately after a long heating call because the lockout already expired.
Changeover delay is measured from when heating started · case 05
Cooling can start immediately after a long heating call because the lockout already expired.
Stage-2 time upstage counts stage-1 runtime from earlier cycles · case 01
A new heating cycle brings on the second stage almost immediately because previous cycles' runtime is carried over.
Stage-2 time upstage counts stage-1 runtime from earlier cycles · case 02
A new heating cycle brings on the second stage almost immediately because previous cycles' runtime is carried over.
Stage-2 time upstage counts stage-1 runtime from earlier cycles · case 03
A new heating cycle brings on the second stage almost immediately because previous cycles' runtime is carried over.
Stage-2 time upstage counts stage-1 runtime from earlier cycles · case 04
A new heating cycle brings on the second stage almost immediately because previous cycles' runtime is carried over.
Stage-2 time upstage counts stage-1 runtime from earlier cycles · case 05
A new heating cycle brings on the second stage almost immediately because previous cycles' runtime is carried over.
Stage-2 time upstage ignores how close the room is to setpoint · case 01
The second stage kicks in after ten minutes even when the room is within a few tenths of setpoint, overshooting.
Stage-2 time upstage ignores how close the room is to setpoint · case 02
The second stage kicks in after ten minutes even when the room is within a few tenths of setpoint, overshooting.
Stage-2 time upstage ignores how close the room is to setpoint · case 03
The second stage kicks in after ten minutes even when the room is within a few tenths of setpoint, overshooting.
Stage-2 time upstage ignores how close the room is to setpoint · case 04
The second stage kicks in after ten minutes even when the room is within a few tenths of setpoint, overshooting.
Stage-2 time upstage ignores how close the room is to setpoint · case 05
The second stage kicks in after ten minutes even when the room is within a few tenths of setpoint, overshooting.
Stage 2 stays on until the heating setpoint is reached · case 01
High fire runs all the way to setpoint and the room overshoots on every recovery.
Stage 2 stays on until the heating setpoint is reached · case 02
High fire runs all the way to setpoint and the room overshoots on every recovery.
Stage 2 stays on until the heating setpoint is reached · case 03
High fire runs all the way to setpoint and the room overshoots on every recovery.
Stage 2 stays on until the heating setpoint is reached · case 04
High fire runs all the way to setpoint and the room overshoots on every recovery.
Stage 2 stays on until the heating setpoint is reached · case 05
High fire runs all the way to setpoint and the room overshoots on every recovery.
Stage 2 restarts immediately after dropping out · case 01
The second stage cycles on and off every minute during a deep droop.
Stage 2 restarts immediately after dropping out · case 02
The second stage cycles on and off every minute during a deep droop.
Stage 2 restarts immediately after dropping out · case 03
The second stage cycles on and off every minute during a deep droop.
Stage 2 restarts immediately after dropping out · case 04
The second stage cycles on and off every minute during a deep droop.
Stage 2 restarts immediately after dropping out · case 05
The second stage cycles on and off every minute during a deep droop.
Safety fault waits for the compressor minimum on time · case 01
A high-pressure or overload fault keeps the compressor running until its minimum run time expires.
Safety fault waits for the compressor minimum on time · case 02
A high-pressure or overload fault keeps the compressor running until its minimum run time expires.
Safety fault waits for the compressor minimum on time · case 03
A high-pressure or overload fault keeps the compressor running until its minimum run time expires.
Safety fault waits for the compressor minimum on time · case 04
A high-pressure or overload fault keeps the compressor running until its minimum run time expires.
Safety fault waits for the compressor minimum on time · case 05
A high-pressure or overload fault keeps the compressor running until its minimum run time expires.
Safety stop does not start the minimum off timer · case 01
After a safety trip clears, the compressor restarts at once against unequalized pressures.
Safety stop does not start the minimum off timer · case 02
After a safety trip clears, the compressor restarts at once against unequalized pressures.
Safety stop does not start the minimum off timer · case 03
After a safety trip clears, the compressor restarts at once against unequalized pressures.
Safety stop does not start the minimum off timer · case 04
After a safety trip clears, the compressor restarts at once against unequalized pressures.
Safety stop does not start the minimum off timer · case 05
After a safety trip clears, the compressor restarts at once against unequalized pressures.
Minimum on time holds the compressor one minute too long · case 01
Every short call runs one minute longer than the configured minimum.
Minimum on time holds the compressor one minute too long · case 02
Every short call runs one minute longer than the configured minimum.
Minimum on time holds the compressor one minute too long · case 03
Every short call runs one minute longer than the configured minimum.
Minimum on time holds the compressor one minute too long · case 04
Every short call runs one minute longer than the configured minimum.
Minimum on time holds the compressor one minute too long · case 05
Every short call runs one minute longer than the configured minimum.
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 ↗