ADR 057: Model-Forge-owned SemVer versioning
Date: 2026-07-15
Status: Accepted
Decision Makers: @derlinne, @luckey
Context
Version numbers must have a clear owner so that a versioned URN always identifies one immutable version.
Decision
Versioning is owned by Model Forge. Clients do not choose version numbers. Updates request a SemVer bump via a versionBump option (patch|minor|major, default patch); the first version of a newly created artifact is 1.0.0. Older versions are immutable and never overwritten — every update inserts a new artifact_version, and artifact.current_version selects the default read version.
Rationale
- The logical URN identifies an artifact independent of version; a versioned URN identifies one immutable version. Model Forge must therefore own the next version number rather than trust a client-supplied segment.
- SemVer makes the intent of a change explicit (patch/minor/major).
Consequences
Model Forge performs no schema-compatibility checks and exposes no compatibility metadata. If compatibility checks become a product requirement, they would be implemented explicitly in Model Forge before inserting a new artifact_version.