Lesson 1
How a Programme Thinks
Read a stalled programme as a machine waiting for a sensor to report back, and use the cheapest observation to find where it is stuck.
One minute remaining, for twenty minutes
The display has said 1 min for twenty minutes. The drum turns a little, stops, turns the other way. It looks broken. Usually it isn't: it's waiting.
A washing machine's control board works through a script, and most stages can't start until a sensor reports that the one before has finished. Think of a lift: it won't move until the door sensor says the doors have closed, however often you press the button. The washer has checkpoints like that all the way through. The door has to report locked before water comes in. The level sensor has to report full before the wash starts. The water has to report hot enough before the wash carries on, and the drum has to report empty before anything else happens.
So when a programme stalls, the useful question isn't "what's broken?" It's "which report is it waiting for?"