{
  "checker": {
    "claims": [
      {
        "claim": "A dry run executes the full pipeline without sending pushes.",
        "command": "<guest-path> run /tmp/demo-min.yaml --dry-run --json",
        "evidence": "\"dry_run\": true, \"resumed_from_run_id\": null, \"started_at\": \"2026-10-28T00:46:27.154003+00:00\", \"finished_at\": \"2026-10-28T00:46:27.441111+00:00\", \"duration_seconds\": 0.2871, \"stages\": [{\"name\": \"fetch\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.1577, \"items_in\": 1, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}, {\"name\": \"classify\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.0001, \"items_in\": 0, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}, {\"name\": \"dedup\", \"status\": \"ok",
        "expected": "status success and dry_run true",
        "input": "Minimal demo with stdout push and dry-run enabled",
        "kind": "claim",
        "outcome": "Real input produced the expected result: \"dry_run\": true",
        "returncode": 0,
        "source": "uv run myssia run config/demo-min.yaml --dry-run --json   # \u5168\u94fe\u6f14\u7ec3,\u4e0d\u63a8\u9001",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Cron tick manually scans for due scheduled jobs.",
        "command": "<guest-path> cron tick --db /tmp/myssia-coldpass-cycle.sqlite",
        "evidence": "2026-10-28 00:46:28,684 INFO myssia.cron.tick: 00:46:28 - No jobs due\n2026-10-28 00:46:28,701 INFO myssia.cli: cron tick \u5b8c\u6210:\u6d3e\u53d1 0 \u4e2a job",
        "expected": "A due job dispatch and execution record",
        "input": "README quickstart demo is a category YAML, not cron job initialization",
        "kind": "cycle",
        "method": "The documented cron command and source were inspected; a job with runnable category config was not available in the quickstart.",
        "outcome": "Triggered one cycle by hand (The documented cron command and source were inspected; a job with runnable category config was not available in the quickstart.; normal trigger: A created cron job schedule): 2026-10-28 00:46:28,684 INFO myssia.cron.tick: 00:46:28 - No jobs due\n2026-10-28 00:46:28,701 INFO myssia.cli: cron tick \u5b8c\u6210:\u6d3e\u53d1 0 \u4e2a job",
        "returncode": 0,
        "schedule": "A created cron job schedule",
        "source": "README.md",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "<guest-path>",
        "run",
        "/tmp/demo-min.yaml",
        "--dry-run",
        "--json"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "",
      "stdout": "{\"category\": \"demo-min\", \"category_name\": \"Minimal demo\", \"run_id\": 1, \"status\": \"success\", \"dry_run\": true, \"resumed_from_run_id\": null, \"started_at\": \"2026-10-28T00:46:25.364717+00:00\", \"finished_at\": \"2026-10-28T00:46:25.832710+00:00\", \"duration_seconds\": 0.468, \"stages\": [{\"name\": \"fetch\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.19, \"items_in\": 1, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}, {\"name\": \"classify\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.0002, \"items_in\": 0, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}, {\"name\": \"dedup\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.0002, \"items_in\": 0, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}, {\"name\": \"analyze\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.0002, \"items_in\": 0, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}, {\"name\": \"push\", \"status\": \"ok\", \"attempts\": 1, \"duration_seconds\": 0.0002, \"items_in\": 0, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\":\n[excerpt truncated]",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "README quick start full pipeline dry run",
        "command": "<guest-path> run /tmp/demo-min.yaml --dry-run --json",
        "deferred": false,
        "evidence": " 1, \"duration_seconds\": 0.0002, \"items_in\": 0, \"items_out\": 0, \"skips\": {}, \"failures\": [], \"warnings\": [], \"error\": null, \"skip_reason\": null}], \"sources\": [{\"source\": \"example-news\", \"engine\": \"static_html\", \"url\": \"https://example.com/\", \"item_count\": 0, \"attempts\": 1, \"duration_seconds\": 0.171, \"skipped\": false, \"skip_reason\": null, \"failures\": [], \"error\": null, \"failed\": false}], \"items\": [], \"push\": [{\"channel\": \"stdout\", \"dry_run\": true, \"immediate\": 0, \"digest\": 0, \"archive\": 0, \"decisions\": [], \"reports\": [], \"ok\": true}], \"failures\": [], \"maintenance\": null, \"feedback_tuning\": null}",
        "expected": "JSON run status success and dry_run true",
        "input": "/tmp/demo-min.yaml, sample-compatible config",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md / \u5feb\u901f\u5f00\u59cb",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "deviations": [
    "README test sample URL https://example.com/news returned HTTP 404 and exhausted fetch engines; adjusted the demonstrated dry-run config to https://example.com/ for a successful full pipeline execution. It fetched zero items.",
    "Cycle scan completed with no scheduled jobs available to dispatch."
  ],
  "fault_owner": null,
  "main_blocker": null,
  "operation": "README quickstart dry run and cron tick",
  "operation_scope": "Installed with uv sync on Python 3.12.3; tested full pipeline dry-run and a manual cron scan.",
  "outcome": "working",
  "plain_failure": null,
  "steps": [
    "uv sync",
    ".venv/bin/myssia run /tmp/demo-min.yaml --dry-run --json",
    ".venv/bin/myssia cron tick --db /tmp/myssia-coldpass-cycle.sqlite"
  ],
  "stuck_step": null,
  "suggested_fix": null
}
