-
Notifications
You must be signed in to change notification settings - Fork 2
fix(memory): zeph_corrections Qdrant collection never populated — self-learning corrections not persisted #1910
Copy link
Copy link
Closed
Labels
bugSomething isn't workingSomething isn't workingmemoryzeph-memory crate (SQLite)zeph-memory crate (SQLite)
Description
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_correctionscollection: 0 points (verified via/collections/zeph_corrections/points/scroll)user_correctionsSQLite table: 0 rowsFeedbackDetectordetects 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:
- Detected by
FeedbackDetector - Stored in SQLite
user_correctionstable - Embedded and upserted into
zeph_correctionsQdrant collection - Recalled in future sessions via
fetch_corrections()incontext/assembly.rs
Root cause hypothesis
Either:
- The write path from
FeedbackDetector→SemanticMemory::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
- Start a session, ask the agent something, get a wrong answer
- Correct the agent explicitly (e.g. "No, that's wrong, it should be X")
- Check
zeph_correctionscollection point count — still 0 - Restart session, ask the same question — no recall of previous correction
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingmemoryzeph-memory crate (SQLite)zeph-memory crate (SQLite)