Model config versioning and backwards compat
Skill kjuhwa/skills-hub/skills/versioning/model-config-versioning-and-backwards-compat
Embed major/minor version in model config.min.json; validate at load time; ship multiple model versions side-by-side under assets/models/<version>/ with a CHANGELOG.From its SKILL.md
npx -y skills add kjuhwa/skills-hub --skill model-config-versioning-and-backwards-compatAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.0 KB, 330 tokens by cl100k_base, as published. Nobody here has run it
Model Config Versioning And Backwards Compat
Trigger: An ML pipeline that must continue serving older models while you ship new ones — and must reject configs whose schema you can't speak.
Steps
- Add version_major (int) and version_minor (int) fields to model config JSON.
- At load time, compare model version against the runtime's supported range; raise on unsupported.
- Keep multiple model versions in assets/models/ (standard_v3_3/, standard_v3_2/) with one symlink/pointer to the default.
- Document each version in a CHANGELOG with accuracy deltas, dataset changes, breaking changes.
- When the input schema changes (e.g. beg_size), bump major and refuse to load old runtimes against new models.
- Log model version in CLI --version output and in every result envelope.
Counter / Caveats
- Multiple model versions on disk grow your package; consider optional download or external hosting.
- Feature dependencies (does the model require beg/mid/end offsets?) must be explicit in config — implicit assumptions break.
- Backwards-compat coverage requires running the regression suite against every supported model.
- Parameter changes (feature size, padding token) cannot be silently auto-migrated.
Source
Extracted from magika (https://github.com/google/magika.git @ main).
Files of interest:
assets/models/standard_v3_3/config.min.jsonrust/lib/src/content.rs (MODEL_MAJOR_VERSION)python/src/magika/magika.py:47-48assets/models/CHANGELOG.md
What ships with it: 1 file
1.1 KB alongside SKILL.md
- content.md1.1 KB