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.21Closes: #2790.