v1.6.1
The library now compiles on macOS, Linux and Windows, and actuates wherever the mechanism exists (ADR-0012).
- Portability. Platform-specific code moved behind per-OS build tags (
process_unix.go/process_windows.go,ui_poll_{darwin,linux,windows}.go), with noruntime.GOOSbranching in any shared path. As of 1.6.0 the core built on macOS only, so the facade was unimportable by its own first client's CI. Linux is fully functional; Windows does everything driven over HTTP (discovery, Ollama/LM Studio load-unload, activating a profile against a running server) and refuses unix process control up front rather than attempting it. - Two new sentinels:
ErrUnsupportedandErrStartupTimeout, re-exported by value soerrors.Ismatches across the package boundary. A startup timeout is not a failed load — the server is deliberately left running — so clients can now handle "may still come up" without matching on message text. - A cross-compile gate:
make crossand themake checkaggregate build and vet for all three GOOS, so a platform regression fails here instead of in a client.
macOS behaviour is byte-identical to 1.6.0 — this release moves platform-specific code, it does not redesign it.
Shipping as a patch on the 1.6.x line is deliberate: 1.6.x is the library-facade line, and this completes its own promise of importability. Full detail in CHANGELOG.md.