{
  "checker": {
    "claims": [
      {
        "claim": "The total example prints text totals for a directory",
        "command": "<guest-path> run --release --example total -- <guest-path>",
        "evidence": "dirs 1  files 9  unreadable 0\n      20.0 K  sunburst.rs\n      20.0 K  ui.rs\n      12.0 K  app.rs\n      12.0 K  main.rs\n      8.00 K  scan.rs\n      8.00 K  treemap.rs\n      4.00 K  canvas.rs\n      4.00 K  lib.rs\n      4.00 K  theme.rs\n    Finished `release` profile [optimized] target(s) in 0.97s\n     Running `target/release/examples/total <guest-path>\n",
        "expected": "text totals with directory and file counts",
        "input": "<guest-path>",
        "kind": "claim",
        "outcome": "Real input produced the expected result: dirs 1  files 9  unreadable 0",
        "returncode": 0,
        "source": "text totals, for cross-checking du",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "A dev harness renders the TUI straight to an image",
        "command": "<guest-path> run --release --example preview -- synthetic <guest-path> sunburst",
        "evidence": "(960x640)\n",
        "expected": "image file written at 960x640",
        "input": "synthetic sunburst to <guest-path>",
        "kind": "claim",
        "outcome": "Real input produced the expected result: (960x640)",
        "returncode": 0,
        "source": "There's a dev harness that renders the TUI straight to an image",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Entry points inspected: src/main.rs is a one-shot TUI launcher (diskhalo [path]) with an event loop for keys/mouse only; README has no cron, schedule, --once, --now, watch, or webhook features. The examples are one-shot commands. No product cycle to trigger.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Entry points inspected: src/main.rs is a one-shot TUI launcher (diskhalo [path]) with an event loop for keys/mouse only; README has no cron, schedule, --once, --now, watch, or webhook features. The examples are one-shot commands. No product cycle to trigger.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "<guest-path>",
        "run",
        "--release",
        "--example",
        "total",
        "--",
        "<guest-path>"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "    Finished `release` profile [optimized] target(s) in 0.97s\n     Running `target/release/examples/total <guest-path>",
      "stdout": "disk            92.0 K (94208 bytes)\napparent        72.3 K (74086 bytes)\ndirs 1  files 9  unreadable 0\n      20.0 K  sunburst.rs\n      20.0 K  ui.rs\n      12.0 K  app.rs\n      12.0 K  main.rs\n      8.00 K  scan.rs\n      8.00 K  treemap.rs\n      4.00 K  canvas.rs\n      4.00 K  lib.rs\n      4.00 K  theme.rs",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Text totals example for cross-checking du",
        "command": "<guest-path> run --release --example total -- <guest-path>",
        "deferred": false,
        "evidence": "disk            92.0 K (94208 bytes)\napparent        72.3 K (74086 bytes)\ndirs 1  files 9  unreadable 0\n      20.0 K  sunburst.rs\n      20.0 K  ui.rs\n      12.0 K  app.rs\n      12.0 K  main.rs\n      8.00 K  scan.rs\n      8.00 K  treemap.rs\n      4.00 K  canvas.rs\n      4.00 K  lib.rs\n      4.00 K  theme.rs\n    Finished `release` profile [optimized] target(s) in 0.95s\n     Running `target/release/examples/total <guest-path>",
        "expected": "disk, apparent and per-file totals",
        "input": "<guest-path>",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Build from source / dev harness section",
        "verdict": "yes"
      },
      {
        "claim": "Offline test suite from Build from source",
        "command": "<guest-path> test",
        "deferred": false,
        "evidence": "nside_and_tile ... ok\n\ntest result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.99s\n     Running unittests src/lib.rs (target/debug/deps/diskhalo-5ceded7cead0c68e)\n     Running unittests src/main.rs (target/debug/deps/diskhalo-4889069a129222d1)\n   Doc-tests diskhalo",
        "expected": "all unit tests pass",
        "input": "cargo test",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Build from source",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "deviations": [
    "System cargo 1.75 (/usr/bin/cargo) failed to read Cargo.lock: 'lock file version 4 requires -Znext-lockfile-bump'. Installed rustup stable instead (curl -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain stable, run from /tmp with the downloaded script); toolchain landed in <guest-path> because HOME differs from the euid home, with harmless warnings. Used <guest-path> by absolute path. Cargo.toml declares rust-version 1.82, so 1.82+ is required.",
    "Claim 2 (preview harness) was first saved with expected_file; the checker matches expected_text against the binary PPM file contents, so the claim was changed to match the printed '(960x640)' size line instead.",
    "The total example's README line lists ~/Downloads; ran on the repo src directory instead for reproducible output."
  ],
  "fault_owner": null,
  "main_blocker": null,
  "operation": "Build diskhalo from source with cargo build --release, run cargo test, and exercise the text-totals example (cargo run --release --example total) and the dev preview harness that writes a sunburst image.",
  "operation_scope": "Linux x86_64 guest, Rust stable toolchain (1.99.1) installed via rustup. Interactive TUI (diskhalo binary) not exercised because it needs a live terminal; the non-interactive examples from the README were used instead. No browser, credentials or network services needed.",
  "outcome": "working",
  "plain_failure": null,
  "steps": [
    "cargo build --release",
    "cargo test",
    "cargo run --release --example total -- <guest-path>",
    "cargo run --release --example preview -- synthetic <out.ppm> sunburst"
  ],
  "stuck_step": null,
  "suggested_fix": "Document the minimum Rust toolchain (1.82+ per Cargo.toml) and that Cargo.lock v4 needs a newer cargo than the distro 1.75 package, so setup does not fail on the first build. Optionally note that the preview example prints its size line to stderr."
}
