78d9329cea
CRITICAL: Previous cutoffTime logic (occurred_at >= now-5min) silently dropped messages older than 5 minutes forever, contradicting Outbox Pattern's guarantee of eventual delivery for stuck messages. Changes: - DapperOutboxMessageReader: Remove cutoffTime parameter, process ALL unpublished - OutboxPollerJob: Remove cutoffTime calculation, process all messages by occurred_at - Tests: Remove cutoff scenario (no longer applicable); keep normal + max-attempts - Comments: Document monitoring approach (alert if pending > 5 min) as separate concern AGENTS.md v16.0 Checklist: ✅ Safety: No partial success (no silent data loss) ✅ Audit: Evidence tracked (all messages eventually processed) ✅ Right Way: Root cause fixed (was processing-logic bug, not test-logic bug) Test results: 2/2 passing (normal path, max-attempts DQ) Validation gate: Outbox/Inbox crash-recovery ✅ RESTORED Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>