{
  "format": "agent-article-v0",
  "article_id": "EA-022",
  "canonical_url": "/tools/ea-022-ai",
  "page_type": "decision",
  "claim_ids": [],
  "evidence_ids": [
    "EA-022-R11-RESEARCH",
    "EA-022-R11-WEB-READBACK"
  ],
  "unknown_ids": [
    "EA-022-UNKNOWN-01",
    "EA-022-UNKNOWN-CURRENTNESS"
  ],
  "operational_object_ids": [],
  "provider": [],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "UNKNOWN",
  "observation_status": "SPEC_ONLY",
  "freshness": "UNKNOWN",
  "last_verified": null,
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "COMM-024-EA0022",
    "WEBBODY-EA0022-R8-AE99AF2C"
  ],
  "article_sources": [
    {
      "id": "EA-022-R11-RESEARCH",
      "evidence_class": "RESEARCH",
      "title": "EA-022 監査済みresearch / canonical revision binding",
      "supports": [
        "AIの移行は、モデル名やAPI endpointの置換だけでは完結しない。instruction/prompt semantics、conversation/session state、memory/profile state、files/retrieval/index、tools/integration schemas、identity/permission/consent、workflow/agent/runtime、eval/audit/billing/availabilityを別々の移行対象として棚卸しする。"
      ],
      "limit": "canonical監査・revision bindingの存在を示す。外部ソースcurrentnessが本文またはcontrol-planeで確定していない場合は、currentnessをUNKNOWNのまま保持する。",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "COMM-024-EA0022"
      ],
      "supporting_locators": [
        "COMM-024-EA0022",
        "EA-022-R5-LEGACY-MIGRATION-20261008-R1",
        "content/staging/EA-022.md"
      ],
      "scope": "監査済みEA本文・canonical revision・既存Source Graph relationの範囲。欠損currentnessは推測で閉じない。",
      "provenance_status": "AUDIT_PASS_CANONICAL_BINDING"
    },
    {
      "id": "EA-022-R11-WEB-READBACK",
      "evidence_class": "IMPL",
      "title": "EA-022 Web body identity / canonical readback",
      "supports": [
        "canonical staging bodyのSHA-256一致とR9 canonical ledger readbackをProduction projectionの入力として検証する。"
      ],
      "limit": "body identity/readbackは本文claim自体の真偽や外部ソースの最新性を追加保証しない。",
      "checked_at": null,
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "WEBBODY-EA0022-R8-AE99AF2C"
      ],
      "supporting_locators": [
        "WEBBODY-EA0022-R8-AE99AF2C",
        "content/staging/EA-022.md",
        "EA-022-R5-LEGACY-MIGRATION-20261008-R1"
      ],
      "scope": "R9/R10 canonical readback後のProduction生成時body identity。",
      "provenance_status": "CANONICAL_READBACK_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "Public claim",
      "text": "AIの移行は、モデル名やAPI endpointの置換だけでは完結しない。instruction/prompt semantics、conversation/session state、memory/profile state、files/retrieval/index、tools/integration schemas、identity/permission/consent、workflow/agent/runtime、eval/audit/billing/availabilityを別々の移行対象として棚卸しする。\n\nOpenAI-compatible APIやMCPは特定のinterface/integration layerの結合を弱め得るが、semantic parity、product state、permission、memory/history、derived retrieval index、workflow checkpointまで自動的に可搬にするものではない。export可能性とrestore/import contractを分離し、shadow/replay評価とrollbackを含むmigrationとして扱う。"
    },
    {
      "heading": "Eight migration layers",
      "text": "1. instruction / prompt semantics\n2. conversation / session state\n3. memory / profile state\n4. files / retrieval / index\n5. tools / integration schemas\n6. identity / permission / consent\n7. workflow / agent / runtime\n8. eval / audit / billing / availability\n\nChat product migrationとAPI/application migrationを分離する。consumer/workspaceのexport/merge仕様をAPI portabilityへ外挿しない。"
    },
    {
      "heading": "Portability classes",
      "text": "各assetは次のいずれかへ分類する。\n\n- `PORTABLE_AS_IS`\n- `TRANSFORM_REQUIRED`\n- `REBUILD_REQUIRED`\n- `REAUTHORIZE_REQUIRED`\n- `NON_PORTABLE`\n- `UNKNOWN`\n\n分類はprovider pair、product、route、plan、organization overlay、as-of dateに依存する。UNKNOWNを推測で閉じない。"
    },
    {
      "heading": "Migration Manifest",
      "text": "以下は `PROPOSAL` として使用する。\n\n- asset ID\n- migration layer\n- source system / product\n- source version / as-of\n- destination system / product\n- portability class\n- source locator / provenance\n- export or snapshot artifact\n- transform / rebuild procedure\n- permission owner / reauthorization requirement\n- validation fixture\n- acceptance result\n- rollback source\n- unresolved dependency / UNKNOWN\n- cutover status\n- post-cutover audit result"
    },
    {
      "heading": "Migration flow",
      "text": "`INVENTORY → FREEZE/SNAPSHOT → MAP → TRANSFORM/REBUILD/REAUTHORIZE → SHADOW/REPLAY EVAL → CONTROLLED CUTOVER → ROLLBACK WINDOW → POST-CUTOVER AUDIT`\n\nsourceとdestinationを並行更新する場合はstate divergenceを管理する必要がある。freeze windowまたはchange journalは設計候補であり、provider保証ではなく `PROPOSAL` とする。"
    },
    {
      "heading": "Layer-specific boundaries",
      "text": "### Prompt / instruction\n\n同文移植を品質維持とみなさない。compatibility layerがsyntaxを受理しても、system/developer message処理、reasoning controls、tool semantics、prompt optimizationはprovider/modelごとに異なり得る。必要に応じてtransform/re-tuningとre-evaluationを行う。\n\n### Conversation / session\n\nconversation exportが存在しても、destinationのnative historyへrestoreされるとは限らない。export artifactをcanonical snapshot候補として利用する場合も、import/restore semanticsを別に検証する。\n\n### Memory / profile\n\nmemory、custom instructions、workspace membership、settings等をconversation historyと同一assetにしない。provider/product/plan別にexport/import/reset/delete仕様を再確認し、移行不能なstateを自動的に再生成可能とはみなさない。\n\n### Files / retrieval / index\n\nraw source fileの可搬性とderived retrieval indexの可搬性を分離する。chunking、embedding model、metadata/filtering、ranking/rerankingが異なるため、destinationでre-index/re-evalが必要になり得る。cross-provider vector-index binary portabilityは `UNKNOWN`。\n\n### Tools / integration\n\nnative function/tool schema、MCP利用可否、write action approval、OAuth/identity mappingを別列で管理する。MCPはtools/resources等のintegration boundaryを標準化し得るが、history、memory、workspace governance等のmigration standardではない。\n\n### Identity / permission / consent\n\ncredential copyingをmigration手順としない。destination-native identity、OAuth consent、admin approval、connected-app policy、SSO/SCIM、data residency、retention、contract条件をorganization overlayとして扱う。\n\n### Workflow / runtime\n\nagent/workflow runtime、checkpoint、retry、scheduler、human approval、runtime stateを独立assetとして棚卸しする。provider間checkpoint/state migration標準は `OPEN_UNKNOWN`。\n\n### Eval / audit / billing / availability\n\nsource/destination versions、migration manifest、transform結果、eval、failed items、permission diff、cutover timestamp、rollback decisionを保持する。token単価だけでなくdual-run、index rebuild、egress/export labor、人手review、temporary duplicate capacityをmigration costに含める。"
    },
    {
      "heading": "Compatibility and interoperability limits",
      "text": "Google GeminiのOpenAI compatibilityやAnthropicのOpenAI SDK compatibilityはclient/API surfaceの移植コストを下げ得るが、完全なsemantic parityを保証しない。provider-specific parameters、unsupported features、message transformation、prompt retuning等の差をcurrent documentationで再確認する。これらは `PRODUCT_VOLATILE`。\n\nMCPはcurrent specificationに基づくinteroperability boundaryとして扱う。protocol compatibilityをfull product-state portabilityへ拡張しない。"
    },
    {
      "heading": "Evidence / provenance",
      "text": "- OpenAI, *Transfer exported conversations between ChatGPT accounts* — export artifactを別accountでreferenceとして利用できても、prior chat history/account experienceの完全再現ではなく、memory/settings等も同一移行対象ではないことを示すcurrent product evidence。`PRODUCT_VOLATILE`。\n- OpenAI, *Exporting your ChatGPT history and data* — export availabilityとworkspace/plan依存性のcurrent product evidence。cross-provider import contractではない。`PRODUCT_VOLATILE`。\n- OpenAI, *Managing workspace lifecycle and migration in ChatGPT Business* — 同一provider内でも移行対象が選択的でroute-specificであるcurrent evidence。`PRODUCT_VOLATILE`。\n- Google AI for Developers, *OpenAI compatibility* — client compatibilityとprovider-specific差・beta boundaryのcurrent evidence。`PRODUCT_VOLATILE`。\n- Anthropic, *OpenAI SDK compatibility* — compatibility layerの用途・制限・prompt retuning等のcurrent evidence。`PRODUCT_VOLATILE`。\n- Model Context Protocol project, *The 2026-07-28 Specification* — tool/resource interoperability boundaryのcurrent specification。product history/memory/index/workspace migration仕様ではない。\n- OpenAI Platform, *Data controls in the OpenAI platform* — endpoint/application state/retention assumptionsをmigration inventoryへ含める根拠。`PRODUCT_VOLATILE`。"
    },
    {
      "heading": "Availability gates",
      "text": "OpenAI ChatGPT: account/workspace type、admin policy、export eligibility、merge route、managed workspace ownership。\n\nOpenAI API: organization data-control mode、endpoint、store/ZDR compatibility、tool/file/vector-store availability。\n\nGoogle Gemini API: API/model/region、OpenAI compatibility surface、native/provider-specific parameters。\n\nAnthropic Claude API: compatibility layer vs native API、supported input/tool features、provider-specific prompting/tool semantics。\n\nMCP: client/server implementation version、transport、authorization configuration、actual tool/resource availability。\n\nOrganization overlay: IdP/SSO/SCIM/OAuth consent、data residency、legal/retention policy、contract/billing、admin approvals。"
    },
    {
      "heading": "Evaluation",
      "text": "`TEST_PROFILE: UNEXECUTED`。本実装ではlive migrationを実施しない。\n\n後続評価では、非機密fixtureとしてsystem instructions、representative conversations、files、golden-citation retrieval queries、read/write mock tools、permission roles、deterministic workflow等を用意し、source baselineとdestinationを比較する。\n\n比較対象:\n- task completion\n- structured-output validity\n- citation/source correctness\n- tool selection / arguments\n- refusal / safety behavior\n- latency / cost\n- audit completeness\n- negative-permission behavior\n- retrieval rebuild後のquality\n- rollback viability\n\ncompatibility adapterとnative destination APIを分けて評価し、一つのbenchmarkからproduction equivalenceを推論しない。acceptance thresholdは本packetでは未確定。"
    },
    {
      "heading": "Failure envelope / OPEN_UNKNOWN",
      "text": "- compatibility APIが通ることをsemantic parityとみなさない。\n- exportをrestore/import contractとみなさない。\n- common cross-provider history/memory import standardの存在を主張しない。\n- raw file copyとderived retrieval index portabilityを同一視しない。\n- vector/retrieval index binary portabilityを主張しない。\n- workflow/agent checkpoint portabilityを主張しない。\n- enterprise identity/SCIM group/role mappingをprovider docsだけで確定しない。\n- public compatibility docsから特定tenant/region/contract availabilityを推論しない。\n- product/provider/current route detailsはpublication時にas-of readbackする。\n- organization-specific identity、consent、retention、contract、region、admin approvalはoverlay / `UNKNOWN` とする。\n- universal automated migratorが存在するとは主張しない。"
    },
    {
      "heading": "Security / privacy / audit / cost / operability",
      "text": "Security/Privacy: export/snapshotはsensitive dataを含み得る。staging中もaccess control、encryption、retentionを維持し、reauthorizationはdestination-nativeに行う。\n\nAudit: source/destination version、manifest、transforms、eval、failed assets、permission diffs、cutover、rollback decisionを保存する。\n\nCost: dual-run/shadow evaluation、index rebuild、provider egress/export labor、人手review、temporary duplicate capacityを含める。\n\nOperability: freeze/change-journal policy、idempotent transform、retry/reconciliation、rollback window、unresolved asset ownerを明示する。"
    },
    {
      "heading": "Cross-reference boundary",
      "text": "EA-023のlock-in回避設計へ、独立正本、API abstraction、MCP、external state、eval fixture、exit testを接続する。ただし本packetでEA-023を再編集しない。"
    }
  ],
  "human_url": "/tools/ea-022-ai",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-022-ai",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-022-ai"
}