{
  "checker": {
    "details": {
      "argv": [
        "/opt/node22/bin/node",
        "<host-path>"
      ],
      "kind": "mcp",
      "scope": "product operation",
      "serverInfo": {
        "name": "gsd",
        "version": "1.22.0"
      },
      "tools": [
        "gsd_execute",
        "gsd_status",
        "gsd_result",
        "gsd_cancel",
        "gsd_cancel_by_project",
        "gsd_query",
        "gsd_resolve_blocker",
        "ask_user_questions",
        "secure_env_collect",
        "gsd_progress",
        "gsd_roadmap",
        "gsd_history",
        "gsd_doctor",
        "gsd_captures",
        "gsd_knowledge",
        "gsd_graph",
        "gsd_decision_save",
        "gsd_decision_list",
        "gsd_decision_get",
        "gsd_requirement_update",
        "gsd_requirement_save",
        "gsd_project_snapshot",
        "gsd_requirement_list",
        "gsd_requirement_get",
        "gsd_milestone_generate_id",
        "gsd_plan_milestone",
        "gsd_plan_slice",
        "gsd_plan_task",
        "gsd_replan_slice",
        "gsd_replan_task",
        "gsd_rework_brief_save",
        "gsd_checkpoint_save",
        "gsd_slice_complete",
        "gsd_skip_slice",
        "gsd_complete_milestone",
        "gsd_validate_milestone",
        "gsd_prepare_milestone_subjective_uat",
        "gsd_reassess_roadmap",
        "gsd_save_gate_result",
        "gsd_hook_verdict_save",
        "gsd_uat_result_save",
        "gsd_summary_save",
        "gsd_task_complete",
        "gsd_task_reopen",
        "gsd_task_recovery_resume",
        "gsd_task_settle",
        "gsd_slice_reopen",
        "gsd_milestone_reopen",
        "gsd_milestone_park",
        "gsd_milestone_unpark",
        "gsd_milestone_discard",
        "gsd_milestone_reorder",
        "gsd_milestone_set_dependencies",
        "gsd_research_decision_save",
        "gsd_capture_resolve",
        "gsd_capture_complete",
        "gsd_milestone_status",
        "gsd_checkpoint_db",
        "gsd_journal_query",
        "gsd_uat_exec",
        "gsd_exec",
        "gsd_exec_search",
        "gsd_resume",
        "gsd_capture_thought",
        "gsd_memory_query",
        "gsd_memory_graph"
      ],
      "working": true
    },
    "status": "PASS"
  },
  "deviations": [
    "git rev-parse failed: workspace is not a git repository, so the commit pin could not be checked from git metadata.",
    "Node was not installed; installed Node 22.18.0 first, then pnpm install failed with ERR_PNPM_UNSUPPORTED_ENGINE (packages/pi-agent-core needs >=22.19.0), so switched to Node 22.19.0.",
    "`npm i -g pnpm` failed with EACCES because /opt/node22 is root-owned; used `sudo env PATH=$PATH npm i -g pnpm@10.12.1`.",
    "pnpm install was killed (exit 137) under default heap; added a 4G swapfile and set NODE_OPTIONS=--max-old-space-size=768 with reduced concurrency.",
    "pnpm install then failed building node-pty (gyp: no make/g++); installed build-essential via apt and reran install successfully (rc 0).",
    "Install postinstall printed a warning: '[gsd] WARNING: failed to materialize runtime dependencies (npm error Cannot read properties of null (reading edgesOut))'. Build and MCP start still succeeded.",
    "pnpm run build failed with V8 OOM at heap 768MB (exit 134); reran with NODE_OPTIONS=--max-old-space-size=3072 and it passed (rc 0).",
    "README's `npx gsd-mcp-server` / `gsd-mcp-server` bin not linked on PATH; invoked the bin file directly with absolute node path."
  ],
  "main_blocker": null,
  "operation": "Start the gsd-mcp-server stdio MCP server (README: packages/mcp-server, `gsd-mcp-server`) and call tools/list; returned 66 tools including gsd_execute, gsd_status, gsd_query.",
  "operation_scope": "Covers install, build, and MCP start plus tools/list. Does not exercise gsd_execute (auto-mode session needs a model provider/credentials) and does not run unit or lint suites. Node 22.19.0 and pnpm 10.12.1 installed under /opt/node22 by sudo. Browser not used.",
  "outcome": "working",
  "steps": [
    "Installed Node v22.19.0 (tarball from nodejs.org to /opt/node22)",
    "sudo npm i -g pnpm@10.12.1",
    "pnpm install --frozen-lockfile (with NODE_OPTIONS=--max-old-space-size=768, --network-concurrency=4 --child-concurrency=1; 4G swapfile added)",
    "pnpm run build (with NODE_OPTIONS=--max-old-space-size=3072); dist/bootstrap.js produced",
    "Started packages/mcp-server/bin/gsd-mcp-server.js over stdio via JSON-RPC initialize + tools/list (driver at <host-path>, outside repo)"
  ],
  "stuck_step": null,
  "suggested_fix": null
}
