chore(deps): bump mloda to 0.10.0 - #86
Merged
TomKaltofen merged 1 commit intoJul 13, 2026
Merged
Conversation
mloda 0.10.0 retires the legacy flattened PROPERTY_MAPPING form: a spec's accepted values must live under DefaultOptionKeys.allowed_values, and a bare value entry is now an unknown spec key that raises at class definition. Every feature group here used the flattened form, so without this the package does not import. 54 specs across 41 files move their value space under allowed_values, unchanged otherwise: no spec's accepted values, default, context, or strict_validation differs. Plain dicts rather than the property_spec builder, which takes explanation as a required positional that most of these specs do not have; adopting it means authoring 54 descriptions, so it is left to mloda-ai#84. The PROPERTY_MAPPING sweep test forward-ported the upstream validator for 0.8.x. That replica is dead now that the floor is 0.10.0, and it used the removed validation_function key, so it fails at import: drop it, delegate to the upstream validator, and move its two fixtures onto element_validator and allowed_values. demo.ipynb taught the flattened form under "swap in your own embedder", which no longer imports. It also still unwrapped run_all results the pre-0.9.0 way, missed when the columnar contract landed, so it pivots through columnar_to_rows now.
This was referenced Jul 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updates mloda from 0.9.0 to 0.10.0. Supersedes #85, which was cut from a stale fork main and duplicated the columnar work already on main.
What 0.10.0 forces
The legacy flattened
PROPERTY_MAPPINGform is retired. A spec's accepted values must live underDefaultOptionKeys.allowed_values; a bare value entry is now an unknown spec key and raises at class definition. Every feature group here used the flattened form, so without this the package does not import.54 specs across 41 files move their value space under
allowed_valuesand change nothing else. An AST diff of every spec before and after confirms no spec's accepted values,default,context, orstrict_validationdiffers: each hunk is a pure{**METHODS, ...}to{allowed_values: METHODS, ...}reshape.Plain dicts rather than the
property_specbuilder. The builder takesexplanationas a required positional and most of these specs have none (their text lives inside the value dict), so adopting it means authoring 54 descriptions, which turns a mechanical migration into an authoring exercise. Tracked as #84.Also in scope
The
PROPERTY_MAPPINGsweep test forward-ported the upstream validator for 0.8.x. That replica is dead now that the floor is 0.10.0, and it used the removedvalidation_functionkey, so it failed at import. It now delegates to the upstream validator, and its two fixtures move ontoelement_validatorandallowed_values.demo.ipynbtaught the flattened form under "swap in your own embedder", which no longer imports (verified: it raisesunknown spec key 'my_model'). Fixed. While there, it also still unwrappedrun_allresults the pre-0.9.0 way, which was missed when the columnar contract landed and is broken on main today (KeyError(0)on a columnar dict), so it now pivots through the repo'scolumnar_to_rows.Review
Two independent deep reviews ran against this work. codex could not run: its
bwrapsandbox fails to initialize in this environment, and it returned "no findings" while itself reporting that repository inspection was blocked and confidence was very low, so that verdict was discarded rather than reported as a pass. A second, adversarially-framed reviewer was substituted. Both notebook defects above come from those reviews.Not taken: capping
mloda<0.11.0. Every dependency here is floor-only pinned, so changing that policy belongs in its own PR.Verification
toxgreen: 705 passed, ruff format, ruff check, mypy --strict, bandit.