{
  "checker": {
    "claims": [
      {
        "claim": "The CLI scans images and plans a background removal run as JSON without processing the images.",
        "command": "<guest-path> <guest-path> --dry-run --json",
        "evidence": "\u2026\"images\": 1, \"total_mb\": 2.4, \"max_megapixels\": 0.9, \"formats\": {\"WebP\": 1}, \"skipped\": []}, \"output\": \"<guest-path>\"}\n{\"type\": \"plan\", \"at\": 1793150952.865, \"images\": 1, \"mode\": \"queue\", \"workers\": 1, \"threads_per_worker\": 2, \"binding_limit\": \"RAM\", \"ram_per_worker_gb\": 3.93, \"min_free_ram_gb\": 3.0, \"pause_below_gb\": 1.5, \"estimated_output_gb\": 0.0, \"free_disk_gb\": 28.2, \"eta_seconds\": 2, \"blockers\": [], \"warnings\": [], \"model\": \"silueta\", \"model_choice\": {\"profile\": \"uniform\", \"model\": \"silueta\", \"score\": 8.1, \"best_model\": \"birefnet-general-lite\", \"best_score\": 8.6, \"bes",
        "expected": "JSON scan records one image and a plan selects a model",
        "input": "<guest-path> containing sample.webp",
        "kind": "claim",
        "outcome": "Real input produced the expected result: \"images\": 1",
        "returncode": 0,
        "source": "--dry-run --json` | scan and plan only; one JSON event per line for agents",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Inspected README.md and src/bulk_bg_remove/cli.py: the product processes folders on explicit CLI invocation and exposes no scheduler, recurring cycle, webhook, or --once trigger.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Inspected README.md and src/bulk_bg_remove/cli.py: the product processes folders on explicit CLI invocation and exposes no scheduler, recurring cycle, webhook, or --once trigger.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "<guest-path>",
        "<guest-path>",
        "--dry-run",
        "--json"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "",
      "stdout": "{\"type\": \"scan\", \"at\": 1793150949.194, \"hardware\": {\"platform\": \"Linux x86_64\", \"cpu_name\": \"x86_64\", \"cpu_logical\": 2, \"cpu_performance\": 1, \"ram_total_gb\": 4.1, \"ram_available_gb\": 3.6, \"device\": \"cpu\"}, \"inventory\": {\"input\": \"<guest-path>\", \"images\": 1, \"total_mb\": 2.4, \"max_megapixels\": 0.9, \"formats\": {\"WebP\": 1}, \"skipped\": []}, \"output\": \"<guest-path>\"}\n{\"type\": \"plan\", \"at\": 1793150949.196, \"images\": 1, \"mode\": \"queue\", \"workers\": 1, \"threads_per_worker\": 2, \"binding_limit\": \"RAM\", \"ram_per_worker_gb\": 3.93, \"min_free_ram_gb\": 3.0, \"pause_below_gb\": 1.5, \"estimated_output_gb\": 0.0, \"free_disk_gb\": 28.2, \"eta_seconds\": 2, \"blockers\": [], \"warnings\": [], \"model\": \"silueta\", \"model_choice\": {\"profile\": \"uniform\", \"model\": \"silueta\", \"score\": 8.1, \"best_model\": \"birefnet-general-lite\", \"best_score\": 8.6, \"best_needs_gb\": 11.7, \"needs_gb\": 3.0, \"fits\": true, \"gap\": 0.5}, \"edges\": \"matte\", \"output_format\": \"png\", \"finish\": null, \"already_done\": 0}",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Plan background removal for a folder as JSON",
        "command": "<guest-path> <guest-path> --dry-run --json",
        "deferred": false,
        "evidence": "{\"type\": \"plan\", \"at\": 1793150956.498, \"images\": 1, \"mode\": \"queue\", \"workers\": 1, \"threads_per_worker\": 2, \"binding_limit\": \"RAM\", \"ram_per_worker_gb\": 3.93, \"min_free_ram_gb\": 3.0, \"pause_below_gb\": 1.5, \"estimated_output_gb\": 0.0, \"free_disk_gb\": 28.2, \"eta_seconds\": 2, \"blockers\": [], \"warnings\": [], \"model\": \"silueta\", \"model_choice\": {\"profile\": \"uniform\", \"model\": \"silueta\", \"score\": 8.1, \"best_model\": \"birefnet-general-lite\", \"best_score\": 8.6, \"best_needs_gb\": 11.7, \"needs_gb\": 3.0, \"fits\": true, \"gap\": 0.5}, \"edges\": \"matte\", \"output_format\": \"png\", \"finish\": null, \"already_done\": 0}",
        "expected": "scan and plan events for one WebP image",
        "input": "one copied demo.webp in <guest-path>",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md / Options",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "deviations": [],
  "fault_owner": null,
  "main_blocker": null,
  "operation": "Scan a folder and produce a JSON removal plan with bulk-bg-remove --dry-run --json.",
  "operation_scope": "Local image inventory and model/resource planning; Python 3.12.3 and uv-installed CLI, using one repository demo WebP.",
  "outcome": "working",
  "plain_failure": null,
  "steps": [
    "uv tool install --editable .",
    "bulk-bg-remove <guest-path> --dry-run --json"
  ],
  "stuck_step": null,
  "suggested_fix": null
}
