prop/rust/prop_grid_rs/src
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
..
bin fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust 2026-07-20 19:48:45 -05:00
band_config.rs fix(rust/scorer): sync recalibrated default weights with Elixir 2026-04-29 09:32:54 -05:00
commercial.rs fix(commercial): decode commercial_links.id as Uuid, not i64 2026-04-20 09:21:10 -05:00
db.rs fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust 2026-07-20 19:48:45 -05:00
decoder.rs fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust 2026-07-20 19:48:45 -05:00
duct.rs style(rust): apply cargo fmt across prop_grid_rs 2026-04-20 13:20:22 -05:00
fetcher.rs fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust 2026-07-20 19:48:45 -05:00
grid.rs fix(prop-grid): keep HRDPS lat=50 boundary row to close /weather seam 2026-04-30 16:44:53 -05:00
hrdps_fetcher.rs fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust 2026-07-20 19:48:45 -05:00
hrrr_points.rs fix: three more Rust/Elixir contract drift bugs on /map and /weather 2026-04-24 14:04:02 -05:00
lib.rs feat: extend HRRR forecast horizon from 18h to 48h 2026-06-10 11:36:58 -05:00
metrics.rs prom: wire rust workers into prometheus 2026-05-08 10:36:49 -05:00
native_duct.rs fix(skewt): write profile files for f01..f18 forecast hours 2026-04-25 12:58:10 -05:00
nexrad.rs fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust 2026-07-20 19:48:45 -05:00
pipeline.rs fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust 2026-07-20 19:48:45 -05:00
profiles_file.rs fix: April 2026 codebase review — address 13 bugs across propagation chain 2026-04-25 10:52:51 -05:00
region.rs fix: April 2026 codebase review — address 13 bugs across propagation chain 2026-04-25 10:52:51 -05:00
scorer.rs fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust 2026-07-20 19:48:45 -05:00
scores_file.rs fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust 2026-07-20 19:48:45 -05:00
sounding_params.rs feat: extend HRRR forecast horizon from 18h to 48h 2026-06-10 11:36:58 -05:00
telemetry.rs chore(rust): drop OpenTelemetry stack to speed up cold builds 2026-04-24 09:11:43 -05:00
weather_scalar_file.rs fix: sweep bugs across Python MQTT listener, Elixir PSKR/propagation, and Rust 2026-07-20 19:48:45 -05:00