From Running to Reliable
Why exit code zero does not mean the job is done, and how to define meaningful acceptance rules for automation.
Success is not a boolean
Automation often treats a zero exit code as completion. For work that produces files, database records, or external effects, that only proves the process did not report an error. The real question is whether the expected result is complete, semantically correct, and persisted.
Write acceptance rules first
Before starting a long-running job, I define machine-checkable completion conditions. Retries, recovery, and reporting can then share the same source of truth.
This is placeholder writing. It will later become a real engineering note with code, logs, and a concrete retrospective.