Context
Parent epic #10945 needs actionable deployment-pipeline coverage for multi-user Memory Core. The current integration suite proves basic alice/bob Chroma isolation, but not the team/private retrieval policy surface that #10010/#10011 track.
Duplicate sweep before filing:
gh issue list --search "team private retrieval Memory Core Native Edge Graph" found adjacent epics #10016/#10691/#9999 and #10945, but no focused integration child.
- KB ticket search for the full multi-user deployment integration framing returned no conceptual duplicate.
- This ticket is the deployed-shape proof linked to the policy tickets, not a replacement for them.
The Problem
A multi-user Memory Core deployment needs more than per-user isolation. Team/private retrieval semantics must be proven through real MCP requests across the same deployed stack agents will use. Otherwise Chroma metadata filtering, session summary retrieval, and Native Edge Graph tenant isolation can drift separately.
The Architectural Reality
Relevant surfaces:
- #10010 — team vs private context retrieval flag.
- #10011 — Native Edge Graph tenant isolation semantics.
- #10016 — Multi-Tenant Identity & Data Privacy.
- Current integration fixture and
mcpClient.mjs identity helpers.
- Memory Core tools: raw memory queries, session memory/session summary reads, and graph/topology query paths.
The Fix
Add integration tests that seed memories and graph records under at least two users and one shared/team context, then verify retrieval behavior through real MCP calls.
The first pass should cover the smallest meaningful matrix:
- private memory is visible only to its owner;
- team/shared memory is visible to authorized team context;
- unrelated user cannot read private/team data;
- legacy/no-user data behavior is explicit and tested or deferred.
Contract Ledger Matrix
| Target Surface |
Source of Authority |
Proposed Behavior |
Fallback |
Docs |
Evidence |
| Raw memory retrieval |
#10010, #10016 |
Honors private/team visibility under deployed MCP calls |
If team context is not implemented, test private isolation and mark team part blocked |
MultiTenant/SharedDeployment docs if touched |
Integration query matrix with owner/team/unrelated users |
| Session summaries |
#10010, #10945 |
Retrieval respects same identity policy as raw memory |
If summaries remain disabled in fixture, document dependency on #10948/#10813 |
MemoryCore docs if touched |
Summary read assertions or explicit blocked dependency |
| Native Edge Graph |
#10011, #10016 |
Graph query paths apply tenant/team constraints |
If graph RLS is not available, file precise substrate follow-up |
Graph/privacy docs |
Integration graph query assertions |
Acceptance Criteria
Out of Scope
- Replacing #10010/#10011 policy work.
- Designing a full organization/team administration UI.
- Weakening default privacy semantics to make tests easier.
Related
Parent: #10945
Adjacent: #10010, #10011, #10016, #10691, #9999
Origin Session ID: c02fbf4e-870c-44c0-ba7e-e9ffacce094b
Retrieval Hint: query_raw_memories(query="team private retrieval Memory Core integration Native Edge Graph tenant isolation")
Context
Parent epic #10945 needs actionable deployment-pipeline coverage for multi-user Memory Core. The current integration suite proves basic alice/bob Chroma isolation, but not the team/private retrieval policy surface that #10010/#10011 track.
Duplicate sweep before filing:
gh issue list --search "team private retrieval Memory Core Native Edge Graph"found adjacent epics #10016/#10691/#9999 and #10945, but no focused integration child.The Problem
A multi-user Memory Core deployment needs more than per-user isolation. Team/private retrieval semantics must be proven through real MCP requests across the same deployed stack agents will use. Otherwise Chroma metadata filtering, session summary retrieval, and Native Edge Graph tenant isolation can drift separately.
The Architectural Reality
Relevant surfaces:
mcpClient.mjsidentity helpers.The Fix
Add integration tests that seed memories and graph records under at least two users and one shared/team context, then verify retrieval behavior through real MCP calls.
The first pass should cover the smallest meaningful matrix:
Contract Ledger Matrix
Acceptance Criteria
Out of Scope
Related
Parent: #10945 Adjacent: #10010, #10011, #10016, #10691, #9999
Origin Session ID: c02fbf4e-870c-44c0-ba7e-e9ffacce094b
Retrieval Hint:
query_raw_memories(query="team private retrieval Memory Core integration Native Edge Graph tenant isolation")