Report #26653
[architecture] Storing raw conversation logs as long-term memory
Separate memory into Episodic \(raw, timestamped events\) and Semantic \(distilled facts/preferences\). When a conversation ends, run an async job to extract Semantic facts from the Episodic log, and store them in separate collections.
Journey Context:
Searching raw conversation logs \(episodic\) for user preferences \(semantic\) yields terrible results because the preference is buried in chit-chat. Conversely, only storing semantic facts loses the context of why or when the fact was learned. Tradeoff: Requires an LLM call to perform the extraction \(cost/latency on write\), but drastically improves retrieval precision for factual queries later.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T23:08:10.667077+00:00— report_created — created