prop/test/microwaveprop
Graham McIntire 2874e6a93b
perf+fix: parallelize path HRRR queries; fix meteor-shower year boundary
Audit pass found two real issues (most agent-flagged items were false
positives — the hrrr_native_profiles composite index exists,
pwat_mm/bl_depth_m are already in the path conditions map, and the
/1.0 in MechanismClassifier is the standard Elixir int→float coerce).

1. Path calculator's 9-point HRRR sampling was running sequentially,
   ~9× the latency of a single query. Task.async_stream with
   max_concurrency: 9 makes them concurrent so path calc pays roughly
   one query's worth of time instead of nine.

2. MechanismClassifyWorker's meteor-shower window used hardcoded 2024
   peak dates with `%{date | year: peak.year}` projection. That broke
   across year boundaries — a Dec 30 contact couldn't match a Jan 4
   Quadrantids peak even in-range of the ±3 day window. Switched to
   {month, day} tuples and check the peak projected onto year N-1, N,
   N+1 so the window works correctly near Dec 31 / Jan 1.
2026-04-18 12:08:42 -05:00
..
accounts test: cover accounts user + user_token 2026-04-16 14:09:45 -05:00
backtest Fix wgrib2 -lola binary parsing and add native_surface_refractivity 2026-04-10 08:13:33 -05:00
beacons test: cover beacons/beacon schema 2026-04-16 14:09:45 -05:00
commercial Add commercial link monitoring via SNMP polling 2026-03-30 13:02:59 -05:00
ionosphere test: expand coverage on ionosphere + space_weather contexts 2026-04-16 14:09:45 -05:00
propagation feat(propagation): per-contact mechanism classification 2026-04-18 10:42:08 -05:00
qrz test: cover qrz/client 2026-04-16 14:10:50 -05:00
radio feat(propagation): per-contact mechanism classification 2026-04-18 10:42:08 -05:00
space_weather test: expand coverage on ionosphere + space_weather contexts 2026-04-16 14:09:45 -05:00
terrain Remove unused CaptureLog import in elevation client test 2026-04-12 09:32:47 -05:00
weather fix(narr): handle cdo 2.5.1 mixed name/code output 2026-04-16 15:14:51 -05:00
workers perf+fix: parallelize path HRRR queries; fix meteor-shower year boundary 2026-04-18 12:08:42 -05:00
accounts_test.exs feat(auth): self-service password reset 2026-04-18 08:42:35 -05:00
application_test.exs feat(nav): show last-deployed timestamp 2026-04-17 13:08:51 -05:00
backtest_test.exs Phase 9.1: Consolidated backtest report and contest log import 2026-04-10 11:57:15 -05:00
beacon_monitors_test.exs Add beacon monitor registration and fix prod SMTP 2026-04-08 11:30:28 -05:00
beacons_test.exs User profiles at /u/:callsign, flexible band input, assorted UX cleanup 2026-04-12 16:13:08 -05:00
cache_test.exs Cache /contacts, fix map blink, make mode optional 2026-04-12 12:47:25 -05:00
callsign_location_test.exs Drop gridmap.org dependency, resolve callsigns locally 2026-04-12 17:43:29 -05:00
commercial_test.exs Wire NEXRAD, native ducts, and commercial links into scoring 2026-04-13 12:08:15 -05:00
geo_test.exs test: cover geo, qrz record, callsign client 2026-04-16 14:09:44 -05:00
geocoder_test.exs Drop gridmap.org dependency, resolve callsigns locally 2026-04-12 17:43:29 -05:00
markdown_test.exs Add Tier 1 test coverage: EnrichmentStatus, Markdown, health, RemoteIp, Maidenhead 2026-04-06 10:15:38 -05:00
propagation_test.exs feat(propagation): record per-forecast-hour chain step timings 2026-04-18 09:36:52 -05:00
qrz_test.exs Drop gridmap.org dependency, resolve callsigns locally 2026-04-12 17:43:29 -05:00
radio_refinement_test.exs CSV/ADIF import: upsert existing contacts on grid/mode refinement 2026-04-16 10:57:37 -05:00
radio_test.exs refactor: normalize pos1/pos2 JSONB key to 'lon' everywhere 2026-04-17 09:10:32 -05:00
repo_listener_test.exs test: cover repo_listener 2026-04-16 14:58:55 -05:00
terrain_test.exs Rename qsos table to contacts, qso_id to contact_id 2026-04-02 15:52:19 -05:00
weather_grid_test.exs Filter weather grid by bounds before deriving sounding params 2026-04-15 15:14:11 -05:00
weather_test.exs feat(weather): nearest_sounding_to helper for path calculator 2026-04-18 10:46:35 -05:00