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
Minimum off time is measured from the last start · case 01
A compressor that ran longer than the off delay restarts immediately after stopping.
Minimum off time is measured from the last start · case 02
A compressor that ran longer than the off delay restarts immediately after stopping.
Minimum off time is measured from the last start · case 03
A compressor that ran longer than the off delay restarts immediately after stopping.
Minimum off time is measured from the last start · case 04
A compressor that ran longer than the off delay restarts immediately after stopping.
Minimum off time is measured from the last start · case 05
A compressor that ran longer than the off delay restarts immediately after stopping.
Compressor starts immediately after power is restored · case 01
All units on a feeder start together after an outage because the power-up delay is skipped.
Compressor starts immediately after power is restored · case 02
All units on a feeder start together after an outage because the power-up delay is skipped.
Compressor starts immediately after power is restored · case 03
All units on a feeder start together after an outage because the power-up delay is skipped.
Compressor starts immediately after power is restored · case 04
All units on a feeder start together after an outage because the power-up delay is skipped.
Compressor starts immediately after power is restored · case 05
All units on a feeder start together after an outage because the power-up delay is skipped.
Minimum on time is measured from the first ever start · case 01
After the first cycle the compressor may stop right after starting because its start time is stale.
Minimum on time is measured from the first ever start · case 02
After the first cycle the compressor may stop right after starting because its start time is stale.
Minimum on time is measured from the first ever start · case 03
After the first cycle the compressor may stop right after starting because its start time is stale.
Minimum on time is measured from the first ever start · case 04
After the first cycle the compressor may stop right after starting because its start time is stale.
Minimum on time is measured from the first ever start · case 05
After the first cycle the compressor may stop right after starting because its start time is stale.
Heat pump compressor lockout has no release differential · case 01
Near the balance point the compressor and auxiliary heat swap every sample as outdoor temperature jitters.
Heat pump compressor lockout has no release differential · case 02
Near the balance point the compressor and auxiliary heat swap every sample as outdoor temperature jitters.
Heat pump compressor lockout has no release differential · case 03
Near the balance point the compressor and auxiliary heat swap every sample as outdoor temperature jitters.
Heat pump compressor lockout has no release differential · case 04
Near the balance point the compressor and auxiliary heat swap every sample as outdoor temperature jitters.
Heat pump compressor lockout has no release differential · case 05
Near the balance point the compressor and auxiliary heat swap every sample as outdoor temperature jitters.
Emergency heat mode still runs the compressor · case 01
Selecting emergency heat for a failed outdoor unit keeps calling the compressor.
Emergency heat mode still runs the compressor · case 02
Selecting emergency heat for a failed outdoor unit keeps calling the compressor.
Emergency heat mode still runs the compressor · case 03
Selecting emergency heat for a failed outdoor unit keeps calling the compressor.
Emergency heat mode still runs the compressor · case 04
Selecting emergency heat for a failed outdoor unit keeps calling the compressor.
Emergency heat mode still runs the compressor · case 05
Selecting emergency heat for a failed outdoor unit keeps calling the compressor.
Aux heat lockout applies while the compressor is locked out · case 01
Inside the compressor release band there is no heat source at all.
Aux heat lockout applies while the compressor is locked out · case 02
Inside the compressor release band there is no heat source at all.
Aux heat lockout applies while the compressor is locked out · case 03
Inside the compressor release band there is no heat source at all.
Aux heat lockout applies while the compressor is locked out · case 04
Inside the compressor release band there is no heat source at all.
Aux heat lockout applies while the compressor is locked out · case 05
Inside the compressor release band there is no heat source at all.
Aux strips come on with the compressor on first-stage demand · case 01
Electric strips run alongside the heat pump for small errors, wasting energy.
Aux strips come on with the compressor on first-stage demand · case 02
Electric strips run alongside the heat pump for small errors, wasting energy.
Aux strips come on with the compressor on first-stage demand · case 03
Electric strips run alongside the heat pump for small errors, wasting energy.
Aux strips come on with the compressor on first-stage demand · case 04
Electric strips run alongside the heat pump for small errors, wasting energy.
Aux strips come on with the compressor on first-stage demand · case 05
Electric strips run alongside the heat pump for small errors, wasting energy.
Defrost timer accumulates runtime with a dry coil · case 01
The unit defrosts on schedule in dry mild weather even though the coil never got cold enough to frost.
Defrost timer accumulates runtime with a dry coil · case 02
The unit defrosts on schedule in dry mild weather even though the coil never got cold enough to frost.
Defrost timer accumulates runtime with a dry coil · case 03
The unit defrosts on schedule in dry mild weather even though the coil never got cold enough to frost.
Defrost timer accumulates runtime with a dry coil · case 04
The unit defrosts on schedule in dry mild weather even though the coil never got cold enough to frost.
Defrost timer accumulates runtime with a dry coil · case 05
The unit defrosts on schedule in dry mild weather even though the coil never got cold enough to frost.
Defrost starts in warm outdoor conditions · case 01
The heat pump runs a defrost at 55 F outdoor, dumping cold air into the house for no reason.
Defrost starts in warm outdoor conditions · case 02
The heat pump runs a defrost at 55 F outdoor, dumping cold air into the house for no reason.
Defrost starts in warm outdoor conditions · case 03
The heat pump runs a defrost at 55 F outdoor, dumping cold air into the house for no reason.
Defrost starts in warm outdoor conditions · case 04
The heat pump runs a defrost at 55 F outdoor, dumping cold air into the house for no reason.
Defrost starts in warm outdoor conditions · case 05
The heat pump runs a defrost at 55 F outdoor, dumping cold air into the house for no reason.
Defrost does not terminate at exactly 57 F coil · case 01
Defrost runs past the termination point and wastes energy.
Defrost does not terminate at exactly 57 F coil · case 02
Defrost runs past the termination point and wastes energy.
Defrost does not terminate at exactly 57 F coil · case 03
Defrost runs past the termination point and wastes energy.
Defrost does not terminate at exactly 57 F coil · case 04
Defrost runs past the termination point and wastes energy.
Defrost does not terminate at exactly 57 F coil · case 05
Defrost runs past the termination point and wastes energy.
Defrost runtime accumulator is not cleared at initiation · case 01
Defrosts repeat back to back because the accumulated runtime is still above the interval.
Defrost runtime accumulator is not cleared at initiation · case 02
Defrosts repeat back to back because the accumulated runtime is still above the interval.
Defrost runtime accumulator is not cleared at initiation · case 03
Defrosts repeat back to back because the accumulated runtime is still above the interval.
Defrost runtime accumulator is not cleared at initiation · case 04
Defrosts repeat back to back because the accumulated runtime is still above the interval.
Defrost runtime accumulator is not cleared at initiation · case 05
Defrosts repeat back to back because the accumulated runtime is still above the interval.
Defrost is still reported on the minute it terminates · case 01
Every defrost is reported one minute longer and the heating restart is delayed.
Defrost is still reported on the minute it terminates · case 02
Every defrost is reported one minute longer and the heating restart is delayed.
Defrost is still reported on the minute it terminates · case 03
Every defrost is reported one minute longer and the heating restart is delayed.
Defrost is still reported on the minute it terminates · case 04
Every defrost is reported one minute longer and the heating restart is delayed.
Defrost is still reported on the minute it terminates · case 05
Every defrost is reported one minute longer and the heating restart is delayed.
Schedule lookup before the first event of the week uses the first event · case 01
Early Monday morning runs the Monday wake setpoint instead of Sunday night's sleep setpoint.
Schedule lookup before the first event of the week uses the first event · case 02
Early Monday morning runs the Monday wake setpoint instead of Sunday night's sleep setpoint.
Schedule lookup before the first event of the week uses the first event · case 03
Early Monday morning runs the Monday wake setpoint instead of Sunday night's sleep setpoint.
Schedule lookup before the first event of the week uses the first event · case 04
Early Monday morning runs the Monday wake setpoint instead of Sunday night's sleep setpoint.
Schedule lookup before the first event of the week uses the first event · case 05
Early Monday morning runs the Monday wake setpoint instead of Sunday night's sleep setpoint.
Schedule event does not apply at its own start minute · case 01
At exactly the programmed time the thermostat still shows the previous period.
Schedule event does not apply at its own start minute · case 02
At exactly the programmed time the thermostat still shows the previous period.
Schedule event does not apply at its own start minute · case 03
At exactly the programmed time the thermostat still shows the previous period.
Schedule event does not apply at its own start minute · case 04
At exactly the programmed time the thermostat still shows the previous period.
Schedule event does not apply at its own start minute · case 05
At exactly the programmed time the thermostat still shows the previous period.
Schedule lookup ignores the weekday of events · case 01
A weekend event overrides weekday times because only the minute of day is compared.
Schedule lookup ignores the weekday of events · case 02
A weekend event overrides weekday times because only the minute of day is compared.
Schedule lookup ignores the weekday of events · case 03
A weekend event overrides weekday times because only the minute of day is compared.
Schedule lookup ignores the weekday of events · case 04
A weekend event overrides weekday times because only the minute of day is compared.
Schedule lookup ignores the weekday of events · case 05
A weekend event overrides weekday times because only the minute of day is compared.
Schedule entries are scanned in the order they were entered · case 01
Editing an earlier period after a later one makes the lookup stop at the wrong event.
Schedule entries are scanned in the order they were entered · case 02
Editing an earlier period after a later one makes the lookup stop at the wrong event.
Schedule entries are scanned in the order they were entered · case 03
Editing an earlier period after a later one makes the lookup stop at the wrong event.
Schedule entries are scanned in the order they were entered · case 04
Editing an earlier period after a later one makes the lookup stop at the wrong event.
Schedule entries are scanned in the order they were entered · case 05
Editing an earlier period after a later one makes the lookup stop at the wrong event.
Permanent hold expires at the next schedule period while temporary hold persists · case 01
A "hold until next period" never ends, while a permanent hold is dropped at the next program change.
Permanent hold expires at the next schedule period while temporary hold persists · case 02
A "hold until next period" never ends, while a permanent hold is dropped at the next program change.
Permanent hold expires at the next schedule period while temporary hold persists · case 03
A "hold until next period" never ends, while a permanent hold is dropped at the next program change.
Permanent hold expires at the next schedule period while temporary hold persists · case 04
A "hold until next period" never ends, while a permanent hold is dropped at the next program change.
Permanent hold expires at the next schedule period while temporary hold persists · case 05
A "hold until next period" never ends, while a permanent hold is dropped at the next program change.
Temporary hold remembers the period of the first hold ever set · case 01
A temporary hold set in a later period expires immediately.
Temporary hold remembers the period of the first hold ever set · case 02
A temporary hold set in a later period expires immediately.
Temporary hold remembers the period of the first hold ever set · case 03
A temporary hold set in a later period expires immediately.
Temporary hold remembers the period of the first hold ever set · case 04
A temporary hold set in a later period expires immediately.
Temporary hold remembers the period of the first hold ever set · case 05
A temporary hold set in a later period expires immediately.
Hold setpoint accepts values outside the thermostat limits · case 01
A remote or keypad hold can command 40 F or 95 F.
Hold setpoint accepts values outside the thermostat limits · case 02
A remote or keypad hold can command 40 F or 95 F.
Hold setpoint accepts values outside the thermostat limits · case 03
A remote or keypad hold can command 40 F or 95 F.
Hold setpoint accepts values outside the thermostat limits · case 04
A remote or keypad hold can command 40 F or 95 F.
Hold setpoint accepts values outside the thermostat limits · case 05
A remote or keypad hold can command 40 F or 95 F.
A temporary hold set during a permanent hold becomes permanent · case 01
Pressing the arrows during a vacation hold makes the new setpoint stick past the next period.
A temporary hold set during a permanent hold becomes permanent · case 02
Pressing the arrows during a vacation hold makes the new setpoint stick past the next period.
A temporary hold set during a permanent hold becomes permanent · case 03
Pressing the arrows during a vacation hold makes the new setpoint stick past the next period.
A temporary hold set during a permanent hold becomes permanent · case 04
Pressing the arrows during a vacation hold makes the new setpoint stick past the next period.
A temporary hold set during a permanent hold becomes permanent · case 05
Pressing the arrows during a vacation hold makes the new setpoint stick past the next period.
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 ↗