A Copilot Studio orchestrator agent delegates a financial data retrieval task to a specialized Finance Sub-Agent using the A2A protocol. After dispatching the task, the orchestrator polls the task status endpoint. After 45 seconds, the task remains in the 'working' state. The SLA for the end-user response is 60 seconds. The Finance Sub-Agent's A2A capability card advertises a maxResponseTime of 30 seconds. What should the orchestrator do to comply with both the A2A protocol contract and the user SLA?
Select an answer to reveal the explanation.
Short Explanation and Infographic
When an agent advertises a 30-second max response time and still has its hand up after 45 seconds, the contract is already broken. Waiting past 60 seconds blows the user SLA on top of that. Canceling the task, logging the breach, and gracefully telling the user the data is unavailable is the correct protocol-aware response — not zombie-polling or firing off duplicate tasks that could trigger double-write side effects.
Full explanation below image
Full Explanation
The A2A protocol's capability card (AgentCard) allows sub-agents to advertise operational parameters including maxResponseTime. When a sub-agent has exceeded its advertised maxResponseTime and the orchestrator has SLA commitments to honor, the orchestrator must take action rather than waiting indefinitely.
Option B is correct because it follows the proper A2A protocol sequence for a timed-out delegated task. The tasks/cancel endpoint allows the orchestrator to issue a cancellation request for an in-progress task identified by its task ID. This signals to the Finance Sub-Agent to abort the operation and release resources. Notifying the user of temporary unavailability maintains transparency without a confusing silence or timeout. Logging the SLA breach creates the observability signal needed for operations teams to identify a degraded sub-agent. Optionally retrying with exponential backoff (if the overall user response window allows it — in this case it likely does not, since 15 seconds remain) is the correct resilience pattern when the sub-agent is expected to recover.
Option A is incorrect. The A2A protocol does not require indefinite waiting. The capability card's maxResponseTime is an explicit contract between the sub-agent and its consumers. When that contract is violated, the orchestrator has the right and responsibility to cancel the task and handle the failure gracefully. Indefinite polling would violate the user's 60-second SLA.
Option C is incorrect and potentially dangerous. Issuing a duplicate task without canceling the first creates two concurrent task executions. For a financial data retrieval task, this might seem harmless (read-only), but if the task involves writing financial records, a double-write could create corrupted or duplicate financial entries. Even for read-only tasks, duplicate requests consume sub-agent resources unnecessarily and create operational complexity (two task IDs to track, two potential responses to resolve).
Option D is incorrect. The A2A protocol does not define a mechanism for the orchestrator to modify a task's priority field mid-execution by re-sending the request. Priority is set at task creation time; if it were supported, re-sending would effectively be issuing a new task (with the same caveat about duplicates as option C). This option also misunderstands how queue priorities work — a lower-priority task in a lower-priority queue would complete slower, not faster.
Exam tip: For A2A error handling questions on AB-620, know these key concepts: (1) tasks/cancel is the correct way to terminate an in-progress A2A task; (2) capability card SLA violations must be handled proactively by the orchestrator; (3) duplicate task issuance without cancellation is an anti-pattern; (4) exponential backoff is the recommended retry strategy; (5) graceful degradation (notify user, log breach) is always preferred over silent hangs.