memory_remember
Store a memory so your agent can recall it in a later session. Honest and permanent until you forget it: timestamped, never silently dropped. Needs your api_key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | optional tags for later filtering | |
| check | No | optional forward-looking test: the observation that would settle whether this entry still holds, e.g. 'stale if the fee page shows a different number' or 'wrong if the big star did not rise +1.8k over refill'. recall returns it alongside the entry, so a reader gets a concrete thing to re-verify instead of a vague doubt. The falsifier a later reader runs, the inverse of source (where it came from) vs where it would break | |
| source | No | optional note where this came from | |
| api_key | Yes | ||
| content | Yes | what to remember | |
| relied_on | No | optional: the specific span you actually relied on for this decision, a subset of source_excerpt, so a reader can see it sitting inside the broader passage and judge whether it was cherry-picked. Proves justification, not just retrieval | |
| collection | No | optional group/namespace, e.g. a project | |
| supersedes | No | optional id of your earlier memory this replaces; the old entry is retired from recall but kept for audit | |
| source_hash | No | optional content hash of the source bytes you cited, so a later reader can detect a silent edit (integrity, not just origin) | |
| retrieved_at | No | optional ISO timestamp of when you fetched the source, distinct from when this memory was written, so a later reader can tell whether the source drifted after you cited it | |
| agent_version | No | optional: what wrote this (model or prompt version), so a later reader can audit who said it | |
| source_excerpt | No | optional: the actual cited bytes/passage you retrieved (not just a URL), so the evidence survives even if the live source later changes or dies | |
| supersede_kind | No | optional (with supersedes): WHY the old entry was replaced. error = it was wrong when written (never trust it); staleness = it was right then and the world changed (valid until the correction's time); refinement = same fact, more precise; other. A reader treats a corrected fact and a stale-but-once-true fact very differently, so recording which is the honest minimum | |
| supersede_scope | No | optional (with supersedes): which specific claim or part of the earlier entry this correction targets, e.g. 'the fee amount only'. Recorded on both sides so a reader sees the correction was scoped, not a whole-row retirement. Note: retirement is still row-level today; this records intent until claim-level partial retirement lands | |
| supersede_reason | No | REQUIRED when supersedes is set: why this correction replaces the earlier entry. Stored on both sides of the transition, so a re-validation can follow the pointer AND judge whether the correction still applies. A supersede with no reason is rejected (optional is where provenance goes to die) | |
| source_conditions | No | optional: the request conditions that produced these bytes (e.g. 'locale=de; bucket=A; version=2026-10'), captured at fetch time, so a divergent re-fetch reads as a different rendering rather than a contradiction |