v3.1.0 - Codex stop non-blocking, Codex PreCompact parity, Pi extension tests
Adopts four community contributions from the v3.0.0 cycle, each preserving the contributor as commit author. With no v3 mode marker on disk the canonical hooks stay byte-identical to v2.43.0.
Fixed
- Codex Stop hook no longer blocks a normal stop on an incomplete plan (PR #180 by @2023Anita, closes #178). The
.codexStop adapter no longer emits{"decision": "block"}while phases are pending; it sends an advisory progress-sync reminder only, matching the v3 principle that an incomplete plan alone never blocks a stop. - SHA-cache documentation corrected to the v3 location (PR #174 by @mvanhorn, closes #164). New
docs/perf-notes.mddocuments the attestation SHA cache, corrected to the v3$XDG_CACHE_HOME/pwf-shapath (then$HOME/.cache/pwf-sha, with/tmponly when HOME is unset).
Added
- Native Codex PreCompact hook (PR #181 by @GongYuanCaiJi). Closes the
.codex/hooks.jsonparity gap against the canonical PreCompact hook. Stays dormant on runtimes that never fire the event. - Pi extension integration test suite (PR #175 by @mvanhorn, closes #163). TypeScript vitest suite covering all eight Pi lifecycle handlers, the four runtime modes, and the attestation gate.
Verification
Python suite: 180 passed, 4 skipped, 0 failed. The Pi vitest suite was added and reviewed against runtime.ts source but not executed in this release environment; run npm install && npm test inside the extension directory to run it.
Full notes in CHANGELOG.md. Thanks to @2023Anita, @GongYuanCaiJi, and @mvanhorn.