{
  "checker": {
    "claims": [
      {
        "claim": "check-manifest reports when version-controlled files are missing from the sdist",
        "command": "/tmp/cm-venv/bin/check-manifest /tmp/cm-demo",
        "evidence": "missing from sdist:\n  notes.txt\n",
        "expected": "nonzero exit with mismatch report",
        "input": "/tmp/cm-demo (notes.txt tracked in git but not in MANIFEST.in)",
        "kind": "claim",
        "outcome": "Real input produced the expected result: missing from sdist",
        "returncode": 1,
        "source": "lists of files in version control and sdist do not match!",
        "source_checked": true,
        "source_file": "README.rst",
        "verdict": "yes"
      },
      {
        "claim": "--ignore skips files matching the patterns",
        "command": "/tmp/cm-venv/bin/check-manifest --ignore notes.txt /tmp/cm-demo",
        "evidence": "lists of files in version control and sdist match\n",
        "expected": "lists match, exit 0",
        "input": "--ignore notes.txt /tmp/cm-demo",
        "kind": "claim",
        "outcome": "Real input produced the expected result: lists of files in version control and sdist match",
        "returncode": 0,
        "source": "ignore files/directories matching these",
        "source_checked": true,
        "source_file": "README.rst",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "check-manifest is a one-shot CLI (README Quick start, Command-line reference). No scheduler, cron, loop, webhook, --once or --now entry point exists in check_manifest.py; the only recurring usage is the pre-commit hook in README Version control integration, which runs per commit and is not a product cycle.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "check-manifest is a one-shot CLI (README Quick start, Command-line reference). No scheduler, cron, loop, webhook, --once or --now entry point exists in check_manifest.py; the only recurring usage is the pre-commit hook in README Version control integration, which runs per commit and is not a product cycle.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "/tmp/cm-venv/bin/check-manifest",
        "--ignore",
        "notes.txt",
        "/tmp/cm-demo"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "",
      "stdout": "lists of files in version control and sdist match",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Quick start: check the source tree in place",
        "command": "/tmp/cm-venv/bin/check-manifest -v",
        "deferred": false,
        "evidence": "listing source files under version control: 12 files and directories\nbuilding an sdist: check_manifest-0.52.dev0.tar.gz: 12 files and directories\ncopying source files to a temporary directory\nbuilding a clean sdist: check_manifest-0.52.dev0.tar.gz: 12 files and directories\nlists of files in version control and sdist match",
        "expected": "lists match",
        "input": "check-manifest on the checkout",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.rst Quick start",
        "verdict": "yes"
      },
      {
        "claim": "Repository test suite (tox envlist uses pytest)",
        "command": "/tmp/cm-venv/bin/python -m pytest -p no:cacheprovider -q",
        "deferred": false,
        "evidence": "........................................................................ [ 48%]\n........ssssss....ssssssssssssss........................................ [ 96%]\n.....                                                                    [100%]\n129 passed, 20 skipped in 42.37s",
        "expected": "all tests pass",
        "input": "pytest in checkout",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "Makefile test target / tox.ini",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "deviations": [
    "README quick start says pip install check-manifest (PyPI); installed from the pinned local checkout instead so the tested code is the pinned commit.",
    "Ran pytest directly in the venv instead of tox -p auto (tox not installed); same test suite via the test extra.",
    "Probe/claim demo project /tmp/cm-demo is a constructed fixture (one tracked file missing from MANIFEST.in), created outside the checkout; no product source was edited.",
    "checker path is <guest-path>; /inputs/coldpass-preflight.py does not exist in this guest."
  ],
  "fault_owner": null,
  "main_blocker": null,
  "operation": "Run check-manifest to compare files tracked in git against the sdist contents, reporting missing files and honoring --ignore",
  "operation_scope": "Local CLI from the pinned commit 5073ecd69f872358611507c3d09409b1b5df2971 (version 0.52.dev0), installed into /tmp/cm-venv with Python 3.12.3; requires a git repository (git 2.43.0). Tested on the checkout itself and on a demo project at /tmp/cm-demo with one tracked file missing from the sdist.",
  "outcome": "working",
  "plain_failure": null,
  "steps": [
    "git init; git remote add origin https://github.com/mgedmin/check-manifest; git fetch --depth 1 origin 5073ecd69f872358611507c3d09409b1b5df2971; git reset --mixed FETCH_HEAD",
    "python3 -m venv /tmp/cm-venv; /tmp/cm-venv/bin/pip install <guest-path>  (README Quick start uses pip install check-manifest; installed from the pinned source instead)",
    "/tmp/cm-venv/bin/check-manifest -v  (README Quick start, run in checkout: lists match, rc 0)",
    "/tmp/cm-venv/bin/check-manifest /tmp/cm-demo  (mismatch: missing from sdist notes.txt, rc 1)",
    "/tmp/cm-venv/bin/check-manifest --ignore notes.txt /tmp/cm-demo  (lists match, rc 0)",
    "/tmp/cm-venv/bin/python -m pytest -p no:cacheprovider -q  (Makefile test target equivalent: 129 passed, 20 skipped)"
  ],
  "stuck_step": null,
  "suggested_fix": null
}
