<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-agentic-ai-usecases-requirements-07" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="agentic-ai-ucreq">Agentic AI Use Cases and Requirements</title>
    <seriesInfo name="Internet-Draft" value="draft-agentic-ai-usecases-requirements-07"/>
    <author initials="T." surname="Reddy" fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <postal>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <country>India</country>
        </postal>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <author initials="Z." surname="Sarker" fullname="Zaheduzzaman Sarker">
      <organization>Nokia</organization>
      <address>
        <postal>
          <country>Sweden</country>
        </postal>
        <email>zaheduzzaman.sarker@nokia.com</email>
      </address>
    </author>
    <author initials="K." surname="Yao" fullname="Kehan Yao">
      <organization>China Mobile</organization>
      <address>
        <email>yaokehan@chinamobile.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 86?>

<t>This document describes use cases for agentic AI communication systems
and derives protocol requirements from those use cases. The requirements
are intended to guide IETF standardization work on protocols in the
context of agent-to-agent communication, agent-to-tool communication,
with focus on dialog management, transport, multimodal communication,
communication security, agent identity and authentication.</t>
    </abstract>
  </front>
  <middle>
    <?line 95?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>An AI agent is an autonomous, adaptive intelligent software system
that uses AI models to complete a specific objective on behalf of
a user or another AI agent. It makes decisions, executes actions,
and interacts with other agents through tasks and tools. Unlike
traditional software workloads that follow fixed execution paths, an
AI agent dynamically determines at run time which actions to take,
which tools to invoke, and which agents to collaborate with, based on
reasoning over its goals and context.</t>
      <t>This document presents use cases that illustrate the key interaction
patterns of agentic AI communication systems, and derives protocol
requirements from those use cases. The requirements are intended to
drive development of the agentic dialog management protocol, its
transport bindings, and the reference architecture for agentic AI systems.</t>
      <t>Each use case contributes a distinct slice of requirements, and it is their
composition that distinguishes an agentic communication protocol from ordinary
application-to-service invocation.</t>
      <t>The use cases in this document cover interaction patterns for
agentic AI communication systems. This document takes into account
related use case and problem statement documents including <xref target="SCRM"/>,
<xref target="YAO"/>, and <xref target="SONG"/>, and existing protocol work including
<xref target="A2A"/> and <xref target="MCP"/>.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t><strong>AI Agent</strong>: An autonomous software entity that perceives its
environment, maintains internal state, and executes actions to achieve
specified goals, potentially including communication with other agents
or invocation of external tools.</t>
      <t><strong>Agent Identity</strong>: Identity information associated with an AI agent,
used for authentication and accountability within agentic communication
systems.</t>
      <t><strong>Agentic AI Communication System</strong>: A system comprising one or more
AI agents that communicate with each other, with users, and with
external tools or services to complete tasks. The communication
interfaces between these entities are the subject of protocol
standardization in this document.</t>
      <t><strong>Agent-to-Agent Communication</strong>: Direct or brokered
communication between two or more AI agents, where brokered
communication involves an intermediary agent or coordination service,
as distinguished from communication between an agent and a user or
between an agent and a tool.</t>
      <t><strong>Capability</strong>: A description of what an agent can
perform, including inputs, outputs, constraints, and required conditions.</t>
      <t><strong>Coordinator Agent</strong>: An agent that distributes a shared problem or task
to a group of peer agents, aggregates their outputs, and iteratively drives
them toward a collective result or consensus.</t>
      <t><strong>Delegation</strong>: The act of an agent requesting another agent to execute
a task on its behalf.</t>
      <t><strong>Initiating Agent</strong>: An agent that receives an initial request and
delegates subtasks to peer agents. Any peer agent may itself delegate
further to other agents without routing through the initiating agent.</t>
      <t><strong>Mediator</strong>: An entity that serves as a proxy or mediator for
external tools, APIs, databases, or other resources that other agents
require but cannot directly access.</t>
      <t><strong>Message</strong>: A discrete unit of communication exchanged between agents
containing structured data such as a task request, response, progress
update, event notification, or control signal.</t>
      <t><strong>Modality</strong>: A category of data format used for input or output in
agent communication, such as text, audio, image, or video. A dialog
may support one or more modalities simultaneously.</t>
      <t><strong>Orchestrator Agent</strong>: An agent that acts as a controller,
coordinating the activity of other agents by decomposing goals into
sub-tasks and delegating those sub-tasks to appropriate agents.</t>
      <t><strong>Peer Agent</strong>: An agent that receives delegated subtasks from another
agent and may itself delegate further to other agents.</t>
      <t><strong>Dialog</strong>: The correlated sequence of interactions between two or
more participants (users, agents, and tools) over the course of a task. A
dialog may persist across multiple individual message exchanges and network
connections.</t>
      <t><strong>Dialog Context</strong>: The identifiers and lifecycle state needed to
correlate and maintain a dialog. It does not include the content exchanged
with AI models, such as conversation memory, retrieved documents, or prompts.</t>
      <t><strong>Linked Dialog</strong>: A new dialog, with a new dialog context, that a
participant creates to continue a dialog it received.</t>
      <t><strong>Task Context</strong>: The data that a participant maintains
to execute a task, such as conversation history and intermediate
results. Task context is not carried by the protocol.</t>
      <t><strong>Task</strong>: A unit of work submitted by a user to an agent, or
delegated by one agent to another.</t>
      <t><strong>Task State</strong>: The current execution status of a task (e.g., pending,
in-progress, completed, failed).</t>
      <t><strong>Tool</strong>: An external service invoked by an agent to retrieve data or
perform operations. A tool is not necessarily an agent and may not participate
in agent-to-agent communication.</t>
      <t><strong>User</strong>: A human that initiates interaction with an
AI agent by submitting a request or task.</t>
      <section anchor="dialog-task-context">
        <name>Dialog Context and Task Context</name>
        <t>Any participant, including an intermediary, can use
dialog context to correlate and maintain a dialog without interpreting
the task. For example, if the transport connection between two agents
is interrupted, the dialog identifier allows the reconnecting agent to
re-associate with the existing dialog instead of starting a new dialog
and restarting the task. An intermediary uses the dialog identifier to
correlate the requests it receives with the requests it forwards.
Neither function requires access to the task context. Each participant
can use the dialog identifier to retrieve its own task context.</t>
      </section>
    </section>
    <section anchor="common-requirements">
      <name>Common Protocol Requirements</name>
      <t>The following baseline requirements apply to both agent-to-agent and agent-to-tool protocol interactions across all use cases and are not repeated per use case.</t>
      <t>Each per-use-case requirement is tagged with one or more of the following protocol area tags to allow cross-use-case navigation:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Dialog</strong>: Requirements related to dialog correlation, lifecycle, continuity, and recovery.</t>
        </li>
        <li>
          <t><strong>Transport</strong>: Requirements related to message delivery, streaming, cancellation, and data transfer.</t>
        </li>
        <li>
          <t><strong>Security</strong>: Requirements related to confidentiality, integrity, and authorization.</t>
        </li>
        <li>
          <t><strong>Authentication</strong>: Requirements related to identity verification and credential delegation.</t>
        </li>
      </ul>
      <table>
        <thead>
          <tr>
            <th align="left">REQ-ID</th>
            <th align="left">Description</th>
            <th align="left">Tag</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">CMN-1</td>
            <td align="left">The protocol is required to support any client application to communicate with any agent service.</td>
            <td align="left">Authentication</td>
          </tr>
          <tr>
            <td align="left">CMN-2</td>
            <td align="left">Mutual authentication is required between all communicating parties.</td>
            <td align="left">Authentication</td>
          </tr>
          <tr>
            <td align="left">CMN-3</td>
            <td align="left">All protocol traffic is required to be encrypted and integrity-protected in transit.</td>
            <td align="left">Security</td>
          </tr>
          <tr>
            <td align="left">CMN-4</td>
            <td align="left">Structured error responses are required to include an authorization scope violation type, reported by the orchestrator or mediator when an agent attempts an action that exceeds or contradicts the scope delegated to it.</td>
            <td align="left">Security</td>
          </tr>
          <tr>
            <td align="left">CMN-5</td>
            <td align="left">Structured error responses are required, distinguishing at minimum: authentication failure, authorization failure, timeout, and internal error.</td>
            <td align="left">Transport</td>
          </tr>
          <tr>
            <td align="left">CMN-6</td>
            <td align="left">The protocol is required to provide a means to signal task priority so that critical-path tasks can be scheduled ahead of lower-priority ones.</td>
            <td align="left">Transport</td>
          </tr>
          <tr>
            <td align="left">CMN-7</td>
            <td align="left">The protocol is required to support cryptographic algorithm agility, ensuring that cryptographic algorithms used for encryption, authentication, credential verification, and integrity protection can be negotiated and updated over time, in accordance with <xref target="RFC7696"/>.</td>
            <td align="left">Security, Authentication</td>
          </tr>
          <tr>
            <td align="left">CMN-8</td>
            <td align="left">The protocol is required to provide a means to verify the agent authentication credentials validity used by agents at the time of use.</td>
            <td align="left">Authentication</td>
          </tr>
          <tr>
            <td align="left">CMN-9</td>
            <td align="left">The protocol is required to support signaling that a presented credential has been revoked or is otherwise invalid.</td>
            <td align="left">Security</td>
          </tr>
          <tr>
            <td align="left">CMN-10</td>
            <td align="left">The protocol is required to support revoking a previously granted authorization, including propagating the revocation across a delegation chain so that affected agents cease to act under it.</td>
            <td align="left">Security</td>
          </tr>
          <tr>
            <td align="left">CMN-11</td>
            <td align="left">The protocol is required to support establishment, modification, and termination of a dialog, distinct from cancellation of a delegated subtask within the dialog. Modification includes changes to the modalities or lifetime of the dialog. The protocol is required to support a dialog lifetime, after which the dialog is terminated.</td>
            <td align="left">Dialog</td>
          </tr>
          <tr>
            <td align="left">CMN-12</td>
            <td align="left">Before accepting a change to a dialog, a participant is required to be able to verify that the change is authorized at that time. If this check fails or cannot be completed, the participant is required to reject the change and signal the reason. It is required to be able to determine which of the two cases occurred.</td>
            <td align="left">Dialog, Security</td>
          </tr>
        </tbody>
      </table>
      <section anchor="network-assumptions">
        <name>Network-Layer Assumptions</name>
        <t>The requirements in this document assume that messages
that establish, modify, resume, or terminate a dialog are delivered
reliably and in order. Data for real-time modalities, such as
interactive audio and video, can be delivered without reliability or
ordering to meet latency requirements. All the deliveries are
congestion controlled. Whether these share a transport connection is
determined by the transport bindings.</t>
      </section>
    </section>
    <section anchor="usecases">
      <name>Use Cases</name>
      <t>These interactions differ from ordinary application-to-service invocation in
several respects, one being runtime selection of agents and tools by capability.
An agent's internal processing, including perception, planning and
re-planning, and invocation of its AI model, is not visible on the protocol
interface and is out of scope; it motivates the use cases but drives no
protocol requirement. Cross-domain operation can apply to any of
these use cases. Crossing an administrative boundary adds authentication and
authorization requirements, which map to the OAuth and WIMSE work discussed in
<xref target="relationship-oauth-wimse"/>, and privacy requirements on dialog context
propagated across the boundary, discussed in <xref target="security"/>. The use
cases are independent of deployment model: they apply whether participants are
within a single administrative domain or span several, and whether they
interact directly or through intermediaries. Together they cover the
deployment models in scope: a client application on a user's device and
an agent (<xref target="simple-single-agent"/>), agents hosted by different
organizations or service providers (<xref target="peer-collaborative"/>), and agents
reached through a mediator such as a network operator's agent gateway
(<xref target="tool-mediation"/>).</t>
      <section anchor="simple-single-agent">
        <name>Simple Single-Agent Task</name>
        <section anchor="description">
          <name>Description</name>
          <t>A user submits a task to an AI agent via a client application. The
client application initiates a dialog with the agent, which creates and
maintains it. The agent executes the task by invoking one or more tools and returns
results to the user. The tools invoked by the agent may reside in
the same or a different administrative domain. The agent protocol
is required to support multiple input and output modalities, and
the client application and agent are required to be able to negotiate which
modalities are active for the dialog.</t>
          <t>This use case covers the protocol interface between the client
application and the agent. The interaction between the user and
the client application is out of scope in this use case. This use case assumes that
the user communicates with the agent via a client application;
direct communication between a user and an agent without an
intermediary client application is not covered in this use case.</t>
          <t>This interaction pattern is described in <xref target="SCRM"/>.</t>
        </section>
        <section anchor="interaction-flow">
          <name>Interaction Flow</name>
          <artwork><![CDATA[
+----------------+                       +-----------+
| App/agent      |<--------------------> |   Agent   |
+----------------+        Protocol       +-----------+
                                               |
                                     Protocol  |
                                               v
                                          +---------+
                                          | Tool(s) |
                                          +---------+
]]></artwork>
        </section>
        <section anchor="example">
          <name>Example</name>
          <t>A user books a flight through a travel booking app. The app is the
client application. It sends the user's request to a travel agent run
by the travel company that provides the app. The agent uses two
tools: a fare search tool run by the travel company, and a booking
tool run by an airline, in a different administrative domain.</t>
          <artwork><![CDATA[
+------------+      +--------------+      +----------------+
| Travel app |<---->| Travel agent |----->| Fare search    |
|            |      |              |      | (travel co.)   |
+------------+      +--------------+      +----------------+
                           |
                           |              +----------------+
                           +------------->| Flight booking |
                                          | (airline)      |
                                          +----------------+
]]></artwork>
          <ol spacing="normal" type="1"><li>
              <t>The app establishes a dialog with the agent and asks for a flight on
a given route and date (CMN-11).</t>
            </li>
            <li>
              <t>The agent queries the fare search tool and returns matching flights
to the app.</t>
            </li>
            <li>
              <t>The user picks a flight. The agent calls the airline's booking
tool with a credential showing that the user authorized the
booking, without the user's airline credentials (A1-9).</t>
            </li>
            <li>
              <t>The agent returns the booking confirmation, and the app terminates
the dialog (CMN-11).</t>
            </li>
          </ol>
          <t>If the user abandons a search before step 3, the app cancels that task
(A1-2). The dialog continues, and the user can start a new search in
it without starting over.</t>
        </section>
        <section anchor="a1-protocol-requirements">
          <name>Protocol Requirements</name>
          <t>This use case involves two distinct protocol interfaces. The App/Agent-to-Agent
interface is between the party making the request, which may be a client
application or another agent, and the agent that handles it. The Agent-to-Tool
interface is between the agent and the tools it invokes. A given requirement
does not necessarily apply to both; the Interaction column indicates which
interface each applies to.</t>
          <table>
            <thead>
              <tr>
                <th align="left">REQ-ID</th>
                <th align="left">Description</th>
                <th align="left">Interaction</th>
                <th align="left">Tag</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">A1-1</td>
                <td align="left">The protocol is required to support incremental streaming of agent output, allowing partial results to be delivered to the client before the agent has completed processing.</td>
                <td align="left">App/Agent-to-Agent</td>
                <td align="left">Transport</td>
              </tr>
              <tr>
                <td align="left">A1-2</td>
                <td align="left">The protocol is required to define a task cancellation message that the client can issue at any point during task execution.</td>
                <td align="left">App/Agent-to-Agent</td>
                <td align="left">Transport</td>
              </tr>
              <tr>
                <td align="left">A1-3</td>
                <td align="left">The protocol is required to define structured error message types that distinguish at minimum: transport failure, tool invocation failure, and agent processing failure.</td>
                <td align="left">Both</td>
                <td align="left">Transport</td>
              </tr>
              <tr>
                <td align="left">A1-4</td>
                <td align="left">The protocol is required to support multiple modalities for both input and output, including real-time audio and video with low latency.</td>
                <td align="left">App/Agent-to-Agent</td>
                <td align="left">Transport</td>
              </tr>
              <tr>
                <td align="left">A1-5</td>
                <td align="left">The protocol is required to support modality negotiation at dialog establishment, allowing the client and agent to agree on which modalities are active for the dialog.</td>
                <td align="left">App/Agent-to-Agent</td>
                <td align="left">Dialog, Transport</td>
              </tr>
              <tr>
                <td align="left">A1-6</td>
                <td align="left">The protocol is required to support agent-initiated notifications to the client during task execution.</td>
                <td align="left">App/Agent-to-Agent</td>
                <td align="left">Transport</td>
              </tr>
              <tr>
                <td align="left">A1-7</td>
                <td align="left">The protocol is required to support concurrent invocation of multiple tools within a single agent task, where tools may be operated by distinct providers across different administrative domains, each with independent authentication and authorization requirements.</td>
                <td align="left">Agent-to-Tool</td>
                <td align="left">Transport, Security</td>
              </tr>
              <tr>
                <td align="left">A1-8</td>
                <td align="left">The protocol is required to support bulk transfer of large data between communicating parties, applicable to both agent-to-tool and agent-to-agent interactions.</td>
                <td align="left">Both</td>
                <td align="left">Transport</td>
              </tr>
              <tr>
                <td align="left">A1-9</td>
                <td align="left">A delegation mechanism is required to be defined by which an agent presents to a tool provider a credential attesting the authorization for the requested tool access, without exposing the client's primary credentials.</td>
                <td align="left">Agent-to-Tool</td>
                <td align="left">Authentication</td>
              </tr>
              <tr>
                <td align="left">A1-10</td>
                <td align="left">The protocol is required to preserve the dialog context when a participant transforms data from one modality to another, such as audio to text.</td>
                <td align="left">App/Agent-to-Agent</td>
                <td align="left">Dialog</td>
              </tr>
              <tr>
                <td align="left">A1-11</td>
                <td align="left">The protocol is required to allow the user to continue a dialog from the same client application on another device.</td>
                <td align="left">App/Agent-to-Agent</td>
                <td align="left">Dialog</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="orchestrator-agent">
        <name>Orchestrator and Agent Collaboration</name>
        <section anchor="description-1">
          <name>Description</name>
          <t>An orchestrator agent acts as a controller, decomposing a task into
subtasks and delegating them asynchronously to one or more other agents.
The orchestrator decides which other agents to invoke, sequences the
delegation, and aggregates results to continue task execution. Each
agent executes the respective subtask independently and reports results back
to the orchestrator.</t>
          <t>It should be noted that AI models are stateless by nature: each inference
call processes only what is explicitly provided with a particular context,
with no persistent memory between calls. The application
layer is responsible for maintaining the context across the calls by
carrying conversation history, intermediate results, and task
state. Dialog continuity is therefore required to preserve the
dialog context across network interruptions, so that a reconnecting
agent can re-associate with the dialog and use it to restore its own
task context without reconstructing it from scratch.</t>
          <t>If a dialog is interrupted before the result of an operation reaches
the delegating agent, the operation may or may not have completed.
Resuming the dialog does not tell the delegating agent which. Before
resending the operation, the delegating agent checks its outcome with
the delegated agent or tool that performed it. If the outcome cannot be
determined, the operation remains unresolved, and resuming the dialog
alone does not justify resending it.</t>
          <t>This pattern is reflected in <xref target="A2A"/>,
and is implemented in deployed multi-agent frameworks including
<xref target="AUTOGEN"/>, <xref target="LANGCHAIN"/>, and <xref target="OPENAI-AGENTS"/>.</t>
        </section>
        <section anchor="interaction-flow-1">
          <name>Interaction Flow</name>
          <artwork><![CDATA[
+---------------------+                        +------------+
| Orchestrator Agent  |---Task Delegation----->|   Agent-1  |
|                     |<--Result Reporting-----|            |
|                     |                        +------------+
|                     |
|                     |                        +------------+
|                     |---Task Delegation----->|   Agent-2  |
|                     |<--Result Reporting-----|            |
+---------------------+                        +------------+
]]></artwork>
        </section>
        <section anchor="example-1">
          <name>Example</name>
          <t>A user asks a trip planning agent, the orchestrator, to arrange a
business trip. The orchestrator delegates the flight booking to a
flight agent and the hotel booking to a hotel agent. Both agents are
run by different providers.</t>
          <artwork><![CDATA[
+--------------+      +--------------+
|              |----->| Flight agent |
| Trip planner |      +--------------+
| (orchestr.)  |
|              |      +--------------+
|              |----->| Hotel agent  |
+--------------+      +--------------+
]]></artwork>
          <ol spacing="normal" type="1"><li>
              <t>The orchestrator establishes a dialog with each agent and delegates
both subtasks without waiting for either to finish (B1-1, B1-2).</t>
            </li>
            <li>
              <t>The flight agent streams fare options and reports the booked
flight (B1-4, B1-3).</t>
            </li>
            <li>
              <t>The orchestrator sends the hotel agent a request to book a room.
The hotel agent books the room, but the connection drops before its
confirmation reaches the orchestrator.</t>
            </li>
            <li>
              <t>The orchestrator reconnects and resumes the dialog with the hotel
agent (B1-6). The hotel agent verifies that the orchestrator is
the participant whose exchange was interrupted, and that the dialog
is current and still authorized (B1-7).</t>
            </li>
            <li>
              <t>Instead of sending the booking request again, which could book a
second room, the orchestrator asks the hotel agent for the outcome
of its request. It learns that the room was booked and uses that
booking.</t>
            </li>
          </ol>
        </section>
        <section anchor="b1-protocol-requirements">
          <name>Protocol Requirements</name>
          <table>
            <thead>
              <tr>
                <th align="left">REQ-ID</th>
                <th align="left">Description</th>
                <th align="left">Tag</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">B1-1</td>
                <td align="left">The protocol is required to facilitate task delegation for an orchestrator to agents that includes task delegation and acknowledgement message types.</td>
                <td align="left">Transport</td>
              </tr>
              <tr>
                <td align="left">B1-2</td>
                <td align="left">The protocol is required to support asynchronous delegation, allowing the orchestrator to delegate to multiple agents without waiting for each to complete before proceeding.</td>
                <td align="left">Transport</td>
              </tr>
              <tr>
                <td align="left">B1-3</td>
                <td align="left">The protocol is required to define a result reporting message by which an agent returns its completed output to the orchestrator.</td>
                <td align="left">Transport</td>
              </tr>
              <tr>
                <td align="left">B1-4</td>
                <td align="left">The protocol is required to support streaming of intermediate results from the agent to the orchestrator during task execution.</td>
                <td align="left">Transport</td>
              </tr>
              <tr>
                <td align="left">B1-5</td>
                <td align="left">The protocol is required to define a task cancellation message that the orchestrator can send to an agent to abort a delegated subtask.</td>
                <td align="left">Transport</td>
              </tr>
              <tr>
                <td align="left">B1-6</td>
                <td align="left">The protocol is required to support persistent dialog identifiers that survive network interruption or change, and is required to define a dialog resumption message by which an agent re-attaches to an interrupted dialog, restoring the prior dialog context.</td>
                <td align="left">Dialog</td>
              </tr>
              <tr>
                <td align="left">B1-7</td>
                <td align="left">On resumption, the protocol is required to enable the receiving participant to verify that (1) the party resuming the dialog is the participant whose exchange was interrupted, (2) the dialog context presented is the current state of that dialog, and (3) the dialog has not been terminated and its authorization has not been revoked.</td>
                <td align="left">Dialog, Security</td>
              </tr>
              <tr>
                <td align="left">B1-8</td>
                <td align="left">If any check in B1-7 fails or cannot be completed, the dialog is not resumed and the protocol is required to signal the reason. The receiving participant is required to be able to determine whether the check failed or could not be completed.</td>
                <td align="left">Dialog, Security</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="authz-checkpoint">
        <name>Long-Running Delegated Task with Authorization Checkpoint</name>
        <section anchor="description-2">
          <name>Description</name>
          <t>An orchestrator agent delegates a long-running task to other agents.
The delegated agent executes the task autonomously and sends progress
notifications to the orchestrator. At any certain point one or more delegated
agents pause and request explicit authorization from the orchestrator
before proceeding further. The orchestrator may relay this authorization
request to the invoker (user or agent) or resolve it autonomously based on policy.</t>
          <t>This pattern is reflected in the In-Task Authorization mechanism
defined in <xref target="A2A"/>.</t>
        </section>
        <section anchor="interaction-flow-2">
          <name>Interaction Flow</name>
          <artwork><![CDATA[
+---------------------+                        +------------+
| Orchestrator Agent  |---Task Delegation----->|            |
|                     |<--Progress Notif.------|            |
|                     |<--Authz Checkpoint-----|  Agent(s)  |
|                     |---Authz Response------>|            |
|                     |<--Result Reporting-----|            |
+---------------------+                        +------------+
]]></artwork>
        </section>
        <section anchor="example-2">
          <name>Example</name>
          <t>A user asks a banking assistant, the orchestrator, to close an
account. The orchestrator delegates the closure to an account closure
agent, which runs a workflow that can take several days.</t>
          <artwork><![CDATA[
+------------+      +--------------+      +---------------+
|    User    |<---->|   Banking    |<---->| Account       |
|            |      |  assistant   |      | closure agent |
+------------+      +--------------+      +---------------+
]]></artwork>
          <ol spacing="normal" type="1"><li>
              <t>The orchestrator establishes a dialog with the closure agent and
delegates the closure. The dialog lasts for the whole workflow.</t>
            </li>
            <li>
              <t>The closure agent cancels the account's standing payments and
closes the linked debit card. After each step it sends the
orchestrator a progress notification, such as "standing payments
cancelled" (B2-1).</t>
            </li>
            <li>
              <t>Before transferring the remaining balance, the closure agent
pauses and sends an authorization checkpoint request stating the
amount and the destination account (B2-2, B2-6).</t>
            </li>
            <li>
              <t>The orchestrator relays the request to the user, who approves it
(B2-3). The approval covers only this transfer (B2-5).</t>
            </li>
            <li>
              <t>The closure agent completes the transfer and reports the result.
If no response had arrived before the timeout, it would have
halted the transfer and treated the request as unresolved (B2-4).</t>
            </li>
          </ol>
        </section>
        <section anchor="b2-protocol-requirements">
          <name>Additional Protocol Requirements</name>
          <t>This use case builds on the requirements defined for <xref target="orchestrator-agent"/>
and introduces additional requirements specific to authorization checkpoints in delegated tasks.</t>
          <table>
            <thead>
              <tr>
                <th align="left">REQ-ID</th>
                <th align="left">Description</th>
                <th align="left">Tag</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">B2-1</td>
                <td align="left">The protocol is required to support agent-initiated progress notifications to the delegating agent during task execution.</td>
                <td align="left">Transport</td>
              </tr>
              <tr>
                <td align="left">B2-2</td>
                <td align="left">The protocol is required to define an authorization checkpoint request, by which an agent pauses task execution and asks the orchestrator to authorize a specific action before proceeding. The request is required to describe the action to be performed and the effect it would have, so the orchestrator has enough information to decide.</td>
                <td align="left">Transport, Security</td>
              </tr>
              <tr>
                <td align="left">B2-3</td>
                <td align="left">The protocol is required to define the responses to an authorization checkpoint request, which include at minimum approve, deny, and approve with modified parameters. A denial is required to be conveyed as an explicit error response.</td>
                <td align="left">Transport, Security</td>
              </tr>
              <tr>
                <td align="left">B2-4</td>
                <td align="left">The protocol is required to support a response timeout, after which the agent treats the request as unresolved and halts the affected subtask.</td>
                <td align="left">Transport</td>
              </tr>
              <tr>
                <td align="left">B2-5</td>
                <td align="left">An authorization checkpoint response is required to authorize only the action in the request it answers, including any approved modification to that action, and not any different or later action.</td>
                <td align="left">Transport, Security</td>
              </tr>
              <tr>
                <td align="left">B2-6</td>
                <td align="left">The protocol is required to support authorization requested and granted at the granularity of a specific operation, so that a sensitive action is authorized individually rather than covered by a broad, pre-existing authorization.</td>
                <td align="left">Transport, Security</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="peer-collaborative">
        <name>Peer Collaborative Multi-Agent Problem Solving</name>
        <section anchor="description-3">
          <name>Description</name>
          <t>A task requires coordinated problem solving across multiple agents,
where no single agent has full authority or capability to complete
the task alone. The agent that receives the initial request
dynamically delegates subtasks to peer agents based on their
advertised capabilities. Any agent may itself delegate further to
other agents and use other tools, forming a dynamic collaboration
graph. Each agent remains opaque to others, collaborating only
through the protocol interface.</t>
          <t>This use case introduces multi-hop delegation chains that are not
present in <xref target="orchestrator-agent"/>. Each agent in the chain may
delegate further to other agents, and authorization scope is required
to be progressively constrained at each hop.</t>
          <t>This use case is described in <xref target="A2A"/>.</t>
        </section>
        <section anchor="interaction-flow-3">
          <name>Interaction Flow</name>
          <artwork><![CDATA[
  +------------------+
  | Initiating Agent |
  +------------------+
      |         |
      v         v
 +--------+  +--------+
 |Agent-2 |  |Agent-3 |
 +--------+  +--------+
      |          |
      v          v
 +--------+  +--------+
 |Agent-4 |  | Tools  |
 +--------+  +--------+
]]></artwork>
        </section>
        <section anchor="example-3">
          <name>Example</name>
          <t>A hiring manager asks a company's hiring agent to find candidates for
a job listing. The hiring agent delegates sourcing to a recruitment
agency's sourcing agent. The sourcing agent searches a job board tool
and delegates screening of the results to a screening agent, which
assesses each candidate against the listing. The hiring agent later
delegates interviews to a scheduling agent. Each agent is run by a
different provider, in its own administrative domain.</t>
          <artwork><![CDATA[
+--------+    +----------+    +-----------+
| Hiring |--->| Sourcing |--->| Screening |
| agent  |    |  agent   |    |   agent   |
+--------+    +----------+    +-----------+
    |              |
    v              v
+------------+  +-----------+
| Scheduling |  | Job board |
|   agent    |  |   tool    |
+------------+  +-----------+
]]></artwork>
          <ol spacing="normal" type="1"><li>
              <t>The hiring agent establishes a dialog with the sourcing agent and
delegates the search, with an authorization limited to this job
listing (B3-1).</t>
            </li>
            <li>
              <t>The sourcing agent searches the job board tool, then delegates
screening to the screening agent. Because the screening agent is in
another domain, the sourcing agent creates a new dialog linked to
the one it received (B3-9). It passes an authorization narrowed to
reading the candidate profiles for this listing (B3-1, B3-8). The
screening agent can determine that the hiring manager originally
authorized the task (B3-2).</t>
            </li>
            <li>
              <t>If the screening agent becomes unavailable, the sourcing agent
detects this and halts that subtask (B3-5).</t>
            </li>
            <li>
              <t>The hiring manager picks candidates, and the hiring agent delegates
interview scheduling to the scheduling agent, in a new dialog
linked to the first.</t>
            </li>
          </ol>
        </section>
        <section anchor="b3-protocol-requirements">
          <name>Additional Protocol Requirements</name>
          <t>This use case builds on the requirements defined for <xref target="orchestrator-agent"/>
and introduces additional requirements specific to multi-hop delegation chains.</t>
          <table>
            <thead>
              <tr>
                <th align="left">REQ-ID</th>
                <th align="left">Description</th>
                <th align="left">Tag</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">B3-1</td>
                <td align="left">The protocol is required to support multi-hop delegation chains, where an agent that receives a delegated subtask may itself delegate further to other agents. At each hop, the delegating agent is required to present a credential that does not exceed the authorization scope of the credential it received.</td>
                <td align="left">Authentication, Security</td>
              </tr>
              <tr>
                <td align="left">B3-2</td>
                <td align="left">The protocol is required to preserve the identity of the originating entity across all hops in the delegation chain, such that any agent in the chain can determine the identity of the entity that originally authorized the task.</td>
                <td align="left">Authentication, Security</td>
              </tr>
              <tr>
                <td align="left">B3-3</td>
                <td align="left">The protocol is required to support transferable credentials that carry the original authorization constraints across all hops in the delegation chain. Each receiving agent is required to be able to cryptographically verify that the credential presented to it was issued by the delegating agent and that the chain of delegation traces back to the original authorization.</td>
                <td align="left">Authentication, Security</td>
              </tr>
              <tr>
                <td align="left">B3-4</td>
                <td align="left">The protocol is required to ensure that authorization granted to an agent in a delegation chain, including for tool invocations, is derived from the authorization issued by the initiating agent, and not from the identity or authorization scope of any intermediate agent in the chain.</td>
                <td align="left">Authentication, Security</td>
              </tr>
              <tr>
                <td align="left">B3-5</td>
                <td align="left">The protocol is required to allow a delegating agent to detect that a delegated agent has become unavailable and to halt the affected in-flight subtask.</td>
                <td align="left">Dialog, Transport</td>
              </tr>
              <tr>
                <td align="left">B3-6</td>
                <td align="left">The protocol is required to provide a verifiable provenance record of a request and its response as they traverse the delegation chain, attributing each transformation to the hop that performed it, such that removal of a hop, or a modification not attributable to a signing hop, is detectable.</td>
                <td align="left">Authentication, Security</td>
              </tr>
              <tr>
                <td align="left">B3-7</td>
                <td align="left">The protocol is required to enable a receiving party to detect and reject a delegation chain that contains a cycle, such as a chain in which the receiving party's own identifier already appears.</td>
                <td align="left">Authentication, Security</td>
              </tr>
              <tr>
                <td align="left">B3-8</td>
                <td align="left">The protocol is required to enable a receiving party to determine that the authority conveyed to it does not exceed the authority conveyed to the hop it received from.</td>
                <td align="left">Authentication, Security</td>
              </tr>
              <tr>
                <td align="left">B3-9</td>
                <td align="left">The protocol is required to propagate the dialog context across each hop of a delegation chain, so that participants can correlate interactions along the chain. A participant may instead create a new dialog, with a new dialog context, linked to the one it received.</td>
                <td align="left">Dialog</td>
              </tr>
              <tr>
                <td align="left">B3-10</td>
                <td align="left">The protocol is required to propagate cancellation of a delegated subtask, and termination of a dialog, along the delegation chain, and to report to the party that initiated it whether the cancellation or termination took effect further down the chain, or that this could not be determined.</td>
                <td align="left">Dialog</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="cooperative-reasoning">
        <name>Cooperative Reasoning and Consensus Formation</name>
        <section anchor="description-4">
          <name>Description</name>
          <t>A set of peer agents is tasked with analyzing a shared problem
independently and exchanging intermediate reasoning outputs to
converge on a collective conclusion. A coordinator agent distributes
the problem to all participating agents, collects their reasoning
outputs, and drives the convergence process across multiple rounds
until a consensus conclusion is reached. Unlike
<xref target="peer-collaborative"/>, all agents work on the same problem rather
than different subtasks.</t>
          <t>Two communication topologies are possible. In the first, agents
communicate only through the coordinator, which acts as the central
hub for all message exchange. In the second, agents may also
communicate directly with each other to exchange intermediate
reasoning outputs without routing through the coordinator agent. The
second topology introduces the same multi-hop authorization
requirements defined in <xref target="peer-collaborative"/>.</t>
        </section>
        <section anchor="interaction-flow-4">
          <name>Interaction Flow</name>
          <t>The coordinator-mediated topology:</t>
          <artwork><![CDATA[
                +--------------------+
                | Coordinator agent  |
                +--------------------+
                  /      |      \
                 v       v       v
           +--------+ +--------+ +--------+
           |Agent-1 | |Agent-2 | |Agent-3 |
           +--------+ +--------+ +--------+
]]></artwork>
          <t>The direct agent-to-agent topology:</t>
          <artwork><![CDATA[
                 +--------------------+
                 | Coordinator agent  |
                 +--------------------+
                 /          |         \
                v           v          v
           +-------+     +-------+     +-------+
           |Agent-1| <-> |Agent-2| <-> |Agent-3|
           +-------+     +-------+     +-------+
               ^                           ^
               |___________________________|
]]></artwork>
        </section>
        <section anchor="example-4">
          <name>Example</name>
          <t>A research team uses a multi-agent research assistant <xref target="COSCIENTIST"/> to
propose hypotheses for a research goal. A supervisor agent, acting as
the coordinator, distributes the goal to generation agents that
propose hypotheses, a reflection agent that reviews them, and a
ranking agent that ranks them.</t>
          <artwork><![CDATA[
                 +------------------+
                 | Supervisor agent |
                 +------------------+
                  /       |        \
                 v        v         v
        +------------+ +------------+ +---------+
        | Generation | | Reflection | | Ranking |
        |   agents   | |   agent    | |  agent  |
        +------------+ +------------+ +---------+
]]></artwork>
          <ol spacing="normal" type="1"><li>
              <t>The supervisor establishes a separate dialog with each agent and
sends it the research goal.</t>
            </li>
            <li>
              <t>The generation agents propose hypotheses independently.</t>
            </li>
            <li>
              <t>The reflection agent reviews each hypothesis, and the ranking agent
ranks them. The supervisor shares the results with all agents for
the next round.</t>
            </li>
            <li>
              <t>After several rounds, the supervisor returns the top-ranked
hypotheses to the research team and terminates the dialog
(CMN-11).</t>
            </li>
          </ol>
        </section>
      </section>
      <section anchor="tool-mediation">
        <name>Tool, Data, and API Mediation Between Agents</name>
        <section anchor="description-5">
          <name>Description</name>
          <t>In many multi-agent deployments, access to external resources such as
APIs, databases, enterprise systems, or hardware interfaces is
intentionally mediated through a designated mediator. Other agents
request the mediator to perform actions or retrieve data on their
behalf, rather than directly invoking external systems. This
architecture allows access control, auditing, rate limiting, and
schema normalization to be applied uniformly at the mediation layer.</t>
          <t>The mediator may also serve as an adapter between the agent
protocol and non-agent systems or other services that do not natively
support agent communication protocols, or between different agent
communication protocols such as translating between the agentic
protocol suite being developed at the IETF and existing protocols
such as <xref target="MCP"/> and <xref target="A2A"/>. In this role, the mediator is responsible
for protocol translation and for presenting the appropriate
credentials to the target system on behalf of the requesting agent.</t>
          <t>The mediator may additionally act as a request router, dispatching requests
to appropriate agents or tools based on the content and context of
the request, without requiring the requesting agent to have prior
knowledge of which agent or tool is most appropriate.</t>
          <t>The mediator may also validate agent requests before invocation,
checking whether the action being requested matches the
authorization granted to the agent and whether execution would
cause unintended or irreversible side effects.</t>
          <t>Note that mediating can be a function within an orchestrator.</t>
          <t>The mediator can be deployed as a proxy between an agent and its
tools, such as an MCP proxy. The 3GPP 6G architecture study
<xref target="TR23801-01"/> describes it as an agent gateway through which
third-party agents use network agents.</t>
          <t>This pattern is reflected in the MCP server architecture defined
in <xref target="MCP"/> and the agent routing patterns discussed in <xref target="A2A"/>.</t>
        </section>
        <section anchor="interaction-flow-5">
          <name>Interaction Flow</name>
          <artwork><![CDATA[
       +--------------+
       |    Agent     |
       +--------------+
              |
              v
       +--------------+
       |   Mediator   |
       +--------------+
       /       |       \
      v        v        v
+--------+ +---------+  +--------+
| Agent-1 | | Tool   |  | Agent-2 |
+--------+ +---------+  +--------+
]]></artwork>
        </section>
        <section anchor="example-5">
          <name>Example</name>
          <t>A mobile network operator runs an agent gateway through which
authorized third-party agents use network agents. A concert organizer's agent asks for extra network
capacity at the venue during the concert.</t>
          <artwork><![CDATA[
+-------------+      +----------+      +--------------------+
| Organizer's |----->|  Agent   |----->| Network agent      |
| agent       |      | gateway  |      |                    |
+-------------+      +----------+      +--------------------+
]]></artwork>
          <ol spacing="normal" type="1"><li>
              <t>The organizer's agent establishes a dialog with the gateway and
requests extra capacity at the venue for the hours of the concert.</t>
            </li>
            <li>
              <t>The gateway checks that the request matches the organizer's
authorization and forwards it to the network agent.</t>
            </li>
            <li>
              <t>The gateway confirms the added capacity to the organizer's agent.</t>
            </li>
            <li>
              <t>After the concert, the organizer's agent terminates the dialog
(CMN-11).</t>
            </li>
          </ol>
        </section>
        <section anchor="b5-protocol-requirements">
          <name>Additional Protocol Requirements</name>
          <table>
            <thead>
              <tr>
                <th align="left">REQ-ID</th>
                <th align="left">Description</th>
                <th align="left">Tag</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">B5-1</td>
                <td align="left">The protocol is required to define error response types for request validation failure (rejected due to potential unintended or irreversible side effects) and protocol translation failure (rejected on unsuccessful translation of a request or response between supported protocols), distinct from authorization failure.</td>
                <td align="left">Transport, Security</td>
              </tr>
              <tr>
                <td align="left">B5-2</td>
                <td align="left">The protocol is required to support continuation of a dialog through a different mediator when the mediator in use fails.</td>
                <td align="left">Dialog</td>
              </tr>
              <tr>
                <td align="left">B5-3</td>
                <td align="left">The protocol is required to enable a mediator that translates between agent communication protocols to carry the dialog context across the translation, so that participants on each side can correlate the dialog.</td>
                <td align="left">Dialog</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
    </section>
    <section anchor="relationship-oauth-wimse">
      <name>Relationship to OAuth and WIMSE Work</name>
      <t>Several requirements in this document concern authorization, delegation, and agent identity (CMN-4, CMN-8, CMN-9, CMN-10, B2-2 to B2-6, B3-1 to B3-4, B3-6, B3-7, B3-8). These are expected to be addressed in the OAuth and WIMSE Working Groups.</t>
      <t>Rejecting a dialog change or a resumption when a check fails or cannot be completed (CMN-12, B1-7, B1-8) is a requirement for the dialog management protocol. The check itself, verifying identity and authorization, is expected to be addressed in the OAuth and WIMSE Working Groups.</t>
      <t>Authorizing an individual action within a task, including when the authorization information is unavailable or may no longer be current, is also expected to be addressed in the OAuth Working Group.</t>
    </section>
    <section anchor="gaps">
      <name>Existing Protocols and Gaps</name>
      <t><xref target="A2A"/> groups related tasks under a context identifier, and <xref target="MCP"/>
groups the requests between one client and one server under a session.
Both are scoped to a single hop. An agent that delegates to another
agent or calls a tool starts a new context or session, and no
identifier spans the hops. Cancellation is per task and per hop.</t>
      <t>The gap is end-to-end: correlating a task across hops, protocols, and
connections, and propagating lifecycle actions such as cancellation
along the delegation chain. These are the dialog requirements in this
document (CMN-11, CMN-12, B1-6 to B1-8, B3-9, B3-10, B5-2, B5-3). They
can be met by carrying the dialog context across hops or by linked
dialogs.</t>
      <t>This analysis reflects <xref target="A2A"/> and <xref target="MCP"/> at the time of writing.</t>
    </section>
    <section anchor="accountability-auditing">
      <name>Accountability and Auditing</name>
      <t>Accountability and auditing of agent actions are out of scope for this
document. Audit and provenance representation is addressed by existing work,
including W3C provenance (PROV) and Trace Context. Dialog identifiers can be
used to correlate audit records across the participants in a dialog.</t>
      <t>Editor's note: Add a reference to IETF audit work once it progresses.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>Security considerations are addressed throughout this document via
the Identity, Authentication, and Delegation requirements defined
for each use case.</t>
      <t>Agent identity information is considered to be sensitive, particularly
in multi-domain deployments. Use of persistent identifiers across
dialogs and domains can enable tracking and correlation of agent
activity. Protocol designers need to consider mechanisms such as
pseudonymous or temporary identifiers to reduce linkability,
while preserving the ability to audit and enforce accountability
where required. The trade-offs between privacy, accountability,
and traceability need to be considered in the design of agent identity mechanisms.</t>
      <t>Agent unavailability (B3-5) halts the affected subtask but does not imply
revocation, since it may be a transient failure rather than compromise.</t>
      <t>Signaled error reasons help a participant decide on the right course
of action to address the error. They need to be precise enough for
that, but not reveal information that an attacker could use.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Thanks to Borislava Gajic, Julien Maisonneuve, Parisa Foroughi, Laurent Ciavaglia, Nathalie Romo Moreno, Peter Leis, Linda Dunbar, Mikhail Sergeev, Iman Schrock, Sumit Ahuja, Sina Khatibi, Vaishnavi Gudur, Lars Kersten Kroehl, Girish Konda, Nikhil Donapati, Nicholas Templeman, Bradley B, Douglas Wadkins, and Lionel Morand for the discussions and comments.</t>
      <t>The examples in <xref target="simple-single-agent"/> and <xref target="authz-checkpoint"/> are
based on scenarios in draft-rosenberg-agentproto-usecases by Jonathan
Rosenberg and Cullen Jennings.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-informative-references">
      <name>Informative References</name>
      <reference anchor="A2A" target="https://a2a-protocol.org/latest/specification/">
        <front>
          <title>Agent2Agent Protocol Specification</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="MCP" target="https://modelcontextprotocol.io/specification/2025-11-25">
        <front>
          <title>Model Context Protocol Specification</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="SCRM" target="https://datatracker.ietf.org/doc/draft-scrm-aiproto-usecases">
        <front>
          <title>Agentic AI Use Cases</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="COSCIENTIST" target="https://arxiv.org/abs/2502.18864">
        <front>
          <title>Accelerating scientific discovery with Co-Scientist</title>
          <author>
            <organization>Google DeepMind</organization>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="TR23801-01" target="https://www.3gpp.org/ftp/Specs/archive/23_series/23.801-01/">
        <front>
          <title>Study on Architecture for 6G System</title>
          <author>
            <organization>3GPP</organization>
          </author>
          <date>n.d.</date>
        </front>
        <seriesInfo name="3GPP" value="TR 23.801-01 v0.9.0"/>
      </reference>
      <reference anchor="YAO" target="https://datatracker.ietf.org/doc/draft-yao-catalist-problem-space-analysis">
        <front>
          <title>Problem Space Analysis of AI Agent Protocols in IETF</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="SONG" target="https://datatracker.ietf.org/doc/draft-song-dmsc-problem-statement">
        <front>
          <title>Problem Statement and Requirements for Dynamic Multi-agent Secured Collaboration</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="RFC7696" target="https://www.rfc-editor.org/rfc/rfc7696">
        <front>
          <title>Guidelines for Cryptographic Algorithm Agility and Selecting Mandatory-to-Implement Algorithms</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="AUTOGEN" target="https://microsoft.github.io/autogen/stable/">
        <front>
          <title>AutoGen: A Framework for Multi-Agent Conversation</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="LANGCHAIN" target="https://python.langchain.com/docs/concepts/agents/">
        <front>
          <title>LangChain Agent Framework</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="OPENAI-AGENTS" target="https://openai.github.io/openai-agents-python/">
        <front>
          <title>OpenAI Agents SDK</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81963fbRpLvd/wVfeIPY09IOZbiPDx754wsJx5N4se1NDtn
Nzd3Dkg0RYxBgAOAUhgr87ff+lVVv0BQopPdc9fnJDZJoLu6uqq63j2dTrO+
7Cv7zHxyemXrvpyb03Pz186as7yzncnrwryz/9yUrV3Rz90nWT6btfaans/l
+WleTjfz1v7zk6xo5nW+orGKNl/00/iBzs4x3rSNxppWeW+7PpvTX1dNu31m
ynrRZOW6fWb6dtP1x5999vVnx1m3ma3Kriubut+uafTzby6/zd7b7U3TFvSp
7m1b2376ApNmWdcTzH/Pq6amR7e2y9bls8yYvpnLR2O6pu1bu+j85+0qfMzy
Tb9sWnplSj8ZIwu6LNvNKq9sd5O3hI+i2PKPTXuV1+XPeU+wPTOvm/dlzt/P
y55W8zyvrwiO1vJ3rb3ip77L2zrv8/f6ZLOpeyz9vC70ZbvKy4rw+76pi75s
/3SFz0fzZvWJg6msCdj/PDIXefvethGY/5kvbbH5+ed8ldfxr3vhdLNf3NjC
1vH0P0dDHXU81J9qvAhIUuR8Z5c03X/kzchcZ8uyzs2rZlZWNh5+mzfv8dqf
5nhgxb/zyBlooF3R69cW+3Z6fPqMX0zI9Jj/b962De1rU5mLtZ2Xi3LOs34i
z+ftle2fmWXfr7tnjx/nx/l0rc8fEZCPhfoed/GrjzN699XZ23TKV01hK3NG
9Gd/+rhJV3hzLi/6yctmMOnxZ8dPp0+eTI+fYvqLs3evRpY84Mzx+QqirL7N
57RbR6XtF7xQYsvHwpHdvF0ROzIknicx59mbi7Pzb15fnl9cDqaez21lW4Kz
vjLdvAQgBLcpym7eXNt2a27Kfkm4mV7Ij10vkHk24j9TkMUz87JpriprXli7
flXWxfg+tT+V1wx3PuseHz/97PjoyVdfffE5wLx8d3zy1WdPpp89SaG86DfF
1jS1OW2Jnno77zetNURH5ouX5mLb9XZ1B1QnL9++HQXl5ubm6ORqvWZoFv36
MXa8Iwhpkmv7+Pjk751tS0tQnhwJWI95HPkWhOxmwhQkRd4Z/6S5/uzo66PP
sKr/OH2TLocobFbZFRFYPrfmtM6rbVd2plmAAlLK70gYsED8VfRAXDglGswr
2jYwB2addph1muusTJFvXr/cAyENz8J856Bg7L/YEm8TtbzaVH0p54G5sHPa
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
/7IAAA==

-->

</rfc>
