Model Registry Core Entities and Immutability Design
VERSION IDENTITY
Each version gets a content hash computed over the model binary. Same weights = same hash. Verify a loaded model by recomputing the hash—no ambiguity about "which v1.2.3 is this?"
VERSION METADATA
Each version stores: artifact location, model signature (input/output schema), training metadata (data snapshot, hyperparameters, git commit), evaluation metrics (accuracy, latency), and governance data (approver, timestamp, risk tier).
WHY IMMUTABILITY
Once registered, a version cannot be modified—only deprecated. This prevents "worked yesterday" bugs where someone tweaks production models. Need changes? Create a new version. Rollback becomes trivial and audit straightforward.
STAGES AS POINTERS
Stages (dev, staging, prod) are mutable pointers to immutable versions. Promoting means moving the prod pointer from v1.23 to v1.24. Versions do not change. This enables atomic promotion and instant rollback.