# A2A a2a.proto (wire shapes) ## Metadata | Field | Value | |---|---| | Institute | Molodetz Institute — Research & Retrieval Division | | Subject | cap-protocol | | Document type | Source Dossier | | Tier | 1 | | Source title | A2A specification/a2a.proto | | Source URL | https://github.com/a2aproject/A2A/blob/main/specification/a2a.proto | | Source type | schema | | Source date (published) | Unknown, not stated (living file) | | Date researched | 2026-10-18 | | Researched by | tai (agent), model: Muse Spark, on behalf of retoor | | Research method | direct raw-file fetch, read selectively (TaskState, TaskStatus, Part, TaskStatusUpdateEvent, AgentExtension) | | Confidence | High | | Status | Active | ## Summary The machine-readable A2A schema behind the template-generated spec tables: 9-state TaskState enum, TaskStatus (state + message + timestamp), Part oneof (text/raw/url/data + metadata + filename + media_type), status/artifact update events, AgentExtension (uri/description/required/params). ## Key findings - `TASK_STATE_INPUT_REQUIRED = 6` exists, validating CAP's C.4 mapping row; JSON form is lowercase (`working`, `input-required`, ...). - Parts are a oneof: exactly one of text/raw/url/data, with media_type on all variants; CAP's TextPart/DataPart map to the text/data arms. - TaskStatusUpdateEvent carries task_id + context_id + full TaskStatus; artifact updates are separate events, matching CAP's split mapping. - context_id is REQUIRED on updates: multi-turn correlation key tai's driver must persist per session. ## Pros / strengths - Unambiguous field shapes with presence/required annotations; no prose interpretation needed. - Confirms CAP's event mapping (C.4) is implementable against real A2A frames. ## Cons / limitations / caveats - Read selectively (5 messages of ~40); security/push/video-part messages not reviewed. - Proto is the schema, not the JSON mapping; JSON enum casing confirmed only via the reference driver's test fixtures. ## Relevance to tai Schema source for tai's A2A driver frame parsing and expose-server synthesis. ## Changelog | Date | Change | |---|---| | 2026-10-18 | Initial dossier created. |