chore: verify MSRV 1.85, pin 1.85-compatible transitive deps (N6)
- cargo +1.85 check passes (default + --all-features), plus wasm target check and a full +1.85 test --all-features run (136 tests). The declared MSRV is real, not aspirational. - the lockfile pins the 1.85-compatible transitive set (jsonschema 0.46.9, idna_adapter 1.2.0, icu crates 2.0.x) — idna_adapter 1.2.2 requires rustc 1.86, icu 2.3 requires 1.88; stable still resolves and all tests pass. - review #001 is now fully resolved (status: fully-resolved). A CI MSRV job can gate on 'cargo +1.85 check' once CI exists.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
---
|
||||
status: partially-resolved (L6, N4, N6)
|
||||
status: fully-resolved
|
||||
last_updated: 2026-09-05
|
||||
reviewed_artifacts:
|
||||
- src/lib.rs
|
||||
@@ -521,6 +521,9 @@ Highlights:
|
||||
|
||||
## Remediation Plan
|
||||
|
||||
All findings are resolved — see the resolution sections below for
|
||||
dates and commit references.
|
||||
|
||||
| ID | Finding | Fix | Effort | Risk | Status |
|
||||
|----|---------|-----|--------|------|--------|
|
||||
| L5 | `cargo fmt` fails | run `cargo fmt`, commit | trivial | none | ✅ resolved |
|
||||
@@ -536,7 +539,7 @@ Highlights:
|
||||
| L3 | `open_via_channels` 0% covered | end-to-end channels consumer test | medium | low | ✅ resolved (2026-09-05) |
|
||||
| L6 | pty bridge error paths untested | targeted error-path tests | medium | low | ✅ resolved (2026-09-05) |
|
||||
| N4 | sleep-based timing | readiness signals | small | low | ✅ resolved (2026-09-05) |
|
||||
| N6 | MSRV unverified | CI MSRV job or bump | small | none | open |
|
||||
| N6 | MSRV unverified | CI MSRV job or bump | small | none | ✅ resolved (2026-09-05) |
|
||||
|
||||
### Resolution (2026-08-17, commit `9944153`)
|
||||
|
||||
@@ -677,13 +680,26 @@ whenever the control handle exists — the sleeps there were pure
|
||||
latency. Integration suites now finish in ~40 ms (was 200-270 ms
|
||||
each).
|
||||
|
||||
### Resolution (2026-09-05, N6 — MSRV verified at 1.85)
|
||||
|
||||
`cargo +1.85 check` passes for the default crate and `--all-features`,
|
||||
plus `cargo +1.85 check --target wasm32-unknown-unknown` and a full
|
||||
`cargo +1.85 test --all-features` (all 136 tests). The declared MSRV
|
||||
1.85 is real.
|
||||
|
||||
The only friction was transitive: `idna_adapter@1.2.2` (via
|
||||
`idna` ← `jsonschema` ← alkcall) requires rustc 1.86, and the icu
|
||||
v2.3 crates require 1.88. The Cargo.lock now pins the 1.85-compatible
|
||||
set (`jsonschema 0.46.9`, `idna_adapter 1.2.0`, icu crates at 2.0.x)
|
||||
— verified on stable too. If a future dependency bump silently raises
|
||||
the real MSRV, `cargo +1.85 check` in CI will catch it (the toolchain
|
||||
is installed via `rustup toolchain install 1.85 --profile minimal` +
|
||||
`rustup target add wasm32-unknown-unknown --toolchain 1.85`; no CI
|
||||
job exists yet, so the command here is the check until one does).
|
||||
|
||||
### Remaining (open)
|
||||
|
||||
- **N6** — MSRV unverified.
|
||||
|
||||
### Recommended Order (remaining)
|
||||
|
||||
1. **N6** — MSRV; defer until CI exists.
|
||||
None — the review is fully resolved.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user