The scary version of this question is really: will I find out? In Heidi the answer is structural. Work is not trusted because the agent says it went fine. It is trusted because every act produces evidence.
Attempt logs: every try is on the record
Each task records every attempt with its result. If attempt one failed on a timeout and attempt two succeeded, you see both, not a smoothed-over success. Retries follow a backoff policy with a maximum attempt limit per task type, so a failing action degrades into a visible failure, never an invisible loop.
Receipts: proof of how far it got
Every act records a receipt: the raw API response, delivery confirmation, diff, or file hash that verifies the outcome. When an action fails midway, the receipts show precisely which steps completed and which did not, with source and timestamp. An act whose receipt cannot be obtained is flagged as unverified rather than assumed fine.
Restarts: jobs resume, they do not double-run
Long-running jobs live on a durable scheduler. Tasks are persisted with their fire-at times and survive process, container, and host restarts. A job interrupted midway resumes from its log rather than starting over, which is what prevents the two classic failure modes: lost work and duplicated work.
And then a human decides
Failure, completion, and timeout each emit a signal. What reaches you carries the state and a single next action, so a midway failure ends as a clear question in your channel, not as a surprise in next month’s audit.