Skip to content

v1.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Jul 09:16
· 16 commits to main since this release
a3a11d7

The enriched ingest has always distilled 1-5 self-contained facts per chunk and then thrown them away. 1.4.0 persists that distillation and can embed + display it as the recall surface — behind a flag that stays off by default after A/B measurement showed it trades recall coverage for ranking precision.

Added

  • Memory.distilled column (migration 13). Enriched ingest persists the LLM-distilled facts alongside the verbatim turn when they pass a lexical grounding gate (is_grounded) that keeps hallucinated facts off the recall surface. Verbatim content remains the immutable source of truth (FTS5, audit, re-embed).
  • enable_distilled_recall_surface flag (default off). When enabled, embeddings use distilled or content and recall snippets prefer the distilled fact (expand always returns verbatim). Measured on LongMemEval: the distilled surface ranks gold sessions higher (MRR +0.12) but loses coverage (R@5 −0.25) — a bad trade with a reranker downstream, so the default stays off.
  • mem0-style distillation prompt. Preserves identifiers/code/numbers verbatim, resolves pronouns to named entities, keeps decisions with their rationale, grounds relative time; distill content window raised 2000 → 4000 chars.

Fixed

  • Security: chunk content is credential-scrubbed before it reaches the LLM intelligence graph. Previously only the stored copy was sanitized — raw secrets could reach the configured cloud LLM during classification/distillation.