Calibration is computed walk-forward (past-only analogues). Each episode's prediction uses only episodes with earlier saddle years. No future leakage.
Calibration expands candidate years for statistical power; production triggers remain core saddles only (detect_saddle_canonical).
Position normalization uses expanding min/max and z-scores: at year t, statistics are computed from data ≤ t only. Early years may be NaN until sufficient history exists.
Analogue pools are strictly past-only: for an episode at year t, the analogue pool is limited to episodes with saddle_year < t.