Model Versioning and Lineage
Each model artifact carries a full provenance chain — data, code, seed, environment, and parent model — so any deployed controller can be reconstructed and audited exactly.
A model is more than weights
A deployable Kronos model is a bundle: the weights, the exact training code revision, the pinned dataset hash, the random seeds, the container image digest, the hyperparameters, and a pointer to its parent model. Version the bundle, not just the weights. This is what lets a reviewer certify not a black box but a fully specified, rebuildable object.
Versioning follows semantic rules tied to behavior, not to file changes. A patch bump is a retrain on the same architecture and feature set; a minor bump changes features or adds data regimes; a major bump changes architecture, output contract, or safety envelope. Any major bump forces a full re-validation and a fresh shadow and canary cycle before it can act.
The lineage chain
- artifact hash and semantic version
- dataset hash (see data lineage)
- code commit, container digest, seed, hardware profile
- parent model version and diff of behavior on the shared holdout
- validation report hash and registry promotion history
model_card_meta = {
'name': 'breeder/equilibrium-surrogate',
'version': '4.1.0',
'parent': '4.0.2',
'dataset': 'sha256:9f2c...',
'code': 'git:8ad91c', 'image': 'sha256:...', 'seed': 20291103,
'validation': 'report:sha256:...',
'state': 'STAGING' # PROD only after gates + canary
}
Every artifact in the registry carries this chain, and the chain is append-only. When a model is rolled back, the record is not deleted; the superseding event is appended, so the operational history of which model held authority at which time on which machine is permanently reconstructable.