Add Windows support for `glab orbit local`
## Summary The Orbit local CLI now publishes Windows binaries starting with [v0.59.1](https://gitlab.com/gitlab-org/orbit/knowledge-graph/-/releases/v0.59.1). The `glab orbit local` command currently rejects Windows up front (`SupportedOS` is `["darwin", "linux"]`) and the platform-specific executor returns "Orbit local CLI is not supported on Windows". We can now lift that restriction and let Windows users run `glab orbit local` end-to-end. ## What changed upstream Release `v0.59.1` adds the following assets to the generic package registry: - `orbit-local-windows-x86_64.zip` (single `orbit.exe` at archive root) - `orbit-local-windows-x86_64.zip.sha256` Only `x86_64` is published. ARM64 Windows transparently runs x64 binaries under emulation on Windows 11, so we can route ARM64 to the same asset. ## Scope of glab changes | Area | Today | Needed | |---|---|---| | `SupportedOS` (orbit local Spec) | `darwin`, `linux` | add `windows` | | Arch normalization | rejects Windows | return `x86_64` for any Windows GOARCH | | Asset name | always `.tar.gz` | `.zip` on Windows | | Installed binary name | always `orbit` | `orbit.exe` on Windows | | Archive extractor | `TarGzExtractor` only | add `ZipExtractor` and pick by archive extension | | `executeOrbit` on Windows | stub returning error | subprocess execution (mirroring Duo CLI Windows path) | | Error handling | n/a | wrap `ERROR_BAD_EXE_FORMAT` with a hint about x64 emulation on ARM64 | The binary manager (`internal/binarymgr`) already supports Windows in its install path; the work is concentrated in the orbit local command and a new shared zip extractor. ## Out of scope - Native ARM64 Windows binary (waiting on upstream). - Removing the experimental flag — Windows starts as best-effort. ## Acceptance criteria - `glab orbit local --install` succeeds on Windows x64 and ARM64 (Windows 11). - Downloaded archive is checksum-verified, extracted to the managed bin directory, and invoked via subprocess. - Clear error message when running on ARM64 Windows without x64 emulation. - Unit tests cover the zip extractor, Windows arch normalization, asset naming, and the error-wrapping path. ## Related - Upstream release: https://gitlab.com/gitlab-org/orbit/knowledge-graph/-/releases/v0.59.1 - Existing precedent for Windows-supported managed binaries: `glab duo cli`
issue