Status page NARR progress counted `hrrr_status = :unavailable` as the candidate set, which swept in ~13.6K post-2014 HRRR retry rows and showed "0 / 13,652". Candidate eligibility is qso_timestamp-based, not hrrr_status-based — switch both the numerator and denominator to `qso_timestamp < NarrClient.coverage_end()` so pre-2014 rows are counted whether their hrrr_status is :queued, :unavailable, or :complete. ContactWeatherEnqueueWorker: short-circuit hrrr_points_for_contact/1 for pre-coverage timestamps and mark the contact :unavailable when no HRRR jobs are built. Was producing a ping-pong where reconcile flipped pre-2014 :queued → :unavailable and the same cron run flipped it back to :queued from a rebuilt HRRR job that could never land data. |
||
|---|---|---|
| .. | ||
| algo_live_test.exs | ||
| beacon_live_test.exs | ||
| contact_live_test.exs | ||
| map_live_test.exs | ||
| path_live_test.exs | ||
| status_live_test.exs | ||
| submit_live_test.exs | ||
| user_management_live_test.exs | ||
| user_profile_live_test.exs | ||
| weather_map_live_test.exs | ||