v0.1.14
Full-workspace QA release: recipes now dispatch as skills on every platform (fixing the Cowork "Unknown command" failure), and the grounding layer was re-validated against the live MCP. See the README for what the plugin is.
In this release:
- sw-router gains a Dispatch mechanics contract: recipes are applied as skills (exact listed name, inline-follow fallback), never invoked as slash commands; the Cowork hook hint, agents, and command bodies align with it.
- The repo root now carries
.claude-plugin/marketplace.json, making the documented Claude Code/plugin marketplace addinstall path work. - Hooks rewritten to the stdin-JSON contract: the Stop hook now functions, the prompt hint matches only the prompt field, and all hooks invoke via bash.
- New grounded assertion:
get-websites-similar-sites-aggrequires exactly a 3-month window when dates are passed explicitly; callers pin it. - Smoke probes are bounded and reused (no double-charged target rank call, no accidental 36-month rank series), and the AEO window formula uses relative keywords.
- Honest cost guidance: re-priced router estimates, mandatory geography limit, and a consent gate on deduplicated-audience above 2 domains.
- Foundation skill descriptions are now strict-YAML-parser safe; two audience-overlap tier examples corrected; the Sources contract unified to a single line.
- Tool catalog re-grounded at the 80-tool live surface; validator adds marketplace, command, and em-dash checks, and CI fails on Codex mirror drift.
Bundles and per-platform install steps: docs/install-and-smoke-test.md.