Summary
Migrate all 17 data-operation PROPERTY_MAPPING declarations and their authoring guides from legacy raw dictionaries to the typed PropertySpec/property_spec() surface before raising the mloda dependency cap above 0.10.x.
Motivation
The registry is protected today by mloda>=0.10.0,<0.11.0, added in #322, because mloda core now rejects raw-dict PROPERTY_MAPPING entries. Every current declaration in the data-operations family is still a raw dict. The guides mix raw schema dictionaries with property_spec() examples and still describe the builder result as a plain dict, so shipped code and authoring guidance both lag the core contract.
This is the downstream migration tracked by mloda-ai/mloda#762 and mloda-ai/mloda#761. The mloda cooldown exemption can remain because the explicit minor-version cap is now the compatibility boundary; the cap must not be raised until this migration and the relevant core release are available.
Code pointers
mloda/community/feature_groups/data_operations/**/base.py (17 raw PROPERTY_MAPPING declarations)
docs/guides/feature-group-patterns/03-chained-features.md
docs/guides/feature-group-patterns/11-options.md
docs/guides/feature-group-patterns/14-feature-matching.md
config/shared.toml:19
pyproject.toml:12,97
Definition of done
Summary
Migrate all 17 data-operation
PROPERTY_MAPPINGdeclarations and their authoring guides from legacy raw dictionaries to the typedPropertySpec/property_spec()surface before raising the mloda dependency cap above 0.10.x.Motivation
The registry is protected today by
mloda>=0.10.0,<0.11.0, added in #322, because mloda core now rejects raw-dict PROPERTY_MAPPING entries. Every current declaration in the data-operations family is still a raw dict. The guides mix raw schema dictionaries withproperty_spec()examples and still describe the builder result as a plain dict, so shipped code and authoring guidance both lag the core contract.This is the downstream migration tracked by mloda-ai/mloda#762 and mloda-ai/mloda#761. The mloda cooldown exemption can remain because the explicit minor-version cap is now the compatibility boundary; the cap must not be raised until this migration and the relevant core release are available.
Code pointers
mloda/community/feature_groups/data_operations/**/base.py(17 rawPROPERTY_MAPPINGdeclarations)docs/guides/feature-group-patterns/03-chained-features.mddocs/guides/feature-group-patterns/11-options.mddocs/guides/feature-group-patterns/14-feature-matching.mdconfig/shared.toml:19pyproject.toml:12,97Definition of done
PropertySpec, preferably authored throughproperty_spec()where it improves readabilityproperty_spec()returns a dict are replaced with the current typed API<0.11.0cap is raised only after the compatible core release exists and all registry packages pass against ittoxpasses