Machine learning with contracts — reframes as a specification failure → Robustness to distributional shift

explored within the theme Reframing distributional shift as broken contracts and causal structure

Robustness to distributional shift is initially posed as a statistical problem: a model trained on p0 is deployed on a different p*, and the goal is to perform well, or at least know when performance is bad (concrete-problems, §"7 Robustness to Distributional Change", p. 16). Machine learning with contracts recasts that same problem in specification terms: the reason systems fail under shift is that they were only ever built to satisfy one particular, usually unstated, contract — that train and test distributions are identical — and nothing was engineered to hold once that contract breaks (concrete-problems, §"A unifying view: counterfactual reasoning and machine learning with contracts.", p. 19). The reframing changes what counts as a fix: instead of better statistical estimators, it calls for systems designed against weaker, explicit, checkable contracts, borrowing the vocabulary of software-engineering specification rather than statistics.