Description of the task
Unify the executor binary names to a single mxc-exec family across all three platforms. Today the entry executables are named inconsistently:
| Platform |
Current name |
Crate |
| Windows |
wxc-exec.exe |
wxc / wxc_common |
| Linux |
lxc-exec |
lxc |
| macOS |
mxc-exec-mac |
mxc_darwin |
Only one of the three (mxc-exec-mac) even matches the product name "MXC"; wxc- does not. A single, consistent mxc-exec (with .exe on Windows) is cleaner, matches @microsoft/mxc-sdk, and lets the SDK binary-discovery logic in sdk/src/platform.ts collapse its three per-OS find*Executable functions toward a single name.
Scope note: the Windows build also ships a wxc-* helper family (wxc-windows-sandbox-guest, wxc-windows-sandbox-daemon, winhttp-proxy-shim, wxc-test-proxy, wxc-host-prep). To avoid a half-consistent set, this task should rename the whole wxc-*/lxc-exec/mxc-exec-mac family to mxc-*, not just the entry binary.
Expected outcome: all executor binaries use the mxc-* naming convention; build scripts, SDK discovery, docs, and test scripts are updated; and a backward-compatibility alias is provided for a deprecation window so existing invocations (notably the documented wxc-exec --prepare-system-drive host-setup CLI) keep working.
Additional context
Blast radius (current references in the repo): wxc-exec ~461, lxc-exec ~126, mxc-exec-mac ~65 across .rs, build scripts (build.bat/build.sh/build-mac.sh), test scripts, docs, CI YAML, and the Cargo [[bin]] names in the wxc, lxc, and mxc_darwin crates.
Suggested approach:
- Rename Cargo
[[bin]] targets and the producing crates' output names.
- Update
build.bat / build.sh / build-mac.sh copy steps.
- Simplify
sdk/src/platform.ts discovery to a single mxc-exec name (plus .exe on Windows).
- Update docs (
docs/host-prep.md, docs/lxc-support/, docs/macos-support/, per-backend guides) and .github/copilot-instructions.md (Binary naming section).
- Update test scripts under
test_scripts/ and any E2E harness that invokes binaries by name.
- Ship a back-compat alias/shim (or symlink) under the old names for at least one release, with a deprecation note.
Backward-compatibility considerations:
wxc-exec --prepare-system-drive / --unprepare-system-drive is a documented host-setup CLI; external scripts may depend on it.
- Test drivers and the
wxc_test_driver invoke binaries by name.
Sequencing: do this after the SDK platform-package packaging change (#512), so the rename rebases onto the simpler per-platform package layout rather than the legacy bin/<arch>/ tree.
Related: #512.
Description of the task
Unify the executor binary names to a single
mxc-execfamily across all three platforms. Today the entry executables are named inconsistently:wxc-exec.exewxc/wxc_commonlxc-execlxcmxc-exec-macmxc_darwinOnly one of the three (
mxc-exec-mac) even matches the product name "MXC";wxc-does not. A single, consistentmxc-exec(with.exeon Windows) is cleaner, matches@microsoft/mxc-sdk, and lets the SDK binary-discovery logic insdk/src/platform.tscollapse its three per-OSfind*Executablefunctions toward a single name.Scope note: the Windows build also ships a
wxc-*helper family (wxc-windows-sandbox-guest,wxc-windows-sandbox-daemon,winhttp-proxy-shim,wxc-test-proxy,wxc-host-prep). To avoid a half-consistent set, this task should rename the wholewxc-*/lxc-exec/mxc-exec-macfamily tomxc-*, not just the entry binary.Expected outcome: all executor binaries use the
mxc-*naming convention; build scripts, SDK discovery, docs, and test scripts are updated; and a backward-compatibility alias is provided for a deprecation window so existing invocations (notably the documentedwxc-exec --prepare-system-drivehost-setup CLI) keep working.Additional context
Blast radius (current references in the repo):
wxc-exec~461,lxc-exec~126,mxc-exec-mac~65 across.rs, build scripts (build.bat/build.sh/build-mac.sh), test scripts, docs, CI YAML, and the Cargo[[bin]]names in thewxc,lxc, andmxc_darwincrates.Suggested approach:
[[bin]]targets and the producing crates' output names.build.bat/build.sh/build-mac.shcopy steps.sdk/src/platform.tsdiscovery to a singlemxc-execname (plus.exeon Windows).docs/host-prep.md,docs/lxc-support/,docs/macos-support/, per-backend guides) and.github/copilot-instructions.md(Binary naming section).test_scripts/and any E2E harness that invokes binaries by name.Backward-compatibility considerations:
wxc-exec --prepare-system-drive/--unprepare-system-driveis a documented host-setup CLI; external scripts may depend on it.wxc_test_driverinvoke binaries by name.Sequencing: do this after the SDK platform-package packaging change (#512), so the rename rebases onto the simpler per-platform package layout rather than the legacy
bin/<arch>/tree.Related: #512.