{
  "schemaVersion": 1,
  "captures": [
    {
      "id": "session-start",
      "client": "codex-cli",
      "version": "0.147.0",
      "platform": "darwin-arm64",
      "observedAt": "2026-08-16",
      "fixture": "fixtures/SessionStart.json",
      "sha256": "1580157d6b48c10f6de5f155aa1d7c68d1695409a5a178eb36c85ce5e01de956",
      "event": "SessionStart",
      "tool": null,
      "claims": [
        {
          "capability": "lifecycle.sessionStart",
          "result": "pass",
          "outcome": {
            "kind": "event-observed",
            "idle": "fires when a client session starts",
            "busy": "fires before the first model turn",
            "authority": "advisory",
            "limitations": [
              "plugin hooks must be explicitly trusted by the user"
            ]
          }
        }
      ]
    },
    {
      "id": "session-end",
      "client": "codex-cli",
      "version": "0.147.0",
      "platform": "darwin-arm64",
      "observedAt": "2026-08-16",
      "fixture": "fixtures/SessionEnd.json",
      "sha256": "e1468c9d5cd2ff5408184158004e9877684f1ae2815239691bbaa386327fe58e",
      "event": "SessionEnd",
      "tool": null,
      "claims": [
        {
          "capability": "lifecycle.sessionEnd",
          "result": "pass",
          "outcome": {
            "kind": "event-observed",
            "idle": "fires when a client session exits",
            "busy": "does not run until the session exits",
            "authority": "advisory",
            "limitations": [
              "plugin hooks must be explicitly trusted by the user"
            ]
          }
        }
      ]
    },
    {
      "id": "user-prompt-submit",
      "client": "codex-cli",
      "version": "0.147.0",
      "platform": "darwin-arm64",
      "observedAt": "2026-08-16",
      "fixture": "fixtures/UserPromptSubmit.json",
      "sha256": "1774062b17ea917cf67d8adca3408525a928c5b9b88adda1ff6b92f3e89a459f",
      "event": "UserPromptSubmit",
      "tool": null,
      "claims": [
        {
          "capability": "context.beforeTurnInjection",
          "result": "pass",
          "outcome": {
            "kind": "model-context-observed",
            "idle": "waits for the next user prompt",
            "busy": "does not interrupt an in-progress turn",
            "authority": "context",
            "limitations": [
              "stdout arrives as an unwrapped developer-role message"
            ]
          }
        },
        {
          "capability": "delivery.nextTurn",
          "result": "pass",
          "outcome": {
            "kind": "model-context-observed",
            "idle": "offers complete peer messages at the next prompt",
            "busy": "does not interrupt an in-progress turn",
            "authority": "context",
            "limitations": [
              "delivery requires the next normal user turn"
            ]
          }
        }
      ]
    },
    {
      "id": "pre-tool-use",
      "client": "codex-cli",
      "version": "0.147.0",
      "platform": "darwin-arm64",
      "observedAt": "2026-08-16",
      "fixture": "fixtures/PreToolUse.json",
      "sha256": "8d3785cfcffbe9affef6c10c1dbbeaf5a0b7062eaed4414e4a66c073f0397a77",
      "event": "PreToolUse",
      "tool": "apply_patch",
      "claims": [
        {
          "capability": "guards.beforeWrite",
          "result": "pass",
          "outcome": {
            "kind": "tool-denied-before-mutation",
            "idle": "no write exists to guard",
            "busy": "blocks an apply_patch call before disk mutation",
            "authority": "blocking",
            "limitations": [
              "runtime and unrecognised shell writes can bypass the guard"
            ]
          }
        }
      ]
    },
    {
      "id": "native-delivery-0-152-0",
      "client": "codex-cli",
      "version": "0.152.0",
      "platform": "darwin-arm64",
      "observedAt": "2026-09-01T16:20:40.386Z",
      "fixture": "fixtures/delivery/codex-cli-0.152.0.json",
      "sha256": "1f3a57d5ab6fecf827fd54a1fd452c3c7a8d0ac199dd2af025f1954aa83b3cf8",
      "event": null,
      "tool": null,
      "claims": [
        {
          "capability": "delivery.livePush",
          "result": "fail",
          "outcome": {
            "kind": "native-capture-failed"
          }
        },
        {
          "capability": "delivery.replyRoute",
          "result": "fail",
          "outcome": {
            "kind": "native-capture-failed"
          }
        }
      ]
    },
    {
      "id": "native-delivery-0-152-1",
      "client": "codex-cli",
      "version": "0.152.1",
      "platform": "darwin-arm64",
      "observedAt": "2026-09-02T21:32:19.320Z",
      "fixture": "fixtures/delivery/codex-cli-0.152.1.json",
      "sha256": "8254ce1ec25926228109edfa20f970c0036d3c2e012a0dd58af610afc57f7a39",
      "event": null,
      "tool": null,
      "claims": [
        {
          "capability": "delivery.livePush",
          "result": "pass",
          "outcome": {
            "kind": "native-delivery-observed",
            "idle": "offered",
            "busy": "queued_after_turn",
            "authority": "experimental",
            "limitations": [
              "captured on darwin-arm64 only; Linux and Windows remain uncaptured",
              "no daemon pre-existed; codex app-server daemon start created it for this capture and daemon stop removed it",
              "the daemon speaks JSON-RPC over WebSocket on its control Unix socket; a submission queued on the idle thread started a turn by itself, and one queued during a turn was presented after that turn as a user prompt",
              "the model answered through the ACC CLI (acc reply), which proves the product loop but not a native reply route; delivery.replyRoute stays uncertified",
              "thread/queue/add has no native idempotency once a submission has been consumed: a retried clientUserMessageId created a second submission and a short turn but no second ACC answer; idempotency holds while the submission is still queued, where thread/queue/list exposes it"
            ]
          }
        }
      ]
    },
    {
      "id": "native-delivery-0-152-1-remote-workspace",
      "client": "codex-cli",
      "version": "0.152.1",
      "platform": "darwin-arm64",
      "observedAt": "2026-09-03T04:45:00.000Z",
      "fixture": "fixtures/delivery/codex-cli-0.152.1-remote-workspace.json",
      "sha256": "e4f419111d254223f3930eeee61c30c447bb68dd51a4faf81be2a33b144bbaca",
      "event": null,
      "tool": null,
      "claims": [
        {
          "capability": "delivery.livePush",
          "result": "fail",
          "outcome": {
            "kind": "native-capture-failed"
          }
        }
      ]
    },
    {
      "id": "native-delivery-0-152-1-local-daemon-product",
      "client": "codex-cli",
      "version": "0.152.1",
      "platform": "darwin-arm64",
      "observedAt": "2026-09-08T09:42:03.910Z",
      "fixture": "fixtures/delivery/codex-cli-0.152.1-local-daemon-product.json",
      "sha256": "12ba4994612c8ac38adb3f02bac4710b14dc897c8ae51f41d5ac8f81efcda7a9",
      "event": null,
      "tool": null,
      "claims": [
        {
          "capability": "delivery.livePush",
          "result": "pass",
          "outcome": {
            "kind": "native-delivery-observed",
            "idle": "offered",
            "busy": "queued_after_turn",
            "authority": "experimental",
            "limitations": [
              "Observed on darwin-arm64 with an already-running LocalDaemon and ordinary commands; ACC adds no launch arguments and owns no vendor daemon lifecycle.",
              "Recorded recipient opt-in and exact current thread, canonical cwd, live process, stable version and protocol checks are required for every session.",
              "A 120-second delivery lease can refresh on demand for the same non-retired endpoint; this does not renew the 24-hour presence expiry.",
              "Unsupported or Embedded sessions and unreachable or rejected endpoints retain durable inbox delivery; accepted vendor queue entries cannot be withdrawn by policy off or uninstall.",
              "A loaded daemon thread may execute opted-in messages after its TUI exits. TUI detachment is not SessionEnd; explicit thread archive or actual server teardown retires it.",
              "Transport deduplication covers a pending queue entry only. Execution can repeat after queue consumption and acknowledgement loss.",
              "The observed reply loop uses the installed acc reply CLI; native delivery.replyRoute remains false. No new lifecycle, guard or next-turn certification follows.",
              "P16 is controlled endpoint fault injection. P18 uses an actual legacy npm artifact; its unrelated Claude shell artifact is not a real Claude capability capture."
            ]
          }
        }
      ],
      "productEvidence": {
        "fixture": "fixtures/delivery/codex-cli-0.152.1-local-daemon-product-evidence.json",
        "sha256": "1a53d02db21a472ba7e8b37cca3d935826a3e1a17a8c17223dc56ecbebac1e21"
      },
      "historicalFixtures": [
        {
          "fixture": "fixtures/delivery/codex-cli-0.152.1-local-daemon-transport.json",
          "sha256": "3cea07a9d655b7a78764eacd30bbcdc941a81095633ba08eee1c1c0900958c18"
        },
        {
          "fixture": "fixtures/delivery/codex-cli-0.152.1-local-daemon-transport-evidence.json",
          "sha256": "911a8e451bd726aedfb2be9379ed521e4042b2c7a8be1f280349dbeabc101cf1"
        },
        {
          "fixture": "fixtures/delivery/codex-cli-0.152.1-remote-workspace.json",
          "sha256": "e4f419111d254223f3930eeee61c30c447bb68dd51a4faf81be2a33b144bbaca"
        }
      ]
    },
    {
      "id": "native-delivery-0-153-4-local-daemon-product",
      "client": "codex-cli",
      "version": "0.153.4",
      "platform": "darwin-arm64",
      "observedAt": "2026-09-08T09:42:02.609Z",
      "fixture": "fixtures/delivery/codex-cli-0.153.4-local-daemon-product.json",
      "sha256": "35cc452a24dd9cbbb4a0f130928ce8b3ed89784d362518d6997cded3b5ea2c1b",
      "event": null,
      "tool": null,
      "claims": [
        {
          "capability": "delivery.livePush",
          "result": "pass",
          "outcome": {
            "kind": "native-delivery-observed",
            "idle": "offered",
            "busy": "queued_after_turn",
            "authority": "experimental",
            "limitations": [
              "Observed on darwin-arm64 with an already-running LocalDaemon and ordinary commands; ACC adds no launch arguments and owns no vendor daemon lifecycle.",
              "Recorded recipient opt-in and exact current thread, canonical cwd, live process, stable version and protocol checks are required for every session.",
              "A 120-second delivery lease can refresh on demand for the same non-retired endpoint; this does not renew the 24-hour presence expiry.",
              "Unsupported or Embedded sessions and unreachable or rejected endpoints retain durable inbox delivery; accepted vendor queue entries cannot be withdrawn by policy off or uninstall.",
              "A loaded daemon thread may execute opted-in messages after its TUI exits. TUI detachment is not SessionEnd; explicit thread archive or actual server teardown retires it.",
              "Transport deduplication covers a pending queue entry only. Execution can repeat after queue consumption and acknowledgement loss.",
              "The observed reply loop uses the installed acc reply CLI; native delivery.replyRoute remains false. No new lifecycle, guard or next-turn certification follows.",
              "P16 is controlled endpoint fault injection. P18 uses an actual legacy npm artifact; its unrelated Claude shell artifact is not a real Claude capability capture."
            ]
          }
        }
      ],
      "productEvidence": {
        "fixture": "fixtures/delivery/codex-cli-0.153.4-local-daemon-product-evidence.json",
        "sha256": "81ff85c16e7320df233d353267bf216dc2c40ee5b86ccbcc2e2fe754e2e99591"
      },
      "historicalFixtures": [
        {
          "fixture": "fixtures/delivery/codex-cli-0.153.4-local-daemon-transport.json",
          "sha256": "a458fdcc9fc843580663f8d21c79e911e202fe8e5db83a951b9e22ed79761168"
        },
        {
          "fixture": "fixtures/delivery/codex-cli-0.153.4-local-daemon-transport-evidence.json",
          "sha256": "2fb31e3a8503582472b2589f2009e39e0d8a6b91f6c361682eaa3989eafef4c2"
        },
        {
          "fixture": "fixtures/delivery/codex-cli-0.152.1-remote-workspace.json",
          "sha256": "e4f419111d254223f3930eeee61c30c447bb68dd51a4faf81be2a33b144bbaca"
        }
      ]
    },
    {
      "id": "native-delivery-0-152-1-local-daemon-current-binding-product",
      "client": "codex-cli",
      "version": "0.152.1",
      "platform": "darwin-arm64",
      "observedAt": "2026-09-08T10:45:27.843Z",
      "fixture": "fixtures/delivery/codex-cli-0.152.1-local-daemon-current-binding-product.json",
      "sha256": "63ecebc2b28a07e90df4414ea1a7091f99c1848a523854ae6e7bdc65d8ba62a6",
      "event": null,
      "tool": null,
      "claims": [
        {
          "capability": "delivery.livePush",
          "result": "pass",
          "outcome": {
            "kind": "native-delivery-observed",
            "idle": "offered",
            "busy": "queued_after_turn",
            "authority": "experimental",
            "limitations": [
              "Observed on darwin-arm64 with an already-running LocalDaemon and ordinary commands; ACC adds no launch arguments and owns no vendor daemon lifecycle.",
              "Recorded recipient opt-in and exact current thread, canonical cwd, live process, stable version and protocol checks are required for every session.",
              "A 120-second delivery lease can refresh on demand for the same non-retired endpoint; this does not renew the 24-hour presence expiry.",
              "Unsupported or Embedded sessions and unreachable or rejected endpoints retain durable inbox delivery; accepted vendor queue entries cannot be withdrawn by policy off or uninstall.",
              "A loaded daemon thread may execute opted-in messages after its TUI exits. TUI detachment is not SessionEnd; explicit thread archive or actual server teardown retires it.",
              "Transport deduplication covers a pending queue entry only. Execution can repeat after queue consumption and acknowledgement loss.",
              "The observed reply loop uses the installed acc reply CLI; native delivery.replyRoute remains false. No new lifecycle, guard or next-turn certification follows.",
              "P16 is controlled endpoint fault injection. P18 uses an actual legacy npm artifact; its unrelated Claude shell artifact is not a real Claude capability capture."
            ]
          }
        }
      ],
      "productEvidence": {
        "fixture": "fixtures/delivery/codex-cli-0.152.1-local-daemon-current-binding-product-evidence.json",
        "sha256": "72eac209e0007c617c51038b0e780de4fafe4601753e525172b09b480337295e"
      },
      "historicalFixtures": [
        {
          "fixture": "fixtures/delivery/codex-cli-0.152.1-local-daemon-product.json",
          "sha256": "12ba4994612c8ac38adb3f02bac4710b14dc897c8ae51f41d5ac8f81efcda7a9"
        },
        {
          "fixture": "fixtures/delivery/codex-cli-0.152.1-local-daemon-product-evidence.json",
          "sha256": "1a53d02db21a472ba7e8b37cca3d935826a3e1a17a8c17223dc56ecbebac1e21"
        },
        {
          "fixture": "fixtures/delivery/codex-cli-0.152.1-local-daemon-transport.json",
          "sha256": "3cea07a9d655b7a78764eacd30bbcdc941a81095633ba08eee1c1c0900958c18"
        },
        {
          "fixture": "fixtures/delivery/codex-cli-0.152.1-local-daemon-transport-evidence.json",
          "sha256": "911a8e451bd726aedfb2be9379ed521e4042b2c7a8be1f280349dbeabc101cf1"
        },
        {
          "fixture": "fixtures/delivery/codex-cli-0.152.1-remote-workspace.json",
          "sha256": "e4f419111d254223f3930eeee61c30c447bb68dd51a4faf81be2a33b144bbaca"
        }
      ]
    },
    {
      "id": "native-delivery-0-153-4-local-daemon-current-binding-product",
      "client": "codex-cli",
      "version": "0.153.4",
      "platform": "darwin-arm64",
      "observedAt": "2026-09-08T10:45:35.663Z",
      "fixture": "fixtures/delivery/codex-cli-0.153.4-local-daemon-current-binding-product.json",
      "sha256": "6f13ebe9abdcd2826ba2adf82ce96efd0aab88d1e64dee9c9a7cd476a5449eff",
      "event": null,
      "tool": null,
      "claims": [
        {
          "capability": "delivery.livePush",
          "result": "pass",
          "outcome": {
            "kind": "native-delivery-observed",
            "idle": "offered",
            "busy": "queued_after_turn",
            "authority": "experimental",
            "limitations": [
              "Observed on darwin-arm64 with an already-running LocalDaemon and ordinary commands; ACC adds no launch arguments and owns no vendor daemon lifecycle.",
              "Recorded recipient opt-in and exact current thread, canonical cwd, live process, stable version and protocol checks are required for every session.",
              "A 120-second delivery lease can refresh on demand for the same non-retired endpoint; this does not renew the 24-hour presence expiry.",
              "Unsupported or Embedded sessions and unreachable or rejected endpoints retain durable inbox delivery; accepted vendor queue entries cannot be withdrawn by policy off or uninstall.",
              "A loaded daemon thread may execute opted-in messages after its TUI exits. TUI detachment is not SessionEnd; explicit thread archive or actual server teardown retires it.",
              "Transport deduplication covers a pending queue entry only. Execution can repeat after queue consumption and acknowledgement loss.",
              "The observed reply loop uses the installed acc reply CLI; native delivery.replyRoute remains false. No new lifecycle, guard or next-turn certification follows.",
              "P16 is controlled endpoint fault injection. P18 uses an actual legacy npm artifact; its unrelated Claude shell artifact is not a real Claude capability capture."
            ]
          }
        }
      ],
      "productEvidence": {
        "fixture": "fixtures/delivery/codex-cli-0.153.4-local-daemon-current-binding-product-evidence.json",
        "sha256": "8aad29c7bf32098d12f3acb8d63fa18246e5feaf3d106de9c6eb32c7f1a7d562"
      },
      "historicalFixtures": [
        {
          "fixture": "fixtures/delivery/codex-cli-0.153.4-local-daemon-product.json",
          "sha256": "35cc452a24dd9cbbb4a0f130928ce8b3ed89784d362518d6997cded3b5ea2c1b"
        },
        {
          "fixture": "fixtures/delivery/codex-cli-0.153.4-local-daemon-product-evidence.json",
          "sha256": "81ff85c16e7320df233d353267bf216dc2c40ee5b86ccbcc2e2fe754e2e99591"
        },
        {
          "fixture": "fixtures/delivery/codex-cli-0.153.4-local-daemon-transport.json",
          "sha256": "a458fdcc9fc843580663f8d21c79e911e202fe8e5db83a951b9e22ed79761168"
        },
        {
          "fixture": "fixtures/delivery/codex-cli-0.153.4-local-daemon-transport-evidence.json",
          "sha256": "2fb31e3a8503582472b2589f2009e39e0d8a6b91f6c361682eaa3989eafef4c2"
        },
        {
          "fixture": "fixtures/delivery/codex-cli-0.152.1-remote-workspace.json",
          "sha256": "e4f419111d254223f3930eeee61c30c447bb68dd51a4faf81be2a33b144bbaca"
        }
      ]
    }
  ]
}
