[Bug]: Contradictory A2A-Version transmission requirements
- Dominant language
- Shell
- Stars
- 25.7k
- Forks
- 2.6k
- Avg merge
- 3d 6h
- Merged PRs (30d)
- 16
Description
### What happened?
The specification says:
[3.6.1 (Client Responsibilities)](https://a2a-protocol.org/latest/specification/#361-client-responsibilities)
> Clients MUST send the A2A-Version header with each request [...]
But just a bit later, it says:
> Clients MAY provide the A2A-Version as a request parameter instead of a header.
The specification for JSON-RPC Protocol Binding adds:
[9.2 (Service Parameter Transmission)](https://a2a-protocol.org/latest/specification/#92-service-parameter-transmission)
> A2A service parameters defined in [Section 3.2.6](https://a2a-protocol.org/latest/specification/#326-service-parameters) MUST be transmitted using standard HTTP request headers, as JSON-RPC 2.0 operates over HTTP(S).
Same for HTTP+JSON/REST Protocol Binding:
[11.2 (Service Parameter Transmission)](https://a2a-protocol.org/latest/specification/#112-service-parameter-transmission)
> A2A service parameters defined in [Section 3.2.6](https://a2a-protocol.org/latest/specification/#326-service-parameters) MUST be transmitted using standard HTTP request headers.
Per [RFC2119](https://datatracker.ietf.org/doc/html/rfc2119), MUST means that sending the header "is an absolute requirement of the specification".
It should be clarified which requirement takes precedence in which case.
### Code of Conduct
- [x] I agree to follow this project's Code of Conduct
Contributor guide
Assessment
This issue has not been assessed yet.