Fail Bot Today

| Principle | Implementation | |-----------|----------------| | Retry with backoff | Exponential backoff + jitter | | Idempotency | Same request → same effect, even after failure | | Timeout limits | Fail fast, don't hang forever | | Error classification | Transient (retry) vs. Permanent (alert) | | Observability | Log error codes, traces, fail counters |

webhook_url = "YOUR_SLACK_WEBHOOK_URL"

Example retry wrapper: