Problem
Recursive Bumpx releases update workspace manifests but leave pantry.lock workspace version fields untouched. Pantry is tagged at v0.10.45 while its lock still reports packages/ts-pantry v0.10.30; Craft v0.0.46 still reports workspace v0.0.39. This violates lockfile provenance and makes a release tag internally inconsistent.
Required contract
- Detect
pantry.lockat the recursive workspace root. - Update only workspace entries whose manifest versions are part of the release.
- Preserve root entries without a version and all resolved package metadata.
- Fail closed on malformed lock JSON instead of tagging partial state.
- Cover full recursive, selective, dry-run, and unrelated-entry behavior.
- Include the lock update in the same release commit and tag.
Downstream evidence: pantry-pm/pantry#216 and home-lang/craft#15.