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:
- Detected by
FeedbackDetector
- Stored in SQLite
user_corrections table
- Embedded and upserted into
zeph_corrections Qdrant collection
- Recalled in future sessions via
fetch_corrections() in context/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_corrections collection point count — still 0
- Restart session, ask the same question — no recall of previous correction