v3.32.21
ruvnet/ruflov3.32.21Jul 27, 2026by ruvnet
AI Summary
Fixes two defects in the `memory search` command where the `--type` flag was ignored and the `--threshold` flag was replaced by a fallback value. The update ensures search results are correctly filtered by type and thresholds are respected.
Key Highlights
- Fixes `--type keyword|hybrid` flag to properly filter search results (keyword vs semantic vs hybrid).
- Fixes `--threshold 0` to be respected instead of falling back to a default.
- Ensures monotonic behavior where lower thresholds return more results.
- Adds regression tests validating the fix.
New Features
- Memory search type filtering
- Threshold handling fix
- Regression tests
Full Release Notes
Two-defect fix filed by markt-heximal in #2790. ## Fixed **--type keyword|hybrid silently ignored**. `memory search` accepted, echoed, and then discarded the type flag — every search ran semantic. Now: - `--type keyword` — listEntries + substring match on key+content, key hit scores 1.0, content hit 0.7 - `--type hybrid` — semantic ∪ keyword, dedup by (namespace, key), rerank **--threshold 0 silently replaced by fallback**. Classic `0 || fallback` idiom. Fixed with nullish coalescing at 3 reporter-flagged sites (memory.ts, embeddings.ts twice) plus 4 same-class hooks.ts sites (per reporter's "worth grepping more broadly" note). Also reconciled the memory.ts declared-default (0.7) vs code-fallback (0.3) disagreement. Reporter's diagnostic invariant now holds: **lower threshold returns ≥ results**, not fewer. ## Regression tests **4/4** E2E via real execFileSync against bin/cli.js: - --type keyword hits substring - --type keyword returns 0 for absent substring - --type hybrid ≥ semantic set - --threshold 0 ≥ --threshold 0.01 (monotonic) ## Upgrade ```bash npx ruflo@latest --version # → 3.32.21 ``` Closes: #2790.