{
  "run_id": "Maherd18--sap-mcp-server-claude-haiku-5-5-1792804375526902605",
  "checker": {
    "claims": [
      {
        "claim": "The server has no tool to create objects",
        "command": "",
        "evidence": "Observed offline: tools/call sap_create_object returned 'Denied (unknown_tool)' with isError=true. The checker does not count isError results as confirmation, and every other tool result needs a live SAP system (no SAP host available in this VM).",
        "expected": "",
        "input": "",
        "kind": "claim",
        "outcome": "Observed offline: tools/call sap_create_object returned 'Denied (unknown_tool)' with isError=true. The checker does not count isError results as confirmation, and every other tool result needs a live SAP system (no SAP host available in this VM).",
        "source": "There is intentionally no tool to delete or create objects.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "blocked"
      },
      {
        "claim": "A tool that is not listed does not exist",
        "command": "",
        "evidence": "Observed offline: tools/call sap_delete_object returned 'Denied (unknown_tool)' with isError=true. Checker does not count isError results as confirmation; no live SAP system available to produce a non-error result.",
        "expected": "",
        "input": "",
        "kind": "claim",
        "outcome": "Observed offline: tools/call sap_delete_object returned 'Denied (unknown_tool)' with isError=true. Checker does not count isError results as confirmation; no live SAP system available to produce a non-error result.",
        "source": "A tool that isn't listed doesn't exist.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "blocked"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Inspected package.json scripts, src/*.mjs, scripts/*.mjs, README.md. The server is a stdio MCP process that answers requests as they arrive; it has no cron, scheduler, loop, --once/--now flag, or webhook (grep for setInterval/cron/schedule/webhook found only a fetch timeout and a socket timeout). Runs only when an MCP client calls it.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Inspected package.json scripts, src/*.mjs, scripts/*.mjs, README.md. The server is a stdio MCP process that answers requests as they arrive; it has no cron, scheduler, loop, --once/--now flag, or webhook (grep for setInterval/cron/schedule/webhook found only a fetch timeout and a socket timeout). Runs only when an MCP client calls it.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "checks": [
        {
          "check": "start",
          "details": {
            "argv": [
              "node",
              "src/server.mjs"
            ],
            "kind": "mcp",
            "scope": "partial: start",
            "serverInfo": {
              "name": "sap-mcp-server",
              "version": "0.3.1"
            },
            "tool_result_checked": false,
            "tool_schema_bytes": 2233,
            "tools": [
              "sap_test_connection",
              "sap_search_objects",
              "sap_read_metadata",
              "sap_read_source",
              "sap_list_transports",
              "sap_write_source",
              "sap_activate",
              "sap_release_transport"
            ],
            "working": false
          },
          "optional": false,
          "status": "PASS"
        }
      ],
      "scope": "partial checks",
      "working": false
    },
    "evidence_strength": "partly_checked",
    "example_checks": [
      {
        "claim": "Offline unit and integration tests run without a SAP system",
        "command": "npm test",
        "deferred": false,
        "evidence": "k inside the sandbox\nok 24 - writes source with lock and unlock inside the sandbox\n  ---\n  duration_ms: 8.677288\n  type: 'test'\n  ...\n# Subtest: activation is never executed, it returns an approval request\nok 25 - activation is never executed, it returns an approval request\n  ---\n  duration_ms: 3.804982\n  type: 'test'\n  ...\n# Subtest: the ADT client refuses paths outside /sap/bc/adt\nok 26 - the ADT client refuses paths outside /sap/bc/adt\n  ---\n  duration_ms: 0.568927\n  type: 'test'\n  ...\n1..26\n# tests 26\n# suites 0\n# pass 26\n# fail 0\n# cancelled 0\n# skipped 0\n# todo 0\n# duration_ms 687.234626",
        "expected": "all tests pass",
        "input": "npm test",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Development section",
        "verdict": "yes"
      },
      {
        "claim": "Connection check against a real SAP system",
        "command": "",
        "deferred": false,
        "evidence": "No SAP system is reachable from this VM (no host, no credentials). Ran npm run check with SAP_HOST=127.0.0.1 SAP_PORT=9; it reported 'FAIL 127.0.0.1:9 is not reachable' and exited 1. Not a product defect: the check does what it should.",
        "expected": "documented command completes successfully",
        "input": "",
        "kind": "example",
        "outcome": "No SAP system is reachable from this VM (no host, no credentials). Ran npm run check with SAP_HOST=127.0.0.1 SAP_PORT=9; it reported 'FAIL 127.0.0.1:9 is not reachable' and exited 1. Not a product defect: the check does what it should.",
        "source": "README.md Quick start / From source: npm run check",
        "verdict": "blocked"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
