The published crate declares Rust 1.86 as its minimum supported toolchain, but a clean consumer project resolving the current release with a fresh Cargo.lock selects ICU 2.3 dependencies that require Rust 1.88. The same crate builds in the SDK repository because its checked-in lockfile masks this consumer resolution path.
A user following the documented Rust 1.86 prerequisite therefore cannot reliably compile a new application from crates.io.
Acceptance
- A disposable consumer crate with
rust-version = "1.86" and an exact dependency on the current Durable Workflow crate resolves a fresh lockfile and builds with Rust 1.86.
- The fix preserves the advertised 1.86 minimum unless a deliberate product decision changes the minimum through one canonical authority and all generated projections.
- CI exercises the fresh-consumer path without reusing the SDK repository Cargo.lock, so compatible in-repository locks cannot mask future registry-resolution drift.
- The corrected crate is published and exact-tuple Rust and live Cloud conformance pass using the published artifact.
The published crate declares Rust 1.86 as its minimum supported toolchain, but a clean consumer project resolving the current release with a fresh Cargo.lock selects ICU 2.3 dependencies that require Rust 1.88. The same crate builds in the SDK repository because its checked-in lockfile masks this consumer resolution path.
A user following the documented Rust 1.86 prerequisite therefore cannot reliably compile a new application from crates.io.
Acceptance
rust-version = "1.86"and an exact dependency on the current Durable Workflow crate resolves a fresh lockfile and builds with Rust 1.86.