{"id":"delegated-agent-protocols","name":"Delegated tasks, messages and artifacts","shortName":"Delegated tasks, messages and artifacts","role":"Task lifecycle, artifact ownership, input-required states, cancellation and authenticated service boundaries.","description":"Delegation hands a bounded task to another participant and receives messages, artifacts and status over time. That interaction can outlive a single request. The parent must know which task is being updated, who owns its artifacts and whether it is working, waiting for input, completed, failed or canceled. A2A defines a task-oriented protocol surface for such exchanges; this does not prove that either participant is intelligent or correct. A tool call and a delegated task can both be asynchronous, but they may expose different lifecycles and ownership contracts. The delegator should not turn a dropped connection into a new task without checking the existing identity. It should also retain its own final-goal and authority checks rather than treating a remote completed status as permission to publish an artifact.","mechanism":["The request declares a task identity, goal and permitted information/effects for the receiving service.","Status and artifact updates refer to that identity while execution continues.","An input-required state asks for missing information without claiming completion or starting a duplicate task.","The parent verifies the returned artifact and applies its own task and permission contract before further effects."],"learningObjective":"Track task identity, partial artifacts and input-required states without equating remote completion with accepted task success.","engineeringExample":"A fictional delegated review task T17 returns a partial inspection note while its state is working. It later requests the asset revision and remains input-required. Sending that revision resumes T17; creating unrelated T18 instead could duplicate work and lose the original context. When T17 reports completion with an artifact, the parent checks that it refers to FAN-7 and the requested revision. A completed artifact for FAN-9 remains wrong for this task. This is a worked message lifecycle, not a running A2A endpoint.","misconception":"Delegation does not transfer unlimited authority or make a remote completion flag an independent correctness verdict.","check":{"question":"The network disconnects while delegated task T17 is working. What should the parent avoid?","options":["Checking T17’s existing status","Blindly creating a duplicate task for the same intended effect","Retaining the task identity"],"answer":1,"explanation":"A lost connection does not establish that the task stopped; duplication must be controlled at the task/effect boundary."},"checks":[],"prerequisites":["mcp-host-client-server","durable-actions-idempotency"],"related":["tool-loop","evaluation"],"specs":[{"label":"Mechanism boundary","value":"How is an unfinished delegated task represented?","context":"Worked lifecycle based on the inspected A2A specification; no network endpoint, interoperability test or multi-agent runtime is executed. The concrete protocol revision must be pinned for a future adapter."},{"label":"Evidence type","value":"Authored worked example","context":"Worked explanation with a bounded numeric or state example. This lesson does not claim an executing implementation of an external model or platform."}],"interfaces":[{"name":"Declared input and state","direction":"in","signal":"The request declares a task identity, goal and permitted information/effects for the receiving service."},{"name":"Checked outcome","direction":"out","signal":"Track task identity, partial artifacts and input-required states without equating remote completion with accepted task success."}],"tradeoff":"Task-oriented protocols support long-lived work but require explicit ownership, reconnection and failure handling.","whyAI":"Coordinated AI systems need identities and outcome contracts between participants, not merely more agent names.","sourceIds":["automation-a2a","automation-temporal-activities"],"sources":[{"title":"A2A specification","url":"https://a2a-protocol.org/latest/specification/"},{"title":"Temporal Activities","url":"https://docs.temporal.io/activities"}],"science":[{"title":"Delegated tasks, messages and artifacts · explicit relationship","equation":"A delegated task retains its identity across messages, input requests and artifact updates. Remote completion is checked against the parent’s task and authority before further effects.","explanation":"A fictional delegated review task T17 returns a partial inspection note while its state is working. It later requests the asset revision and remains input-required. Sending that revision resumes T17; creating unrelated T18 instead could duplicate work and lose the original context. When T17 reports completion with an artifact, the parent checks that it refers to FAN-7 and the requested revision. A completed artifact for FAN-9 remains wrong for this task. This is a worked message lifecycle, not a running A2A endpoint.","assumptions":"Worked lifecycle based on the inspected A2A specification; no network endpoint, interoperability test or multi-agent runtime is executed. The concrete protocol revision must be pinned for a future adapter."}],"evidenceNotes":"This is a worked explanation, not an executing external platform, model or robot. The quantities and fixtures are authored. Source scope is recorded in the automation learning review manifest; no source benchmark or private system behavior is claimed. Worked lifecycle based on the inspected A2A specification; no network endpoint, interoperability test or multi-agent runtime is executed. The concrete protocol revision must be pinned for a future adapter.","level":"software","branch":"Delegated tasks and coordination","subbranch":"Delegated tasks, messages and artifacts","scale":"Logical state, task evidence and declared units; no physical assembly scale","kind":"system","workstream":"W11","visualFamily":"software-flow","labId":"library","labScope":"The worked example explains this mechanism. General numerical labs are a reference; they do not execute this lesson’s full mechanism.","history":[],"workedTrace":{"taskId":"T17","states":["working","input-required","working","completed"],"wrongArtifactAsset":"FAN-9"}}