# Polling-only governor backtest limits

The generic expansion model reuses the repository's out-of-time gubernatorial polling baseline. At fixed cutoffs before Election Day, archived public polls are processed through the production weighting rules and compared with certified outcomes. Error summaries are separated into robust- and sparse-polling strata.

The versioned expansion calibration is stored at `data/calibration/generic_governor_poll_error.json`. It is separate from Oregon's release-bound calibration so an expansion-method update cannot silently invalidate or rewrite the Oregon forecast artifact.

Rebuild it with `python3 scripts/calibrate_historical.py --generic-expansion-policy --output data/calibration/generic_governor_poll_error.json`. The flag is part of the contract: it caps only repeat-pollster influence on the center and retains pre-cap information for the sampling-error term.

This validates the polling-error layer, not the complete race publication. It does not validate candidate-specific effects, state political context, fundraising, endorsements, legislative-control stakes, or historical-result transfers. Those items add zero forecast points.

For each current race, the model selects the nearest available calibration horizon and uses the sparse stratum unless at least three polls from at least two pollsters qualify. The forecast standard deviation cannot be smaller than the current polling estimate's uncertainty.

These pages therefore remain `research_preview`. A larger probability is not a claim that the polling average is exact, and a central interval is not a guarantee.
