Skip to content

Registry: fixed-digit Version + immutable version_digits#377

Draft
AgentDosaku wants to merge 6 commits intodevfrom
feat/registry-version-class
Draft

Registry: fixed-digit Version + immutable version_digits#377
AgentDosaku wants to merge 6 commits intodevfrom
feat/registry-version-class

Conversation

@AgentDosaku
Copy link
Collaborator

@AgentDosaku AgentDosaku commented Feb 26, 2026

Summary

  • add a dedicated Version value object with fixed-digit parsing, normalization, and ordering
  • integrate version handling into Registry and _RegistryCore
  • add immutable version_digits registry metadata (validated like mutable and version_objects)
  • enforce strict digit-width validation (e.g. digits=1 rejects 1.0)
  • align registry and local jobs tests with canonical version formatting

Validation

  • ds test --unit tests/unit/mindtrace/registry
  • ds test --unit

Notes

  • rebased onto latest dev before final test run
  • draft PR for discussion first

Usage examples

Version class

from mindtrace.registry.core.types import Version

v1 = Version("1", digits=3)
v2 = Version("1.0", digits=3)
assert v1 == v2
assert str(v1) == "1.0.0"
assert str(v1.bump()) == "1.0.1"

Registry with immutable version_digits

from mindtrace.registry import Registry

# First creation sets immutable registry metadata
registry = Registry("./my_registry", version_objects=True, mutable=False, version_digits=1)
registry.save("model:classifier", model, version="1")

# For digits=1, dotted versions are rejected
# registry.save("model:classifier", model, version="1.0")  # ValueError

# Reopening with conflicting version_digits raises ValueError
# Registry("./my_registry", version_objects=True, mutable=False, version_digits=3)

@AgentDosaku AgentDosaku requested review from JeremyWurbs, canelbirlik and vik-rant and removed request for JeremyWurbs February 26, 2026 00:07
@AgentDosaku AgentDosaku changed the title Registry: add fixed-digit Version model and immutable version_digits config Registry: fixed-digit Version + immutable version_digits Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant