From 28cdde7299364678e00abf33e9f531ea0d47b5c5 Mon Sep 17 00:00:00 2001 From: "pulse-triage[bot]" <249995291+pulse-triage[bot]@users.noreply.github.com> Date: Thu, 1 Oct 2026 03:59:08 +0100 Subject: [PATCH] Allow the autonomous queue to produce the restart receipt The complete race run observed a successful PBS recovery webhook after the functional test watchdog expired. Match the existing notification recovery contract watchdog: two autonomous five-second polls plus callback scheduling, while still requiring the actual HTTP payload and incident identity. No production queue, delivery policy or performance assertion changes. Contract-Neutral: Test-only functional receipt watchdog for the existing autonomous notification queue; production delivery and API unchanged. Change-source: pulse-maintainer --- .../monitoring/monitor_pbs_notification_receipt_test.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/monitoring/monitor_pbs_notification_receipt_test.go b/internal/monitoring/monitor_pbs_notification_receipt_test.go index 83ff8b0ede..0da7759c8c 100644 --- a/internal/monitoring/monitor_pbs_notification_receipt_test.go +++ b/internal/monitoring/monitor_pbs_notification_receipt_test.go @@ -75,7 +75,12 @@ func testPBSMetricObservationGapNotificationReceipts(t *testing.T, restart bool) select { case body := <-receipts: return body - case <-time.After(5 * time.Second): + case <-time.After(12 * time.Second): + // This asserts delivery, not latency. The autonomous queue polls + // every five seconds and the resolution callback is asynchronous; + // a five-second deadline races a legitimate post-restart delivery. + // Allow the same two-poll bound as the queue's recovery contracts, + // without forcing its worker or skipping the real HTTP receipt. t.Fatal("no HTTP webhook receipt") return nil }