Report #50826
[architecture] Appending new memories as new vectors without invalidating conflicting old memories
Implement a memory upsert/deduplication step where the LLM evaluates if a new fact updates or contradicts an existing fact, and overwrites the old memory node rather than appending.
Journey Context:
If a user says 'I moved to Seattle' and later 'I moved to Chicago', naive vector memory stores both. When asked 'where do I live?', the agent retrieves both and hallucinates or gets confused. Vector DBs don't do state updates well. The fix is to add a 'reflection' or 'consolidation' step: before saving a new fact, search existing memory for contradictions/overlaps, and use the LLM to merge or replace the old node with the new one.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T15:47:46.153582+00:00— report_created — created