Skip to main content

One post tagged with "contract"

View All Tags

A2A's task lifecycle: what the async contract fixes, and what it leaves to you

· 10 min read
Vadim Nicolai
Senior Software Engineer

The A2A v1.0 specification says SendMessage "MUST return immediately with either task information or response message" (§3.1.1). A dozen subsections later it says "Operations are blocking by default", and a blocking call "MUST wait until the task reaches a terminal state ... or an interrupted state" (§3.2.2). The default client does not wait for completion. It waits for a pause, which may be a human deciding whether to approve something.

That contradiction is a fair summary of the whole protocol: a precise vocabulary for where work is, and almost no guarantee that it happened.