{
  "checker": {
    "claims": [
      {
        "claim": "A code search returns ranked matching code with exact file locations.",
        "command": "npm run cli -- ask 'tree-sitter parser' .",
        "evidence": "graft ask \u2014 \"tree-sitter parser\"  (lexical)\n\n1. tree.ts \u00b7 file  [symbol]\n   viewer/tree.ts\n\n2. native.ts \u00b7 file  [symbol]\n   src/graph/native.ts\n\n3. isGitWorkTree \u00b7 function  [symbol]\n   src/init-guard.ts:L16-L19\n   function isGitWorkTree(dir: string): boolean\n\n4. sameSyntaxNode \u00b7 function  [symbol]\n   src/graph/extract.ts:L1019-L1024\n   function sameSyntaxNode( a: Parser.SyntaxNode | null | undefined, b: Parser.SyntaxNode | null | undefined, ): boolean\n\n5. workTreeOf \u00b7 function  [symbol]\n   src/notes/linked-learnings.ts:L24-L33\n   function workTreeOf(start: string): string | null\n\n6. treeLear",
        "expected": "A ranked result includes src/graph/native.ts or a tree-sitter parser function with file and line.",
        "input": "tree-sitter parser",
        "kind": "claim",
        "outcome": "Real input produced the expected result: graft ask \u2014 \"tree-sitter parser\"",
        "returncode": 0,
        "source": "trail ask \"<task>\" [dir]             # the matching code and learnings: ranked nodes + exact file:line (no LLM, no key)",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "README entry points describe commands run on demand (trail build, ask, grep, map); no product scheduler or recurring cycle is documented. The documented on-demand graph refresh was exercised with trail ask.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "README entry points describe commands run on demand (trail build, ask, grep, map); no product scheduler or recurring cycle is documented. The documented on-demand graph refresh was exercised with trail ask.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "npm",
        "run",
        "cli",
        "--",
        "ask",
        "tree-sitter parser",
        "."
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "",
      "stdout": "\n> @nanonets/graft@0.25.0 cli\n> tsx src/cli.ts ask tree-sitter parser .\n\ngraft ask \u2014 \"tree-sitter parser\"  (lexical)\n\n1. tree.ts \u00b7 file  [symbol]\n   viewer/tree.ts\n\n2. native.ts \u00b7 file  [symbol]\n   src/graph/native.ts\n\n[excerpt truncated]",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "README CLI search example",
        "command": "npm run cli -- ask 'tree-sitter parser' .",
        "deferred": false,
        "evidence": "de | null | undefined, ): boolean\n\n5. workTreeOf \u00b7 function  [symbol]\n   src/notes/linked-learnings.ts:L24-L33\n   function workTreeOf(start: string): string | null\n\n6. treeLearnings \u00b7 function  [symbol]\n   src/cloud/workspace-sync.ts:L279-L286\n   function treeLearnings(checkout: string): Array<{ name: string; text: string }>\n\n7. loadWasmLanguage \u00b7 function  [symbol]\n   src/graph/generic.ts:L218-L231\n   async function loadWasmLanguage(wasm: string): Promise<unknown | null>\n\n8. copyTree \u00b7 function  [symbol]\n   src/graph/seed.ts:L168-L180\n   function copyTree(srcDir: string, outDir: string): void",
        "expected": "Ranked matching nodes with file locations",
        "input": "tree-sitter parser",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md#CLI",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "deviations": [
    "Initial sudo apt-get install -y nodejs npm installed Node 18.19.1, below the repository's Node >=20 requirement; replaced it with Node.js 20.20.2 from NodeSource. npm ci emitted engine warnings because commander@15 and openai@7 request Node 22, though install, build, graph generation, and query all succeeded on Node 20.",
    "The source snapshot has no .git directory, so graph build used the README's npm run cli -- build . command without repository metadata."
  ],
  "fault_owner": null,
  "main_blocker": null,
  "operation": "Build the local code graph, then search it for 'tree-sitter parser' with trail ask.",
  "operation_scope": "README documented Development build and CLI ask; Node.js 20+ runtime and npm dependencies.",
  "outcome": "working",
  "plain_failure": null,
  "steps": [
    "Checked Python 3.12.3; the README has no Python requirement.",
    "Installed Node.js 20 in the guest via NodeSource after Ubuntu initially provided Node 18.",
    "Ran npm ci and npm run build.",
    "Ran the README Development CLI path to build the graph: npm run cli -- build . (7,390 nodes and 27,145 edges).",
    "Ran npm run cli -- ask \"tree-sitter parser\" . and observed ranked matches including src/graph/native.ts and source line locations.",
    "Validated and replayed probe, README claim, examples, and cycles with the Coldpass checker; all passed."
  ],
  "stuck_step": null,
  "suggested_fix": null
}
