Problem
pantry install parses ^0.17.0-dev as the stable core 0.17.0, then excludes every prerelease candidate. Zig is also absent from the live-version resolver even though the Pantry registry publishes current development builds. Craft therefore cannot reproduce its declared toolchain through Pantry.
Observed while building home-lang/craft v0.0.46 after pantry-pm/pantry v0.10.43 installation.
Required contract
- Preserve prerelease and build metadata when parsing a version constraint.
- Compare numeric cores without rejecting a prerelease requested by the constraint.
- Include live Pantry registry versions for Zig constraints.
- Select the newest matching concrete registry version without falling back outside the requested range.
- Cover development, stable, x86/x64 core, and unsupported constraint behavior with tests.
- Verify Craft can install and build its
^0.17.0-devtoolchain through Pantry.
Related: stacksjs/stacks#2064 and home-lang/craft#15.