sdr-health-daily). ✅ = online ⚠ = offline — = manual/browser-only.
ga-nvis uses NY4Q UberSDR (ka9q-radio, /status.json ✅ automatable) + Bishop GA KiwiSDR.
se-charlotte/w1aw/sf-transcon/eu-london use WebSDR — PA3FWM terms prohibit polling; browser links only.
voacapl engine (jawatson/voacapl, no egress) ·
KB: /var/lib/jarvis/knowledge/radio/
js8_messages DB · /api/radio/js8-messages · SNR:
≥0 dB
−10 to −1
<−10 dB
· Band-condition signal: JS8 density complements FT8 decode counts
band_stats_hourly fact table (spot_count, distance rings, SNR, conditions, VOACAP REL). Hourly cron rolls up wspr_spots before 48h prune. 30-day WSPR backfill + SFI/Kp enrichment: 4,828 COMPLETE rows. Data quality flags: COMPLETE / PARTIAL / FETCH_GAP.propagation_forecasts / propagation_scores / propagation_muf_scores.propagation_hypotheses table. Monthly LLM analysis job: score → synthesize KB writeup → propose new hypotheses. Constantly-updating knowledge loop.7.107 MHz USB · JS8 Normal · Thursdays 21:00 ET (01:00 UTC Fri) · Rows = KiwiSDR receivers · Cols = heard stations · Cell = decode count + best SNR
decodes.jsonl (dial_khz=7107) + js8_messages DB.
Callsigns available only for captures made after 2026-07-12 (js8decode.py update).
Offline-inference layer. Consumes the correction factors learned by the Science tab's scoring + fusion pipeline (VOACAP + WSPR ground truth). Science = R&D; P4 = the operational, internet-free forecast.
Calibrated WSPR-SNR predictions per circuit × band × horizon. Cal SNR = VOACAP (100W, physical re-baseline) + WSPR correction factor. Values in dB; WSPR detects to ~−27 dB. Null = no factor yet (needs ≥30 WSPR samples).
MAE from propagation_forecast_outcomes. Outcomes accumulate after WSPR
observation windows close (~23:00 UTC). First forecasts committed 2026-07-29; first scored outcomes 2026-07-30 23:00 UTC. P4.9/P4.11 gate: ≥7 days (~2026-08-05).