{
  "schema": "kallipolis.resource-quality.v1",
  "id": "resource.interop.json-rpc-2.0",
  "version": "1.0.0",
  "title": "JSON-RPC 2.0 interoperability profile",
  "summary": "Machine-readable implementation facts for JSON-RPC requests, notifications, response correlation, and transport-independent remote procedure calls.",
  "content": {
    "kind": "protocol-overview",
    "facts": [
      {
        "id": "fact.json-rpc.transport",
        "statement": "JSON-RPC 2.0 is a stateless, lightweight, transport-agnostic remote procedure call protocol that uses JSON data structures.",
        "normativeLevel": "informative",
        "sourceIds": ["source.json-rpc.specification"]
      },
      {
        "id": "fact.json-rpc.request",
        "statement": "A JSON-RPC 2.0 Request sets jsonrpc to exactly 2.0, names the method, may include structured params, and uses an id to correlate the response when a response is expected.",
        "normativeLevel": "normative",
        "sourceIds": ["source.json-rpc.specification"]
      },
      {
        "id": "fact.json-rpc.notification",
        "statement": "A JSON-RPC Notification omits the id member, and the server must not send a response to it.",
        "normativeLevel": "normative",
        "sourceIds": ["source.json-rpc.specification"]
      },
      {
        "id": "fact.json-rpc.response",
        "statement": "A JSON-RPC Response includes the matching request id and exactly one of result or error.",
        "normativeLevel": "normative",
        "sourceIds": ["source.json-rpc.specification"]
      }
    ]
  },
  "language": "en",
  "category": "agent-interoperability",
  "state": "prepared",
  "canonicalUrl": "https://platoskallipolis.com/resources/agent-interoperability/json-rpc-2.0.json",
  "contentHash": "sha256:b54212db7cbb40a47f843332a9f2bfb1d37e8dbdff1a315964d1ac20b6430981",
  "owner": {
    "id": "platos-kallipolis",
    "name": "Plato's Kallipolis",
    "type": "organization",
    "accountabilityUrl": "https://platoskallipolis.com/about"
  },
  "access": {
    "mode": "public",
    "url": "https://platoskallipolis.com/resources/agent-interoperability/json-rpc-2.0.json",
    "authentication": "none",
    "robotsAllowed": true
  },
  "provenance": {
    "method": "official-specification",
    "sources": [
      {
        "id": "source.json-rpc.specification",
        "url": "https://www.jsonrpc.org/specification",
        "title": "JSON-RPC 2.0 Specification",
        "publisher": "JSON-RPC Working Group",
        "observedAt": "2026-08-26T15:00:00Z"
      }
    ]
  },
  "observedAt": "2026-08-26T15:00:00Z",
  "freshness": {
    "policy": "version-bound",
    "state": "current",
    "nextReviewAt": "2026-09-02T15:00:00Z",
    "sourceVersion": "2.0"
  },
  "license": {
    "id": "json-rpc-permissive-notice",
    "url": "https://www.jsonrpc.org/specification",
    "redistributionAllowed": true
  },
  "evidence": [
    {
      "id": "evidence.json-rpc.specification",
      "type": "source-claim",
      "url": "https://www.jsonrpc.org/specification",
      "observedAt": "2026-08-26T15:00:00Z"
    }
  ]
}
