{
  "run_id": "tamaratran--jev-pruner-claude-haiku-5-5-1792807930735091462",
  "checker": {
    "claims": [
      {
        "claim": "The wrapper passes the command's arguments and exit status through",
        "command": "node dist/codex/run.js -- node tests/fixtures/codex-noisy-build.mjs 1 once",
        "evidence": "Stage 1 finished; deployment remains blocked.\nstderr: stage 1 diagnostic channel preserved\n",
        "expected": "fixture stage output returned, exit 0",
        "input": "node tests/fixtures/codex-noisy-build.mjs 1 once",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Stage 1 finished; deployment remains blocked.",
        "returncode": 0,
        "source": "The executable and arguments after `--` are passed directly, preserving cwd,",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "Pruning fails open when Jev access is unavailable, leaving output unchanged",
        "command": "node dist/codex/run.js -- node tests/fixtures/codex-noisy-build.mjs 1 once",
        "evidence": "Stage 1 finished; deployment remains blocked.\nstderr: stage 1 diagnostic channel preserved\n",
        "expected": "full fixture output returned unchanged",
        "input": "same fixture run without TYPESAFE_API_KEY",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Stage 1 finished; deployment remains blocked.",
        "returncode": 0,
        "source": "configuration; pruning fails open while access is unavailable.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "Jev pruning needs a TypeSafe API key",
        "command": "",
        "evidence": "No TypeSafe API key is available in this guest and it must not be obtained; live Jev scoring also needs a Codex/Claude session with a recorded transcript pointer.",
        "expected": "",
        "input": "",
        "kind": "claim",
        "outcome": "No TypeSafe API key is available in this guest and it must not be obtained; live Jev scoring also needs a Codex/Claude session with a recorded transcript pointer.",
        "source": "Make `TYPESAFE_API_KEY` available in the terminal where you will launch Codex.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "blocked"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Inspected src/index.ts, src/codex/run.ts, src/codex/prune.ts, hooks/ and README. The plugin has no cron, scheduler, loop, --once/--now trigger or webhook. It runs once per Bash command through the hook or wrapper; the only timer is a 30-second API request timeout in src/codex/prune.ts.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Inspected src/index.ts, src/codex/run.ts, src/codex/prune.ts, hooks/ and README. The plugin has no cron, scheduler, loop, --once/--now trigger or webhook. It runs once per Bash command through the hook or wrapper; the only timer is a 30-second API request timeout in src/codex/prune.ts.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "checks": [
        {
          "check": "install",
          "details": {
            "argv": [
              "node",
              "dist/codex/run.js",
              "--",
              "node",
              "tests/fixtures/codex-noisy-build.mjs",
              "1",
              "once"
            ],
            "kind": "cli",
            "needs_browser": false,
            "needs_credentials": false,
            "returncode": 0,
            "scope": "partial: install",
            "stderr": "stderr: stage 1 diagnostic channel preserved",
            "stdout": "nchanged unchanged \nprogress: stage 1 cache entry 882 already current; unchanged unchanged unchanged unchanged unchanged \nprogress: stage 1 cache entry 883 already current; unchanged unchanged unchanged unchanged unchanged \nprogress: stage 1 cache entry 884 already current; unchanged unchanged unchanged unchanged unchanged \nprogress: stage 1 cache entry 885 already current; unchanged unchanged unchanged unchanged unchanged \nprogress: stage 1 cache entry 886 already current; unchanged unchanged unchanged unchanged unchanged \nprogress: stage 1 cache entry 887 already current; unchanged unchanged unchanged unchanged unchanged \nprogress: stage 1 cache entry 888 already current; unchanged unchanged unchanged unchanged unchanged \nprogress: stage 1 cache entry 889 already current; unchanged unchanged unchanged unchanged unchanged \nprogress: stage 1 cache entry 890 already current; unchanged unchanged unchanged unchanged unchanged \nprogress: stage 1 cache entry 891 already current; unchanged unchanged unchanged unchanged unchanged \nprogress: stage 1 cache entry 892 already current; unchanged unchanged unchanged unchanged unchanged \n[excerpt truncated]",
            "working": false
          },
          "optional": false,
          "status": "PASS"
        }
      ],
      "scope": "partial checks",
      "working": false
    },
    "evidence_strength": "partly_checked",
    "example_checks": [
      {
        "claim": "Offline test suite passes",
        "command": "npm test",
        "deferred": false,
        "evidence": "test.ts (2 tests) 139ms\n \u2713 tests/compact-markers.test.ts (7 tests) 161ms\n \u2713 tests/compaction.test.ts (4 tests) 190ms\n \u2713 tests/compaction-boundaries.test.ts (2 tests) 155ms\n \u2713 tests/compaction-context.test.ts (2 tests) 102ms\n \u2713 tests/eval-observer.test.ts (5 tests) 8ms\n \u2713 tests/partial-chunks.test.ts (2 tests) 38ms\n \u2713 tests/codex-session-utils.test.mjs (3 tests) 3ms\n \u2713 tests/decisions.test.ts (6 tests) 59ms\n\n Test Files  21 passed (21)\n      Tests  291 passed (291)\n   Start at  02:24:32\n   Duration  26.57s (transform 570ms, setup 0ms, collect 1.11s, tests 16.81s, environment 3ms, prepare 1.55s)",
        "expected": "all offline tests pass",
        "input": "npm test",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Tests section",
        "verdict": "yes"
      },
      {
        "claim": "Type check passes",
        "command": "npm run typecheck",
        "deferred": false,
        "evidence": "> fast-jev-output@0.1.0 typecheck\n> tsc --noEmit && npm run typecheck:hooks\n\n\n> fast-jev-output@0.1.0 typecheck:hooks\n> tsc -p tsconfig.hooks.json",
        "expected": "exit 0",
        "input": "npm run typecheck",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Tests section",
        "verdict": "yes"
      },
      {
        "claim": "Build succeeds",
        "command": "npm run build",
        "deferred": false,
        "evidence": "> fast-jev-output@0.1.0 build\n> tsc",
        "expected": "exit 0",
        "input": "npm run build",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Tests section",
        "verdict": "yes"
      },
      {
        "claim": "Plugin validates with the installed Claude Code CLI",
        "command": "npm run validate:plugin",
        "deferred": false,
        "evidence": "y the plugin in this folder. To check another plugin that the marketplace lists, run validate on that plugin's folder.\n  \u276f hooks/hooks.json names a hooks module (a code file listed under `modules`). The plugin directory has rules of its own for such code, and these checks apply none of them, so passing here does not mean the directory accepts the plugin. The developer portal's own validation applies those rules.\n\nThese plugin directory checks do not change the result below.\n\nThe directory also runs a safety scan and a policy review that this command does not.\n\n\u2714 Validation passed with warnings",
        "expected": "validation passes with warnings",
        "input": "npm run validate:plugin",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Tests section",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
