Fixes a broken fresh install and a red CI that had been failing since 2026-08-14.
Fixed
- The install gate ran
doctor --require-llmadapter, so any machine without Bun failed — even though Bun is only needed by the optionalllmadapter. With the JSON report redirected to a file, the failure printed nothing: a bare exit 1. The smoke now gates on the portable core, asserts the documentedbun_missingdegradation, runs the adapter lane only where Bun exists, and prints the report on failure. - Privacy: removed absolute
/Users/<name>/...paths from 11 published benchmark artifacts, which exposed the maintainer's username and unrelated private project names. The guard test now scans all 89 benchmark artifacts instead of an 8-file allowlist that missed them.
Added
- CI runs tests and the neutral install on macOS and Linux, plus a dedicated Bun lane.
- README documents OS/runtime requirements (Python 3.11+, Linux/macOS, WSL2 on Windows) and links the companion skill router.
Changed
- The compact default consumes bounded multi-phase routing: one primary plus at most four supports; single-phase work keeps zero/one routing.
- Tests read the canonical version instead of hardcoding it.
Verified on Linux and macOS runners, with and without Bun.