{
  "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"
  },
  "deviations": [
    "Node/npm were not preinstalled; installed Ubuntu packages nodejs/npm via sudo apt (Node 18.19.1 meets the >=18 requirement).",
    "The checker path /inputs/coldpass-preflight.py does not exist in this guest; ran <guest-path> with <env-var> as instructed.",
    "The README's Claude Code plugin validation (npm run validate:plugin / claude plugin validate) was not run because the claude CLI is not installed in this guest and was not required for the library build.",
    "No TYPESAFE_API_KEY or ~/.typesafe_key was available, so the live demo and any compactMessages call could not be run; recorded as credentials_error evidence and blocked claims/examples.",
    "npm install reported 7 dependency vulnerabilities (3 moderate, 2 high, 2 critical); not fixed, since product source must not be edited and npm audit fix was not part of the README.",
    "The claim that the offline unit suite proves behavior was dropped from claims.json because the checker treats npm test as a unit suite and not a product operation; npm test still ran as a documented example."
  ],
  "fault_owner": "prerequisite",
  "main_blocker": "TYPESAFE_API_KEY is not set; the live compaction path needs a TypeSafe API key that this guest does not have.",
  "operation": "Build and run fast-jev-compaction per README: npm install, typecheck, test, build, and the live compaction demo (npm run demo).",
  "operation_scope": "Offline parts (install, typecheck, npm test, build) run without a key and succeed. The live compaction path needs a TypeSafe API key (TYPESAFE_API_KEY), which was not available in this guest, so the product's actual compaction call could not be exercised.",
  "outcome": "needs_credentials",
  "plain_failure": "The library builds and its offline tests pass, but the one command that actually runs compaction against the TypeSafe model cannot run here because no API key was supplied. So the real compaction result was not observed.",
  "steps": [
    "git init; git remote add origin https://github.com/tamaratran/fast-jev-compaction; git fetch --depth 1 origin e3f262a7f4d42bd8dd32ced30d26176f7cb545b0; git reset --mixed FETCH_HEAD",
    "sudo apt-get install -y nodejs npm (Node v18.19.1, npm 9.2.0; README/package.json engines node >=18)",
    "NODE_USE_ENV_PROXY=1 npm install (51 packages)",
    "npm run typecheck (passes)",
    "npm test (29 passed across 2 files)",
    "npm run build (emits dist/, exit 0)",
    "npm run demo without TYPESAFE_API_KEY (exits 1: 'TYPESAFE_API_KEY is not configured')"
  ],
  "stuck_step": "npm run demo (live TypeSafe compaction) at README 'Development' section",
  "suggested_fix": "Supply a TypeSafe API key via TYPESAFE_API_KEY in the guest and re-run npm run demo and the replay; no repository change is needed. Optionally add a documented CLI or local-fake entry point so the product's compaction can be exercised without a live key."
}
