The stop page: static stop facts, a sampled timetable, live departures and alerts, and retained reliability history.

Reference Value
Subject and boundary Stop detail resources, polling, report timestamps and tests.
Verified source StopDetail.svelte at main f32cd9b10a6cfa7ea87c07c979355c226e9ddbac, checked November 7, 2026. Capture limits: store.svelte.ts.
Support state Implemented.

Static stop facts and the timetable sample share a keyed, optionally seeded resource. The timetable contains sampled times from a representative weekday; it cannot establish today’s service window or explain an empty live board. Keep the published sample cap separate from any frontend overflow count.

Departures and alerts use separate createLiveStore instances, so each report owns its timestamp, retained failures and shared TTL/clock policy. They poll across tabs, pause hidden/offline, refresh on resume/global refresh, and stop on unmount. No network-wide silent-trip inference belongs on the stop board. Its payload contains up to two predictions per route; missing delay stays unclassified. Direct stop-ID alerts remain visible without optional static code/route associations.

Static and current historic reports reload through their keys/manual/global epoch; retained-history discovery and ranges stay with createStopHistoryResource. Show source-specific timestamps and retained-refresh warnings. Overview metrics share one period or dated daily row; only that row supplies an observation date. Keep report generation separate from observation dates and retained-range selection.

Report stamps belong in content, outside disclosure headers. Keep their tokens intact and use the shared touch-target minimum for filter chips. Preserve localized tab/history URLs, map/back links, keyboard controls, tri-state accessibility, shared schedule tables, metrics and chart owners. Run bun run test src/lib/features/stops; browser checks cover independent failure/age/recovery, empty reports, both locales, narrow screens and touch/keyboard controls.

Alerts and reliability truth

providerHasAlerts gates unsupported provider alerts. “No alerts attached” is a reassuring state only for usable alert data; stale or failed retained alert data uses a neutral caution. Departure and alert families keep independent timestamps and health.

Production stop departures and alerts carry feed_captured_utc as recorded on Snapshot publication and public contract; OC Transpo alerts are unsupported (open production checks: Decisions and limitations). Payloads without the field use publication age; explicit null means unknown capture age. Where emitted, departures use a 300-second accepted-capture limit and alerts 900 seconds, in addition to publication freshness. Stop reliability uses the published uncertainty bounds when exact on-time counts are unavailable; the stop non-severe proxy is not route on-time performance.