Files
flynn/docs/plans/2026-02-16-qmd-backend-checklist.md
2026-02-15 19:33:43 -08:00

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.qmd config schema in src/config/schema.ts:
    • enabled (default false)
    • top_k (default 8)
    • min_score (default 0.15)
  • Implemented QmdSearch backend in src/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?)
  • 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.ts
    • src/config/schema.test.ts coverage for memory.qmd

Verification

  • pnpm test:run src/config/schema.test.ts src/memory/qmd-search.test.ts
  • pnpm typecheck