remember
Persist key facts, decisions, and preferences to durable memory so AI agents can recall them in future sessions.
Instructions
Store one or more memories in persistent cognitive memory.
WHEN TO USE: Call proactively whenever the conversation reveals something worth remembering — decisions, preferences, facts about people, project context. Do NOT store ephemeral task details, code snippets, or git-derivable info.
SINGLE: remember(text="User prefers dark mode", domain="preference", importance=0.7) BATCH: remember(memories=[{"text": "Alice is DevOps lead", "domain": "people"}, ...]) DRAFT: remember(summary="...long end-of-session summary...") — v0.8.0+ engine atomizes the summary into linked semantic facts; useful for the end-of-session auto-capture pattern.
IMPORTANCE: 0.8-1.0 critical decisions | 0.5-0.7 useful context | 0.3-0.5 background
Args: text: Memory text (for single memory). Be specific and searchable. memory_type: "semantic" (facts), "episodic" (events), "procedural" (how-to). importance: 0.0-1.0. Higher = remembered longer. domain: "work", "preference", "architecture", "people", "infrastructure", "health", "finance", "general". source: "user", "inference", "document", "system". valence: Emotional tone (-1.0 to 1.0). 0.0 neutral. metadata: Optional key-value pairs. namespace: For per-project isolation. certainty: Confidence 0.0-1.0. emotional_state: joy, frustration, excitement, concern, neutral. memories: List of memory dicts for batch. summary: For draft mode — long summary that the engine atomizes. idempotency_key: v0.10 engine — makes the write exactly-once: retrying with the same key + same text returns the SAME rid with no second write; same key + different text is an error. Engine-embedder (bundled) backend only. On batch, the key scopes per item as "{key}:{index}" if the atomic batch path is unavailable. created_at: v0.14 engine — BACKDATE the memory to when it was actually true, not when you imported it. Use for backfill (chat logs, migrations). Without it every imported memory stamps "now", which makes temporal(action="as_of") report history that never happened and flattens staleness/decay. Same formats as as_of: "2026-08-01", "2026-08-01T14:30:00Z", "7d" (ago), or unix seconds. Omit for anything learned in the present conversation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| domain | No | general | |
| source | No | user | |
| summary | No | ||
| valence | No | ||
| memories | No | ||
| metadata | No | ||
| certainty | No | ||
| namespace | No | default | |
| created_at | No | ||
| importance | No | ||
| memory_type | No | semantic | |
| emotional_state | No | ||
| idempotency_key | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |