Re-architect the Microsoft Activation Scripts from ~46k lines of Windows
batch into an idiomatic Rust crate (MAS/). Not a line-by-line translation:
typed enums + Result flow replace goto/errorlevel/global-set, and a single
`Spp` trait is the only seam between portable logic and Windows internals.
- Portable core (compiles + 20 tests pass, zero deps): model (real SPP
GUIDs / WMI class names / LicenseStatus codes), typed errors, CLI menu,
Check_Activation_Status read path, Online KMS orchestration with host
fallback, stub backend.
- Windows backend (cfg(windows) + `winapi` feature): WMI/COM via the
`windows` crate, all unsafe/VARIANT handling encapsulated behind `Spp`.
Written from the documented SPP contract; not compiled on the Linux port
host.
- HWID/KMS38/Ohook/TSforge scaffolded against analyzed specs (in module
docs) — unported paths return a typed Unsupported error rather than
falsely reporting activation. Roadmap in MAS/README.md.
The original .cmd scripts remain recoverable in history (f34d025, MAS 3.12).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>