1.3 KiB
1.3 KiB
QMD Backend Checklist
Date: 2026-02-16 Status: completed
Scope
- Add an experimental QMD (query markdown database) backend for
memory.search. - Enable config-driven backend selection between hybrid embeddings, QMD, and keyword fallback.
- Update docs and plan state.
Completed
- Added
memory.qmdconfig schema insrc/config/schema.ts:enabled(defaultfalse)top_k(default8)min_score(default0.15)
- Implemented
QmdSearchbackend insrc/memory/qmd-search.ts:- heading-aware scoring
- token overlap + phrase bonus ranking
- session namespace recency boost
- Wired backend selection in
src/daemon/memory.ts:- embedding enabled -> hybrid backend
- else if qmd enabled -> QMD backend
- else keyword-only search
- Generalized memory search tool wiring:
- introduced shared backend interface for
memory.search - updated memory tool factory to accept any backend implementing
search(query, topK?)
- introduced shared backend interface for
- Updated docs:
- README memory section now documents QMD config and backend precedence.
- OpenClaw gap docs updated to mark QMD backend as implemented.
- Added tests:
src/memory/qmd-search.test.tssrc/config/schema.test.tscoverage formemory.qmd
Verification
pnpm test:run src/config/schema.test.ts src/memory/qmd-search.test.tspnpm typecheck