Parent
#97
What to build
Add MNAR = "mnar" to the ImputationStrategy enum and remove the mnar_constant_fill: float = -1 field from NumericImputationConfig entirely — including its to_dict() and from_dict() entries. Constant = "constant" may remain in the enum as a dead value so the backward-compat migration shim (a later slice) can still read it, but it must not be used anywhere in new code.
This slice establishes the vocabulary that all other Scope 8 slices build on.
Acceptance criteria
Blocked by
None — can start immediately.
Parent
#97
What to build
Add
MNAR = "mnar"to theImputationStrategyenum and remove themnar_constant_fill: float = -1field fromNumericImputationConfigentirely — including itsto_dict()andfrom_dict()entries.Constant = "constant"may remain in the enum as a dead value so the backward-compat migration shim (a later slice) can still read it, but it must not be used anywhere in new code.This slice establishes the vocabulary that all other Scope 8 slices build on.
Acceptance criteria
ImputationStrategy.MNARexists with serialised value"mnar".NumericImputationConfigno longer declaresmnar_constant_fill; instantiating it withmnar_constant_fill=<any>raisesTypeError.NumericImputationConfig.to_dict()does not emit a"mnar_constant_fill"key.NumericImputationConfig.from_dict()silently ignores a"mnar_constant_fill"key if present in legacy payloads (or simply drops it).ImputationStrategy,NumericImputationConfig, and their public methods are numpy-style and up to date with the new field set (per ADR-0034).Blocked by
None — can start immediately.