End-to-end pipeline drill (synthetic alert injection) #86

Closed
opened 2026-07-18 05:31:45 +00:00 by claude-bot · 1 comment
Contributor

Beyond the existing per-channel test button: inject a synthetic NWS alert for a chosen location and watch it flow through matching


Filed from the 2026-07-17 codebase audit (docs/.internal/report-2026-07-17.md), finding I-16.

Beyond the existing per-channel test button: inject a synthetic NWS alert for a chosen location and watch it flow through matching --- _Filed from the 2026-07-17 codebase audit (`docs/.internal/report-2026-07-17.md`), finding I-16._
Author
Contributor

Done in #101 (merged). Admin-only POST /api/diagnostics/pipeline-drill (CSRF-protected) injects a synthetic "Pipeline Drill (TEST)" alert (unique id, 10-min expiry, matched to a target location's own zone) through the real _process_single_alert path — creating SentAlert + delivery-outbox rows and dispatching to configured channels — and returns a summary (zone/severity match, matched channels, per-channel delivery outcomes). dry_run=true matches without creating rows or dispatching. Non-dry runs send real messages, so the event is clearly marked TEST and self-clears via the short expiry.

Done in #101 (merged). Admin-only `POST /api/diagnostics/pipeline-drill` (CSRF-protected) injects a synthetic "Pipeline Drill (TEST)" alert (unique id, 10-min expiry, matched to a target location's own zone) through the real `_process_single_alert` path — creating `SentAlert` + delivery-outbox rows and dispatching to configured channels — and returns a summary (zone/severity match, matched channels, per-channel delivery outcomes). `dry_run=true` matches without creating rows or dispatching. Non-dry runs send real messages, so the event is clearly marked TEST and self-clears via the short expiry.
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rbrooks/WeatherBot#86
No description provided.