Rule-based labels · thresholds fixed before results
How corrections fail, and why.
Every run is labelled mechanically against thresholds fixed before the results were read. Then the exploratory part: what actually makes a flexible corrector erase signal nobody asked it to remove.
Overcorrection explorer
Simulation
Taxonomy counts
Runs carrying each failure label
a run can carry several labels · every slice of the canonical grid
Why flexible correctors erase signal
Simulation Zero-contamination worlds: everything removed is removed for no reason. Only the covariates handed to the corrector change.
More smooth covariates, more erasure
K irrelevant smooth covariates
Rougher covariates, less erasure — but not none
6 irrelevant covariates, smooth → white
Signal kept versus noise kept
memorisation removes both equally; spatial smoothing removes smooth signal and leaves white noise
A mitigation: block cross-fitting
Fit the correction on other spatial blocks and apply it only to the held-out block, so no pixel is corrected by a model that saw it.