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
Celsius arrow press steps from a truncated half degree · case 01
The first press after switching to C sometimes leaves the displayed value unchanged or jumps the wrong way.
Celsius arrow press steps from a truncated half degree · case 02
The first press after switching to C sometimes leaves the displayed value unchanged or jumps the wrong way.
Celsius arrow press steps from a truncated half degree · case 03
The first press after switching to C sometimes leaves the displayed value unchanged or jumps the wrong way.
Celsius arrow press steps from a truncated half degree · case 04
The first press after switching to C sometimes leaves the displayed value unchanged or jumps the wrong way.
Celsius arrow press steps from a truncated half degree · case 05
The first press after switching to C sometimes leaves the displayed value unchanged or jumps the wrong way.
Celsius display prints the half-degree digit as 1 · case 01
A setpoint of 22.5 C is displayed as 22.1 C.
Celsius display prints the half-degree digit as 1 · case 02
A setpoint of 22.5 C is displayed as 22.1 C.
Celsius display prints the half-degree digit as 1 · case 03
A setpoint of 22.5 C is displayed as 22.1 C.
Celsius display prints the half-degree digit as 1 · case 04
A setpoint of 22.5 C is displayed as 22.1 C.
Celsius display prints the half-degree digit as 1 · case 05
A setpoint of 22.5 C is displayed as 22.1 C.
Celsius press moves a whole degree Celsius · case 01
Each arrow press in C mode jumps 1 C (1.8 F) instead of 0.5 C.
Celsius press moves a whole degree Celsius · case 02
Each arrow press in C mode jumps 1 C (1.8 F) instead of 0.5 C.
Celsius press moves a whole degree Celsius · case 03
Each arrow press in C mode jumps 1 C (1.8 F) instead of 0.5 C.
Celsius press moves a whole degree Celsius · case 04
Each arrow press in C mode jumps 1 C (1.8 F) instead of 0.5 C.
Celsius press moves a whole degree Celsius · case 05
Each arrow press in C mode jumps 1 C (1.8 F) instead of 0.5 C.
Setpoint limits are only enforced in one display unit · case 01
Switching to Celsius lets the user walk the setpoint outside 45-90 F.
Setpoint limits are only enforced in one display unit · case 02
Switching to Celsius lets the user walk the setpoint outside 45-90 F.
Setpoint limits are only enforced in one display unit · case 03
Switching to Celsius lets the user walk the setpoint outside 45-90 F.
Setpoint limits are only enforced in one display unit · case 04
Switching to Celsius lets the user walk the setpoint outside 45-90 F.
Setpoint limits are only enforced in one display unit · case 05
Switching to Celsius lets the user walk the setpoint outside 45-90 F.
Fahrenheit press steps from a truncated whole degree · case 01
Pressing up from a stored 72.5 F shows 73 instead of 74.
Fahrenheit press steps from a truncated whole degree · case 02
Pressing up from a stored 72.5 F shows 73 instead of 74.
Fahrenheit press steps from a truncated whole degree · case 03
Pressing up from a stored 72.5 F shows 73 instead of 74.
Fahrenheit press steps from a truncated whole degree · case 04
Pressing up from a stored 72.5 F shows 73 instead of 74.
Fahrenheit press steps from a truncated whole degree · case 05
Pressing up from a stored 72.5 F shows 73 instead of 74.
Economizer enables right at the high limit with no differential · case 01
The economizer toggles on and off every sample when outdoor temperature hovers at the high limit.
Economizer enables right at the high limit with no differential · case 02
The economizer toggles on and off every sample when outdoor temperature hovers at the high limit.
Economizer enables right at the high limit with no differential · case 03
The economizer toggles on and off every sample when outdoor temperature hovers at the high limit.
Economizer enables right at the high limit with no differential · case 04
The economizer toggles on and off every sample when outdoor temperature hovers at the high limit.
Economizer enables right at the high limit with no differential · case 05
The economizer toggles on and off every sample when outdoor temperature hovers at the high limit.
Economizer compares outdoor air above return air plus the differential · case 01
Outdoor air warmer than the return air is brought in for cooling.
Economizer compares outdoor air above return air plus the differential · case 02
Outdoor air warmer than the return air is brought in for cooling.
Economizer compares outdoor air above return air plus the differential · case 03
Outdoor air warmer than the return air is brought in for cooling.
Economizer compares outdoor air above return air plus the differential · case 04
Outdoor air warmer than the return air is brought in for cooling.
Economizer compares outdoor air above return air plus the differential · case 05
Outdoor air warmer than the return air is brought in for cooling.
Economizer disables as soon as outdoor rises into the differential band · case 01
Economizing chatters because the disable point equals the enable point.
Economizer disables as soon as outdoor rises into the differential band · case 02
Economizing chatters because the disable point equals the enable point.
Economizer disables as soon as outdoor rises into the differential band · case 03
Economizing chatters because the disable point equals the enable point.
Economizer disables as soon as outdoor rises into the differential band · case 04
Economizing chatters because the disable point equals the enable point.
Economizer disables as soon as outdoor rises into the differential band · case 05
Economizing chatters because the disable point equals the enable point.
Mixed-air low limit reads the outdoor air sensor · case 01
The damper throttles back on cold mornings even when the mixed air is warm enough, and fails to protect when it is not.
Mixed-air low limit reads the outdoor air sensor · case 02
The damper throttles back on cold mornings even when the mixed air is warm enough, and fails to protect when it is not.
Mixed-air low limit reads the outdoor air sensor · case 03
The damper throttles back on cold mornings even when the mixed air is warm enough, and fails to protect when it is not.
Mixed-air low limit reads the outdoor air sensor · case 04
The damper throttles back on cold mornings even when the mixed air is warm enough, and fails to protect when it is not.
Mixed-air low limit reads the outdoor air sensor · case 05
The damper throttles back on cold mornings even when the mixed air is warm enough, and fails to protect when it is not.
Mixed-air low limit closes the damper below minimum ventilation · case 01
Cold mixed air drives the outdoor damper below its minimum ventilation position.
Mixed-air low limit closes the damper below minimum ventilation · case 02
Cold mixed air drives the outdoor damper below its minimum ventilation position.
Mixed-air low limit closes the damper below minimum ventilation · case 03
Cold mixed air drives the outdoor damper below its minimum ventilation position.
Mixed-air low limit closes the damper below minimum ventilation · case 04
Cold mixed air drives the outdoor damper below its minimum ventilation position.
Mixed-air low limit closes the damper below minimum ventilation · case 05
Cold mixed air drives the outdoor damper below its minimum ventilation position.
Economizer ramp starts from the closed position · case 01
After occupancy begins the damper opens to less than minimum ventilation on the first economizer step.
Economizer ramp starts from the closed position · case 02
After occupancy begins the damper opens to less than minimum ventilation on the first economizer step.
Economizer ramp starts from the closed position · case 03
After occupancy begins the damper opens to less than minimum ventilation on the first economizer step.
Economizer ramp starts from the closed position · case 04
After occupancy begins the damper opens to less than minimum ventilation on the first economizer step.
Economizer ramp starts from the closed position · case 05
After occupancy begins the damper opens to less than minimum ventilation on the first economizer step.
Outdoor damper stays open while the building is unoccupied · case 01
The economizer brings in outdoor air overnight whenever a cooling call appears.
Outdoor damper stays open while the building is unoccupied · case 02
The economizer brings in outdoor air overnight whenever a cooling call appears.
Outdoor damper stays open while the building is unoccupied · case 03
The economizer brings in outdoor air overnight whenever a cooling call appears.
Outdoor damper stays open while the building is unoccupied · case 04
The economizer brings in outdoor air overnight whenever a cooling call appears.
Outdoor damper stays open while the building is unoccupied · case 05
The economizer brings in outdoor air overnight whenever a cooling call appears.
Cooling fan-off delay is one minute short · case 01
The blower stops before the evaporator coil has been purged of cold air.
Cooling fan-off delay is one minute short · case 02
The blower stops before the evaporator coil has been purged of cold air.
Cooling fan-off delay is one minute short · case 03
The blower stops before the evaporator coil has been purged of cold air.
Cooling fan-off delay is one minute short · case 04
The blower stops before the evaporator coil has been purged of cold air.
Cooling fan-off delay is one minute short · case 05
The blower stops before the evaporator coil has been purged of cold air.
Blower starts with the burner and blows cold air · case 01
At the start of every heating call the occupants feel a draft of unheated air.
Blower starts with the burner and blows cold air · case 02
At the start of every heating call the occupants feel a draft of unheated air.
Blower starts with the burner and blows cold air · case 03
At the start of every heating call the occupants feel a draft of unheated air.
Blower starts with the burner and blows cold air · case 04
At the start of every heating call the occupants feel a draft of unheated air.
Blower starts with the burner and blows cold air · case 05
At the start of every heating call the occupants feel a draft of unheated air.
Heat post-purge runs even when the blower never started · case 01
A one-minute heat call is followed by three minutes of fan with a cold heat exchanger.
Heat post-purge runs even when the blower never started · case 02
A one-minute heat call is followed by three minutes of fan with a cold heat exchanger.
Heat post-purge runs even when the blower never started · case 03
A one-minute heat call is followed by three minutes of fan with a cold heat exchanger.
Heat post-purge runs even when the blower never started · case 04
A one-minute heat call is followed by three minutes of fan with a cold heat exchanger.
Heat post-purge runs even when the blower never started · case 05
A one-minute heat call is followed by three minutes of fan with a cold heat exchanger.
Heat warm-up count survives an intervening cooling call · case 01
A heat call immediately following cooling starts the blower in its first minute.
Heat warm-up count survives an intervening cooling call · case 02
A heat call immediately following cooling starts the blower in its first minute.
Heat warm-up count survives an intervening cooling call · case 03
A heat call immediately following cooling starts the blower in its first minute.
Heat warm-up count survives an intervening cooling call · case 04
A heat call immediately following cooling starts the blower in its first minute.
Heat warm-up count survives an intervening cooling call · case 05
A heat call immediately following cooling starts the blower in its first minute.
Circulate fan minutes are counted across clock hours · case 01
After the first hour circulation never runs because earlier fan minutes still count.
Circulate fan minutes are counted across clock hours · case 02
After the first hour circulation never runs because earlier fan minutes still count.
Circulate fan minutes are counted across clock hours · case 03
After the first hour circulation never runs because earlier fan minutes still count.
Circulate fan minutes are counted across clock hours · case 04
After the first hour circulation never runs because earlier fan minutes still count.
Circulate fan minutes are counted across clock hours · case 05
After the first hour circulation never runs because earlier fan minutes still count.
Circulation starts one minute too late to meet its hourly minimum · case 01
Each hour ends with one fan minute less than the circulate requirement.
Circulation starts one minute too late to meet its hourly minimum · case 02
Each hour ends with one fan minute less than the circulate requirement.
Circulation starts one minute too late to meet its hourly minimum · case 03
Each hour ends with one fan minute less than the circulate requirement.
Circulation starts one minute too late to meet its hourly minimum · case 04
Each hour ends with one fan minute less than the circulate requirement.
Circulation starts one minute too late to meet its hourly minimum · case 05
Each hour ends with one fan minute less than the circulate requirement.
Circulation ignores fan minutes run for heating or cooling · case 01
The fan runs a full 20 extra minutes in hours that already had long cooling calls.
Circulation ignores fan minutes run for heating or cooling · case 02
The fan runs a full 20 extra minutes in hours that already had long cooling calls.
Circulation ignores fan minutes run for heating or cooling · case 03
The fan runs a full 20 extra minutes in hours that already had long cooling calls.
Circulation ignores fan minutes run for heating or cooling · case 04
The fan runs a full 20 extra minutes in hours that already had long cooling calls.
Circulation ignores fan minutes run for heating or cooling · case 05
The fan runs a full 20 extra minutes in hours that already had long cooling calls.
Overcooling stops as soon as humidity falls back into the start band · case 01
Dehumidification cycles on and off around rh_sp + 5 and never pulls humidity down to setpoint.
Overcooling stops as soon as humidity falls back into the start band · case 02
Dehumidification cycles on and off around rh_sp + 5 and never pulls humidity down to setpoint.
Overcooling stops as soon as humidity falls back into the start band · case 03
Dehumidification cycles on and off around rh_sp + 5 and never pulls humidity down to setpoint.
Overcooling stops as soon as humidity falls back into the start band · case 04
Dehumidification cycles on and off around rh_sp + 5 and never pulls humidity down to setpoint.
Overcooling stops as soon as humidity falls back into the start band · case 05
Dehumidification cycles on and off around rh_sp + 5 and never pulls humidity down to setpoint.
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 ↗