# Rust 1.90 Windows readiness audit The locked Windows runtime/build dependency declarations do not rule out the workspace's Rust1.90 minimum. This is a declaration audit and toolchain preparation, not a successful MSRV compilation or runtime claim. Fresh `cargo metadata --locked --offline --format-version 1 --filter-platform x86_64-pc-windows-gnullvm` was collected with the existing task-local stable toolchain. Starting at `oa-desktop` and `oa-server`, traversal of selected normal/build dependency edges yields **266 packages**:183 declare `rust_version`,83 do not. None declares a minimum above1.90. Highest external declaration is `ordered-float 5.5.0:1.90`; Iced0.14, wgpu27.0.1 and the selected ICU2.3 packages declare1.88. Missing or inaccurate declarations and project source compatibility still require an actual compiler check. Dev-only and non-Windows target dependencies are outside this runtime declaration count. Provenance is retained under `.local/msrv-readiness/`: target-filtered metadata, selected package names/versions/manifests/minima, summary, download manifest and installation logs. Cargo.lock SHA256: `E7B95AFAC40A11823FA68D615FCAD97DEEB878C8FA1E83B28561BE5A81896112`. No dependency, source, workspace target or global configuration was changed. ## The exact requested host triple is unavailable in Rust1.90 `rustup toolchain install 1.90.0-x86_64-pc-windows-gnullvm --profile minimal --no-self-update` failed with “target ... not found in channel”. The official [Rust1.90 distribution manifest](https://static.rust-lang.org/dist/channel-rust-1.90.0.toml) contains gnullvm target standard libraries, but no gnullvm-host rustc/cargo packages. The [Rust1.91 release announcement](https://blog.rust-lang.org/2025/10/30/Rust-1.91.0/) records promotion of Windows gnullvm to host-tools support. Raising the declared MSRV merely to use this host triple would confuse host packaging with language/ library compatibility. The viable preparation uses `1.90.0-x86_64-pc-windows-gnu` as compiler host and adds `x86_64-pc-windows-gnullvm` target libraries. Installation was launched using the existing task-local Rustup homes under `.local/toolchain`, minimal profile, `--no-self-update`, and explicit target. Installation completed successfully. `rustup run` reports rustc1.90.0 (`1159e78c4`, LLVM20.1.8) and cargo1.90.0 (`840b83a10`). Installed targets include both GNU and gnullvm. Exact version output and compiler hashes are in `installed-provenance.txt` and `compiler-hashes.json` in the ignored audit directory. The task environment still selects stable gnullvm, and Rustup's pre-existing GNU default/settings remain unchanged. ## Subsequent verification, owned by the root build operator After installation, dot-source `.local/toolchain/env.ps1`, invoke the compiler using an explicit `+1.90.0-x86_64-pc-windows-gnu`, and pass the explicit gnullvm target. Use a separate task-local target directory to avoid invalidating the current stable/native acceptance artifacts. For example, once target ownership is granted: ```powershell . .local/toolchain/env.ps1 $env:CARGO_TARGET_DIR = Join-Path (Get-Location) '.local/target-msrv190' cargo +1.90.0-x86_64-pc-windows-gnu check --locked --workspace --all-targets --target x86_64-pc-windows-gnullvm ``` That check includes test code/dependencies and can reveal gaps beyond this runtime declaration audit. An actual build/link and appropriate tests are still needed before asserting MSRV support. The existing clang linker configuration applies to the gnullvm target; GNU host build scripts/proc macros use the installed GNU host toolchain. Linux/Docker Rust1.90 remains a separate platform verification gate. After this preparation, the user enabled WSL; the root operator may prefer a Linux1.90 check before allocating a second Windows compilation tree. No MSRV Cargo compilation was started by this audit.