Repository navigation
v0.2.0 — cross-platform (Windows) portability hardening
Cross-platform (Windows) portability hardening. These changes remove the hard blockers to importing and running the core on non-POSIX platforms and are verified on macOS/Linux. Native Windows is not yet verified end-to-end — background-job scheduling (Task Scheduler) and a real-Windows test pass remain.
Fixed
- Cross-platform worker lock. The single-writer singleton no longer does an unconditional top-level
import fcntl, which madeagentic_rag.workerunimportable on Windows. The non-blocking exclusive lock is now dispatched by platform —fcntl.flockon POSIX,msvcrt.lockingon Windows — behind an identical "return a held handle orNone, never crash" contract. - UTF-8 subprocess decoding. Output of the
claudeCLI is now decoded as strict UTF-8, so non-ASCII content (e.g. German umlauts) is no longer mangled on platforms whose default text encoding is not UTF-8 (Windowscp1252). A non-UTF-8 byte fails loudly rather than being silently replaced. - PATH resolution of the
claudeCLI. The LLM seam and MCP registration resolve the CLI throughshutil.whichbefore spawning, so a bareclaudealso resolves where the executable is aclaude.cmdshim (Windows).
See docs/03-quick-start.md → Platform support for how to run on WSL2 or native Windows.
Full Changelog: v0.1.0...v0.2.0