Skip to content

Adopt Go-style module version selection #58

Description

@itsfuad

Problem

Current package resolution intentionally supports a narrow stable-semver constraint set for exact versions, comparisons, tilde, caret, latest, and wildcard requests. It resolves constraints during recursive installation but does not implement Go-style Minimal Version Selection or semantic import versioning.

Required design

  • Define module identity and major-version import-path rules.
  • Replace recursive best-match resolution with deterministic graph-wide MVS.
  • Specify upgrade, downgrade, exclusion, and retraction behavior.
  • Preserve lockfile determinism and mock registry support.
  • Add compatibility and conflict fixtures before migration.
  • Remove tactical constraint semantics only after manifest and lockfile migration is defined.

Constraint

Do not extend current compatibility resolver piecemeal. Design canonical graph algorithm and import-version model first.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions