SPC convective notifications collapse Day 1/2/3 into one — lower-day risk silently dropped #42
Labels
No labels
area:ai
area:ci-cd
area:notifications
area:observability
area:public-pages
backlog
bug
duplicate
enhancement
help wanted
invalid
question
type:decision
type:feature
type:infra
type:maintenance
type:security
v1.0.1
v1.1.0
v1.2.0
v1.3.0
v2.0.0
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
rbrooks/WeatherBot#42
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
_process_convective_for_sub(app/services/spc_processor.py:153-158) filtersoutlooksto days {1,2,3} and callschoose_highest_risk_for_pointonce overthe merged list, so only the globally-highest-risk day produces a
SentAlert/notification. A location under Day 1 MRGL + Day 2 ENH never getsthe Day 1 notification while Day 2 remains higher. The dashboard path
(
_refresh_dashboard_for_location, spc_processor.py:755-763) already loopsfor day in (1, 2, 3)and upserts each day independently — port that shape tothe notification path: group by day, choose per day, record/dispatch per day.
Test gap that let this ship:
test_poll_spc_uses_highest_matching_risk_and_dedups_repeat_runsonly exercises two day=1 outlooks. Add a cross-day test (Day 1 lower + Day 2
higher → both notify).
Acceptance criteria:
Filed from the 2026-07-17 codebase audit (
docs/.internal/report-2026-07-17.md), finding F-03.Fixed in #92 (merged to
main)._process_convective_for_subnow loopsfor day in (1,2,3), choosing the highest risk per day and recording/dispatching each independently (mirroring the dashboard path), so a lower-risk same-day outlook is no longer dropped when a later day is higher. Cross-day regression test added (Day 1 lower + Day 2 higher → both notify).