Skip to content

v3.32.21 β€” fix(memory/embeddings): --type keyword|hybrid + --threshold 0 (#2790)

Latest

Choose a tag to compare

@ruvnet ruvnet released this 27 Jul 03:27

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

npx ruflo@latest --version   # β†’ 3.32.21

Closes: #2790.