v3.30.2

ruvnet/ruflov3.30.2Jul 14, 2026by ruvnet

AI Summary

A bug fix release implementing functional memory checks for the 'ruflo doctor' command to catch malformed databases.

Key Highlights

  • Three new functional checks: Memory Integrity (PRAGMA), Content Coverage (>=95%), and Embedding Coverage (>=95%).
  • CI environment audit fixes for four specific escape hatch entries.
  • Checks handle encrypted-DB cases as WARN instead of PASS.
  • Deferred checks for recall probe and distillation features pending future PRs.
  • Fixes for fleet report issues regarding empty databases.

New Features

  • Functional memory integrity checking
  • Memory content coverage validation
  • Memory embedding coverage validation

Full Release Notes

## What

Ships @stuinfla's proposed doctor memory checks 1–3 from [#2677](https://github.com/ruvnet/ruflo/issues/2677). Bug fix release — no new user-facing surface, no breaking changes.

## Doctor memory functional checks

Before v3.30.2: \`ruflo doctor --component memory\` was \`existsSync\` + \`statSync\` — could not fail on any file that exists. Reported PASS on a 99.97%-empty and even a SQLite-malformed DB per @stuinfla's 81-store fleet report.

After: existence check still runs (unchanged), plus three new checks that layer functional assertions:

- **Memory Integrity** — opens via sql.js + \`PRAGMA integrity_check\`
- **Memory Content** — >=95% of \`memory_entries\` rows have non-empty content
- **Memory Embedding Coverage** — >=95% of populated rows have a vector

Each check prints the exact measurement in the message ("content 3/11133 (0.03%)"), fails with a fix-suggestion, and handles the encrypted-DB case as WARN not PASS (per @stuinfla's "UNKNOWN is never PASS" rule).

## Also fixed

CI env-audit allowlist entries for four escape hatches that were flagging on every PR:
- \`RUFLO_AI_BUDGET_DIR\` × 3 sites (#2663 repo-supervisor)
- \`RUFLO_AI_BUDGET_DISABLE\` (#2663 AI-cost fuse)
- \`RUFLO_METAHARNESS_SKIP_LOCAL\` (metaharness invoke shim)
- \`RUFLO_HELPERS_LOCKED\` (v3.30.0 .LOCKED marker escape hatch)

## Deferred

- Check 4 (recall probe) — needs write+search+delete round-trip through the CLI's memory pipeline; its own PR
- Checks 5–8 (distillation, reflexion, skills, continuity) + the underlying distill→reflexion write-path fix — @stuinfla's own PR proposal

## Related

- PR [#2681](https://github.com/ruvnet/ruflo/pull/2681)
- Issue [#2677](https://github.com/ruvnet/ruflo/issues/2677) (still open — checks 4-8 pending)

## Install

\`\`\`bash
npx ruflo@latest doctor --component memory
# or
npm install -g @claude-flow/cli@3.30.2
\`\`\`