0a3242c6ec
Fallback city-card reads now distinguish three cases that previously collapsed into the generic fast-evidence copy: observed highs above the model path, observed highs still lagging after the peak window, and low observations before the peak window that should wait for confirmation rather than down-revise immediately. The same pass removes three unused private helpers from the scan terminal service. Constraint: Fallback output must be useful before the full AI airport-bulletin read returns Rejected: Treat any low latest METAR as a down-revision | early-day observations can be below the forecast before the peak window Rejected: Keep unused helper wrappers | they were unreferenced and added noise to an already large module Confidence: high Scope-risk: moderate Tested: pytest tests/test_web_observability.py -q Tested: npm run build