{
  "run_id": "tamaratran--fast-jev-compaction-claude-haiku-5-5-1792803211226080297",
  "checker": {
    "claims": [
      {
        "claim": "The live demo needs a TypeSafe key.",
        "command": "",
        "evidence": "Live compaction needs TYPESAFE_API_KEY, which is not configured in this guest and no credential was supplied. npm run demo fails with 'TYPESAFE_API_KEY is not configured' (exit 1), recorded as a credentials_error check in probe.json.",
        "expected": "",
        "input": "",
        "kind": "claim",
        "outcome": "Live compaction needs TYPESAFE_API_KEY, which is not configured in this guest and no credential was supplied. npm run demo fails with 'TYPESAFE_API_KEY is not configured' (exit 1), recorded as a credentials_error check in probe.json.",
        "source": "TYPESAFE_API_KEY=\"$(cat ~/.typesafe_key)\" npm run demo",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "blocked"
      },
      {
        "claim": "A missing key makes compaction throw.",
        "command": "",
        "evidence": "Requires a live Jev call path to observe compaction results; with no key the only documented entry point (npm run demo) throws 'TYPESAFE_API_KEY is not configured' before any result, which is recorded as partial evidence. No CLI or HTTP surface exists to exercise compactMessages directly.",
        "expected": "",
        "input": "",
        "kind": "claim",
        "outcome": "Requires a live Jev call path to observe compaction results; with no key the only documented entry point (npm run demo) throws 'TYPESAFE_API_KEY is not configured' before any result, which is recorded as partial evidence. No CLI or HTTP surface exists to exercise compactMessages directly.",
        "source": "Jev failures, malformed answers, a missing key, or a history that cannot be",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "blocked"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Entry points inspected: package.json scripts (build, typecheck, test, demo, validate:plugin), examples/demo.ts (one-shot run), src/index.ts (library exports), and hooks/fast-jev.ts (a Claude Code function hook that fires on session.compact, a host-driven event). No cron, scheduler, loop, --once/--now flag, or webhook exists in the product; compaction runs once per call to compactMessages or per Claude Code compaction event. Nothing was triggered by hand because the only product compaction path needs TYPESAFE_API_KEY.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Entry points inspected: package.json scripts (build, typecheck, test, demo, validate:plugin), examples/demo.ts (one-shot run), src/index.ts (library exports), and hooks/fast-jev.ts (a Claude Code function hook that fires on session.compact, a host-driven event). No cron, scheduler, loop, --once/--now flag, or webhook exists in the product; compaction runs once per call to compactMessages or per Claude Code compaction event. Nothing was triggered by hand because the only product compaction path needs TYPESAFE_API_KEY.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "checks": [
        {
          "check": "install",
          "details": {
            "argv": [
              "npm",
              "install"
            ],
            "kind": "cli",
            "needs_browser": false,
            "needs_credentials": false,
            "returncode": 0,
            "scope": "partial: install",
            "stderr": "",
            "stdout": "\nup to date, audited 51 packages in 627ms\n\n12 packages are looking for funding\n  run `npm fund` for details\n\n7 vulnerabilities (3 moderate, 2 high, 2 critical)\n\nTo address issues that do not require attention, run:\n  npm audit fix\n\nTo address all issues (including breaking changes), run:\n[excerpt truncated]",
            "working": false
          },
          "optional": false,
          "status": "PASS"
        },
        {
          "check": "credentials_error",
          "details": {
            "argv": [
              "npm",
              "run",
              "demo"
            ],
            "kind": "cli",
            "needs_browser": false,
            "needs_credentials": true,
            "returncode": 1,
            "scope": "partial: missing credentials",
            "stderr": "<guest-path>\n    if (!this.apiKey) throw new Error('TYPESAFE_API_KEY is not configured');\n                            ^\n\n\nError: TYPESAFE_API_KEY is not <email> (<guest-path>)\n    at askBatch (<guest-path>)\n    at <anonymous> (<guest-path>)\n    at Array.map (<anonymous>)\n    at compact (<guest-path>)\n    at compactMessages (<guest-path>)\n    at <anonymous> (<guest-path>)\n[excerpt truncated]",
            "stdout": "\n> fast-jev-compaction@0.2.0 demo\n> tsx examples/demo.ts\n",
            "working": false
          },
          "optional": false,
          "status": "PASS"
        }
      ],
      "scope": "partial checks",
      "working": false
    },
    "evidence_strength": "nothing_checked",
    "example_checks": [
      {
        "claim": "Run the offline unit test suite",
        "command": "npm test",
        "deferred": false,
        "evidence": "> fast-jev-compaction@0.2.0 test\n> vitest run\n\n\n RUN  v2.1.9 <guest-path>\n\n \u2713 tests/fast-jev-compaction.test.ts (23 tests) 100ms\n \u2713 tests/hook.test.ts (6 tests) 13ms\n\n Test Files  2 passed (2)\n      Tests  29 passed (29)\n   Start at  01:03:39\n   Duration  1.38s (transform 223ms, setup 0ms, collect 286ms, tests 112ms, environment 0ms, prepare 163ms)",
        "expected": "29 tests pass",
        "input": "npm test",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Development section",
        "verdict": "yes"
      },
      {
        "claim": "Typecheck the library and hook",
        "command": "npm run typecheck",
        "deferred": false,
        "evidence": "> fast-jev-compaction@0.2.0 typecheck\n> tsc --noEmit && npm run typecheck:hooks\n\n\n> fast-jev-compaction@0.2.0 typecheck:hooks\n> tsc -p tsconfig.hooks.json",
        "expected": "typecheck passes with exit 0",
        "input": "npm run typecheck",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Development section",
        "verdict": "yes"
      },
      {
        "claim": "Build the package",
        "command": "npm run build",
        "deferred": false,
        "evidence": "> fast-jev-compaction@0.2.0 build\n> tsc",
        "expected": "tsc emits dist/ with exit 0",
        "input": "npm run build",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Development section",
        "verdict": "yes"
      },
      {
        "claim": "Live demo against TypeSafe",
        "command": "",
        "deferred": false,
        "evidence": "Missing prerequisite: TYPESAFE_API_KEY is not configured and no credential was supplied, so the live demo cannot run. The documented npm run demo was run without a key and failed with 'TYPESAFE_API_KEY is not configured' (recorded in probe.json).",
        "expected": "documented command completes successfully",
        "input": "",
        "kind": "example",
        "outcome": "Missing prerequisite: TYPESAFE_API_KEY is not configured and no credential was supplied, so the live demo cannot run. The documented npm run demo was run without a key and failed with 'TYPESAFE_API_KEY is not configured' (recorded in probe.json).",
        "source": "README.md Development section",
        "verdict": "blocked"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
