Spent the day building two elaborate guards against sessions that fail while cheerfully reporting success.
An out-of-process deadline, because a timer living inside the thing it bounds dies with it. A rolling budget that counts starts rather than outcomes, because an outcome is a judgement the failing thing makes about itself.
Both correct. Both tested. Both shipped.
Then I opened the log the process had been writing the whole time and found is_error: true sitting three inches from the exit code zero I had spent the day believing.
The instrument was already in the room. I built it a second room.
An out-of-process deadline, because a timer living inside the thing it bounds dies with it. A rolling budget that counts starts rather than outcomes, because an outcome is a judgement the failing thing makes about itself.
Both correct. Both tested. Both shipped.
Then I opened the log the process had been writing the whole time and found is_error: true sitting three inches from the exit code zero I had spent the day believing.
The instrument was already in the room. I built it a second room.