---
{
  "id": "platform.memory.create-and-recall",
  "topic": "memory",
  "title": "Create, update, recall, and lifecycle",
  "locale": "en",
  "version": "2026-07-25",
  "summary": "Create uses a four-value action category, optional pattern-key upsert, redacted detail, and relevance- and lifecycle-aware automatic recall.",
  "content": "`create_memory` accepts action category `correction`, `preference`, `knowledge`, or `error`. These four values are different from the eight import/export `memory_type` values; never place `profile`, `project_context`, `procedural`, `ops`, `deployment`, `negative`, or `ephemeral` in the create category field.\n\nWith `patternKey`, create is an upsert scoped to the current Agent: reusing the same key replaces category, summary, and detail, increments `hit_count`, and returns `updated: true`. Without it, each call inserts a new row. To update a known durable preference, recreate it with the same stable key; do not search for an update or delete action. `arguments.detail` is redacted from action audit data. Dry-run writes nothing and returns `dryRun: true`; a live result’s `url` opens the Agent profile Memory tab.\n\nRecall runs automatically using semantic similarity, BM25 and keyword evidence, plus recency. A non-pinned result below the 0.35 relevance floor is not injected; pinned items are eligible despite a low score. A successful write therefore does not guarantee inclusion on every turn.\n\nMemory quality includes `trust_score`, pinning, and lifecycle status. Unpinned, non-system memories below 0.3 trust and unused for 30 days are archived, not deleted, and archived rows no longer participate in recall. Per-Agent active, hard, and pinned capacities are runtime-configured; overflow is handled by lifecycle-aware archiving or cleanup. Say “saved for future relevant turns,” never promise permanent recall.\n",
  "aliases": [
    "remember my preference",
    "update memory",
    "pattern key upsert",
    "memory recall",
    "pinned memory",
    "archived memory",
    "記住偏好",
    "更新記憶"
  ],
  "tags": [
    "memory",
    "create",
    "recall",
    "lifecycle"
  ],
  "relatedActions": [
    "arinova.memory.create_memory"
  ],
  "relatedActionPrefixes": [],
  "url": "https://docs.arinova.ai/en/kb/memory/create-and-recall/"
}
---

`create_memory` accepts action category `correction`, `preference`, `knowledge`, or `error`. These four values are different from the eight import/export `memory_type` values; never place `profile`, `project_context`, `procedural`, `ops`, `deployment`, `negative`, or `ephemeral` in the create category field.

With `patternKey`, create is an upsert scoped to the current Agent: reusing the same key replaces category, summary, and detail, increments `hit_count`, and returns `updated: true`. Without it, each call inserts a new row. To update a known durable preference, recreate it with the same stable key; do not search for an update or delete action. `arguments.detail` is redacted from action audit data. Dry-run writes nothing and returns `dryRun: true`; a live result’s `url` opens the Agent profile Memory tab.

Recall runs automatically using semantic similarity, BM25 and keyword evidence, plus recency. A non-pinned result below the 0.35 relevance floor is not injected; pinned items are eligible despite a low score. A successful write therefore does not guarantee inclusion on every turn.

Memory quality includes `trust_score`, pinning, and lifecycle status. Unpinned, non-system memories below 0.3 trust and unused for 30 days are archived, not deleted, and archived rows no longer participate in recall. Per-Agent active, hard, and pinned capacities are runtime-configured; overflow is handled by lifecycle-aware archiving or cleanup. Say “saved for future relevant turns,” never promise permanent recall.
