Versioning
Immutable versions, a mutable head. A published version never changes; the slug's latest pointer moves forward.
Reproducibility is the whole point of a registry, so versioning is strict. Every publish of an existing slug appends a new immutable version — it never overwrites an old one. Semantic versions order the history; latest tracks the newest.
The two rules
- A version is immutable.
trading-agent@0.5.0resolves to the same manifest today as the day it was published. An install you scripted last month still installs the same thing. - The head is mutable. Installing
trading-agentwithout a version gives youlatest; pin a version for a build you never want to move.
Pinning
$ norien install trading-agent # latest$ norien install trading-agent@0.5.0 # pinned, forever reproducible$ norien info trading-agent --versions # the full historySoft deletion
A slug's history never disappears from under consumers that already installed it. Removed artifacts are tombstoned, not deleted, and every read path filters them out — so a past install is never silently broken.