{
  "evidence": [
    {
      "client": "codex-cli",
      "version": "0.147.0",
      "platform": "darwin-arm64",
      "observedAt": "2026-08-16",
      "capability": "lifecycle.sessionStart",
      "fixture": "fixtures/SessionStart.json",
      "provenance": "fixtures/certification-provenance.json",
      "provenanceId": "session-start",
      "idleBehavior": "fires when a client session starts",
      "busyBehavior": "fires before the first model turn",
      "authorityLevel": "advisory",
      "limitations": [
        "plugin hooks must be explicitly trusted by the user"
      ],
      "result": "pass"
    },
    {
      "client": "codex-cli",
      "version": "0.147.0",
      "platform": "darwin-arm64",
      "observedAt": "2026-08-16",
      "capability": "lifecycle.sessionEnd",
      "fixture": "fixtures/SessionEnd.json",
      "provenance": "fixtures/certification-provenance.json",
      "provenanceId": "session-end",
      "idleBehavior": "fires when a client session exits",
      "busyBehavior": "does not run until the session exits",
      "authorityLevel": "advisory",
      "limitations": [
        "plugin hooks must be explicitly trusted by the user"
      ],
      "result": "pass"
    },
    {
      "client": "codex-cli",
      "version": "0.147.0",
      "platform": "darwin-arm64",
      "observedAt": "2026-08-16",
      "capability": "context.beforeTurnInjection",
      "fixture": "fixtures/UserPromptSubmit.json",
      "provenance": "fixtures/certification-provenance.json",
      "provenanceId": "user-prompt-submit",
      "idleBehavior": "waits for the next user prompt",
      "busyBehavior": "does not interrupt an in-progress turn",
      "authorityLevel": "context",
      "limitations": [
        "stdout arrives as an unwrapped developer-role message"
      ],
      "result": "pass"
    },
    {
      "client": "codex-cli",
      "version": "0.147.0",
      "platform": "darwin-arm64",
      "observedAt": "2026-08-16",
      "capability": "guards.beforeWrite",
      "fixture": "fixtures/PreToolUse.json",
      "provenance": "fixtures/certification-provenance.json",
      "provenanceId": "pre-tool-use",
      "idleBehavior": "no write exists to guard",
      "busyBehavior": "blocks an apply_patch call before disk mutation",
      "authorityLevel": "blocking",
      "limitations": [
        "runtime and unrecognised shell writes can bypass the guard"
      ],
      "result": "pass"
    },
    {
      "client": "codex-cli",
      "version": "0.147.0",
      "platform": "darwin-arm64",
      "observedAt": "2026-08-16",
      "capability": "delivery.nextTurn",
      "fixture": "fixtures/UserPromptSubmit.json",
      "provenance": "fixtures/certification-provenance.json",
      "provenanceId": "user-prompt-submit",
      "idleBehavior": "offers complete peer messages at the next prompt",
      "busyBehavior": "does not interrupt an in-progress turn",
      "authorityLevel": "context",
      "limitations": [
        "delivery requires the next normal user turn"
      ],
      "result": "pass"
    },
    {
      "client": "codex-cli",
      "version": "0.152.0",
      "platform": "darwin-arm64",
      "observedAt": "2026-09-01T16:20:40.386Z",
      "capability": "delivery.livePush",
      "fixture": "fixtures/delivery/codex-cli-0.152.0.json",
      "provenance": "fixtures/certification-provenance.json",
      "provenanceId": "native-delivery-0-152-0",
      "idleBehavior": "unobserved",
      "busyBehavior": "unobserved",
      "authorityLevel": "none",
      "limitations": [
        "daemon control socket absent; proxy was not started",
        "no daemon or target client process was started by this capture",
        "idle, busy, reply, duplicate, and fallback branches were not observed"
      ],
      "result": "fail"
    },
    {
      "client": "codex-cli",
      "version": "0.152.0",
      "platform": "darwin-arm64",
      "observedAt": "2026-09-01T16:20:40.386Z",
      "capability": "delivery.replyRoute",
      "fixture": "fixtures/delivery/codex-cli-0.152.0.json",
      "provenance": "fixtures/certification-provenance.json",
      "provenanceId": "native-delivery-0-152-0",
      "idleBehavior": "unobserved",
      "busyBehavior": "unobserved",
      "authorityLevel": "none",
      "limitations": [
        "daemon control socket absent; proxy was not started",
        "no daemon or target client process was started by this capture",
        "idle, busy, reply, duplicate, and fallback branches were not observed"
      ],
      "result": "fail"
    },
    {
      "client": "codex-cli",
      "version": "0.152.1",
      "platform": "darwin-arm64",
      "observedAt": "2026-09-08T10:45:27.843Z",
      "capability": "delivery.livePush",
      "fixture": "fixtures/delivery/codex-cli-0.152.1-local-daemon-current-binding-product.json",
      "provenance": "fixtures/certification-provenance.json",
      "provenanceId": "native-delivery-0-152-1-local-daemon-current-binding-product",
      "idleBehavior": "offered",
      "busyBehavior": "queued_after_turn",
      "authorityLevel": "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."
      ],
      "result": "pass"
    },
    {
      "client": "codex-cli",
      "version": "0.153.4",
      "platform": "darwin-arm64",
      "observedAt": "2026-09-08T10:45:35.663Z",
      "capability": "delivery.livePush",
      "fixture": "fixtures/delivery/codex-cli-0.153.4-local-daemon-current-binding-product.json",
      "provenance": "fixtures/certification-provenance.json",
      "provenanceId": "native-delivery-0-153-4-local-daemon-current-binding-product",
      "idleBehavior": "offered",
      "busyBehavior": "queued_after_turn",
      "authorityLevel": "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."
      ],
      "result": "pass"
    }
  ]
}
