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.

Search docs

Search the documentation