Core concepts
Fact types
world, experience, decision, and observation — and when each applies.
Every memory unit carries one of four fact types. The type is assigned at
retain time — by LLM classification, or deterministically when you set
fact_type on the item.
world
Objective, external facts about people, events, systems, and general knowledge. The default classification.
"Stripe caps webhook retries at 72 hours."
experience
First-person actions and observations by the memory's owner — what the agent did and saw.
"I migrated the billing cron to the new scheduler."
decision
Durable commitments that settle what will (or won't) be done: architecture decisions, policy calls, go/no-go outcomes.
"We will use Postgres for the queue; no separate broker."
Decisions carry a lifecycle — they stand until a later decision supersedes them — and standing decisions never decay below neutral recency in recall scoring, so established policy stays findable.
Set fact_type: "decision" on a retain item to record one deterministically
rather than relying on classification.
observation
Synthesized by background consolidation from corroborating source facts. Observations are never written directly — they are the system's own distillation of repeated evidence.
Recall scope
The REST recall endpoint defaults to all four types. Pass types to narrow:
{
"query": "deployment policy",
"types": ["world", "decision"]
}The MCP tools and SDKs default to world + experience + decision, with observations opt-in.