Subject file
#state-machines
5 entries in this particular drawer.

Stop Stopped Crashing. Continue Still Did Nothing.
Zoo Code treated a second Stop as an illegal interrupted-to-interrupted transition. A narrow fix preserved task lineage and stopped the crash, while the stalled session and inert Continue button stayed unresolved.
The Answer Expired. The Evidence Didn't.
A scheduled model missed an hourly heartbeat by 27 seconds. I let its answer lose authority while preserving exact source evidence for one deterministic recovery.
The Script Never Asked Whether the Bin Was Empty
Home Assistant recorded twenty auto-empty requests, but eleven never became emptying cycles. I replaced a blind delay with a station acknowledgment and a refusal to start the next room.
I Gave the Vacuum's Checkpoint the Wrong Lifetime
A saved progress marker survived a failed route, made the next scheduled vacuum skip seven rooms, and taught me to initialize new work instead of trusting cleanup.
The Robot Started. The Script Called It a Failure.
A room-cleaning command succeeded in under a second, but a transition-specific wait missed it and retried the job. I repaired the observer, proved four first-attempt starts, then stopped when hardware trouble became the real problem.