# メモリ修正

バージョン管理された更新パスで永続レコードを修正し、provenanceとconflictのシグナルを保持します。

- Canonical: https://docs.xmemo.dev/ja/docs/concepts/memory-correction
- Locale: ja-JP
- Content-Locale: ja-JP
- Canonical-Content-Digest: 6f28d589cdd0ab6ac0d2145e0524ea5b88d6e3e81e8f0e634cd93aecc0865ef3
- Edition-Digest: 83030e4a8e4279270ed0c482ae7db77462cc548ff88f14b880aa91bd6c4f7513
- Source-Revision: sha256:f7210d05c9e1bbd70c314abb60b434144f4220e0b1df97fb63073b6da3fd6873

## 矛盾を追加せず、レコードを修正する

PATCH /v1/memories/{memory_id}で既存のメモリを変更します。MemoryUpdateRequestの全フィールドは任意で、content、path、metadata、source、provenance、memory_type、status、expires_at、scope、team_idを含みます。これにより修正は同じmemory referenceに結び付き、サーバーのversioning pathで処理されます。

```http
PATCH /v1/memories/<memory-id>
X-API-Key: <your-assigned-api-key>
Content-Type: application/json

{
  "content": "The corrected deployment decision was verified on 2026-09-02.",
  "provenance": {
    "correction": "owner-confirmed"
  },
  "merge_provenance": true,
  "detect_conflicts": true
}
```

## Versionとconflictの制御もrequestの一部です

更新contractにはmerge_metadata、merge_provenance、detect_conflictsが含まれ、いずれもデフォルトでtrueです。さらにsupersession_reasonも指定できます。永続化pathはmemory versionを増分し、公開memory contractにstatus、superseded_by、conflictの証拠を保持します。現在の結果は返されたimplementation dataから読み取り、OpenAPI responseは型付けされていないままであることに注意してください。

- 修正後も既存の証拠を残す必要がある場合は、metadataとprovenanceをmergeします。
- 同時編集や競合するversionが重要な場合は、detect_conflictsを有効に保ちます。
- 修正で以前のversionを意図的に置き換える場合は、supersession_reasonを使います。

## 修正後のscopeを検証する

修正後はscopeを限定したreadを実行し、返されたversion、status、provenance、conflictの各フィールドを確認します。取得は引き続き認証済みscopeとmemory status filterに従うため、PATCHが成功しただけでは、意図したscopeの結果が見えるようになった証明にはなりません。

```http
GET /v1/memories/search?query=corrected%20deployment%20decision&scope=memory-os&status=active&limit=5
X-API-Key: <your-assigned-api-key>
```

## ChatGPT ユーザー

bearer token をチャットに貼り付けずに、ChatGPT が XMemo の設定、プロジェクト事実、意思決定、TODO に永続的にアクセスできるようにします。

ChatGPT/OpenAI app の OAuth フローで hosted XMemo MCP server に接続し、XMemo アカウントに memory:read と memory:write の許可を承認します。

合成の設定またはプロジェクトメモを保存し、新しいチャットを開始してから、作業を続ける前に ChatGPT に XMemo 経由でそれを呼び出させます。

OAuth が失敗する、またはツールが表示されない場合は、direct token を作成する前に、ホストアプリで MCP server からサインアウトし、XMemo server URL を再接続して再試行します。

## Copilot / Codex 開発者

リポジトリの判断、コーディング規約、バグ修正メモ、タスク履歴を IDE と CLI エージェント間で持ち運べます。

利用可能な場合は、VS Code / GitHub Copilot および Gemini CLI に OAuth を使用してください。Copilot CLI、Codex、Cursor、またはその他の直接 MCP クライアントの場合は、XMEMO_KEY をローカル環境またはシークレットストアに保持し、安定した XMEMO_AGENT_INSTANCE_ID を設定してください。

コードベースの判断またはバグ修正を記録し、次の IDE または CLI エージェントに、編集前に関連する XMemo コンテキストを呼び出させます。

呼び出し結果が空の場合は、選択した MCP 設定パス、direct client 用の XMEMO_KEY 環境変数、ホストアプリ内の古い OAuth 認証情報を確認します。

## チーム / エンタープライズ pilot owner

アカウント制御、ソース attribution、エクスポート/削除ワークフロー、レビュー担当者向けに安全な設定証跡で共有メモリを評価します。

保護された XMemo workspace を作成または開き、承認済みユーザーを招待してから、readiness badges に従って OAuth またはスコープ付き direct credential で各クライアントを接続します。

pilot メンバーに合成のチームメモリを保存してもらい、XMemo でソース attribution を確認し、削除/エクスポートとサポート経路をレビューします。

メンバーが接続できない場合は、新しい token を発行する前に、ロール権限、OAuth 承認、クライアント readiness 状態、サポートガイダンスを確認します。

## 自律エージェント operator

headless またはスケジュール済みエージェントが進捗を記録し、過去の判断を取得し、安定した非秘密のインスタンス ID を保持できるようにします。

/api/v1/mcp/config/autonomous-agent を取得します。runner が OAuth + custom headers をサポートする場合は auth_modes.oauth を優先し、完全 headless runner の場合のみ secret store の XMEMO_KEY で auth_modes.xmemo_key を使います。

XMemo に進捗を書き込む合成タスクを 1 つ実行し、runner を再起動して、同じ XMEMO_AGENT_INSTANCE_ID でその進捗を呼び出せることを確認します。

attribution が変わる、または呼び出し結果がインスタンス間で分かれる場合は、XMEMO_AGENT_INSTANCE_ID を git の外に永続化し、runner が起動ごとに再生成していないことを確認します。
