{
  "checker": {
    "claims": [],
    "claims_note": "README makes no concrete product claims.",
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Inspected README and entry points: recurring work is triggered inside a Pi session through tools and commands; there is no product scheduler, loop runner, webhook or once trigger documented.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Inspected README and entry points: recurring work is triggered inside a Pi session through tools and commands; there is no product scheduler, loop runner, webhook or once trigger documented.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "bash",
        "-lc",
        "node --input-type=module -e 'import(\"pi-warden\").then(({ RuleStore, defaultConfig }) => { const set = new RuleStore().load(process.cwd(), defaultConfig().rules); for (const rule of set?.rules ?? []) console.log(rule.id, rule.paths.length ? rule.paths.join(\",\") : \"(all files)\"); });'"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "",
      "stdout": "no-console-output-in-library-code src/**\ntodo-comments-need-a-reference (all files)\nno-explicit-any **/*.ts,**/*.tsx\nexported-functions-declare-their-return-type src/**/*.ts\nerrors-are-not-swallowed (all files)\nswitch-statements-have-a-default-case (all files)\nno-hardcoded-secrets (all files)\nboolean-names-read-as-a-question (all files)\nnew-exported-functions-get-a-test src/**\ncomments-explain-why-not-what (all files)\nno-commented-out-code (all files)\nmigrations-are-reversible **/migrations/**",
      "working": false
    },
    "evidence_strength": "partly_checked",
    "example_checks": [
      {
        "claim": "The documented CLI lists project rules",
        "command": "bash -lc 'node --input-type=module -e '\"'\"'import(\"pi-warden\").then(({ RuleStore, defaultConfig }) => { const set = new RuleStore().load(process.cwd(), defaultConfig().rules); for (const rule of set?.rules ?? []) console.log(rule.id, rule.paths.length ? rule.paths.join(\",\") : \"(all files)\"); });'\"'\"''",
        "deferred": false,
        "evidence": "no-console-output-in-library-code src/**\ntodo-comments-need-a-reference (all files)\nno-explicit-any **/*.ts,**/*.tsx\nexported-functions-declare-their-return-type src/**/*.ts\nerrors-are-not-swallowed (all files)\nswitch-statements-have-a-default-case (all files)\nno-hardcoded-secrets (all files)\nboolean-names-read-as-a-question (all files)\nnew-exported-functions-get-a-test src/**\ncomments-explain-why-not-what (all files)\nno-commented-out-code (all files)\nmigrations-are-reversible **/migrations/**",
        "expected": "the rule `no-console-output-in-library-code` is listed",
        "input": "copied example rules",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "examples/README.md, Checking the rules from the command line",
        "verdict": "yes"
      },
      {
        "claim": "The documented test command",
        "command": "",
        "deferred": false,
        "evidence": "npm test completed far enough to report 1736 tests: 1711 passed and 25 failed; exec attempt ceiling reported timeout at 648169 ms. See /tmp/pi-warden-test.out.",
        "expected": "documented command completes successfully",
        "input": "",
        "kind": "example",
        "outcome": "npm test completed far enough to report 1736 tests: 1711 passed and 25 failed; exec attempt ceiling reported timeout at 648169 ms. See /tmp/pi-warden-test.out.",
        "source": "README.md, Development",
        "verdict": "blocked"
      }
    ],
    "status": "PASS"
  },
  "deviations": [
    "npm run check exceeded exec attempt ceiling after 600 seconds; typecheck and build passed independently",
    "npm test exceeded the same exec ceiling after 648169 ms and reported 25 failing tests; output was retained at /tmp/pi-warden-test.out",
    "The README's Pi install/enable workflow requires Pi and a TypeSafe key for judged guards; the inspected rule listing operation requires neither"
  ],
  "fault_owner": "repo",
  "main_blocker": "The saved checks do not fully confirm documented product behavior.",
  "operation": "Load and print example project rules through the documented CLI command",
  "operation_scope": "Node 22.23.4, npm dependencies installed; no Pi session or TypeSafe credentials required for rule listing",
  "outcome": "unverified",
  "plain_failure": null,
  "steps": [
    "Read README and examples/README.md",
    "Installed Node.js 22 with NodeSource setup and apt",
    "npm install",
    "npm run typecheck (passed)",
    "npm run build (passed)",
    "Copied examples/pi-warden.md into project root and ran README documented rule listing",
    "npm test reached 1736 tests: 1711 passed, 25 failed"
  ],
  "stuck_step": "bash -lc 'node --input-type=module -e '\"'\"'import(\"pi-warden\").then(({ RuleStore, defaultConfig }) => { const set = new RuleStore().load(process.cwd(), defaultConfig().rules); for (const rule of set?.rules ?? []) console.log(rule.id, rule.paths.length ? rule.paths.join(\",\") : \"(all files)\"); });'\"'\"''",
  "suggested_fix": "Keep the partial evidence and check the documented behavior with real input and expected output."
}
