Decision: Pin @microsoft/mxc-sdk policy schema to 0.7.0-alpha.
Context: WABOX_SPEC v0.1 referenced 0.6.0-alpha. MXC SDK README (2026) recommends 0.7.0-alpha for new code.
Consequence: Update product spec header to 0.7.0-alpha. Adapter isolates version in src/infrastructure/mxc-constants.ts.
Decision: Ship wabox as "type": "module" with NodeNext resolution.
Context: Node ≥ 18 requirement; MXC SDK exports ESM-compatible named exports.
Consequence: Examples and tests use tsx or compiled dist/ output.
Decision: Each sandbox.exec() spawns a fresh MXC sandbox via spawnSandboxFromConfig({ usePty: false }).
Context: processcontainer backend does not preserve shell state between spawns. Stateful sessions require isolation_session (v2).
Consequence: Document clearly in MVP limitations. Agents must persist state via workspace files.
Decision: One {sessionId}.json per session, written atomically on destroy().
Context: Spec open question #1 — JSON vs NDJSON.
Consequence: Simple manual debugging; streaming/aggregation deferred.
- Host: Windows with MXC
getPlatformSupport().isSupported === true - Backend:
processcontainer(may fall back toappcontainer-dacltier per MXC probe) - Binary:
wxc-exec.exeresolves transitively via@microsoft/mxc-sdknpm package (no manualMXC_BIN_DIRrequired in normal install) - Isolation warnings: If AppContainer+DACL tier is selected, MXC may recommend elevated
wxc-host-prep prepare-system-drivefor system-drive metadata access. Integration tests may hang without this on some hosts — runnpm run test:integrationafter host prep.