v3.32.17

ruvnet/ruflov3.32.17Jul 27, 2026by ruvnet

AI Summary

Adds two security gates, PlanFlip and MemPoison, to detect injected plan steps and scan memory content before writing. Both gates reuse the ChannelGuard detector to strengthen security across multiple surfaces.

Key Highlights

  • Adds `ruflo security scan-plan` to detect plan injection.
  • Adds `ruflo memory store --scan-content` to scan memory values before persistence.
  • Activates `RUFLO_MEMORY_SCAN_ON_WRITE=1` globally for safety-critical flows.
  • Reuses ChannelGuard's injection catalog to strengthen all four surfaces.

New Features

  • PlanFlip gate
  • MemPoison gate
  • Memory scanning
  • Security gate reuse

Full Release Notes

Two more dream-cycle security gates, reusing ChannelGuard's detector.

## Added

**PlanFlip gate** — `ruflo security scan-plan`
Scans agent-emitted plans (inline `-p` or `--plan-file <path>`) for injected steps that would shift the plan's authority. Gate FIRES on high-severity findings (default) or ANY finding (`--strict`). Exit 2 signals fire so callers can gate distribution.

**MemPoison gate** — `ruflo memory store --scan-content`
Runs the scanner on the value BEFORE persistence and refuses the write with exit 2 on any finding. Also activates globally via `RUFLO_MEMORY_SCAN_ON_WRITE=1` for safety-critical flows. Refusal is authoritative — does not fall through to the sql.js path.

Both gates reuse ChannelGuard's `scanChannelMessage` from the shared `security/injection-catalog` + `channel-guard` modules — adding a phrase to the catalog now strengthens **all four** surfaces at once (composition-scan, channel-scan, scan-plan, memory-store).

## Verification

- Regression tests: **6/6** for #2752 (detector + 3 CLI wire E2E via real `execFileSync`)
- Total security tests (#2752 + #2783): **21/21**
- E2E on shipped CLI: memory store with injected value → exit 2, plan file with injected step → exit 2 with FIRE verdict

## Upgrade

```bash
npx ruflo@latest --version   # → 3.32.17
```

Refs: dream-cycle #2752 (2026-07-21).