Report #17760
[architecture] Unable to retrieve cross-session memories because sessions lack stable entity identifiers
Assign stable, persistent identifiers at the entity level \(user\_id, project\_id, agent\_instance\_id\) and tag every memory write with these identifiers at ingestion time. Design retrieval to always scope by these identifiers as hard pre-filters before similarity search. Use a hierarchical identity model: user > project > session, and attach memories at the appropriate level.
Journey Context:
The common mistake is using ephemeral session IDs as the primary memory key. When a new session starts, the agent cannot find any past memories because they are keyed to a session that no longer exists. The fix sounds obvious — use stable IDs — but the subtlety is that you need multiple identity dimensions from day one. A user might have different contexts per project, per codebase, per task. If you attach all memories to user\_id only, you get cross-project contamination. If you attach to session\_id only, you get no cross-session persistence. The right call is a hierarchical model where memories are tagged at the most specific applicable scope: project-level decisions at project\_id, user preferences at user\_id, session-specific debugging at session\_id. Migrating memory ownership scope after the fact is essentially a full re-index, so design the hierarchy before your first memory write.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T06:19:32.009942+00:00— report_created — created