fix(msrv): reconcile rust-version 1.89→1.91 + add MSRV gate (PMAT-MSRV-GATE-001) - #2303
Conversation
…ate (PMAT-MSRV-GATE-001)
Fable rank-14. The declared MSRV was drifting silently: Cargo.toml claimed
`rust-version = "1.89"` in 8 places, but NOTHING verified it — rust-toolchain.toml
pins 1.93 (dev/CI) so 1.89 was never exercised. It's a lie: `cargo +1.89 check
--workspace` fails —
error: rustc 1.89.0 is not supported by pmcp@2.9.0 (requires 1.91.0)
... wasmtime-internal-*@43.0.2 requires rustc 1.91.0
`cargo +1.91 check --workspace` Finishes clean, so 1.91 is the true floor. Bumps all
8 declarations to 1.91 to match reality.
Adds `scripts/check_msrv.sh` — the gate: reads the declared rust-version and compiles
the whole workspace on exactly that toolchain, failing on drift.
RED-turning mutation (verified locally): revert rust-version to "1.89" → the script
fails (pmcp needs 1.91); at 1.91 it passes ("✓ workspace builds on its declared MSRV").
Follow-up (deferred until the ci.yml-editing PRs land + queue is healthy): wire
check_msrv.sh into ci.yml as a job so drift is caught per-PR, not just on demand.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
dbda996 to
e05e4ff
Compare
|
Status update — the root MSRV half of this PR has already landed via the v0.61.0 release cut (#2313).
I folded it into the release commit because it was not merely unverified — it was provably false: That leaves this PR with the two parts that are still genuinely open:
Needs a rebase onto Note for whoever wires the gate: |
Fable rank-14 — the declared MSRV was a lie
Cargo.tomlclaimedrust-version = "1.89"in 8 places, but nothing verified it —rust-toolchain.tomlpins 1.93, so 1.89 was never exercised. It doesn't build:cargo +1.91 check --workspaceFinishes clean → 1.91 is the true floor. This bumps all 8 declarations to 1.91.The gate (
scripts/check_msrv.sh)Reads the declared
rust-versionand compiles the whole workspace on exactly that toolchain, failing on drift.bash scripts/check_msrv.shworkspace builds on its declared MSRV 1.91pmcp@2.9.0 requires 1.91.0Both directions verified locally.
Follow-up (deferred until the in-flight ci.yml PRs land + the merge queue is healthy): wire
check_msrv.shintoci.ymlas a per-PR job.🤖 Generated with Claude Code