# forget

ユーザー所有のcontrol boundaryを通じて、review済みのmemory、TODO、Ledger recordを削除します。soft deletionは復元可能で、hard deletionは恒久的です。

- Canonical: https://docs.xmemo.dev/ja/docs/tools/forget
- Locale: ja-JP
- Content-Locale: ja-JP
- Canonical-Content-Digest: bb7f8a7e884de0a466e30a2d8258aa343fb87510c0c9530b1bf1ab2166c17e21
- Edition-Digest: 03822b15cf516d3dc7420474fa3adb9e08994beac41c5f49ae4e4cfb5e88a527
- Source-Revision: sha256:baae372498e8bb0029d0bb3dbb87a802d40981f421cdfa74d518c0c5e6352ed3

## Tool Reference: `forget`

### Purpose

ユーザー所有のcontrol boundaryを通じて、選択したmemory、TODO、Ledger-backed recordを削除します。Public contractはsoftとhard deletionだけを扱います。contentをその場で置き換えるにはredact_memoryを使います。

### Parameters

- `memory_id` (string, optional): 削除するrecordのexact referenceです。targetより優先されます。
- `target` (string, optional): exact referenceを利用できない場合の説明用targetです。
- `mode` (string, optional, default: soft): 「soft」（デフォルト、復元可能）または「hard」（恒久的で、事前に明示的なuser confirmationが必要）です。「soft_delete」と「hard_delete」aliasも受け付け、空の値はsoftを意味します。その他の値は拒否されます。
- `reason` (string, optional): 削除と一緒に記録する短いaudit reasonです。

### Returns

Success textは影響を受けたopaque referenceとlifecycle statusを報告します。Soft deletionはrestore pathで復元できますが、hard deletionは復元できません。

### Errors

- Validation failure: 'soft'/'soft_delete'/'hard'/'hard_delete'以外のmodeが指定された、またはreplacement_contentが設定されています（redact_memoryを使います）。
- 401/403: tokenに必要なwrite/delete capabilityがない、またはtargetにアクセスできません。
- Ambiguous target: query_hintが複数のrecordに一致するか、exact targetを確定できません。
- Invalid mode: hard deletionは推測されず、unsupported modeはpublic surfaceで拒否されます。
- Not found or lifecycle conflict: 選択したmemory、TODO、Ledger recordがすでにないか、変更されています。

### Examples

#### Exact recordを復元可能な形で削除する



```typescript
forget({
  target: "memory-id-from-recall",
  mode: "soft",
  reason: "User requested removal"
})
```

### Related Tools

- [search_memory](/docs/tools/search): destructive actionの前にstrictで認可されたresultを探します。
- [remember](/docs/tools/remember): 本当に必要な場合だけ新しい永続recordを作成します。
- [todos](/docs/tools/todos): task stateは直接管理し、review済みの削除にだけforgetを使います。
- [ledger](/docs/tools/ledger): governed Ledger dispatcherでfinancial recordを管理します。

## 削除を検証する

以前そのmemoryを返したsearchをもう一度実行します。エントリが表示されなくなったときにだけ、削除が確認されます。

```ts
search_memory({ query: "<the removed content>", limit: 5 })
// -> the removed entry must be absent
```

