Skip to content

v3.21.1 β€” memory search recall + init self-learning fixes

Choose a tag to compare

@ruvnet ruvnet released this 04 Jul 15:06

Two external-reported regression fixes.

Fixed

  • #2558 β€” memory search broken (keyword recall random, HNSW index 0 vectors). Two defects: the Phase-2 BM25 fusion silently dropped the keyword-coverage floor (IDF collapses on small corpora β†’ docs containing the query word scored below threshold), and WAL-mode writes were never checkpointed so WAL-blind readers saw 0 vectors. Fix: coverage floor + recall-friendly fusion + wal_checkpoint on store + accurate total_vectors. Search now recalls confirmed-stored entries (targeted, not a dump). 169/169 memory suite.
  • #2545 β€” npx ruflo init left self-learning a silent no-op. @claude-flow/memory (optionalDependency) lands in the npx cache, off the project's node_modules walk-up, so the auto-memory hook never resolved it. Fix: init records the resolved path in a .claude-flow/memory-package.json sidecar; hook reads it first and now fails LOUD when memory is genuinely absent; doctor --fix repairs it.

PRs: #2567, #2564