prop/config
Graham McIntire 33be6d008f
feat(propagation): add ScoreCacheReconciler + pipeline runbook
Periodic 60s sweep re-warms ScoreCache from /data/scores whenever
{band, valid_time} pairs are on disk but absent in local ETS.
Covers the three silent-fail modes of the NOTIFY/LISTEN path:
dropped notifies on reconnect, missing listener, and stale NFS
reads. Each pod reconciles its own cache — no PubSub fan-out,
no coordination required. Rescue on File.Error handles the
rare window where an atomic-rename write races the reader.

docs/runbook_propagation_pipeline.md names every failure mode
in the Rust↔Elixir seam and what recovers it.
2026-04-21 09:24:16 -05:00
..
config.exs feat(logging): add method + request_path to log metadata 2026-04-21 09:07:31 -05:00
dev.exs feat(hrrr): route per-QSO enrichment through hrrr_fetch_tasks (Stream C Elixir) 2026-04-19 18:22:22 -05:00
prod.exs Configure outbound SMTP email via Swoosh with TLS 2026-04-02 13:08:50 -05:00
runtime.exs fix(backfill): cap cron run at 2000 contacts/tick to avoid 17 min discard 2026-04-21 01:24:45 -05:00
test.exs feat(propagation): add ScoreCacheReconciler + pipeline runbook 2026-04-21 09:24:16 -05:00