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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions