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.0 resolves 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-agent without a version gives you latest; 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 history

Soft 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.

NoteThe same rules apply to tools. See Publishing agents for the publish flow.