Skip to content

fix(memory): zeph_session_summaries Qdrant collection always empty — session summaries not synced to vector store #1911

@bug-ops

Description

@bug-ops

Problem

The zeph_session_summaries Qdrant collection has 0 points across all sessions, meaning session summaries are never available for cross-session semantic recall.

Observed behavior

  • zeph_session_summaries collection: 0 points (verified via Qdrant REST API)
  • SQLite summaries table: has rows (summarization fires and writes to SQLite)
  • Cross-session context recall (inject_cross_session_context) likely returns nothing because Qdrant has no embeddings

Expected behavior

When a session summary is created (LLM-based summarization after threshold):

  1. Summary text stored in SQLite summaries table ✓ (works)
  2. Summary embedded and upserted into zeph_session_summaries Qdrant collection ✗ (missing)
  3. On next session, fetch_cross_session() retrieves semantically relevant past summaries

Root cause hypothesis

The SemanticMemory::save_summary() method either:

  • Does not upsert to Qdrant after writing to SQLite, or
  • Is never called from the summarization path in context/assembly.rs

Impact

The agent has no persistent memory of what happened in previous sessions. Every session starts from scratch even though summaries are being generated and stored in SQLite. Cross-session recall is effectively disabled.

Steps to reproduce

  1. Run a session with summarization threshold configured (e.g. 6 messages)
  2. Have >6 turns so summarization fires
  3. Restart session
  4. Check zeph_session_summaries point count — still 0
  5. Ask about something discussed in the previous session — agent has no recall

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmemoryzeph-memory crate (SQLite)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions