Common Knowledge shared library
One read-only, platform-managed memory library for facts every team should know. Operators write product docs, API contracts, and runbooks; each workspace merges shared hits into retrieval by default (opt-out per team or library).
What it is
Common Knowledge is the single memory_libraries row with library_kind = platform_shared. It appears in every team's memory_list_libraries result, but only the platform operations team that owns the row can write. Use it for: terminology, public API behavior, plan limits, MCP tool usage, org-wide coding conventions, and other cross-tenant facts.
Access model
- Read
- All teams with memory:read — list, search, recall, wake-up, list_atoms
- Write
- Platform ops team only (memory:write + library team_id matches owner)
- Quota
- Does not count against per-team library creation limits
- Delete
- platform_shared libraries cannot be deleted
Retrieval merge
When includeSharedCommonInRetrieval is true (default), queries against a team-owned library also search Common Knowledge and merge top hits by similarity (deduped by atom id). Querying the shared library directly does not merge itself again.
- memory_search / memory_recall — merged hits; response may include sharedCommonIncluded: true
- memory_wake_up — with augmentQuery, appends a ## Shared common knowledge section to combined context
- Hit metadata — may include memoryLibraryId and source: team | platform_shared
Configuration cascade
| Level | Console | Setting |
|---|---|---|
| Per library | /dashboard/memory/[libraryId]/settings | includeSharedCommonInRetrieval — inherit | on | off |
| Per team | /dashboard/memory/settings | includeSharedCommonInRetrieval — boolean |
| Platform | /dashboard/platform | Default: include shared knowledge in retrieval |
null / inherit follows the parent level. When off, only team-owned atoms are returned.
API and MCP
- REST /api/v1/memory/* — pass a team library memoryLibraryId for merged retrieval; pass the shared id to browse shared atoms only
- Fixed label `common` (`library_label`); wikilink examples: [[common:scope/topic]] or [[common:scope/topic/title: field]]
- MCP memory_list_libraries — includes label, libraryKind, readOnly, linkedLibraryScope
- MCP write tools — non-owner teams get memory_library_read_only for the shared library id
- Platform create — POST /api/platform/memory/shared-library (platform admin session, once)
Console paths
| Role | Path | Action |
|---|---|---|
| Platform admin | /dashboard/platform | Create library, platform default toggle, manage atoms |
| Any team | /dashboard/memory | Shared badge in list; read-only teams have no write/delete |
| Team admin | /dashboard/memory/settings | Team-level merge toggle |
| Library admin | /dashboard/memory/[id]/settings | Per-library inherit / on / off |
Recommended agent workflow
- Still call memory_list_libraries and use a team project library as the primary memoryLibraryId
- No need to pass the shared library id when merge is on — search / recall / wake-up include common knowledge automatically
- If source is platform_shared and a hit is wrong, contact platform ops — do not memory_correct_atom on behalf of other tenants
- Platform operators should search team libraries before writing duplicates into Common Knowledge
Operations (platform)
- npm run db:d1:migrate:remote (migration 0046_platform_shared_common_library.sql)
- Deploy the Next.js app and memory-mcp-proxy worker
- Platform admin → /dashboard/platform → Create Common Knowledge library
- Ingest shared atoms from the library page or via MCP
Agent Memory MCP · Concept guide · Blog: Common Knowledge · Memory console