Skip to main content
Every observation and memory carries an immutable origin block stamped at write time:
Channels: user (typed by the user), agent (the agent runtime), tool (returned by a tool), import (transcripts and exports), shared (another agent). Derived records inherit their source origin through compression, so content can always answer where it entered the system. This is the base for trust-aware retrieval: tool and import channels are exactly where untrusted content arrives.

Per-agent scoping

Saves accept an agentId; recall filters by it across search, smart-search, and MCP. With AGENTMEMORY_AGENT_SCOPE=isolated the API refuses cross-agent reads rather than silently widening.
Last modified on August 15, 2026