Skip to content

fix(memory): zeph_corrections Qdrant collection never populated — self-learning corrections not persisted #1910

@bug-ops

Description

@bug-ops

Problem

The zeph_corrections Qdrant collection is consistently empty (0 points) across sessions, even after multi-turn conversations where the user provides explicit corrections or feedback.

Observed behavior

  • zeph_corrections collection: 0 points (verified via /collections/zeph_corrections/points/scroll)
  • user_corrections SQLite table: 0 rows
  • FeedbackDetector detects correction signals, but they are not stored in Qdrant for cross-session recall

Expected behavior

When the user corrects the agent (explicit rejection, alternative request, self-correction signal), the correction should be:

  1. Detected by FeedbackDetector
  2. Stored in SQLite user_corrections table
  3. Embedded and upserted into zeph_corrections Qdrant collection
  4. Recalled in future sessions via fetch_corrections() in context/assembly.rs

Root cause hypothesis

Either:

  • The write path from FeedbackDetectorSemanticMemory::save_correction() → Qdrant is not connected in the agent loop
  • Or save_correction() exists but is never called after a correction signal is detected

Impact

Self-learning never improves cross-session behavior. The agent repeats the same mistakes across sessions. zeph_corrections is dead storage.

Steps to reproduce

  1. Start a session, ask the agent something, get a wrong answer
  2. Correct the agent explicitly (e.g. "No, that's wrong, it should be X")
  3. Check zeph_corrections collection point count — still 0
  4. Restart session, ask the same question — no recall of previous correction

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