{
  "run_id": "kms2229--pmcfetch-claude-haiku-5-5-1793171962129158545",
  "checker": {
    "claims": [
      {
        "claim": "Keyword search reports how many open-access papers match before downloading",
        "command": "<guest-path> search 'burn scar'",
        "evidence": "\u2026open-access article(s) match 'burn scar'\n[pmcfetch] NCBI searched: (\"burns\"[MeSH Terms] OR \"burns\"[All Fields] OR \"burn\"[All Fields]) AND (\"cicatrix\"[MeSH Terms] OR \"cicatrix\"[All Fields] OR \"scar\"[All Fields]) AND \"open access\"[Filter]\n[pmcfetch] to download, rerun with --download N or --download all (saves to pdfs/)\n",
        "expected": "count line printed for the query",
        "input": "burn scar",
        "kind": "claim",
        "outcome": "Real input produced the expected result: open-access article(s) match 'burn scar'",
        "returncode": 0,
        "source": "# [pmcfetch] 20,349 open-access article(s) match 'burn scar'",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "Downloads the PDFs listed in a corpus id file into an output directory",
        "command": "<guest-path> download --corpus <guest-path> --out <guest-path>",
        "evidence": "\u2026downloaded=1 skipped=0 failed=0 total=1\n",
        "expected": "one article downloaded, none failed",
        "input": "ids.txt with PMC10007932",
        "kind": "claim",
        "outcome": "Real input produced the expected result: downloaded=1 skipped=0 failed=0 total=1",
        "returncode": 0,
        "source": "pmcfetch download --corpus ids.txt --out pdfs/",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Inspected README.md (no cron, schedule, daemon, webhook, --once or --now feature documented), pyproject.toml scripts (only pmcfetch.cli:main), and src/pmcfetch/cli.py. The only loop found is the interactive 'How many to download?' prompt in _ask_amount, which is user input retry, not a scheduled or repeating product cycle. The .github/workflows/publish.yml file is CI, not a product cycle.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Inspected README.md (no cron, schedule, daemon, webhook, --once or --now feature documented), pyproject.toml scripts (only pmcfetch.cli:main), and src/pmcfetch/cli.py. The only loop found is the interactive 'How many to download?' prompt in _ask_amount, which is user input retry, not a scheduled or repeating product cycle. The .github/workflows/publish.yml file is CI, not a product cycle.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "<guest-path>",
        "download",
        "--corpus",
        "<guest-path>",
        "--out",
        "<guest-path>"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "",
      "stdout": "[pmcfetch] corpus=<guest-path> namespace=ALL n=1\n[1/1] ok   PMC10007932\n\n[pmcfetch] ALL: downloaded=1 skipped=0 failed=0 total=1",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "The documented test suite runs and passes",
        "command": "<guest-path> -m pytest tests/ -q",
        "deferred": false,
        "evidence": "........................................................................ [ 62%]\n...........................................                              [100%]",
        "expected": "all offline tests pass",
        "input": "python -m pytest tests/ -q",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Tests section (## Tests)",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
