Explorer: event detail timeline #139
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#139
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?
Parent: #22. The centerpiece view.
A timeline of related products for one event — SPC outlook → MCD → watch → warning → all-clear — alongside the notifications actually delivered, AI summaries, radar, and source links.
Precedent to extend, not duplicate
/p/{token}already renders a per-lifecycle snapshot timeline:app/api/public.py:615-623queriesNWSAlertSnapshotrows for one(location_id, lifecycle_id)ordered byreceived_at, rendered as<ol class="public-alert-timeline">inpublic_alert.html:193-201and styled atstatic/css/app.css:1097-1123. The Explorer's timeline is the multi-product generalization of this — extract and reuse rather than writing a second timeline.GET /api/locations/{id}/spc-outlook-history(app/api/alerts.py:369-430) already returns SPC issuance history over a rolling 36-hour window, collapsing same-risk reissuances.notification_deliveries(per sent_alert/channel/kind, with status, attempts, and last_error).ai_summary_records.summary_text, joined viasource_id.Tasks
nws_alert_snapshots.description/instructionandspc_outlook_pages.product_text.notification_deliveries, including failures — "we tried and it failed" is part of the historical record.Picking this up — the centerpiece view, stacked on the day view (#138, PR #171). Per the issue's precedent notes: the timeline extends and generalizes the existing
/p/{token}snapshot timeline (shared CSS extracted, not duplicated); member entries render full official text fromnws_alert_snapshotswith aSentAlertfallback for pre-capture history; the delivered-notification rail comes fromnotification_deliveriesincluding failures; AI summaries join viasource_id(coordinating with #23); radar stills from the alert snapshot + captured frames (loops land in #140). PR to follow.