{
  "run_id": "TayHCode--homelab-kit-claude-haiku-5-5-1792643948563491013",
  "checker": {
    "claims": [
      {
        "claim": "Fill reports that no captures exist yet and stops",
        "command": "<guest-path> --repo <guest-path> fill",
        "evidence": "run collect first; no accepted captures to fill.\n- `hosts/example-storage/README.md`\n  - No captures yet: run collect first; no accepted captures to fill.\nNo captures yet: run collect first. Stop here; do not infer facts.\n",
        "expected": "prints a message telling the user to run collect first",
        "input": "demo-lab with no captures",
        "kind": "claim",
        "outcome": "Real input produced the expected result: run collect first",
        "returncode": 0,
        "source": "when none exist it says \"no captures yet: run collect first\" and stops.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "Collection dry-run makes no connections and writes nothing",
        "command": "<guest-path> --repo <guest-path> collect --dry-run",
        "evidence": "No connections or writes; add --verbose for every planned command and file\nHost example-storage (docs)\n  Docs-only: nothing auto-collected\n",
        "expected": "reports no connections or writes",
        "input": "demo-lab collect --dry-run",
        "kind": "claim",
        "outcome": "Real input produced the expected result: No connections or writes",
        "returncode": 0,
        "source": "`--dry-run` prints a compact host summary, makes no connections and writes nothing;",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "The kit leaves unknown facts as TODOs and counts them with check",
        "command": "<guest-path> --repo <guest-path> check",
        "evidence": "items to fill in (run fill)\nKeep this repository private; use check --privacy for an explicit gh lookup\n",
        "expected": "reports items to fill in",
        "input": "my-lab check",
        "kind": "claim",
        "outcome": "Real input produced the expected result: items to fill in",
        "returncode": 0,
        "source": "The kit generates a REBUILD.md host index and leaves unknown facts as TODOs.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Entry points inspected (homelab_kit/cli.py, README.md, docs/updating.md). The README states the kit 'never runs on its own' and 'installs no background services, schedules or auto-update tasks. Run it manually.' No cron, loop, webhook or --once/--now trigger exists; the only cron reference is reading a user crontab as data during collection.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Entry points inspected (homelab_kit/cli.py, README.md, docs/updating.md). The README states the kit 'never runs on its own' and 'installs no background services, schedules or auto-update tasks. Run it manually.' No cron, loop, webhook or --once/--now trigger exists; the only cron reference is reading a user crontab as data during collection.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "<guest-path>",
        "--repo",
        "<guest-path>",
        "collect",
        "--host",
        "example-control"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "",
      "stdout": "example-control: partial (see warnings)\nWARNING: commands/containers.txt: docker not installed locally; skip this optional fact or make it available locally and collect again",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Development unit tests on Python 3.11",
        "command": "<guest-path> run --no-project --python 3.11 -- python -m unittest discover -s tests -q",
        "deferred": false,
        "evidence": "e-archive-service-with-long-name/settings.conf does not exist; host added, check the path before collect\nWARNING: local file /etc/sample.conf does not exist; host added, check the path before collect\nWARNING: local file /etc/missing.conf does not exist; host added, check the path before collect\nWARNING: local file /etc/sample.conf does not exist; host added, check the path before collect\nWARNING: local file C:/example/app.conf does not exist; host added, check the path before collect\n----------------------------------------------------------------------\nRan 168 tests in 32.351s\n\nOK (skipped=1)",
        "expected": "all tests pass, one skipped for missing HOMELAB_KIT_DENYLIST",
        "input": "unittest discover on tests/",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Development",
        "verdict": "yes"
      },
      {
        "claim": "Ruff lint check",
        "command": "<guest-path> run --no-project --python 3.12 --with ruff -- ruff check .",
        "deferred": false,
        "evidence": "All checks passed!",
        "expected": "all checks pass",
        "input": "ruff check .",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Development",
        "verdict": "yes"
      },
      {
        "claim": "Mypy type check of the package",
        "command": "<guest-path> run --no-project --python 3.12 --with mypy -- mypy homelab_kit",
        "deferred": false,
        "evidence": "Success: no issues found in 16 source files",
        "expected": "no issues found",
        "input": "mypy homelab_kit",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Development",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
