Core concepts

Recall

Multi-strategy retrieval, fused and scored.

POST /memories/recall answers a query with the most relevant memories in the namespace.

How recall retrieves

Four retrieval arms run in parallel and their candidates are fused:

  • Semantic — embedding similarity against the query.
  • Lexical — full-text search for exact terms the embedding may miss.
  • Graph — link expansion from strong hits to connected facts.
  • Temporal — time-anchored retrieval when the query implies a period.

Candidates are reranked, then scored by relevance, recency, and corroboration. Standing decisions never decay below neutral recency, so policy stays findable long after it was made.

Budget

budget trades latency for depth:

BudgetBehavior
lowFewer candidates, single-pass. Fastest.
midThe default balance.
highWidest retrieval and reranking effort.

max_tokens caps the size of the result set, so the response drops straight into a prompt.

Filtering and extras

  • types — restrict fact types. The REST endpoint defaults to all four; pass ["world", "experience", "decision"] to exclude synthesized observations.
  • tags + tags_match — filter by retain-time tags (any, all, or the _strict variants that exclude untagged memories). tag_groups composes boolean tag expressions.
  • query_timestamp — anchor "recent" to a different point in time.
  • include options — entity observations, raw source chunks, and the source facts behind observations can be inlined in the response, each with its own token cap.
  • trace — return scoring detail for debugging retrieval.

Search docs

Search the documentation