--- id: "0002" date: 2026-02-10 status: Accepted supersedes: "0001" superseded-by: affected-paths: [taskq/execution.py, taskq/queue.py] affected-components: [execution, queue] --- # 0002 — Job timeouts with exponential backoff, max 3 attempts ## Context Simple retries caused cascade failures. Transient failures need backoff. ## Decision Jobs timeout after 5 minutes. Failed jobs retry with exponential backoff (1s, 2s, 4s) up to 3 total attempts. Permanent failure escalates to review queue. ## Consequences Better resilience. Reduced cascading failures. Terminal failures tracked for review. ## Alternatives rejected Circuit breaker rejected (adds complexity without benefit at this scale).