Fixes the forecast-vs-actual gap reported on beta.7, including on the CoverFlow past days.
Root cause: beta.7's learned map only corrected the SHAPE (when in the day production deviates) and left the overall LEVEL to the old 5-day scalar, which is clamped to ±50%. If your physical model was off on the level (a kWp value, a base-irradiance bias), the scalar couldn't close the gap and the learned map did almost nothing.
Fix: the map now learns the raw actual/model ratio per sun position — level AND shape — and replaces the scalar entirely once it's warm (clamp widened to [0.2, 2.5]). Cold sun positions fall back to the learned global level; a brand-new install with no history keeps the old scalar so day 1 is unchanged.
And yes — this applies to every forecast curve, including the past days in the CoverFlow (buildForecast runs over the whole 5-day window).
Test: on an install with history, the dotted forecast should now sit much closer to your actual production curve on past days, in both level and shape.
Next: P2 (use Open-Meteo's radiation forecast as the physical base instead of the analytical clear-sky + cloud model) — a refinement now that the learned map absorbs base errors.
Refs #199.