{
  "checker": {
    "claims": [
      {
        "claim": "The built-in MCP server lets an agent connect to a running omnigraph server and call its tools.",
        "command": "<guest-path> --cluster /tmp/cb/company-data --bind 127.0.0.1:8080 tools/call {\"tool\": \"schema\", \"arguments\": {\"graph\": \"knowledge\"}}",
        "evidence": "edge Supports: Source -> Claim\\\\n\\\",\\\"system_columns\\\":{\\\"id\\\":\\\"__id\\\",\\\"src\\\":\\\"__src\\\",\\\"dst\\\":\\\"__dst\\\"},\\\"catalogue_source\\\":\\\"node @Operator {\\\\n    name: String @key\\\\n    inputs: [I64]\\\\n}\\\\n\\\\nnode @Pass {\\\\n    name: String @key\\\\n    position: I64\\\\n}\\\\n\\\\nnode @Setting {\\\\n    name: String @key\\\\n    kind: String\\\\n    default: String\\\\n    scope: String\\\\n}\\\\n\\\\nnode @Engine {\\\\n    version: String @key\\\\n    current_internal_schema_version: I64\\\\n    min_supported_internal_schema_version: I64\\\\n}\\\\n\\\\nnode @LogicalKind {\\\\n    name: String @key\\\\n    coverage: String\\\\n}\\\"}\"}], \"",
        "expected": "returns the declared Supports edge",
        "input": "{\"tool\": \"schema\", \"arguments\": {\"graph\": \"knowledge\"}}",
        "kind": "claim",
        "outcome": "Real input produced the expected result: edge Supports: Source -> Claim",
        "source": "connect an agent to the server's `/mcp`",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "A --target ./graph.omni flag addresses a standalone local graph for querying.",
        "command": "<guest-path> query sources_for_claim --query queries.gq --params '{\"claim\":\"lower-latency\"}' --format table --target ./graph.omni",
        "evidence": "Load test report  \nProduction metrics\ntarget ./graph.omni (inline): direct graph /tmp/qs/graph.omni; requested=/tmp/qs/graph.omni; provider=Local\n",
        "expected": "returns the two source titles",
        "input": "stored query sources_for_claim on the local quickstart graph",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Load test report",
        "returncode": 0,
        "source": "Use `--target ./graph.omni` for a standalone local graph.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Entry points inspected (README.md, docs/user/operations/server.md, docs/user/cli/reference.md, crates/*/src). omnigraph and omnigraph-server run on demand: a CLI command or a long-running request server with no internal scheduler, cron, --once or --now trigger. The only polling (two-second interval, reference.md) is a client-side wait for managed-cloud deployments, which this local setup does not use.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Entry points inspected (README.md, docs/user/operations/server.md, docs/user/cli/reference.md, crates/*/src). omnigraph and omnigraph-server run on demand: a CLI command or a long-running request server with no internal scheduler, cron, --once or --now trigger. The only polling (two-second interval, reference.md) is a client-side wait for managed-cloud deployments, which this local setup does not use.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "<guest-path>",
        "--cluster",
        "/tmp/cb/company-data",
        "--bind",
        "127.0.0.1:8080"
      ],
      "hosting": "local",
      "kind": "mcp_http",
      "protocolVersion": "2025-06-18",
      "scope": "remote hosted MCP initialize + tools/list",
      "serverInfo": {
        "name": "omnigraph-server",
        "version": "0.14.0"
      },
      "tool_result": {
        "content": [
          {
            "text": "{\"schema_source\":\"node Source {\\n  slug: String @key\\n  title: String\\n}\\n\\nnode Claim {\\n  slug: String @key\\n  statement: String\\n}\\n\\nedge Supports: Source -> Claim\\n\",\"system_columns\":{\"id\":\"__id\",\"src\":\"__src\",\"dst\":\"__dst\"},\"catalogue_source\":\"node @Operator {\\n    name: String @key\\n    inputs: [I64]\\n}\\n\\nnode @Pass {\\n    name: String @key\\n    position: I64\\n}\\n\\nnode @Setting {\\n    name: String @key\\n    kind: String\\n    default: String\\n    scope: String\\n}\\n\\nnode @Engine {\\n    version: String @key\\n    current_internal_schema_version: I64\\n    min_supported_internal_schema_version: I64\\n}\\n\\nnode @LogicalKind {\\n    name: String @key\\n    coverage: String\\n}\"}",
            "type": "text"
          }
        ],
        "isError": false,
        "structuredContent": {
          "catalogue_source": "node @Operator {\n    name: String @key\n    inputs: [I64]\n}\n\nnode @Pass {\n    name: String @key\n    position: I64\n}\n\nnode @Setting {\n    name: String @key\n    kind: String\n    default: String\n    scope: String\n}\n\nnode @Engine {\n    version: String @key\n    current_internal_schema_version: I64\n    min_supported_internal_schema_version: I64\n}\n\nnode @LogicalKind {\n    name: String @key\n    coverage: String\n}",
          "schema_source": "node Source {\n  slug: String @key\n  title: String\n}\n\nnode Claim {\n  slug: String @key\n  statement: String\n}\n\nedge Supports: Source -> Claim\n",
          "system_columns": {
            "dst": "__dst",
            "id": "__id",
            "src": "__src"
          }
        }
      },
      "tool_result_checked": true,
      "tool_schema_bytes": 12980,
      "tools": [
        "health",
        "graphs",
        "schema",
        "queries",
        "query",
        "snapshot",
        "access",
        "branches_list",
        "commits_list",
        "commits_get",
        "commits_changes",
        "changes_poll"
      ],
      "transport": "streamable-http",
      "url": "http://127.0.0.1:8080/mcp",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Validate a cluster bundle before deploying it",
        "command": "<guest-path> cluster validate --config /tmp/cb/company-brain",
        "deferred": false,
        "evidence": "cluster config valid: 5 resource(s), 4 dependency edge(s)\nWARN  external_blob_ingress_default_deny graphs.knowledge.external_blobs: effective policy is deny: new external Blob URI references will be rejected; existing stored references remain readable",
        "expected": "cluster config valid",
        "input": "/tmp/cb/company-brain",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "docs/user/clusters/index.md#bootstrap-a-cluster",
        "verdict": "yes"
      },
      {
        "claim": "Quickstart query returns the two sources supporting the claim",
        "command": "<guest-path> query sources_for_claim --query queries.gq --params '{\"claim\":\"lower-latency\"}' --format table --target ./graph.omni",
        "deferred": false,
        "evidence": "2 rows from branch main via sources_for_claim\nsource            \n------------------\nLoad test report  \nProduction metrics\ntarget ./graph.omni (inline): direct graph /tmp/qs/graph.omni; requested=/tmp/qs/graph.omni; provider=Local",
        "expected": "Load test report and Production metrics",
        "input": "sources_for_claim lower-latency",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "docs/user/quickstart.md#4-query",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "deviations": [
    "The README's build and test commands (cargo build --workspace --locked; cargo test ...) were not run. cargo is not installed in the guest and the Rust 1.97.1 toolchain pinned in rust-toolchain.toml was not installed. Building the whole workspace was not done; the README's published-binary install path was used instead.",
    "The installed binaries are the published 0.14.0 release, not a build of the pinned commit 1ec9b32e60b678329c35468220f85344f1940faf. The workspace has no .git directory, so the pin was not checked against the installed binaries.",
    "The installer put files under <guest-path> (HOME is <guest-path>), not ~/.local/bin as the README states. Probes and claims use the absolute path.",
    "The first cluster plan failed with storage_root_invalid because the storage root directory did not exist. Fixed by creating it with mkdir -p as the README does; the storage root is the apply target, not a checker output.",
    "cluster apply took an admission lock (01M5MVXH571C6J9F3XPTCKD76G). Released it with the exact-ID force-unlock command from docs/user/clusters/index.md after confirming no other writer was running, then started the server.",
    "The README's /inputs/coldpass-preflight.py path does not exist in this guest; the checker at <guest-path> was used with the same flags.",
    "The MCP and cluster-bundle policies were written by hand (small examples based on docs/user/operations/policy.md and clusters/index.md) because no ready-made example bundle was found in the repository.",
    "The README's Build and test section is recorded as an example with a reason rather than run.",
    "The 'omnigraph --version' output reports 0.14.0; omnigraph-server does not accept --version, so its version was taken from the serverInfo in the MCP initialize response."
  ],
  "fault_owner": null,
  "main_blocker": null,
  "operation": "Install omnigraph 0.14.0 with the README installer, create and load a local graph, query it, and serve a graph over the built-in MCP endpoint (tool schema on graph knowledge).",
  "operation_scope": "Linux x86_64, Ubuntu 24.04.5 LTS, Python 3.12.3, user ubuntu. Uses the published 0.14.0 release binaries installed by the README installer (no source build). The MCP check runs a local streamable-HTTP omnigraph-server on 127.0.0.1:8080 with a static bearer token. Not tested: managed/cloud targets, S3 or Azure storage, OIDC, writes over MCP, the stdio bridge (omnigraph mcp).",
  "outcome": "working",
  "plain_failure": null,
  "steps": [
    "curl -fsSL https://raw.githubusercontent.com/ModernRelay/omnigraph/main/scripts/install.sh | bash (saved to /tmp/install-omnigraph.sh and run with bash); installed omnigraph 0.14.0 and omnigraph-server",
    "omnigraph init --schema schema.pg graph.omni",
    "omnigraph load --data evidence.jsonl --mode overwrite --target ./graph.omni",
    "omnigraph query sources_for_claim --query queries.gq --params '{\"claim\":\"lower-latency\"}' --format table --target ./graph.omni",
    "omnigraph cluster validate --config /tmp/cb/company-brain",
    "omnigraph cluster plan --target /tmp/cb/company-data --config /tmp/cb/company-brain (after mkdir -p /tmp/cb/company-data, as the README's mkdir -p ./company-data step)",
    "omnigraph cluster apply --target /tmp/cb/company-data --config /tmp/cb/company-brain --as act-alice --json",
    "omnigraph --target file:///tmp/cb/company-data cluster force-unlock <exact lock ID printed by apply>",
    "OMNIGRAPH_SERVER_BEARER_TOKENS_JSON='{\"act-alice\":\"<guest key>\"}' omnigraph-server --cluster /tmp/cb/company-data --bind 127.0.0.1:8080",
    "POST /mcp tools/call schema {\"graph\":\"knowledge\"} returned: edge Supports: Source -> Claim",
    "python3 -I <guest-path> --validate --replay (<env-var> set): valid, no problems, replay PASS"
  ],
  "stuck_step": null,
  "suggested_fix": "None for the tested path. Optional: run the README's cargo build and test commands with the pinned Rust toolchain in a guest with enough disk and time, and confirm the release binaries match the pinned commit."
}
