From `runs:/` to `models:/`
Why the registry exists
A logged model lives at runs:/<run_id>/model. That URI is fine for ad-hoc work but terrible for production: it changes every run and tells the serving layer nothing about which model is current.
The registry adds three things on top:
- A named model (
credit-scoring). - Versions (
1,2,3, …) — append-only. - Stages per version (
None,Staging,Production,Archived).
Serving and downstream pipelines now read a stable identifier:
models:/credit-scoring/Production
Promotion to a stage is the act that 'ships' a model — the registry is therefore the natural place to enforce review, sign-off and audit.