api-removal-plan.json•4.97 kB
{
  "schema": "memory_document_v2",
  "metadata": {
    "id": "api-removal-plan",
    "title": "旧API削除計画",
    "documentType": "generic",
    "path": "api-removal-plan.json",
    "tags": [],
    "lastModified": "2025-04-12T14:53:31.263Z",
    "createdAt": "2025-04-12T10:00:00Z",
    "version": 1
  },
  "content": {
    "overview": "このドキュメントは旧APIの削除計画について詳細に説明します。現在のMemory Bank MCPサーバーには複数の重複したAPIがあり、これらを整理して統一されたインターフェースにすることを目的としています。",
    "sections": [
      {
        "title": "対象となる旧API",
        "content": "以下のAPIが削除対象となります:\n\n1. **write_branch_memory_bank**: `write_document` APIに統合\n2. **read_branch_memory_bank**: `read_document` APIに統合\n3. **write_global_memory_bank**: `write_document` APIに統合\n4. **read_global_memory_bank**: `read_document` APIに統合"
      },
      {
        "title": "移行先の統合API",
        "content": "これらの旧APIは以下の2つの統合APIに集約されます:\n\n1. **write_document**: `scope`パラメータを使用してブランチまたはグローバルメモリバンクに書き込み\n2. **read_document**: `scope`パラメータを使用してブランチまたはグローバルメモリバンクから読み込み"
      },
      {
        "title": "APIパラメータの対応表",
        "content": "### write_branch_memory_bank → write_document\n```\n{\n  branch: \"feature/example\",    → { scope: \"branch\", branch: \"feature/example\", \n  path: \"data/file.json\",      →   path: \"data/file.json\",\n  content: { ... },           →   content: { ... },\n  tags: [\"tag1\", \"tag2\"],     →   tags: [\"tag1\", \"tag2\"],\n  docs: \"./docs\"               →   docs: \"./docs\"\n}                             }\n```\n\n### read_branch_memory_bank → read_document\n```\n{\n  branch: \"feature/example\",    → { scope: \"branch\", branch: \"feature/example\", \n  path: \"data/file.json\",      →   path: \"data/file.json\",\n  docs: \"./docs\"               →   docs: \"./docs\"\n}                             }\n```\n\n### write_global_memory_bank → write_document\n```\n{\n  path: \"core/config.json\",     → { scope: \"global\", \n  content: { ... },           →   path: \"core/config.json\",\n  tags: [\"tag1\", \"tag2\"],     →   content: { ... },\n  docs: \"./docs\"               →   tags: [\"tag1\", \"tag2\"],\n}                             →   docs: \"./docs\"\n                              }\n```\n\n### read_global_memory_bank → read_document\n```\n{\n  path: \"core/config.json\",     → { scope: \"global\", \n  docs: \"./docs\"               →   path: \"core/config.json\",\n}                             →   docs: \"./docs\"\n                              }\n```"
      },
      {
        "title": "移行スケジュール",
        "content": "1. **フェーズ1**: 旧APIと新APIを並行して提供(v2.3.0)- 完了\n2. **フェーズ2**: 旧API使用時の非推奨警告を実装(v2.4.0)- 完了\n3. **フェーズ3**: ドキュメントを更新し、新APIへの移行を推奨(v2.5.0)- 完了\n4. **フェーズ4**: 旧APIへの依存を持つライブラリやクライアントのアップデート\n   - VSCode Extension - 完了\n   - CLI Tools - 完了 \n   - その他クライアント - 進行中\n5. **フェーズ5**: 旧APIの完全な削除(v3.0.0予定)- 本プロジェクトの対象"
      },
      {
        "title": "技術的な実装手順",
        "content": "1. **ソースコード変更**:\n   - `tools/definitions.ts` からの古いツール定義を削除\n   - `server.ts` のコマンドハンドラーからの参照を削除\n   - 古いツールの実装を削除(必要な場合のみ)\n\n2. **テスト更新**:\n   - 削除されるAPIのテストを削除\n   - 統合APIのテストが十分かを確認\n\n3. **ドキュメント更新**:\n   - 公式ドキュメントから旧APIリファレンスの削除\n   - マイグレーションガイドの更新"
      },
      {
        "title": "リスク評価",
        "content": "1. **下位互換性**: 古いAPIに依存している未知のクライアントが存在する可能性\n2. **機能差異**: 新旧APIで微妙な挙動の違いがある可能性\n\n**軽減策**:\n- 十分な告知期間を確保(少なくとも3ヶ月)\n- 主要なクライアントライブラリの更新を確認\n- マイグレーションガイドを充実させる"
      },
      {
        "title": "ロールバック計画",
        "content": "万が一の問題発生時には、以下のロールバック計画を実行します:\n\n1. v2.5.0パッチリリースで旧APIを緊急復活\n2. 問題の原因調査\n3. 移行スケジュールの再検討"
      }
    ]
  }
}