Memory schema and scope

Agentic OS memory uses one schema for local and hosted memory.

Agentic OS memory uses one schema for local and hosted memory.

Local installs use PGLite. Hosted Team OS uses Postgres with pgvector. The schema and scope rules are the same in both modes.

Core tables

TablePurpose
memory_sourcesOne row for each source document, such as a memory file or manual import.
memory_chunksSearchable chunks from each source, including vector embeddings.
index_jobsIndexing and import job history.
search_eventsAudit records for scoped search requests.
schema_migrationsApplied memory schema migrations.

Scope columns

Memory rows carry scope data:

ColumnMeaning
team_idThe Team OS team that owns team memory.
client_idThe client workspace that owns client memory.
user_idThe user that owns private memory.
visibilityWhich memory layer the row belongs to.

Visibility rules

VisibilityRequired scopeWho it is for
systemnoneBaseline Agentic OS memory.
teamteam_idShared memory for one team.
clientclient_idShared memory for one client.
privateuser_idPrivate memory for one user.

The store enforces these rules before writing rows. Hosted Team OS also checks the signed-in user's role and grants before search, import, or sync actions.

Hosted search boundary

In hosted mode, the server resolves the real team and user from the saved Team OS session. Request body IDs cannot widen access.

For example, if a local client sends a different teamId, the server still uses the team from the authenticated session.

Embeddings

Current semantic memory uses the BGE-M3 embedder with 1024 dimensions by default. All writers and the hosted API should use the same embedder for one database.

If a database was built with a different embedding dimension, rebuild and re-index memory before serving it from Team OS.

Next: Hosted memory API

On this page