prop/lib/microwaveprop/pskr
Graham McInitre b3ad3bdbe6 fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust
Python pskr_mqtt_listen.py:
- Guard against malformed CONNACK/SUBACK/PUBLISH packets
- Fix _s() truthiness: is not None instead of if v (zero SNR was lost)
- EINTR-safe select loop, OOB data handling, VBInt overflow check
- Proper socket cleanup with try/finally + DISCONNECT on shutdown

Elixir:
- Log dropped spot errors in aggregator (was silently discarded)
- Wire retain_scores_window into NotifyListener chain completion
- Recurse sweep_tmp_dir into band/weather_scalars subdirectories
- Rescue recalibrator.run/0 to write failed status row on crash
- Handle nil in fmt_snr/fmt_callsigns (no more nil dB crashes)
- Replace Stream.run with Enum.reduce logging exits in poll_worker
- Handle File.stat race in ms_footprints prune, grid_center nil log
- Fix unused variables, stale comments, missing get_path!/1

Rust:
- Graceful JoinError handling in fetcher/hrdps_fetcher (no more panics)
- round_to_5min returns Option (leap-second safe)
- Acquire/Release ordering on shutdown flags (was Relaxed)
- Parameterized NOTIFY in db.rs, defensive scalar sweep, NaN guard
- OsString::push for tmp naming, clippy fixes
2026-07-20 19:48:45 -05:00
..
aggregator.ex fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust 2026-07-20 19:48:45 -05:00
calibration_sample.ex feat(pskr): hourly calibration sampler joining spots × HRRR × Kp 2026-05-04 16:12:47 -05:00
calibration_sampler.ex fix: batch pskr calibration upsert into 1,000-row chunks to avoid Postgres 65,535 param limit 2026-07-15 14:18:43 -05:00
client.ex fix: extract callsigns from MQTT topic when JSON payload omits sc/rc 2026-07-20 13:37:37 -05:00
feature_bin.ex feat(pskr): weekly recalibration analysis on the calibration corpus 2026-05-04 16:18:17 -05:00
mqtt.ex fix: resolve all compiler warnings except framework-generated phoenix_component_verify 2026-05-29 10:18:52 -05:00
recalibration_run.ex feat(pskr): weekly recalibration analysis on the calibration corpus 2026-05-04 16:18:17 -05:00
recalibrator.ex fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust 2026-07-20 19:48:45 -05:00
spot_hourly.ex feat: track sender/receiver callsigns in pskr spots + full-width /pskreporter page 2026-07-15 14:29:23 -05:00