v3.32.39
ruvnet/ruflov3.32.39Jul 30, 2026by ruvnet
AI Summary
Fixes compatibility issues with Codex plugin hooks manifest loading and output parsing for PreToolUse verdicts.
Key Highlights
- Fixed Codex plugin hook manifest loader to accept `_note` and `_platform_note` by folding them into `description`.
- Fixed `modify-bash` and `modify-file` hooks to output valid JSON for Codex output schemas.
- Added permanent CI guard to prevent regression of hook manifest issues.
New Features
- Cross-platform hook compatibility for Codex.
- Hardened Codex-host detection and plugin cache invalidation.
Full Release Notes
## Fixes
**#2855** — Codex's plugin hook-manifest loader accepts only `description` and `hooks` at the top level. `plugins/ruflo-core/hooks/hooks.json` and `plugins/ruflo-cost-tracker/hooks/hooks.json` carried `_note`/`_platform_note` documentation fields, so a fresh Codex install of `ruflo-core@ruflo` failed to load the plugin at all with `unknown field \`_note\`, expected \`description\` or \`hooks\``. Fixed by folding the doc content into `description`. Added a permanent CI guard (`scripts/audit-plugin-hooks-cross-platform.mjs`) so this can't regress silently again.
**#2856** — Once the manifest could load, `modify-bash`/`modify-file` PreToolUse hooks always echoed Cursor's `{"permission":"allow"}` verdict, which Codex's own stricter output schema rejects outright (`hook returned invalid pre-tool-use JSON output`) — verified directly against the real parser (`codex-rs/hooks/src/engine/output_parser.rs`). Hardened Codex-host detection with a `turn_id`-based fallback alongside the existing `PLUGIN_ROOT`/`PLUGIN_DATA` env-var check.
`ruflo-core` bumped 0.2.5 → 0.2.6 and `ruflo-cost-tracker` 0.26.2 → 0.26.3 so Codex's per-version plugin cache invalidates and picks up the fix rather than serving a stale cached copy indefinitely.
PR: https://github.com/ruvnet/ruflo/pull/2857
## Packages
\`@claude-flow/cli\`, \`claude-flow\`, and \`ruflo\` are all at **3.32.39**; \`latest\`, \`alpha\`, and \`v3alpha\` dist-tags all point to it.