scope and project. They are intentionally different.
Scope is the isolation boundary
Usescope when one API key serves multiple app users, organizations, workspaces, or tenants.
scope is provided, MemContext only saves, searches, lists, profiles, updates, deletes, and graphs memories inside that exact scope.
When scope is omitted, MemContext uses the unscoped/global memory lane only. Unscoped requests do not search across named scopes.
Project is a grouping filter
Useproject to group memories inside the selected scope.
Recommended model
| Field | Use for | Example |
|---|---|---|
scope | Hard app-user, tenant, org, or workspace lane | user_123, org_acme_42 |
project | Soft grouping inside that lane | memcontext, supportbot |
scope for personal/global memory and use project only when the project is known.
API behavior
All memory operations follow the same rule:| Request | Resulting memory lane |
|---|---|
No scope | Only unscoped/global memories |
scope=user_123 | Only memories in user_123 |
scope=user_123&project=x | Only project x memories inside user_123 |
scope when calling get, update, delete, history, or feedback for a scoped memory. Passing the wrong scope returns 404 instead of leaking data from another scope.
