{
  "run_id": "mohitmalayanandy--route-doctor-claude-haiku-5-5-1792969743915472110",
  "checker": {
    "claims": [
      {
        "claim": "Scans a page and reports a text summary",
        "command": "npm run scan -- https://example.com",
        "evidence": "Summary: 0 error(s), 3 warning(s), 4 passed\n",
        "expected": "text report with summary line",
        "input": "https://example.com",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Summary: 0 error(s), 3 warning(s), 4 passed",
        "returncode": 0,
        "source": "It checks a single HTTP(S) page, traces redirects, checks its basic canonical/indexability signals, and probes the site's conventional `robots.txt` and `sitemap.xml` paths.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "Warnings alone do not cause failure",
        "command": "npm run scan -- https://example.com",
        "evidence": "3 warning(s), 4 passed\n",
        "expected": "exit 0 despite 3 warnings",
        "input": "https://example.com",
        "kind": "claim",
        "outcome": "Real input produced the expected result: 3 warning(s)",
        "returncode": 0,
        "source": "Warnings alone do not cause failure.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "JSON output is supported",
        "command": "npm run scan -- https://example.com --json",
        "evidence": "\"tool\": \"routedoctor\",\n  \"version\": \"0.1.0\",\n  \"inputUrl\": \"https://example.com/\",\n  \"finalUrl\": \"https://example.com/\",\n  \"redirects\": [],\n  \"status\": 200,\n  \"checks\": [\n    {\n      \"severity\": \"pass\",\n      \"code\": \"REDIRECT_NONE\",\n      \"message\": \"Page has no redirects\"\n    },\n    {\n      \"severity\": \"pass\",\n      \"code\": \"HTTP_OK\",\n      \"message\": \"Page returned HTTP 200\"\n    },\n    {\n      \"severity\": \"pass\",\n      \"code\": \"TITLE_PRESENT\",\n      \"message\": \"HTML title detected\"\n    },\n    {\n      \"severity\": \"pass\",\n      \"code\": \"NO_NOINDEX\",\n      \"message\": \"No noindex directive dete",
        "expected": "machine-readable JSON report",
        "input": "https://example.com --json",
        "kind": "claim",
        "outcome": "Real input produced the expected result: \"tool\": \"routedoctor\"",
        "returncode": 0,
        "source": "JSON and text output",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Entry points inspected (bin/routedoctor.js, src, package.json scripts, README, docs). No cron, scheduler, loop, webhook, --once or --now exists; RouteDoctor is a one-shot CLI run per scan. The only 'loop' hits are redirect-loop detection in src/http.js.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Entry points inspected (bin/routedoctor.js, src, package.json scripts, README, docs). No cron, scheduler, loop, webhook, --once or --now exists; RouteDoctor is a one-shot CLI run per scan. The only 'loop' hits are redirect-loop detection in src/http.js.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "npm",
        "run",
        "scan",
        "--",
        "https://example.com",
        "--json"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "",
      "stdout": "\n> routedoctor@0.1.0 scan\n> node ./bin/routedoctor.js scan https://example.com --json\n\n{\n  \"schemaVersion\": \"1\",\n  \"tool\": \"routedoctor\",\n  \"version\": \"0.1.0\",\n  \"inputUrl\": \"https://example.com/\",\n  \"finalUrl\": \"https://example.com/\",\n  \"redirects\": [],\n  \"status\": 200,\n[excerpt truncated]",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Project test suite runs (documented npm test)",
        "command": "npm test",
        "deferred": false,
        "evidence": "ok 17 - exact redirect budget succeeds and relative locations resolve\n  ---\n  duration_ms: 27.195272\n  type: 'test'\n  ...\n# Subtest: canonical edge cases preserve URL semantics\nok 18 - canonical edge cases preserve URL semantics\n  ---\n  duration_ms: 301.967743\n  type: 'test'\n  ...\n# Subtest: robots warning and report ordering are stable across completion order\nok 19 - robots warning and report ordering are stable across completion order\n  ---\n  duration_ms: 49.235222\n  type: 'test'\n  ...\n1..19\n# tests 19\n# suites 0\n# pass 19\n# fail 0\n# cancelled 0\n# skipped 0\n# todo 0\n# duration_ms 1366.017129",
        "expected": "all 19 offline tests pass",
        "input": "none",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Run locally",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
