{
  "run_id": "trailhq--Trail-Code-gpt-6-luna-1792773961244666647",
  "date": "2026-10-23T16:58:06.088526+00:00",
  "repo": "trailhq/Trail-Code",
  "kind": "repo",
  "source": "https://github.com/trailhq/Trail-Code",
  "commit": "257672ae8bb404e55af16a6d0076741ee2d7a6f8",
  "model": "gpt-6-luna",
  "model_version": "gpt-6-luna",
  "test_version": "readme-f72312298d35d84837d4fc5f6f22b138d54d456600b5ed431e36e8f5db931dbf",
  "pass": true,
  "outcome": "pass",
  "time_to_working_s": 678.0413378489902,
  "total_s": 724.8438372612,
  "steps": [
    "pwd; rg --files -g 'README*' -g 'AGENTS.md' -g 'pyproject.toml' -g 'package.json' -g 'Makefile' -g 'Cargo.toml' -g 'go.mod' -g 'uv.lock' -g 'requirements*' -g '*.toml' | head -80; git status --short --branch; id -u; python3 --version",
    "ls -la; find . -maxdepth 3 -type f | head -100; cat README.md",
    "node --version; npm --version; cat package.json; grep -nE 'trail (build|ask|grep|map|skeleton|callers)|Quick start|Development|Node.js|node ' README.md | head -70; sed -n '1,160p' .github/workflows/ci.yml; find .coldpass -maxdepth 2 -type f -print",
    "sudo -n apt-get update && sudo -n apt-get install -y nodejs npm",
    "node --version; npm --version; sudo -n apt-get install -y curl ca-certificates; export NODE_USE_ENV_PROXY=1; curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -n -E bash -; sudo -n apt-get install -y nodejs; node --version; npm --version",
    "npm ci && npm run build && npm run cli -- build . && npm run cli -- ask \"tree-sitter parser\" .",
    "mkdir -p .coldpass; cat > .coldpass/probe.json <<'EOF'\n{\"kind\":\"cli\",\"argv\":[\"npm\",\"run\",\"cli\",\"--\",\"ask\",\"tree-sitter parser\",\".\"],\"cwd\":\"<guest-path>\",\"expected_text\":\"graft ask \u2014 \\\"tree-sitter parser\\\"\"}\nEOF\ncat > .coldpass/claims.json <<'EOF'\n[{\"kind\":\"claim\",\"claim\":\"A code search returns ranked matching code with exact file locations.\",\"source\":\"trail ask \\\"<task>\\\" [dir]             # the matching code and learnings: ranked nodes + exact file:line (no LLM, no key)\",\"input\":\"tree-sitter parser\",\"expected\":\"A ranked result includes src/graph/native.ts or a tree-sitter parser function with file and line.\",\"probe_kind\":\"cli\",\"argv\":[\"npm\",\"run\",\"cli\",\"--\",\"ask\",\"tree-sitter parser\",\".\"],\"expected_text\":\"graft ask \u2014 \\\"tree-sitter parser\\\"\",\"cwd\":\"<guest-path>\"}]\nEOF\ncat > .coldpass/examples.json <<'EOF'\n[{\"kind\":\"example\",\"claim\":\"README CLI search example\",\"source\":\"README.md#CLI\",\"input\":\"tree-sitter parser\",\"expected\":\"Ranked matching nodes with file locations\",\"argv\":[\"npm\",\"run\",\"cli\",\"--\",\"ask\",\"tree-sitter parser\",\".\"],\"cwd\":\"<guest-path>\",\"expected_text\":\"graft ask \u2014 \\\"tree-sitter parser\\\"\"}]\nEOF\ncat > .coldpass/cycles.json <<'EOF'\n{\"detected\":false,\"reason\":\"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.\",\"checks\":[]}\nEOF\n<env-var>=<guest-path> python3 -I <guest-path> --validate --replay",
    "cat > .coldpass/report.json <<'EOF'\n{\"outcome\":\"working\",\"fault_owner\":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.\",\"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.\"],\"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.\"],\"stuck_step\":null,\"main_blocker\":null,\"plain_failure\":null,\"suggested_fix\":null}\nEOF\ncat .coldpass/report.json"
  ],
  "stuck_step": null,
  "error_excerpt": null,
  "what_it_did": "Build the local code graph, then search it for 'tree-sitter parser' with trail ask.",
  "suggested_fix": null,
  "tokens_in": 445153,
  "tokens_out": 1722,
  "cost_usd": null,
  "usage_complete": true,
  "checks": [
    {
      "check": "operation",
      "status": "PASS",
      "details": {
        "working": true,
        "argv": [
          "npm",
          "run",
          "cli",
          "--",
          "ask",
          "tree-sitter parser",
          "."
        ],
        "kind": "cli",
        "returncode": 0,
        "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]",
        "stderr": "",
        "needs_credentials": false,
        "needs_browser": false,
        "scope": "product operation"
      }
    }
  ],
  "safety": {
    "version": "z2x-1",
    "rules_version": "z2x-1",
    "summary": "Review signals: 1 connection review, 1 download and execute, 1 outside write. 56 static matches retained as context.",
    "findings": [
      {
        "kind": "connection-review",
        "count": 1,
        "note": "Repository processes attempted these non-loopback connections; proxies can hide the final hostname.",
        "location_count": 11,
        "process_count": 5
      },
      {
        "kind": "download-and-execute",
        "count": 1,
        "note": "Source contains download and execute; review its purpose.",
        "location_count": 1,
        "path": "src/skills/compile.ts"
      },
      {
        "kind": "outside-write",
        "count": 1,
        "note": "Repository processes attempted these writes outside documented output/cache paths.",
        "location_count": 1,
        "path": "/usr/bin/python3",
        "process_count": 1,
        "processes": [
          {
            "executable": "/usr/bin/node",
            "owner": "repo",
            "path": "/usr/bin/python3",
            "pid": "13823",
            "source": "npm lifecycle"
          }
        ]
      }
    ],
    "context": [
      {
        "kind": "download-and-execute",
        "count": 35,
        "note": "Source contains download and execute; review its purpose.",
        "location_count": 19
      },
      {
        "kind": "hardcoded-secret",
        "count": 21,
        "note": "Gitleaks found a possible hardcoded secret; value withheld.",
        "location_count": 7
      }
    ],
    "limitations": [
      "A short run cannot establish that code is safe.",
      "Connections show IP addresses; proxies can hide the final hostname.",
      "Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing."
    ],
    "static": {
      "dependency_note": "OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check."
    },
    "evidence_url": "/safety/?run=trailhq--Trail-Code-gpt-6-luna-1792773961244666647",
    "evidence_file": "/data/safety/trailhq--Trail-Code-gpt-6-luna-1792773961244666647.json.gz"
  },
  "agent_execution": "native_agent",
  "agent_runtime": "codex",
  "agent_runtime_version": "codex-cli 0.163.0",
  "tool_transport": "mcp-assigned-vm",
  "platform": "linux",
  "reasoning": "low",
  "service_tier": "standard",
  "resources": {
    "cpus": 2,
    "memory_mib": 4096,
    "disk_mib": 32768
  },
  "native_tool_calls": 8,
  "native_bundle": null,
  "architecture": null,
  "backend": "hyperv",
  "platform_details": {
    "backend": "hyperv",
    "os": "linux"
  },
  "platform_conflicts": null,
  "sandbox_source": null,
  "source_pin": {
    "commit": "257672ae8bb404e55af16a6d0076741ee2d7a6f8",
    "url": "https://github.com/trailhq/Trail-Code"
  },
  "purpose": "initial",
  "profile": {
    "model": "gpt-6-luna",
    "reasoning": "low"
  },
  "fault": {
    "owner": null,
    "status": "resolved",
    "reason": null
  },
  "fix_id": null,
  "verifies_run_id": null,
  "hosting": null,
  "operation_scope": "product operation",
  "tool_calls": 8,
  "guest_setup": null,
  "runtime": null,
  "runtime_version": null,
  "runtime_revision": null,
  "source_revision": null,
  "evidence_version": null,
  "failure_origin": null,
  "evidence_strength": "readme_checked",
  "works": "yes",
  "install_s": null,
  "first_use_s": null,
  "mcp": "none",
  "needs": [],
  "needs_which": null,
  "agent_interface": [
    "cli"
  ],
  "license": "MIT",
  "repo_url": "https://github.com/trailhq/Trail-Code",
  "cost_to_try": "free",
  "hardware": null,
  "what_failed": null,
  "local_or_hosted": "local",
  "cycle_checks": [
    {
      "kind": "cycle",
      "claim": "Scheduled or looping main behavior",
      "source": "repository entry points",
      "input": "source inspection",
      "expected": "identify the product trigger",
      "verdict": "yes",
      "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.",
      "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.",
      "command": ""
    }
  ],
  "claims": [
    {
      "kind": "claim",
      "claim": "A code search returns ranked matching code with exact file locations.",
      "source": "trail ask \"<task>\" [dir]             # the matching code and learnings: ranked nodes + exact file:line (no LLM, no key)",
      "input": "tree-sitter parser",
      "expected": "A ranked result includes src/graph/native.ts or a tree-sitter parser function with file and line.",
      "command": "npm run cli -- ask 'tree-sitter parser' .",
      "verdict": "yes",
      "outcome": "Real input produced the expected result: graft ask \u2014 \"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",
      "returncode": 0,
      "source_checked": true,
      "source_file": "README.md"
    }
  ],
  "claims_note": null,
  "example_checks": [
    {
      "kind": "example",
      "claim": "README CLI search example",
      "source": "README.md#CLI",
      "input": "tree-sitter parser",
      "command": "npm run cli -- ask 'tree-sitter parser' .",
      "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",
      "deferred": false,
      "expected": "Ranked matching nodes with file locations",
      "returncode": 0,
      "verdict": "yes",
      "outcome": "command completed successfully"
    }
  ],
  "does_what_it_says": "yes",
  "maintenance": {
    "archived": false,
    "commits_90d": 457,
    "last_commit_at": "2026-10-23T13:11:10Z",
    "last_release_at": null,
    "median_reply_hours": null,
    "merged_prs_90d": 220,
    "note": "slow: last commit 0 days ago; 457 commits and 220 merged PRs in 90 days; 133 open issues, 109 open PRs; 0 of 8 recent threads got a maintainer reply; no releases",
    "open_issues": 133,
    "open_prs": 109,
    "reply_share": 0.0,
    "reply_threads": 8,
    "verdict": "slow"
  },
  "maintenance_verdict": "slow",
  "maintenance_note": "slow: last commit 0 days ago; 457 commits and 220 merged PRs in 90 days; 133 open issues, 109 open PRs; 0 of 8 recent threads got a maintainer reply; no releases",
  "maintained": "active",
  "maintained_note": "last commit 0 days ago; 2 open issues, 0 answered or closed",
  "last_commit_at": "2026-10-23T13:11:21Z",
  "last_release_at": null,
  "open_issues": 2,
  "answered_issues": 0,
  "platforms_claimed": [
    "linux"
  ],
  "topic": "mcp-server",
  "agent_interfaces": [
    {
      "interface": "cli",
      "evidence": "independent checker",
      "observed": true,
      "operation_checked": true
    }
  ],
  "agent_interfaces_note": "README metadata is a discovery hint, not pinned documentation proof. Observed interfaces were exercised in this run. An empty list means unknown.",
  "mcp_context": null,
  "tested_at": "2026-10-23T16:58:06.088526+00:00",
  "tested_commit": "257672ae8bb404e55af16a6d0076741ee2d7a6f8",
  "tested_with": {
    "agent": "codex",
    "agent_version": "codex-cli 0.163.0",
    "model": "gpt-6-luna",
    "model_route": "gpt-6-luna",
    "reasoning": "low",
    "os": "linux",
    "backend": "hyperv",
    "transport": "mcp-assigned-vm"
  },
  "setup_identity": {
    "repo": "trailhq/Trail-Code",
    "source": "https://github.com/trailhq/Trail-Code",
    "commit": "257672ae8bb404e55af16a6d0076741ee2d7a6f8",
    "source_revision": null,
    "os": "linux",
    "architecture": null,
    "backend": "hyperv",
    "model": "gpt-6-luna",
    "model_version": "gpt-6-luna",
    "agent_execution": "native_agent",
    "agent_runtime": "codex",
    "agent_runtime_version": "codex-cli 0.163.0",
    "tool_transport": "mcp-assigned-vm",
    "runtime": null,
    "runtime_version": null,
    "runtime_revision": null,
    "sandbox_source": null,
    "guest_setup": null,
    "source_pin": {
      "commit": "257672ae8bb404e55af16a6d0076741ee2d7a6f8",
      "url": "https://github.com/trailhq/Trail-Code"
    },
    "platform_details": {
      "os": "linux",
      "backend": "hyperv"
    },
    "platform_conflicts": null,
    "reasoning": "low",
    "service_tier": "standard",
    "resources": {
      "cpus": 2,
      "memory_mib": 4096,
      "disk_mib": 32768
    },
    "operation": "Build the local code graph, then search it for 'tree-sitter parser' with trail ask.",
    "operation_scope": "product operation",
    "hosting": null,
    "kind": "repo",
    "test_version": "readme-f72312298d35d84837d4fc5f6f22b138d54d456600b5ed431e36e8f5db931dbf",
    "evidence_version": null
  },
  "other_model": null,
  "other_run_id": null,
  "models_agree": null,
  "furthest_model": null,
  "transcript_url": null,
  "report_url": "/reports/trailhq--Trail-Code-gpt-6-luna-1792773961244666647.json"
}
