{
  "format": "agent-article-v0",
  "article_id": "EA-244",
  "canonical_url": "/tools/ea-244-durable-execution-workflow-replay-for-ai",
  "page_type": "reference",
  "claim_ids": [],
  "evidence_ids": [
    "EA-244-CURRENT-APPROVAL",
    "EA-244-CURRENT-BODY-READBACK"
  ],
  "unknown_ids": [
    "EA-244-UNKNOWN-01"
  ],
  "operational_object_ids": [],
  "provider": [],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "CURRENT",
  "observation_status": "SPEC_ONLY",
  "freshness": "CURRENT",
  "last_verified": "2026-10-05",
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "CANDIDATE-EA244-FIRST-20261005-C2-RESCUE20261013",
    "BODY-SHA256:1a4a687245acb9176573f7e1214599c617677f9d4fc9db5be9be4b60c096faa0"
  ],
  "article_sources": [
    {
      "id": "EA-244-CURRENT-APPROVAL",
      "evidence_class": "RESEARCH",
      "title": "現行本文の監査・revision対応",
      "supports": [
        "現行台帳のAUDIT_PASSと候補・revision・本文ハッシュの対応を確認しています。"
      ],
      "limit": "監査状態と来歴の記録です。外部根拠の最新性や本文の全主張を追加保証しません。",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "CANDIDATE-EA244-FIRST-20261005-C2-RESCUE20261013"
      ],
      "supporting_locators": [
        "1KqhJtiSb2S84rWmeYVwKcT_76dBwZ_B0ZZuAWQqH0rQ",
        "EA_REVISION_LEDGER!A47:U47",
        "EA-244-FIRST-20261005"
      ],
      "provenance_status": "CURRENT_CANONICAL_APPROVAL_READBACK"
    },
    {
      "id": "EA-244-CURRENT-BODY-READBACK",
      "evidence_class": "IMPL",
      "title": "現行本文の収録照合",
      "supports": [
        "公開生成入力の本文SHA-256が、監査済み候補に結び付いたハッシュと一致しています。"
      ],
      "limit": "本文の同一性の検査です。外部システムの挙動や全主張の真偽を実証したものではありません。",
      "checked_at": "2026-10-13",
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "BODY-SHA256:1a4a687245acb9176573f7e1214599c617677f9d4fc9db5be9be4b60c096faa0"
      ],
      "supporting_locators": [
        "content/staging/EA-244.md",
        "1a4a687245acb9176573f7e1214599c617677f9d4fc9db5be9be4b60c096faa0",
        "EA-244-FIRST-20261005"
      ],
      "provenance_status": "CURRENT_APPROVED_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "PUBLIC_CLAIM",
      "text": "Durable Executionは長時間のAgent workflowのstate/progressをdurable history/checkpointへ残し、failure後に復元・継続する実行方式です。ただし外部API・tool・payment・email・database mutation等のside effectがexactly-onceになることを意味しません。"
    },
    {
      "heading": "REPLAY_BOUNDARY",
      "text": "replay型runtimeではworkflow/orchestrator decision codeをdeterministicに保ちます。現在時刻、random、network、LLM推論、tool/API I/Oをorchestrator内から直接再評価せず、runtimeが履歴へ記録できるtimer、activity、step、side-effect primitive等へ隔離します。LLM outputもnondeterministic external computationとして扱い、model ID、request parameters、tool schema version、resultまたはdecision artifactをdurable boundaryへ残します。"
    },
    {
      "heading": "ACTIVITY_AND_STEP_BOUNDARY",
      "text": "completed activity/step resultがdurableに記録済みならreplayはresultを再利用できます。一方、external side effect完了とcompletion recordの間にcrash windowがある場合、activity/stepはretryされ得ます。stable operation ID/idempotency key、resource-version precondition、status query/readback、reconciliationを外部operation側にも設計します。"
    },
    {
      "heading": "PRODUCT_SEMANTICS",
      "text": "製品名だけでexecution guaranteeを推定しません。TemporalはEvent History replayでstateを再構築し、nondeterminismをWorkflow Task failure原因として扱います。Microsoft Durable Task/Durable Functionsもevent sourcing/replayのためorchestrator determinismを要求します。AWS Step FunctionsはStandard、Asynchronous Express、Synchronous Expressでsemanticsが異なり、Redriveのfailed Taskは再scheduleされ得ます。DBOSはordinary stepとdurable transactionを区別します。"
    },
    {
      "heading": "START_AND_MESSAGE_IDEMPOTENCY",
      "text": "workflow start、Signal/Update、webhook、human approvalにはstable request/message/approval IDを付与し、tenant、principal、operation type、target resource、input fingerprint/versionへbindします。approvalは自然言語だけをstateにせず、approval ID、approver identity、scope、resource version、policy version、expiryをdurableに記録します。"
    },
    {
      "heading": "VERSIONING_AND_DEPLOYMENT",
      "text": "open workflowが存在する状態でcodeを更新すると旧Event Historyと新codeのreplay compatibilityが問題になります。既存executionを無条件に最新codeへ流さず、runtime固有のversioning/deployment routing/patch/migration mechanismを固定します。model、prompt、tool schema、policyもversioned dependencyとして記録します。"
    },
    {
      "heading": "TIMEOUT_CANCELLATION_AND_COMPENSATION",
      "text": "timeout/cancellationはexternal side effectのrollback証明ではありません。external systemが既にcommitしている場合はstatus query/readbackでauthoritative outcomeを確認し、必要ならcompensation/reconciliationへ進みます。"
    },
    {
      "heading": "HISTORY_RETENTION_AND_RECOVERY",
      "text": "Event History/checkpointのretention、archival、history size limit、execution ID reuse、redrive/recovery windowを事前に確認します。history消失後に最初からworkflowを再実行してside effectを復元せず、authoritative external stateとoperation IDsからreconciliationします。"
    },
    {
      "heading": "SECURITY_AND_PRIVACY",
      "text": "durable historyにはprompt、model output、tool arguments、approval、resource identifiersが残る可能性があります。secret/PIIを最小化し、encryption、access control、tenant isolation、retention、archival locationを固定します。長時間wait後には必要に応じcurrent authorization/resource preconditionを再評価します。"
    },
    {
      "heading": "OPERATING_CHECK",
      "text": "external side effect後completion record前crash、checkpoint後response前crash、duplicate start/message、open execution中のcode/model変更、cancellation race、approval重複、history retention/redrive expiryをfault injectionします。duplicate side effect、recovery latency、retry count、nondeterminism failure、stuck workflow、history growth、replay latency、reconciliation countを別metricとして記録します。"
    },
    {
      "heading": "FAILURE_ENVELOPE",
      "text": "worker crash、runtime outage、checkpoint failure、activity completion ambiguity、retry amplification、duplicate start/message、nondeterministic code、LLM/model drift、incompatible deployment、cancellation race、compensation failure、history growth/expiry、tenant collision、stale authorization、history内PII/secret、external resource version drift、誤ったmanual replay pointを想定します。"
    },
    {
      "heading": "IMPLEMENTATION_STATE",
      "text": "2026-10-05時点のTemporal、Microsoft Durable Task、AWS Step Functions、DBOS、AWS Lambda durable executionの現行documentationとbounded local replay fixtureに基づきます。production durable runtime、LLM、tool/API mutationは未実施です。"
    },
    {
      "heading": "SAFE_WORDING",
      "text": "Durable Executionはworkflow state/progressをfailure後に復元・継続しますが、外部side effectのexactly-onceを自動保証しません。replay対象codeをdeterministicに保ち、LLM/API I/Oをdurable activity/step境界へ隔離し、未checkpoint実行のretryを前提にidempotency・precondition・readback/reconciliationを設計してください。"
    },
    {
      "heading": "OPEN_UNKNOWN",
      "text": "対象Agent runtime、durable engine/version、workflow type、history store/retention/archival、worker deployment/versioning、LLM persistence policy、tool idempotency/status API、approval semantics、cancellation/compensation、tenant/auth binding、DR、history limits、SLO/cost、data residency/audit retentionは未確認です。"
    },
    {
      "heading": "STOP_CONDITION",
      "text": "durable orchestrationをexternal exactly-onceと分離し、replay determinism、activity/step retry、versioning、message identity、retention/recoveryを監査可能な境界として固定します。"
    }
  ],
  "human_url": "/tools/ea-244-durable-execution-workflow-replay-for-ai",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-244-durable-execution-workflow-replay-for-ai",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-244-durable-execution-workflow-replay-for-ai"
}