Switch native Windows default Wave output to MSVC after native validation passes
- Dominant language
- Rust
- Stars
- 53
- Forks
- 16
- Avg merge
- 4h 22m
- Merged PRs (30d)
- 46
Description
Part of #611. Difficulty: **medium**. Audit baseline: master `3950416e` (2026-09-12).
## Current evidence
[src/cli.rs](https://github.com/wavefnd/Wave/blob/3950416efc55cbc5ae7d54535e5a4e8699394ff0/src/cli.rs#L4113) returns pc-windows-gnu for every Windows host. [.github/workflows/rust.yml](https://github.com/wavefnd/Wave/blob/3950416efc55cbc5ae7d54535e5a4e8699394ff0/.github/workflows/rust.yml#L996) explicitly expects the GNU default even when the compiler host is aarch64-pc-windows-msvc.
## Scope
After native MSVC execution gates pass, select x86_64-pc-windows-msvc and aarch64-pc-windows-msvc as the Windows defaults. Update driver print/dry-run/build/run expectations and packaging smoke commands together. Preserve explicit target selection during the transition; never fall back silently to GNU when MSVC prerequisites are missing.
## Completion criteria
Native x64/ARM64 tests prove ordinary build/run and printed host/default target use MSVC. Explicit target overrides remain honored until the separate removal step. Unsupported/missing enabled backends fail clearly. Document the behavior change through existing target-matrix/migration documentation work #401 instead of adding a second support table. Linux/macOS/BSD defaults are unchanged.
## Dependencies and boundaries
#612, #613, #617, #623, #615, #616; #608/#609 must be resolved. #626 follows this issue.
Contributor guide
Research direction
Start with src/cli.rs around the Windows target selection and .github/workflows/rust.yml around the existing GNU-default expectations. Review the native validation dependencies (#612, #613, #617, #623, #615, #616, #608, and #609) before changing behavior. Done means native x64 and ARM64 build/run and print or dry-run expectations use MSVC, explicit targets remain honored, failures are clear, and Linux/macOS/BSD defaults are unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, rust
- Domain
- build-system, cli, operating-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100