How memory works
Local SQLite, on-device embeddings, and namespaces — nothing leaves your machine. Everything stored can also be checked before it's repeated back to you.
Store & recall
remember({
content: "User prefers pnpm",
namespace: "user",
tags: ["preference"],
priority: 8
})
recall({
query: "package manager",
namespace: "user",
preview: true
})Agents store facts and procedures with remember — it dedupes near-identical content in the same namespace.
Recall starts with recall({ preview: true }) to scan summaries, then recall({ id }) for only what you need.
Namespaces
user holds preferences across all projects. <project-name> matches your code(ingest) namespace. work is for cross-repo professional context.
Skills vs memories
Skills
Procedural how-to content. Set metadata.skill_name and load with skill_load — O(1), no search.
Memories
Facts, preferences, decisions, and session context. Retrieved via hybrid search.
Verify before you trust it
Storing a fact isn't the same as knowing it's true. verify({ text }) checks a claim against what's already stored and returns grounded (backed by memory), unsupported (nothing confirms it yet), or refuted (it contradicts something already known) — before your agent repeats it as fact.