FAILURE MAP
← Case archive

FA-92500 / HVAC thermostat control / Member archive

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.

Member previewVariant 5 · 3 implementations · 8 checks per implementation

Case contract

Thermostat hold logic; samples are [schedule_period_id, scheduled_setpoint, action] where action is None, "resume", ["temp", sp] or ["perm", sp]. A hold setpoint is clamped to 50.0-90.0 F (500-900 tenths). A temporary hold lasts until the schedule period id changes from the one in which the hold was set; a permanent hold lasts until resume. A new hold of either kind replaces the current hold. Return the effective setpoint per sample.

Why this case matters

Residential and light-commercial thermostats make these decisions sample by sample; each defect changes equipment calls in a way that shows up as short cycling, comfort complaints or equipment stress.

One recorded failure

Sample boundary fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
regression: scenario 16[500, 900, 900, 900, 900, 601, 601, 601, 601, 601, 598, 598, 598, 671][500, 900, 900, 900, 900, 601, 601, 601, 601, 700, 598, 598, 598, 671]Failed

MEMBER ARCHIVE

The complete case is available to members.

This record includes three runnable implementations, regression fixtures, execution results, and source hashes.

Member access is invitation-based. Sign in with your invited account to inspect the sources.

Sign in to the archive ↗