2 Commits

Author SHA1 Message Date
CoreRasurae 517dfb4cce feat(registry): implement local namespace reference resolution
CI / lint (pull_request) Successful in 35s
CI / quality (pull_request) Successful in 45s
CI / integration_tests (pull_request) Successful in 1m2s
CI / typecheck (pull_request) Successful in 1m10s
CI / security (pull_request) Successful in 1m10s
CI / build (pull_request) Successful in 42s
CI / unit_tests (pull_request) Successful in 3m21s
CI / coverage (pull_request) Successful in 3m7s
CI / status-check (pull_request) Successful in 3s
CI / quality (push) Successful in 50s
CI / security (push) Successful in 51s
CI / lint (push) Successful in 54s
CI / typecheck (push) Successful in 58s
CI / integration_tests (push) Successful in 1m0s
CI / build (push) Successful in 43s
CI / unit_tests (push) Successful in 3m23s
CI / coverage (push) Successful in 3m14s
CI / status-check (push) Successful in 3s
Implements the local:<path> reference scheme per Package Registry Standard v1.0.0 §5.3.

Closes #46
2026-06-12 17:11:35 +01:00
CoreRasurae 4e12902492 feat(registry): implement ReferenceResolver with version alias resolution
CI / quality (pull_request) Successful in 35s
CI / security (pull_request) Successful in 54s
CI / lint (pull_request) Successful in 58s
CI / build (pull_request) Successful in 42s
CI / typecheck (pull_request) Successful in 59s
CI / integration_tests (pull_request) Successful in 1m14s
CI / unit_tests (pull_request) Successful in 3m48s
CI / coverage (pull_request) Successful in 3m34s
CI / status-check (pull_request) Successful in 3s
CI / quality (push) Successful in 33s
CI / lint (push) Successful in 38s
CI / typecheck (push) Successful in 48s
CI / security (push) Successful in 48s
CI / build (push) Successful in 41s
CI / integration_tests (push) Successful in 1m15s
CI / unit_tests (push) Successful in 3m37s
CI / coverage (push) Successful in 3m34s
CI / status-check (push) Successful in 3s
Introduce ReferenceResolver implementing the Package Registry Standard v1.0.0
§5.3 and §4.2:

ReferenceResolver:
- parse(ref_str) → PackageReference handles all three reference schemes
  (registry, ID, local), wrapping ValueError into InvalidPackageReferenceError
- resolve(ref_str) → PackageId resolves references to concrete IDs:
  ID refs directly, registry refs via RegistryClient, local refs reserved
- Integrates with RegistryClient for remote HTTP resolution

Version resolution (§4.2):
- resolve_version(version, available_versions) resolves concrete (vX.Y.Z)
  and mutable aliases (latest, vx, x, vX.x, vX.Y.x)
- is_concrete_version() / is_version_alias() classification helpers

Integration tests: 35 Robot Framework test cases against fake registry server
with version alias resolution support

Benchmarks: 7 ASV benchmark classes covering parse, resolve, and version
resolution across small/medium/large version lists

ISSUES CLOSED: #26
2026-06-10 12:04:00 +01:00