{
  "format": "agent-article-v0",
  "article_id": "EA-504",
  "canonical_url": "/tools/ea-504-agent-causality-graph-action-reconstruction",
  "page_type": "reference",
  "claim_ids": [],
  "evidence_ids": [
    "EA-504-CURRENT-APPROVAL",
    "EA-504-CURRENT-BODY-READBACK"
  ],
  "unknown_ids": [
    "EA-504-UNKNOWN-01"
  ],
  "operational_object_ids": [],
  "provider": [],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "CURRENT",
  "observation_status": "SPEC_ONLY",
  "freshness": "CURRENT",
  "last_verified": "2026-10-18",
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "ORPHAN-RESCUE-EA504-20261019-C1",
    "BODY-SHA256:82d94f2b19e6ad80536e039a1fd32a285011da06fb7a6b76912a9bd0cf26020d"
  ],
  "article_sources": [
    {
      "id": "EA-504-CURRENT-APPROVAL",
      "evidence_class": "RESEARCH",
      "title": "現行本文の監査・revision対応",
      "supports": [
        "現行台帳のAUDIT_PASSと候補・revision・本文ハッシュの対応を確認しています。"
      ],
      "limit": "監査状態と来歴の記録です。外部根拠の最新性や本文の全主張を追加保証しません。",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "ORPHAN-RESCUE-EA504-20261019-C1"
      ],
      "supporting_locators": [
        "1KqhJtiSb2S84rWmeYVwKcT_76dBwZ_B0ZZuAWQqH0rQ/EA_REVISION_LEDGER#ea_id=EA-504&revision_id=EA-504-R1-20261011&candidate_id=ORPHAN-RESCUE-EA504-20261019-C1",
        "EA-504-R1-20261011"
      ],
      "provenance_status": "CURRENT_CANONICAL_APPROVAL_READBACK"
    },
    {
      "id": "EA-504-CURRENT-BODY-READBACK",
      "evidence_class": "IMPL",
      "title": "現行本文の収録照合",
      "supports": [
        "公開生成入力の本文SHA-256が、監査済み候補に結び付いたハッシュと一致しています。"
      ],
      "limit": "本文の同一性の検査です。外部システムの挙動や全主張の真偽を実証したものではありません。",
      "checked_at": "2026-10-19",
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "BODY-SHA256:82d94f2b19e6ad80536e039a1fd32a285011da06fb7a6b76912a9bd0cf26020d"
      ],
      "supporting_locators": [
        "content/staging/EA-504.md",
        "82d94f2b19e6ad80536e039a1fd32a285011da06fb7a6b76912a9bd0cf26020d",
        "EA-504-R1-20261011"
      ],
      "provenance_status": "CURRENT_APPROVED_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "要点と前提",
      "text": "CANDIDATE_ID: ORPHAN-RESCUE-EA504-20261019-C1"
    },
    {
      "heading": "結論",
      "text": "AIエージェントの実行履歴を後から説明・監査するには、会話ログや単一の分散トレースを「真実の台帳」とみなさず、意思決定、権限、ツール呼出し、ワークフロー、provider operation、外部対象の最終状態を、安定した識別子と時系列関係で結合して再構成する必要がある。トレースは因果関係を推定・追跡する重要な証拠だが、欠落、sampling、export失敗、無効化、Zero Data Retention等により不完全になり得るため、「traceがない＝actionがなかった」とは断定できない。"
    },
    {
      "heading": "何を再構成するか",
      "text": "再構成対象は少なくとも、(1) どの入力・文脈・policy versionの下で判断したか、(2) どのactor/agent/sub-agentがどの権限で行為を要求したか、(3) どのtool/workflow/provider operationへ接続されたか、(4) どの外部対象にどのmutationが実際に到達したか、(5) 最終的なbusiness/world stateがどうなったか、である。\n\n\nここで重要なのは「相関」と「意味上の因果」を分離することである。W3C Trace ContextやOpenTelemetryのtrace/span IDは処理の連鎖を相関させるが、それ自体が「この判断がこの業務結果を引き起こした」という完全な意味証明ではない。複数agent、queue、非同期処理、retry、handoff、外部providerを跨ぐと、一本のtrace treeだけでは欠落や分岐を表現しきれない場合がある。"
    },
    {
      "heading": "記録すべき最小証拠",
      "text": "意思決定側では、durable decision/action ID、actor/agent identity、authority/approval/policy version、入力または参照contextの識別子、disposition、必要なrationaleを保存する。実行側では、workflow/run/task ID、tool call ID、provider operation/request ID、idempotency key等の実在する識別子を保存する。外部効果側では、対象object/resource ID、mutation結果、provider側のstatus/event/version、最終readbackを保持する。\n\n\nこれらを一つの万能IDへ押し込めず、関係edgeとして結ぶ。観測されたedgeと推論されたedgeを区別し、推論edgeには根拠と不確実性を残す。rejected/revised decisionも、後続行為の説明に必要なら削除せず履歴として保持する。"
    },
    {
      "heading": "失敗経路",
      "text": "第一に、tracingが無効化されている、samplingされる、browser/test環境で既定無効、export前にprocessが終了する、あるいは組織のデータ保持設定によって利用できない場合がある。このときtrace欠落をaction不存在へ変換してはならない。\n\n\n第二に、handoffやmessage queue境界でcontext propagationが切れ、sub-agentや下流処理がorphan traceになることがある。親traceから見えないことは、下流effectが存在しないことを意味しない。\n\n\n第三に、trace contextは完全性・真正性を自動保証しない。W3C Trace Contextのsecurity guidanceが示すように、外部入力からのtrace情報は偽装・汚染され得る。trace IDの一致だけでactor authorityや業務因果を確定してはならない。\n\n\n第四に、runtime traceとdurable workflow history、application audit log、provider operation record、外部target stateが食い違う場合がある。単一sourceを無条件に優先する普遍規則は置かず、各sourceのauthorityとfailure modeを記録した上で照合する。"
    },
    {
      "heading": "実装上のcontrol",
      "text": "1. consequential actionのdispatch前にdurable logical action IDを確定し、decision recordとauthority/policy versionへ結び付ける。\n2. tool/workflow/provider境界で実在するoperation IDを取得できる場合はlogical action IDとの対応を保存する。\n3. trace coverage metadataを保存する。少なくともtracing enablement、sampling/export条件、retention/ZDR等の制約、runtime/versionを監査時に判別できるようにする。\n4. async/handoff境界ではcontext propagationだけに依存せず、durable business/action IDをmessage/task payloadまたは安全なmetadataとして継承する。\n5. consequential effect後はprovider/object側のauthoritative stateをreadbackし、trace成功やtool成功だけで完了を確定しない。\n6. 監査時はdecision→request→workflow/tool→provider operation→target stateのgraphを再構成し、観測edgeと推論edgeを分離する。\n7. 証拠が衝突した場合は矛盾を消さず、各sourceのtimestamp、scope、retention、sampling、mutation authorityを比較して未解決部分をOPEN_UNKNOWNとして残す。"
    },
    {
      "heading": "適用境界",
      "text": "このcontrol modelはprovider-neutralだが、利用可能なtrace、workflow history、operation ID、audit log、retention、sampling、ZDR、export機構はprovider/product/runtime/organizationごとに異なる。TemporalのEvent Historyのようなdurable workflow historyは強い再構成材料になるが、外部providerで実際に生じたeffectの完全な証明そのものではない。OpenTelemetry/W3Cの相関規格もbusiness causalityやtamper-proof ledgerを保証しない。"
    },
    {
      "heading": "Counterevidence / Limitations",
      "text": "OpenTelemetryやW3Cの標準化されたcontext propagationは分散処理の相関を大幅に改善するため、traceを軽視すべきではない。一方で、sampling、instrumentation gap、disabled tracing、export lifecycle、forged context等の既知境界があるため、trace単独を完全なeffect ledgerへ格上げするのは過剰である。\n\n\nOpenAI Agents SDKのtracingはagent run、tool call、handoff等の可観測性を提供する一方、設定・環境・組織データ保持条件により利用できない場合がある。したがって製品のtracing機能の存在と、特定runについて完全な証拠が保存されたことは分けて検証する。"
    },
    {
      "heading": "OPEN_UNKNOWN",
      "text": "独立に裁定されたproduction incidentで、runtime traceとprovider/target側のauthoritative recordが明示的に衝突した事例の十分な蓄積は未確認である。異種providerを跨ぐ普遍的なevidence-conflict precedenceも確立していない。trace、audit record、workflow history全体のcryptographic tamper/completeness guaranteeもprovider-neutralには保証できない。"
    },
    {
      "heading": "SAFE_WORDING",
      "text": "AIエージェントのaction reconstructionでは、traceを重要な相関証拠として使うが、完全なeffect ledgerとはみなさない。durable decision/action identity、authority/policy version、workflow/tool/provider operation ID、外部targetのauthoritative readbackを結合し、trace coverageと欠落条件を明示する。missing traceは独立したauthoritative evidenceがaction不存在を示さない限りUNKNOWNとして扱う。"
    },
    {
      "heading": "主要provenance locator",
      "text": "- W3C, Trace Context Recommendation / Security Considerations — traceparent/tracestateによる相関とsecurity/privacy境界。\n- OpenTelemetry, Trace semantic conventions / GenAI semantic conventions / Baggage security guidance — distributed telemetry correlation、GenAI spans/events、baggageのsecurity boundary。\n- OpenTelemetry 2026 guidance on span events / trace-correlated log events — telemetry representationが実装・移行対象であることの補助根拠。\n- Temporal, Event History documentation — durable workflow event historyとreplay/reconstructionの実装例。\n- OpenAI Agents SDK tracing documentation (Python/JS, accessed 2026-10-17) — agent/tool/handoff tracingとdisabled/ZDR/browser-test/export条件。\n- New Relic distributed tracing troubleshooting — instrumentation/message-queue等でmissing/fragmented traceが起こる運用上の補助根拠。\n- Tian Pan, multi-agent handoff observability analysis (2026-05-17) — handoff context欠落によるorphaned tracesのpractitioner evidence。provider仕様へは格上げしない。\n- Decision Provenance / TRACE系研究 — decision provenanceをaction reconstructionへ結び付けるresearch evidence。製品保証へ外挿しない。"
    },
    {
      "heading": "監査時確認点",
      "text": "canonical topic「Agent Causality Graph／Action Reconstruction」を維持していること。trace不存在をaction不存在へ変換していないこと。correlationとsemantic causationを区別していること。provider/runtime/org固有条件を普遍化していないこと。OPEN_UNKNOWNとSAFE_WORDINGが強いcompleteness/tamper-proof claimを抑制していること。"
    }
  ],
  "human_url": "/tools/ea-504-agent-causality-graph-action-reconstruction",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-504-agent-causality-graph-action-reconstruction",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-504-agent-causality-graph-action-reconstruction"
}