{
  "run_id": "TayHCode--readtrial-claude-haiku-5-5-1792635869163211471",
  "checker": {
    "claims": [
      {
        "claim": "The offline demo runs a real FAIL then PASS loop and writes reports",
        "command": "python3 -m readtrial demo --out trial-results/claim-demo-checker-ea4c505eb0584602a7028b7a23f462aa",
        "evidence": "After: PASS (README step exit 0; declared check passed)\ndiff.json: 1 resolved finding; evidence in before/ and after/.\n",
        "expected": "After: PASS line printed and diff written",
        "input": "python3 -m readtrial demo --out trial-results/claim-demo",
        "kind": "claim",
        "outcome": "Real input produced the expected result: After: PASS (README step exit 0; declared check passed)",
        "returncode": 0,
        "source": "The demo finishes in under 20 seconds and writes real sample reports and a diff;",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "Isolated LXC trial needs Claude CLI credentials on the controller",
        "command": "",
        "evidence": "Isolated trial requires LXD (doctor reports LXD missing, exit 1) and an authenticated claude CLI on the controller; neither present and no credentials available in this guest",
        "expected": "",
        "input": "",
        "kind": "claim",
        "outcome": "Isolated trial requires LXD (doctor reports LXD missing, exit 1) and an authenticated claude CLI on the controller; neither present and no credentials available in this guest",
        "source": "Install/authenticate the Claude CLI on the controller before the trial; credentials",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "blocked"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Entry points inspected (readtrial/cli.py subcommands, readtrial/*.py). grep for cron, schedule, interval, webhook, --once, --now found no product scheduler or loop. The only repetition is the manual 'rerun' subcommand, run on demand.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Entry points inspected (readtrial/cli.py subcommands, readtrial/*.py). grep for cron, schedule, interval, webhook, --once, --now found no product scheduler or loop. The only repetition is the manual 'rerun' subcommand, run on demand.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "python3",
        "-m",
        "readtrial",
        "demo",
        "--out",
        "trial-results/probe-demo-checker-24f3944e8ea84b17966a3f2f8001cecb"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "",
      "stdout": "OFFLINE DEMO: fake agent and fake target; no model, SSH, LXC or repository execution.\nBefore: FAIL (README step exit 3; declared check failed)\nAfter: PASS (README step exit 0; declared check passed)\ndiff.json: 1 resolved finding; evidence in before/ and after/.",
      "working": false
    },
    "evidence_strength": "partly_checked",
    "example_checks": [
      {
        "claim": "Repository unit suite runs offline",
        "command": "python3 -m unittest discover -s tests -q",
        "deferred": false,
        "evidence": " written (valid for 24 hours).\nssh:example: AGENT deviation: ignored added cd; selected the exact README command from the clone root: py -3 hello.py --name Check\n<guest-path>\nRecorded 0 requirements; Factory decides gate passage.\nreadtrial: previous run is incompatible or did not fetch source successfully\nreadtrial: --out must be a new folder beneath job.evidence_dir\nreadtrial: model and source hash overrides must match the supplied job\n----------------------------------------------------------------------\nRan 399 tests in 93.608s\n\nOK (skipped=1)",
        "expected": "tests pass (Ran 399 tests, OK, 1 skipped)",
        "input": "python3 -m unittest discover -s tests -q",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Linux quickstart",
        "verdict": "yes"
      },
      {
        "claim": "Isolated LXC trial with Claude agent",
        "command": "",
        "deferred": false,
        "evidence": "Missing prerequisites: LXD not installed (readtrial doctor exit 1, 'Missing: LXD installed'), and no authenticated claude CLI on the controller (not on PATH). Not run; offline demo and unit suite ran instead.",
        "expected": "documented command completes successfully",
        "input": "",
        "kind": "example",
        "outcome": "Missing prerequisites: LXD not installed (readtrial doctor exit 1, 'Missing: LXD installed'), and no authenticated claude CLI on the controller (not on PATH). Not run; offline demo and unit suite ran instead.",
        "source": "README.md Isolated trials",
        "verdict": "blocked"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
