{
  "checker": {
    "claims": [
      {
        "claim": "Local mode collects the control machine with the OS collector",
        "command": "'C:\\coldpass\\venv\\Scripts\\homelab-kit.exe' --repo 'C:\\coldpass\\out\\my-lab' collect --dry-run",
        "evidence": "Host example-control (local)\r\n  Detect OS; fixed inventory; 0 configured files (0 paths refused)\r\n  No connections or writes; add --verbose for every planned command and file\r\n",
        "expected": "dry-run lists example-control as a local host",
        "input": "collect --dry-run on my-lab after add-host example-control --local",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Host example-control (local)",
        "returncode": 0,
        "source": "Local mode uses the OS collector on the control machine.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "Unknown facts are left as TODOs and counted by check",
        "command": "'C:\\coldpass\\venv\\Scripts\\homelab-kit.exe' --repo 'C:\\coldpass\\out\\my-lab' check",
        "evidence": "items to fill in (run fill)\r\nKeep this repository private; use check --privacy for an explicit gh lookup\r\n",
        "expected": "check reports items still to fill in",
        "input": "check on my-lab",
        "kind": "claim",
        "outcome": "Real input produced the expected result: items to fill in (run fill)",
        "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: no product scheduler. A grep of homelab_kit/*.py for cron, schedul, --once, --now, loop, webhook and daemon found only the user crontab and Windows scheduled-task inventory commands in collect.py and platforms.py. README Limits says: It installs no background services, schedules or auto-update tasks. Run it manually. The product runs only when a user invokes a command.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Entry points inspected: no product scheduler. A grep of homelab_kit/*.py for cron, schedul, --once, --now, loop, webhook and daemon found only the user crontab and Windows scheduled-task inventory commands in collect.py and platforms.py. README Limits says: It installs no background services, schedules or auto-update tasks. Run it manually. The product runs only when a user invokes a command.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "C:\\coldpass\\venv\\Scripts\\homelab-kit.exe",
        "--repo",
        "C:\\coldpass\\out\\my-lab",
        "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/block-devices.txt: local powershell failed; check local tools and permissions, skip this optional fact or collect it by hand\nWARNING: commands/volumes.txt: local powershell failed; check local tools and permissions, skip this optional fact or collect it by hand\n[excerpt truncated]",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Demo lab check reports capture privacy status without connecting to machines",
        "command": "'C:\\coldpass\\venv\\Scripts\\homelab-kit.exe' --repo 'C:\\coldpass\\out\\demo-lab' check",
        "deferred": false,
        "evidence": "Capture privacy:\r\nNo privacy patterns found; review every capture for hostnames, account names and paths before committing.\r\n37 items to fill in (run fill)\r\nKeep this repository private; use check --privacy for an explicit gh lookup",
        "expected": "prints capture privacy summary",
        "input": "--repo demo-lab check",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md ## Quickstart (Try a safe example without connecting to any machine)",
        "verdict": "yes"
      },
      {
        "claim": "Dry-run collect makes no connections or writes",
        "command": "'C:\\coldpass\\venv\\Scripts\\homelab-kit.exe' --repo 'C:\\coldpass\\out\\demo-lab' collect --dry-run",
        "deferred": false,
        "evidence": "Host example-compute (ssh)\r\n  Detect OS; fixed inventory; 0 configured files (0 paths refused)\r\n  No connections or writes; add --verbose for every planned command and file\r\nHost example-storage (docs)\r\n  Docs-only: nothing auto-collected",
        "expected": "lists hosts and states no connections or writes",
        "input": "--repo demo-lab collect --dry-run",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md ## Quickstart (Try a safe example without connecting to any machine)",
        "verdict": "yes"
      },
      {
        "claim": "fill prints the agent brief for the lab",
        "command": "'C:\\coldpass\\venv\\Scripts\\homelab-kit.exe' --repo 'C:\\coldpass\\out\\my-lab' fill",
        "deferred": false,
        "evidence": "/observed/commands/hostname.txt`\r\n  - `hosts/example-control/observed/commands/hosts.txt`\r\n  - `hosts/example-control/observed/commands/listeners.txt`\r\n  - `hosts/example-control/observed/commands/memory.txt`\r\n  - `hosts/example-control/observed/commands/os-release.txt`\r\n  - `hosts/example-control/observed/commands/programs.txt`\r\n  - `hosts/example-control/observed/commands/routes.txt`\r\n  - `hosts/example-control/observed/commands/scheduled-tasks.txt`\r\n  - `hosts/example-control/observed/commands/services.txt`\r\n\r\nRun `python3 -m homelab_kit --repo PATH check` (Windows: `py -3 -m homelab_kit`).",
        "expected": "prints the fill-homelab-docs brief",
        "input": "--repo my-lab fill",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md ## Fill with your own agent",
        "verdict": "yes"
      },
      {
        "claim": "Offline unit test suite passes on the development Python",
        "command": "",
        "deferred": false,
        "evidence": "Ran python -m unittest discover -s tests -q with the VM Python 3.14.0 venv from the checkout: FAILED (failures=1, errors=7, skipped=1). Failures are POSIX-only: os.mkfifo, os.killpg, umask 0o077 expectation (511 != 448), /etc/ and unix-style paths, and filename characters Windows rejects. Not counted as passing; the product Windows local collection was exercised instead.",
        "expected": "documented command completes successfully",
        "input": "",
        "kind": "example",
        "outcome": "Ran python -m unittest discover -s tests -q with the VM Python 3.14.0 venv from the checkout: FAILED (failures=1, errors=7, skipped=1). Failures are POSIX-only: os.mkfifo, os.killpg, umask 0o077 expectation (511 != 448), /etc/ and unix-style paths, and filename characters Windows rejects. Not counted as passing; the product Windows local collection was exercised instead.",
        "source": "README.md ## Development",
        "verdict": "blocked"
      }
    ],
    "status": "PASS"
  },
  "deviations": [
    "git is not installed in the guest, so the git init/remote/fetch/reset pin sequence was not run. The product install and run did not need Git metadata. The workspace snapshot was used as delivered and was not verified against commit 9bf395d7cb0279a666e03b634bfc1f864dbba32e.",
    "uv was not used. The README quickstart uses uv run --no-project --python 3.12; I used the absolute venv Python 3.14.0 with pip install . and the installed homelab-kit.exe, which the README documents as the installed-CLI path.",
    "Offline test suite is not Windows-compatible: os.mkfifo and os.killpg are missing on Windows, umask expectation 511 != 448, /etc and unix-style paths and a filename with characters Windows rejects. Recorded in examples.json as a reasoned entry, not a pass.",
    "Local collection on Windows: block-devices.txt and volumes.txt warned local powershell failed; the host is marked partial (exit 0), which the README describes as expected for optional facts.",
    "Preflight script /inputs/coldpass-preflight.py is not present in this VM (checked C:\\inputs and /inputs); the native checker command from the task was run instead and passed.",
    "Demo and lab directories were created under C:\\coldpass\\out, outside the checkout; the example and probe commands read them and do not recreate them."
  ],
  "fault_owner": null,
  "main_blocker": null,
  "operation": "Local homelab documentation: create a lab, add the control machine with --local, collect its OS facts, fill-brief and check it, using the README quickstart CLI on Windows.",
  "operation_scope": "Windows 11 guest VM, Python 3.14.0 at C:\\coldpass\\python (README requires 3.11+), homelab-kit 0.2.0 installed into a venv at C:\\coldpass\\venv. No SSH hosts, no network, no credentials, no browser. Local collection only.",
  "outcome": "working",
  "plain_failure": null,
  "steps": [
    "Read README.md; Quickstart uses python -m homelab_kit with uv or py -3; no runtime dependencies.",
    "C:\\coldpass\\python\\python.exe -m venv C:\\coldpass\\venv",
    "C:\\coldpass\\venv\\Scripts\\python.exe -m pip install .   (from C:\\coldpass\\workspace; built homelab_kit-0.2.0 wheel)",
    "C:\\coldpass\\venv\\Scripts\\homelab-kit.exe --version   -> 0.2.0",
    "homelab-kit demo demo-lab (in C:\\coldpass\\out); homelab-kit --repo demo-lab check; collect --dry-run; fill   (all exit 0)",
    "homelab-kit init my-lab; homelab-kit --repo my-lab add-host example-control --local; collect --dry-run; collect; fill; check   (exit 0; example-control: partial with two optional PowerShell warnings)",
    "Offline tests: C:\\coldpass\\venv\\Scripts\\python.exe -m unittest discover -s tests -q   -> FAILED (failures=1, errors=7, skipped=1), POSIX-only tests",
    "Checker: $env:COLDPASS_WORKSPACE=C:\\coldpass\\workspace; C:\\coldpass\\python\\python.exe -I C:\\coldpass\\checker\\check.py --validate --replay -> valid true, replay PASS"
  ],
  "stuck_step": null,
  "suggested_fix": "Optional: skip or mark the POSIX-only unit tests on Windows (mkfifo, killpg, umask, /etc paths, filename characters) so the documented test command passes on Windows, and treat the two optional PowerShell local-collection failures as warnings in README docs."
}
