- SolarIndexWorker accepts date arg for specific date fetch - Contact show page enqueues solar fetch when data missing - PubSub broadcast on solar data arrival, live-updates page - Spinner shown while fetching
- Radio context with QSO schema and CSV import script (58K contacts) - Solar index schema, GFZ client, and daily Oban cron worker - LiveView dashboard with QSO table and weather correlation views - Parallelize weather import script using Task.async_stream (10 concurrent workers) - Replace sequential rate_limit sleeps with concurrency-based backpressure - Atomic progress counter for interleave-safe reporting