{
  "schema": "kallipolis.resource-quality.v1",
  "id": "resource.interop.a2a-1.0",
  "version": "1.0.0",
  "title": "Agent2Agent protocol 1.0 interoperability profile",
  "summary": "Machine-readable implementation facts for discovering A2A agents, negotiating protocol versions, and exchanging messages across independent Agent systems.",
  "content": {
    "kind": "protocol-overview",
    "facts": [
      {
        "id": "fact.a2a.purpose",
        "statement": "A2A 1.0 is an open standard for communication and interoperability between independent Agent systems built with different frameworks, languages, or vendors.",
        "normativeLevel": "informative",
        "sourceIds": ["source.a2a.specification"]
      },
      {
        "id": "fact.a2a.discovery",
        "statement": "An A2A server exposes an Agent Card describing identity, capabilities, skills, supported protocols, and interaction requirements; the standardized public discovery path is /.well-known/agent-card.json.",
        "normativeLevel": "normative",
        "sourceIds": ["source.a2a.specification"]
      },
      {
        "id": "fact.a2a.version-header",
        "statement": "A client using A2A 1.0 sends the A2A-Version header with each request using the Major.Minor protocol version so the server can apply the requested semantics.",
        "normativeLevel": "normative",
        "sourceIds": ["source.a2a.specification"]
      },
      {
        "id": "fact.a2a.bindings",
        "statement": "A2A separates its canonical data model and abstract operations from protocol bindings such as HTTP+JSON, JSON-RPC, and gRPC so shared semantics can remain interoperable across transports.",
        "normativeLevel": "informative",
        "sourceIds": ["source.a2a.specification"]
      }
    ]
  },
  "language": "en",
  "category": "agent-interoperability",
  "state": "prepared",
  "canonicalUrl": "https://platoskallipolis.com/resources/agent-interoperability/a2a-1.0.json",
  "contentHash": "sha256:ecdf0f489a58f4ef9408aed97d245cbc1cfa82ff7d282074c544a4c171f9a5cb",
  "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/a2a-1.0.json",
    "authentication": "none",
    "robotsAllowed": true
  },
  "provenance": {
    "method": "official-specification",
    "sources": [
      {
        "id": "source.a2a.specification",
        "url": "https://a2a-protocol.org/latest/specification",
        "title": "Agent2Agent Protocol Specification",
        "publisher": "A2A Protocol Project",
        "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": "1.0.0"
  },
  "license": {
    "id": "source-terms-apply",
    "url": "https://github.com/a2aproject/A2A/blob/main/LICENSE",
    "redistributionAllowed": false
  },
  "evidence": [
    {
      "id": "evidence.a2a.specification",
      "type": "source-claim",
      "url": "https://a2a-protocol.org/latest/specification",
      "observedAt": "2026-08-26T15:00:00Z"
    }
  ]
}
