{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://postoaklabs.github.io/chaingraph/ext/x-chaingraph/v0.1.json",
  "extension_uri": "https://postoaklabs.github.io/chaingraph/ext/x-chaingraph/v0.1",
  "title": "x-chaingraph — A2A capability extension",
  "description": "Declares, in an Agent2Agent (A2A) agent card, that an agent's tool outputs are ChainGraph-conformant verifiable decision artifacts (hash-anchored, chainable, independently verifiable). See The ChainGraph Standard v0.1 §8.2. CC BY 4.0, Post Oak Labs.",
  "type": "object",
  "required": ["uri", "params"],
  "properties": {
    "uri": {
      "const": "https://postoaklabs.github.io/chaingraph/ext/x-chaingraph/v0.1",
      "description": "Stable extension identifier. Presence in an agent card's capabilities.extensions[] signals ChainGraph support."
    },
    "description": {
      "type": "string",
      "default": "Emits ChainGraph verifiable decision artifacts (hash-anchored, chainable)."
    },
    "params": {
      "type": "object",
      "required": ["conformance_level", "graph_index", "verify_endpoint", "hash_alg", "mandate_namespace"],
      "properties": {
        "conformance_level": {
          "type": "string",
          "enum": ["L1", "L2", "L3", "L4"],
          "description": "Highest ChainGraph conformance level the vendor asserts (§3)."
        },
        "graph_index": {
          "type": "string",
          "format": "uri",
          "description": "URL of the vendor's machine-readable graph index (§8.3)."
        },
        "verify_endpoint": {
          "type": "string",
          "description": "Name of the MCP tool that independently recomputes an execution hash (§6), e.g. 'verify_execution_hash'."
        },
        "hash_alg": {
          "type": "string",
          "const": "sha256",
          "description": "Execution-hash algorithm. v0.1 fixes this to SHA-256."
        },
        "mandate_namespace": {
          "type": "string",
          "description": "The vendor's reverse-DNS or registry-id namespace for non-core mandate types (§7.3), e.g. 'co.ainumbers', 'org.apexlogics', 'me.omegacentauri'."
        }
      }
    }
  },
  "example": {
    "uri": "https://postoaklabs.github.io/chaingraph/ext/x-chaingraph/v0.1",
    "description": "Emits ChainGraph verifiable decision artifacts (hash-anchored, chainable).",
    "params": {
      "conformance_level": "L4",
      "graph_index": "https://ainumbers.co/chaingraph/chaingraph.json",
      "verify_endpoint": "verify_execution_hash",
      "hash_alg": "sha256",
      "mandate_namespace": "co.ainumbers"
    }
  }
}
