Part 6
Handle Failures with Retries, Progress Events, and an Idempotent Outbox