<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="info" ipr="trust200902" submissionType="IETF" docName="draft-yan-a2a-device-agent-applicability-01">

  <front>
      <title abbrev="Applicability of A2A Protocol for Network Management Agents">
Applicability of A2A Protocol for Network Management Agents
      </title>

    <!-- AUTHORS -->
    
	
	 <author fullname="Jinjie Yan"
           >
      <organization abbrev="ZTE">
        ZTE Corporation
      </organization>
      <address>
        <email>yan.jinjie@zte.com.cn</email>
        <uri></uri>
      </address>
    </author>
	
	<author fullname="Xiaoqiu Zhang">
      <organization abbrev="ZTE">
        China Mobile
      </organization>
      <address>
        <email>zhangxiaoqiu@chinamobile.com</email>
        <uri></uri>
      </address>
    </author>

    <area>Operations and Management</area>

    <workgroup>Network Working Group</workgroup>

    <abstract>

      <t>
	  The evolution of network management towards autonomic operation requires the deployment of AI agents at various hierarchical layers, including directly on network elements. This transformation shifts network devices from passively managed resources to autonomous entities capable of local decision-making and collaborative problem-solving.
    </t>

      <t>
This document discusses the applicability of the Agent-to-Agent (A2A) Protocol to the network management plane, specifically for communication between Controller Agents (CAs) and Device Agents (DAs). This indicates that the inherent characteristics of Device Agents necessitate the adoption of the agent-to-agent communication paradigm. The document further explores generic workflows, deployment scenarios, and the relationship of A2A with existing network management protocols like NETCONF, RESTCONF, gNMI,and the Model Context Protocol (MCP).
      </t>

    </abstract>

  </front>

  <middle>

    <section anchor="sec:introduction" title="Introduction">
		<t>
The management of large-scale networks is undergoing a significant transition, moving from centralized, imperative control to distributed, intent-based autonomic operation. A key enabler of this shift is the deployment of AI Agents on network elements. These Device Agents (DAs) transform network devices from passive, managed resources into autonomous entities that can perceive their local environment, make decisions, and act to achieve goals delegated by a higher-level Controller Agent (CA).
        </t>	
     
	<t>
This transformation necessitates a re-evaluation of the communication protocols utilized. Traditional network management protocols are typically based on a client-server, request-response model where a controller directly manipulates data on a device. While this model remains effective for certain interactions, it may not fully support the collaborative needs of autonomous agents.
    </t>
   
    <t>
This document examines the applicability of the Agent-to-Agent (A2A) Protocol<xref target="A2A-SPEC"/> for communication between Controller Agents and Device Agents. The objectives of this document are to: 
      </t>
	  <ul>
		<li>
		Explain why CA-DA interactions often align with an "agent-to-agent" model, rather than exclusively a "controller-to-device" or "agent-to-tool" paradigm.
		</li>
		
		<li>
		Explore how the features of the A2A protocol, such as task management, stateful sessions, and peer-to-peer collaboration, are well-suited to the needs of autonomic network management.
		</li>
		<li>
		Describe generic workflows and deployment scenarios for A2A in the network management plane.
		</li>
		<li>
		Clarify the relationship between A2A and other relevant protocols, including NETCONF <xref target="RFC6241"/>, gNMI, and the Model Context Protocol (MCP).
		</li>
		
	  </ul>
	  <t>
	  This document aims to provide a conceptual framework for applying the base A2A protocol to the network management domain.
	  </t>

    </section>
	
	<section anchor="Terminology"
		         numbered="true"
		         toc="default">
			<name>Terminology</name>
			<t>
			The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.
			</t>
			<t>
			This document uses the following terms: 
			</t>
			<t>
			Agent-to-Agent (A2A) Protocol: An open standard protocol for enabling secure communication and collaboration between autonomous AI Agents, as specified in <xref target="A2A-SPEC"/>.
			</t>
			<t>
			Controller Agent (CA): An AI Agent operating in a network controller or domain management system.
			</t>
			<t>
			Device Agent (DA): An AI Agent deployed on or embedded within a network element, possessing a degree of autonomy.
			</t>
			<t>
			Agent-to-Tool (A2T) Paradigm: A communication model where an agent invokes a tool, which is a passive entity that performs a specific, well-defined function and returns a result.
			</t>
			<t>
			Agent-to-Agent (A2A) Paradigm: A communication model where autonomous agents collaborate as peers to achieve a shared or delegated goal.
			</t>
		</section>
    
   <section 	numbered="true"
		         toc="default">
			<name>The Shift from Managed Device to AI Agent</name>
			      <section 	numbered="true"
		         toc="default">
			<name>Three-Layer Agent Architecture</name>
			<t>
			The deployment of AI Agents in network management typically follows a three-layer hierarchical model. This architecture is illustrated in Figure 1.
			</t>
			<figure title="Three-Layer Agent Architecture" align="center">
         <artwork align="center"><![CDATA[
+--------------------------------------------------------------------+
|                  Service Orchestration Layer                       |
|                                                                    |
|  +--------------------------------------------------------------+  |
|  |             Service Orchestration Agent (SOA)                |  |
|  +--------------------------------------------------------------+  |
+--------------------------------------------------------------------+
                                 |
                                 | A2A Protocol
                                 v
+--------------------------------------------------------------------+
|                   Network Controller Layer                         |
|                                                                    |
|  +--------------------------------------------------------------+  |
|  |                 Controller Agent (CA)                        |  |
|  +--------------------------------------------------------------+  |
+--------------------------------------------------------------------+
                                 |
                                 | A2A Protocol
                                 | 
                                 v
+--------------------------------------------------------------------+
|                    Network Element Layer                           |
|                                                                    |
| +----------------+   +----------------+   +----------------+       |
| | Device Agent   |   | Device Agent   |   | Device Agent   |       |
| | (Router)       |   | (Switch)       |   | (Base Station) |       |
| +----------------+   +----------------+   +----------------+       |
+--------------------------------------------------------------------+
		 ]]></artwork>
	 </figure>
	 
	 </section>

		<section 	numbered="true"
					 toc="default">
				<name>Limitations of Traditional Management Paradigms</name>
				<t>
				Traditional network management protocols like SNMP, NETCONF, and gNMI are built on a paradigm where the network element is a passive repository of state and configuration data. Intelligence resides solely in the controller, which exerts imperative control through explicit operations:
				</t>
				<ul>
				<li>
				Imperative Control: The controller specify the exact sequence of commands to achieve a desired state.
				</li>
				<li>
				Request-Response Model: The device only acts in response to a direct request from the controller.
				</li>
				<li>
				Limited Abstraction: The controller requires knowledge of device-specific details.
				</li>
				<li>
				High Latency for Local Events: Responding to a local event (e.g., a link failure) requires a round-trip to the controller, which may be too slow for time-critical applications.
				</li>
				</ul>
				<t>
				In dynamic, large-scale networks, these limitations hinder scalability, resilience, and advanced automation.
				</t>

		</section>
		
		<section 	numbered="true"
		         toc="default">
			<name>Characteristics of a Device Agent</name>
			<t>
			Integrating a DA redefines a network element as an intelligent, autonomous entity with:
			</t>
			<ul>
				<li>
				Autonomy: Independent decision-making and action on delegated goals (e.g., maintaining link uptime via rerouting).
				</li>
				<li>
				Statefulness: Retention of context, history, and learned behaviors for informed decisions.
				</li>
				<li>
				Proactiveness: Initiation of communications, notifications, or remediations based on observations.
				</li>
				<li>
				Goal-Oriented Behavior: Planning and reasoning to achieve high-level objectives, beyond mere command execution.
				</li>
			</ul>
			<t>
			These traits differentiate DA interactions from those with traditional devices.
			</t>
			

		</section>

   

   </section>
   
   
    <section 	numbered="true"
		         toc="default">
			<name>Agent-to-Agent vs. Agent-to-Tool Paradigm</name>
			<t>
			Distinguishing agents from tools is essential for paradigm selection. Both A2A and A2T have roles in network management and can complement each other based on autonomy levels.
			</t>
			
			
			<section 	numbered="true"
		         toc="default">
			<name>The Agent-to-Tool Model</name>
			<t>
			In an Agent-to-Tool (A2T) model, an agent interacts with a tool.  A tool is a passive component that:
			</t>
			<ul>
				<li>
				Performs a specific, well-defined function.
				</li>
				<li>
				Is typically stateless.
				</li>
				<li>
				Does not have its own goals or intentions.
				</li>
				<li>
				Responds only when invoked.
				</li>
			</ul>
			<t>
			MCP exemplifies this, standardizing function calls and responses. It suits simple interactions, including with advanced agents for imperative tasks, or wrapping legacy interfaces like NETCONF.
			</t>

			</section>
			
			<section 	numbered="true"
		         toc="default">
			<name> The Agent-to-Agent Model</name>
			
			<t>
			In A2A, agents collaborate as peers. As outlined in Section 3.3, agents are autonomous, stateful, proactive, and goal-driven. Interactions encompass:
			</t>
			<ul>
				<li>
				Delegation of tasks and goals.
				</li>
				<li>
				Negotiation and collaboration.
				</li>
				<li>
				Sharing of context and state.
				</li>
				<li>
				Long-lived, multi-turn interactions.
				</li>
				<li>
				Asynchronous and proactive notifications.
				</li>
			</ul>
			<t>
			Protocols designed for this model, such as the A2A Protocol, provide primitives for task lifecycle management, stateful conversations, and peer-to-peer discovery.
			</t>

			</section>
			
			<section 	numbered="true"
		         toc="default">
			<name>Why Device Agents Require an A2A Paradigm</name>
			<t>
			Given the characteristics of a Device Agent (Section 3.3), a DA is typically an "agent" rather than a "tool." The A2A paradigm leverages these capabilities effectively for collaborative scenarios. 
			</t>
			<t>
			Exclusive A2T use might constrain proactiveness and intent delegation, reducing interactions to basic calls. However, A2T can serve as a building block within an A2A framework—for example, a DA might expose certain functions via A2T while engaging in broader collaboration via A2A. This hybrid approach allows for flexibility, ensuring that simpler operations can use efficient A2T mechanisms without forgoing the benefits of A2A for more complex, intent-driven tasks.
			</t>
			<t>
			Therefore, while communication between a Controller Agent and a Device Agent is often best served by an agent-to-agent interaction, incorporating A2T elements can enhance efficiency in specific contexts.
			For examples of how A2A enables agent-to-agent collaboration in network management, see Section 6, particularly Section 6.1 and Section 6.2.
			</t>		
			

			</section>

	</section>
   
    <section 	numbered="true"
		         toc="default">
			<name>A2A Protocol Applicability in Network Management</name>
			<t>
			The A2A Protocol's core features align well with CA-DA needs.
			</t>
			
			
			<section 	numbered="true"
		         toc="default">
			<name>Task-Oriented Collaboration</name>
			<t>
			Network management operations are naturally expressed as tasks (e.g., service configuration, fault diagnosis). The A2A protocol's task management primitives are well-suited to these requirements: 
			</t>
			<ul>
				<li>
				Task Creation: A CA can delegate a high-level task to a DA (e.g., "optimize energy usage") without specifying the implementation details.
				</li>
				<li>
				Task Lifecycle: The DA manages the task through its lifecycle (PENDING, WORKING, COMPLETED/FAILED), providing the CA with clear status visibility.
				</li>
				<li>
				Asynchronous Execution: Long-running tasks, such as a firmware upgrade, can be managed asynchronously. The CA can create the task and check on its status later, without maintaining a persistent session for the duration of the task.
				</li>
				<li>
				Artifacts: The DA can return structured artifacts upon task completion, such as diagnostic reports or verification of a configuration change.
				</li>
				
			</ul>
		
	
			</section>
			
			<section 	numbered="true"
		         toc="default">
			<name>Stateful, Long-Running Interactions</name>
			<t>
			
			Many network management operations are often long-running, involve multiple steps, produce incremental results, or require human intervention. A2A provides mechanisms for managing such asynchronous interactions, ensuring that clients receive updates effectively, whether they remain continuously connected or operate in a more disconnected fashion.			
			
			</t>
			<ul>
				<li>
				Stable context_id: Every message carries a globally unique context identifier. Both the Controller Agent and Device Agent can resume the dialogue at any time without re-explaining the original intent. This is what makes the multi-hour energy-optimization dialogue possible.
				</li>
				<li>
				Long-lived bidirectional streams: When continuous connectivity is desired, either party may open a WebSocket or gRPC stream (the “Task Stream” defined in the A2A specification). The Device Agent can push telemetry, intermediate results, or questions in real time.
				</li>
				<li>Push notifications for disconnected scenarios: For the common case where the Controller Agent is not permanently connected, the Device Agent pushes TaskStatusUpdateEvent, TaskArtifactUpdateEvent, or arbitrary messages to a pre-registered webhook. This is the mechanism used in Appendix A and is the recommended pattern for long-running network management tasks.
				</li>
			</ul>

			</section>
			
			<section 	numbered="true"
		         toc="default">
			<name>Autonomous Operation and Proactive Notification</name>
			<t>
			The peer-to-peer nature of A2A allows a DA to be proactive.
			</t>
			<ul>
				

				<li>
				Sending unsolicited TaskStatusUpdateEvent when an autonomous decision is taken (e.g., sleeping or waking a line card).
				</li>
				<li>
				Pushing intelligent, analysed notifications instead of raw alarms.
				</li>
				<li>
				Asking for clarification or proposing alternatives when the
				original intent cannot be fulfilled with current local constraints.
				</li>
				<li>
				Delivering final results or artefacts via push notification when the task completes, even if the Controller Agent has been offline for hours.
				</li>
			</ul>

			</section>
			
			<section 	numbered="true"
		         toc="default">
			<name>Dynamic Capability Discovery</name>
			<t>
			The A2A Agent Card provides a standardized mechanism for a DA to advertise its capabilities.
			</t>
			<ul>
				<li>
				Service Discovery: A CA can discover a DA and its endpoint.
				</li>
				<li>
				Capability Negotiation: A CA can inspect the DA's Agent Card to understand what skills it possesses, what data models it understands, and its level of autonomy.
				</li>
				<li>
				Extensibility: This allows for vendor-specific extensions and new capabilities to be added over time without changing the protocol itself.
				</li>
			</ul>

			</section>

	</section>
	
	
	<section 	numbered="true"
		         toc="default">
			<name>Generic Workflows and Deployment Scenarios</name>
			
			<section 	numbered="true"
		         toc="default">
			<name>Intent-Based Configuration</name>
			<t>
			This workflow shifts from imperative command execution to intent-based delegation:
			</t>
			<ol>
				<li>
				The CA formulates a high-level intent.
				</li>
				<li>
				The CA creates an A2A task and delegates it to the relevant DA(s), expressing the intent in the message body, potentially using a combination of natural language and structured data.
				</li>
				<li>
				The DA receives the task, parses the intent, and plans the necessary low-level configuration steps (e.g., configure IPsec, QoS, routing).
				</li>
				<li>
				The DA executes the steps, handling any local errors or dependencies.
				</li>
				<li>
				Upon completion, the DA reports the task status and provides verification (e.g., tunnel status, traffic counters) as a task artifact.
				</li>
			</ol>

			</section>
			
			<section 	numbered="true"
		         toc="default">
			<name>Autonomous Fault Remediation</name>
			
			<t>
			This workflow demonstrates the value of DA autonomy.
			</t>
			<ol>
				<li>
				The DA performs continuous monitoring of local device health based on its local context awareness.
				</li>
				<li>
				The DA detects a fault (e.g., a primary link fails).
				</li>
				<li>
				Based on pre-delegated policy from the CA, the DA autonomously executes a local remediation action (e.g., reroutes traffic to a backup link) within milliseconds.
				</li>
				<li>
				After taking action, the DA proactively sends an A2A message to the CA, informing it of the event, the action taken, and the current status.
				</li>
				<li>
				The CA receives the notification, updates its network-wide view, and can initiate further actions if needed (e.g., creating a maintenance ticket).
				</li>
			</ol>

			</section>
			
			<section 	numbered="true"
		         toc="default">
			<name>Deployment Models</name>
			
			<figure title="DA Deployment Models" align="center">
         <artwork align="center"><![CDATA[
+---------------+-------------------------+-------------------------+
| Property      | On-Box                  | Off-Box                 |
+---------------+-------------------------+-------------------------+
| Description   | DA runs on device       | DA on adjacent          |
|               | hardware, in NOS or     | hardware, managing      |
|               | container/VM.           | via NETCONF/gNMI        |
|               |                         | as proxy.               |
+---------------+-------------------------+-------------------------+
| Advantages    | Lowest latency;         | Legacy support;         |
|               | direct state access     | easier scaling          |
+---------------+-------------------------+-------------------------+
| Considera-    | Resource limits;        | Added latency;          |
| tions         | update challenges       | proxy complexity        |
+---------------+-------------------------+-------------------------+             
		  ]]></artwork>
	 </figure>

			</section>

	</section>
	
	<section 	numbered="true"
		         toc="default">
			<name>Relationship to Other Protocols</name>
			
			<section 	numbered="true"
		         toc="default">
			<name> NETCONF, RESTCONF, and gNMI</name>
				<t>
				A2A complements these protocols; it does not replace them. They operate at different levels of abstraction.
				</t>
				<ul>
					<li>
					A2A is for task-based, intent-driven collaboration between agents.
					</li>
					<li>
					NETCONF/gNMI are for structured, data-oriented configuration and telemetry exchange between a manager and a device.
					</li>
				</ul>
				<t>
				A Device Agent will often utilize NETCONF or gNMI as internal "tools" to interact with the underlying device's configuration datastore and hardware.
				</t>

			</section>
			
			<section 	numbered="true"
		         toc="default">
			<name>Relationship to Other Protocols</name>
			<t>
			A2A and MCP address different needs and are also complementary.
			</t>
			<ul>
				<li>
				A2A is for agent-to-agent collaboration, emphasizing autonomy and proactiveness.
				</li>
				<li>
				MCP is for agent-to-tool interaction, suitable for passive, function-specific calls.
				</li>
			</ul>
			<t>
			In the context of network management: 
			</t>
			<ul>
				<li>
				The CA-DA interaction is primarily A2A for collaborative tasks.
				</li>
				<li>
				A CA might use MCP to interact with a legacy device whose NETCONF interface has been wrapped as an MCP "tool".
				</li>
				<li>
				A DA might internally use MCP to call its own local tools (e.g., a ping utility, a NETCONF client).
				</li>
			</ul>
			<t>
			This complementarity enables a gradual transition, where A2T via MCP handles basic operations, while A2A manages higher-level autonomy.
			</t>
			

			</section>

	</section>
	
   
   
	
    <section numbered="true"
		         toc="default">
			<name>Security Considerations</name>

      <t>
Applying the A2A model to network management introduces important security considerations. Since DAs have a degree of autonomy, the trust relationship between a CA and a DA is critical. 
      </t>
	  
        <ul>
		          <li>Authentication: CAs and DAs MUST mutually authenticate each other before any interaction. The use of mTLS is strongly RECOMMENDED.		  
				  </li>
		          <li>
				  Authorization and Policy: The scope of a DA's autonomy MUST be strictly defined by policies delegated from the CA. A DA MUST NOT be allowed to take actions that violate these policies.		  
				  </li>
				  <li>
				  Auditability: All significant actions taken by a DA MUST be logged and reported to the CA for auditing and accountability.		  
				  </li>
		</ul>


    </section>
	
	<section numbered="true" toc="default"> <name>IANA Considerations</name>
   <t>This document has no IANA actions.</t>   
   </section>
	
	

    <section anchor="Acknowledgments" title="Acknowledgments">

      <t>
        TBD.
      </t>

    </section>

  </middle>

  <back>
 
	 <references>
		  <name>References</name>
		  <references>    
			<name>Normative References</name>
				<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
				<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
				<reference anchor="A2A-SPEC" target="https://a2a-protocol.org/dev/specification/">
					<front>
				  <title>Agent-to-Agent Protocol Specification</title>
				  <author>
					<organization/>
				  </author>
				  <date/>
					</front>
				  </reference>
				
			</references>
			<references>    
				<name>Informative References</name>
				 
		  <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6241.xml"/>
			</references>
	</references>
	
	<section>
	<name>Example Use Case: Network Energy Efficiency</name>
	<t>
	This appendix provides a concrete, though simplified, example of how the A2A protocol can be applied to a network energy efficiency scenario. The JSON examples are simplified for readability and are compliant with the A2A Protocol Specification v0.3.0.
	</t>
		<section>
		<name>Scenario Description</name>
		<t>
		A network operator wants to reduce the power consumption of its edge routers during off-peak hours (e.g., 01:00 to 06:00) without impacting service availability. The high-level business intent is: "Reduce energy consumption by at least 15% during the night while ensuring link capacity is always sufficient for demand."
		</t>
		<t>
		The Controller Agent (CA) translates this intent into a policy for its Device Agents (DAs). The policy allows DAs to autonomously put underutilized line cards or ports into a low-power (sleep) state and wake them up when traffic demand increases.
		</t>
		</section>
		
		<section>
		<name>Device Agent Capability Advertisement</name>
		<t>
		The Device Agent on an edge router advertises its energy-saving capabilities via its A2A Agent Card. It exposes a skill named "network.energy.optimize".
		</t>
		
         <artwork type="abnf"><![CDATA[
{
  "protocol_version": "0.3.0",
  "name": "Edge Router 01 DA",
  "description": "Device Agent for edge router energy management",
  "version": "1.2.0",
  "supported_interfaces": [
    {
      "url": "https://da-edge-router-01.example.com/a2a",
      "protocol": "HTTP+json"
    }
  ],
  "capabilities": {
    "streaming": true,
    "push_notifications": true
  },
  "default_input_modes": ["text/plain", "application/json"],
  "default_output_modes": ["text/plain", "application/json"],
  "skills": [
    {
      "id": "skill-energy-opt",
      "name": "network.energy.optimize",
      "description": "Autonomously manages device power state. Accepts time_window (start/end) and min_power_reduction_pct as parameters.",
      "tags": ["energy", "optimization", "power-management"],
      "examples": [
        "Reduce energy by 15% during 01:00-06:00"
      ]
    }
  ]
}		 
		 ]]></artwork>
		
		
		
		</section>
		
		<section>
		<name> Interaction Flow</name>
		<t>
		The following steps illustrate the A2A interaction between the CA and DA.
		</t>
		<t>
		Step 1: CA Delegates the Task
		</t>
		<t>
		The CA initiates a task to delegate the energy-saving goal to the DA. It sends a `SendMessage` request.
		</t>
		<artwork type="json"><![CDATA[
POST /v1/message:send HTTP/1.1
Host: da-edge-router-01.example.com
Content-Type: application/json
Authorization: Bearer token
A2A-Version: 0.3

{
  "message": {
  "message_id": "msg-01",
    "role": "user",
    "parts": [
      {
        "text": "Execute skill network.energy.optimize with time_window from 01:00:00 to 06:00:00 and min_power_reduction_pct of 15%"
      }
    ]
  },
  "configuration": {
    "pushNotificationConfig": {
      "url": "https://ca.example.com/a2a/webhook",
      "authentication": {
        "schemes": ["Bearer"],
      }
    }
  }
}
	]]></artwork>

		<t>
		Step 2: DA Acknowledges the Task
		</t>
		<t>
		The DA receives the message, validates the parameters, and creates the task. It responds with a `SendMessageResponse` including the task details. The DA generates a new `context_id` for this interaction.
		</t>
		<artwork type="json"><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/a2a+json

{
  "task": {
    "id": "task-energy-01",
    "contextId": "ctx-01",
    "status": {
      "state": "submitted",
      "timestamp": "2025-12-05T01:00:00Z"
    }
  }
}
]]></artwork>
		<t>
		Step 3: DA Performs Autonomous Action
		</t>
		<t>
		At 02:15, the DA's internal monitoring detects that traffic on line card 3 has been below 5% for the last 30 minutes. Based on its internal logic for achieving the 15% power reduction goal, it decides to put the line card into a low-power state.
		</t>
		
		<t>
		Step 4: DA Proactively Notifies the CA
		</t>
		<t>
		After successfully putting the line card to sleep, the DA proactively informs the CA of the action taken.In this simplified example, the DA sends a message to the CA. In a production implementation, this could be delivered via A2A's push notification mechanism (TaskStatusUpdateEvent) or streaming (Subscribe to Task).
		</t>
		<artwork type="json"><![CDATA[
POST https://ca.example.com/a2a/webhook HTTP/1.1
Host: ca.example.com
Content-Type: application/a2a+json
Authorization: Bearer shared-secret-token
X-A2A-Notification-Token: da-edge-router-01-token

{
  "statusUpdate": {
    "taskId": "task-energy-01",
    "contextId": "ctx-01",
    "status": {
      "state": "working",
      "timestamp": "2025-12-05T02:15:00Z",
      "message": {
        "role": "agent",
        "parts": [
          {
            "text": "Autonomous action taken for task task-energy-01: Line card 3 placed in low-power state due to low utilization. Current power savings: 18%."
          }
        ]
      }
    },
    "final": false
  }
}
]]></artwork>
		<t>
		Step 5: DA Reacts to Changing Conditions
		</t>
		<t>
		 At 05:30, traffic demand begins to increase. The DA's predictive traffic model forecasts that existing active line cards will exceed 80% utilization within the next 10 minutes. To prevent potential congestion, it autonomously wakes up line card 3.
		</t>
		
		<t>
		Step 6: DA Sends Another Proactive Notification
		</t>
		<t>
		The DA again informs the CA of its reactive, autonomous action.
		</t>
		<artwork type="json"><![CDATA[
POST https://ca.example.com/a2a/webhook HTTP/1.1
Host: ca.example.com
Content-Type: application/a2a+json
Authorization: Bearer shared-secret-token
X-A2A-Notification-Token: da-edge-router-01-token

{
  "statusUpdate": {
    "taskId": "task-energy-01",
    "contextId": "ctx-01",
    "status": {
      "state": "working",
      "timestamp": "2025-12-05T05:30:00Z",
      "message": {
        "role": "agent",
        "parts": [
          {
            "text": "Proactive action taken for task task-energy-01: Line card 3 awakened to meet anticipated traffic demand. Current power savings: 5%."
          }
        ]
      }
    },
    "final": false
  }
}
		 ]]></artwork>
		
		<t>
		Step 7: DA Completes the Task
		</t>
		<t>
		At the end of the time window (06:00), the DA concludes the optimization task and sends a final message to indicate the task is complete.
		</t>
		
        <artwork type="json"><![CDATA[
POST https://ca.example.com/a2a/webhook HTTP/1.1
Host: ca.example.com
Content-Type: application/a2a+json
Authorization: Bearer shared-secret-token
X-A2A-Notification-Token: da-edge-router-01-token

{
  "statusUpdate": {
    "taskId": "task-energy-01",
    "contextId": "ctx-01",
    "status": {
      "state": "completed",
      "timestamp": "2025-12-05T06:00:00Z",
      "message": {
        "role": "agent",
        "parts": [
          {
            "data": {
              "final_savings_percent": 16.2,
              "actions_taken": ["line_card_3_slept", "line_card_3_woken"]
            }
          }
        ]
      }
    },
    "final": true
  }
}
		 ]]></artwork>
		

		</section>
		
		<section>
		<name>Key Observations from the Example</name>
		<ul>
			<li>
			Intent Delegation: The CA delegates a high-level goal ("optimize energy") without needing to know the specifics of how the DA will achieve it (which ports to sleep, when, etc.).
			</li>
			<li>Autonomy: The DA makes its own decisions based on local context (traffic load) to achieve the delegated goal.
			</li>
			<li>
			Proactiveness: The DA initiates communication to inform the CA of significant autonomous actions, providing visibility without requiring constant polling from the CA.
			</li>
			<li>
			 Task-Oriented: The entire interaction is framed within a long- running task, which provides a clear context and lifecycle for the operation.
			</li>
		</ul>
		</section>
		
		
	</section>

  </back>

</rfc>
