What changed:
- Claude plugin and standalone hook JSON preserve literal backslashes under POSIX awk, including Windows paths.
- Attached Codex, Hermes and Pi sessions now require PLAN_ID when their project contains multiple plans. An attachment authorizes a session; it does not choose a plan. Shared standalone hooks apply the same guard.
- Standalone skill hooks read the host's JSON session identity, send PreToolUse and PostToolUse instructions through additionalContext, and throttle the progress reminder per turn. Opt-out, rejected selectors and unsafe cache paths are covered by regression tests.
- The native Codex progress reminder now uses the same session ID for writing and resetting its cache entry.
- Installed packages include the advertised loop template and the complete hook dependency chain. Recovery instructions follow the selected task directory and preserve existing planning files.
- Documentation states the limits of local hash attestation, PreCompact output and the advisory write guard. Shared planning files require one writer; worker ledgers or files keep concurrent reports separate.
Thanks: @hzura and @wangxiaodong1021 for the parallel-session reports in #50, @sortakool for #239, and @oaabahussain for the trust-boundary discussion in #150.
Verification: all five CI jobs at the released commit passed, covering the full Python suite on Linux, macOS and Windows, plus 54 Pi tests and 34 OpenCode tests. ClawHub staging verifies all 31 canonical files.