GovernancePractice
1 min read
◆ The PatternCentral catalog with staging, production, and archive states
A model registry is a versioned catalog where every model has metadata (who trained it, on what data, with which hyperparameters) and a lifecycle stage: staging → production → archived. Approval workflows ensure no model reaches production without review.
// Interactive — model lifecycle states
Pattern bridge: Model registries version models the way lineage tracking versions data — both create audit trails. In markets, strategy journaling serves the same purpose: versioned records of what you deployed and why.
Worked example
The fraud model’s v9 is promoted to production, and v8 is archived. It misbehaves; one rollback call later v8 is live again and v9 is archived. Because the registry records which version is where, rolling back is a pointer change, not a rebuild.
Where it misleads
- Rollback is only instant if the old artifact and its environment still exist; keep them.
- Rolling back the model does not roll back the data or features it was trained on.
- Approval steps that are always clicked through give a false sense of control.
In code
registry = {'fraud': {'v7': 'archived', 'v8': 'production', 'v9': 'staging'}}
history = ['v7', 'v8'] # production versions, oldest first
def promote(name, version):
reg = registry[name]
for v, stage in reg.items():
if stage == 'production': reg[v] = 'archived'
reg[version] = 'production'; history.append(version)
def rollback(name):
history.pop(); promote(name, history.pop())
promote('fraud', 'v9')
rollback('fraud') # v9 misbehaves: one call back to v8
live = [v for v, s in registry['fraud'].items() if s == 'production']Assumes import numpy as np and import pandas as pd. Each snippet carries its own example numbers; the comments say which are made up or simulated.
The same idea with a library
# Python — MLflow model registry import mlflow # Register a new model version result = mlflow.register_model( "runs:/abc123/model", "fraud-detector" ) # Promote to production client = mlflow.tracking.MlflowClient() client.transition_model_version_stage( name="fraud-detector", version=result.version, stage="Production" )
Sources
- MLflow documentation, “Model Registry”, mlflow.org
- M. Zaharia et al., “Accelerating the Machine Learning Lifecycle with MLflow”, IEEE Data Engineering Bulletin 41(4), 2018
- M. Vartak et al., “ModelDB: A System for Machine Learning Model Management”, HILDA Workshop at SIGMOD, 2016
Last reviewed October 2026 · How this site checks its content · Report a mistake
Linked from 1