{
  "title": "MCP and A2A Task State Mapping",
  "schemaVersion": "1.0",
  "researchFreeze": "2026-08-26",
  "protocolRevision": "MCP 2026-07-28 / A2A 1.0",
  "mcpRevision": "2026-07-28",
  "a2aCompatibilityLine": "1.0",
  "a2aWebsiteSpecificationLabel": "1.0.0",
  "a2aRepositoryPatchTag": "v1.0.1",
  "a2aVersionSemantics": "A2A negotiates major.minor 1.0; patch tags identify specification releases and are not negotiated.",
  "count": 9,
  "records": [
    {
      "A2A state": "unspecified",
      "Closest MCP Task state": "None",
      "Mapping quality": "None",
      "Notes": "A2A default/unknown value has no useful MCP equivalent.",
      "id": "R8-STATE01",
      "packageSourceIds": [
        "S003",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S137"
      ]
    },
    {
      "A2A state": "submitted",
      "Closest MCP Task state": "working",
      "Mapping quality": "Lossy",
      "Notes": "MCP Tasks do not expose a separate submitted state.",
      "id": "R8-STATE02",
      "packageSourceIds": [
        "S003",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S137"
      ]
    },
    {
      "A2A state": "working",
      "Closest MCP Task state": "working",
      "Mapping quality": "Strong",
      "Notes": "Meaning broadly aligns.",
      "id": "R8-STATE03",
      "packageSourceIds": [
        "S003",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S137"
      ]
    },
    {
      "A2A state": "completed",
      "Closest MCP Task state": "completed",
      "Mapping quality": "Strong",
      "Notes": "Translate final result/Artifacts separately.",
      "id": "R8-STATE04",
      "packageSourceIds": [
        "S003",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S137"
      ]
    },
    {
      "A2A state": "failed",
      "Closest MCP Task state": "failed",
      "Mapping quality": "Strong",
      "Notes": "Error envelopes and history differ.",
      "id": "R8-STATE05",
      "packageSourceIds": [
        "S003",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S137"
      ]
    },
    {
      "A2A state": "canceled",
      "Closest MCP Task state": "cancelled",
      "Mapping quality": "Strong with spelling difference",
      "Notes": "Cancellation remains implementation/cooperation dependent.",
      "id": "R8-STATE06",
      "packageSourceIds": [
        "S003",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S137"
      ]
    },
    {
      "A2A state": "input_required",
      "Closest MCP Task state": "input_required",
      "Mapping quality": "Partial",
      "Notes": "Input delivery and retry mechanisms differ.",
      "id": "R8-STATE07",
      "packageSourceIds": [
        "S003",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S137"
      ]
    },
    {
      "A2A state": "rejected",
      "Closest MCP Task state": "failed or immediate error",
      "Mapping quality": "Lossy",
      "Notes": "Preserve native rejected reason in adapter metadata.",
      "id": "R8-STATE08",
      "packageSourceIds": [
        "S003",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S137"
      ]
    },
    {
      "A2A state": "auth_required",
      "Closest MCP Task state": "input_required or authorization error",
      "Mapping quality": "Lossy",
      "Notes": "MCP has no identical Task state; use explicit auth/elicitation flow.",
      "id": "R8-STATE09",
      "packageSourceIds": [
        "S003",
        "S049"
      ],
      "sourceIds": [
        "S339",
        "S137"
      ]
    }
  ]
}