<?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.39 (Ruby 3.2.3) -->
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-hood-agtp-composition-01" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="AGTP-COMPOSITION">AGTP Composition Profiles: Agent Group Messaging Protocols, External Identity Providers, and HTTP Gateways</title>
    <seriesInfo name="Internet-Draft" value="draft-hood-agtp-composition-01"/>
    <author fullname="Chris Hood">
      <organization>Nomotic, Inc.</organization>
      <address>
        <email>chris@nomotic.ai</email>
        <uri>https://nomotic.ai</uri>
      </address>
    </author>
    <date year="2026" month="June" day="28"/>
    <area>Applications and Real-Time</area>
    <workgroup>Independent Submission</workgroup>
    <keyword>AI agents</keyword>
    <keyword>agent protocol composition</keyword>
    <keyword>MCP</keyword>
    <keyword>A2A</keyword>
    <keyword>ACP</keyword>
    <keyword>OAuth</keyword>
    <keyword>OIDC</keyword>
    <keyword>HTTP gateway</keyword>
    <keyword>AGTP substrate</keyword>
    <abstract>
      <?line 134?>

<t>The Agent Transfer Protocol (AGTP) operates as a substrate beneath
several adjacent layers: Agent Group Messaging Protocols (AGMPs) such
as the Model Context Protocol (MCP), the Agent-to-Agent Protocol (A2A),
and the Agent Communication Protocol (ACP); external identity providers
(OAuth, OIDC, enterprise IdPs); and HTTP-based clients that interact
with agents through translation gateways. This document specifies the
composition profiles for each of these adjacent layers, defining
normative mapping rules between the adjacent layer and AGTP.</t>
      <t>Three composition families are specified. The AGMP composition profile
specifies how MCP, A2A, and ACP messages are carried over AGTP, with
mapping rules for identity, authority scope, delegation, and session
fields between the AGMP and AGTP layers. The External Identity Provider
composition profile specifies how AGTP agent identity composes with
externally-issued credentials, treating "which agent" and "on whose
behalf" as orthogonal axes. The HTTP Gateway composition profile
specifies the translation surface for accepting HTTP traffic into AGTP-
served agents as a REST adoption ramp.</t>
      <t>Across all three families, AGTP headers take precedence over equivalent
adjacent-layer fields for all infrastructure-level routing, enforcement,
and audit operations. Agents gain transport-level governance,
observability, and identity without modification to the adjacent layers.</t>
    </abstract>
  </front>
  <middle>
    <?line 160?>

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="the-composition-problem">
        <name>The Composition Problem</name>
        <t>AGTP <xref target="AGTP"/> is a dedicated transport substrate for AI agent traffic.
It is designed to compose with adjacent layers rather than to replace
them. Three categories of adjacent layer benefit from explicit
composition profiles with AGTP:</t>
        <t><strong>Agent Group Messaging Protocols (AGMPs).</strong> Protocols such as MCP
<xref target="MCP"/>, A2A <xref target="A2A"/>, ACP <xref target="ACP"/>, and ANP <xref target="ANP"/> define agent-to-
agent communication semantics: what agents say to each other, how
tools are invoked, how tasks are delegated, how capabilities are
advertised. These protocols are well-designed for what they address
but share a common substrate limitation: they typically run over HTTP
and inherit HTTP's constraints for agent traffic.</t>
        <t><strong>External identity providers.</strong> OAuth <xref target="RFC6749"/>, OIDC, SPIFFE,
enterprise IdPs, and similar services issue credentials that answer
"on whose behalf is the agent acting." AGTP identity answers "which
agent is making this call." The two axes are orthogonal and require
explicit composition rules so they compose cleanly rather than
conflict.</t>
        <t><strong>HTTP gateways.</strong> Many existing clients communicate over HTTP/REST
rather than AGTP. Operators that want to expose AGTP-served agents
to HTTP clients deploy translation gateways. The gateway is a
deployment-time adoption ramp, not a transport protocol; the
translation contract benefits from being specified explicitly so it
is interoperable across implementations.</t>
        <t>This document specifies the composition profile for each of these
three categories. The profiles share a common architectural principle:
AGTP headers take precedence over equivalent fields in the adjacent
layer for all infrastructure-level routing, enforcement, and audit
operations. Adjacent layers retain their own semantics and development
paths.</t>
      </section>
      <section anchor="the-limitation-this-document-addresses">
        <name>The Limitation This Document Addresses</name>
        <t>At the infrastructure layer, an A2A Task message carried over HTTP is
indistinguishable from a human-initiated POST request. An MCP tool
call carries no protocol-level signal of which agent sent it, under
what authority, or within what resource budget. An OAuth bearer token
in an HTTP request says "this principal is authenticated" but says
nothing about which agent acted on that principal's behalf or with
what authority scope. An HTTP gateway translating REST traffic into
agent operations has no canonical mapping from HTTP verbs to agent
semantics.</t>
        <t>Governance, observability, and identity enforcement in such systems
require application-layer instrumentation that is expensive,
inconsistent, and invisible to routing infrastructure.</t>
        <t>AGTP addresses this at the transport layer. When messages from
adjacent layers are carried over AGTP, every request carries the
sending agent's verified identity, principal authorization, authority
scope, delegation lineage, and resource budget in protocol headers.
Infrastructure components -- load balancers, gateways, SEPs -- can
route, filter, and enforce governance without parsing message
payloads.</t>
      </section>
      <section anchor="relationship-to-agtp-core">
        <name>Relationship to AGTP Core</name>
        <t>This document is a companion to <xref target="AGTP"/> and is normative for
implementations that compose adjacent layers with AGTP. The core AGTP
specification defines the protocol; this document defines how
specific adjacent-layer concepts map to AGTP constructs.
Implementations that use AGTP as a transport for AGMP traffic,
implementations that compose external identity providers with AGTP,
and implementations that deploy HTTP gateways in front of AGTP
agents <strong>MUST</strong> follow the mapping rules in this document.</t>
      </section>
      <section anchor="scope">
        <name>Scope</name>
        <t>This document covers three composition profile families:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>AGMP composition profiles</strong> for MCP <xref target="MCP"/>, A2A <xref target="A2A"/>, and
ACP <xref target="ACP"/> (<xref target="agmp-section"/>).</t>
          </li>
          <li>
            <t><strong>External identity provider composition</strong> for OAuth, OIDC, and
similar credential-issuing services (<xref target="idp-section"/>).</t>
          </li>
          <li>
            <t><strong>HTTP gateway composition</strong> for translation of HTTP traffic into
AGTP method invocations (<xref target="gateway-section"/>).</t>
          </li>
        </ol>
        <t>The document does not modify any AGMP specification, any identity
provider specification, or HTTP. AGMPs retain their own schemas,
semantics, and development paths. External identity providers retain
their own credential formats and validation rules. HTTP retains its
semantics. This document only specifies how adjacent-layer concepts
relate to AGTP headers, methods, and operational contracts.</t>
        <t>Additional composition surfaces specific to other AGTP companion
specifications are addressed in those specifications:</t>
        <ul spacing="normal">
          <li>
            <t>Payment provider composition is specified in <xref target="AGTP-COMMERCE"/>.</t>
          </li>
          <li>
            <t>Credit bureau and trust provider composition is specified in
<xref target="AGTP-TRUST"/>.</t>
          </li>
          <li>
            <t>Certificate authority composition is specified in <xref target="AGTP-CERT"/>.</t>
          </li>
          <li>
            <t>Institutional identity composition (LEI/vLEI) is specified in
<xref target="AGTP-LEI"/>.</t>
          </li>
        </ul>
        <t>This document covers only the three composition profile families
named above. Composition surfaces in other documents compose with
this document but are not duplicated here.</t>
      </section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "<strong>MUST</strong>", "<strong>MUST NOT</strong>", "<strong>REQUIRED</strong>", "<strong>SHALL</strong>",
"<strong>SHALL NOT</strong>", "<strong>SHOULD</strong>", "<strong>SHOULD NOT</strong>", "<strong>RECOMMENDED</strong>",
"<strong>NOT RECOMMENDED</strong>", "<strong>MAY</strong>", and "<strong>OPTIONAL</strong>" 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.</t>
      <dl>
        <dt>AGMP (Agent Group Messaging Protocol):</dt>
        <dd>
          <t>The collective term for higher-layer AI agent messaging standards that
operate over AGTP as their transport substrate, including MCP, A2A, ACP,
and ANP. AGMPs define what agents say. AGTP defines how those messages
move.</t>
        </dd>
        <dt>Adjacent Layer:</dt>
        <dd>
          <t>A protocol, service, or interface that composes with AGTP from above
(AGMPs), beside (external identity providers), or in front (HTTP
gateways). Adjacent layers retain their own semantics; AGTP provides
the substrate primitives they consume.</t>
        </dd>
        <dt>Substrate:</dt>
        <dd>
          <t>The transport layer on which an adjacent layer operates. In this
document, AGTP is the substrate. The substrate is not visible to the
adjacent layer; adjacent layers require no modification to compose
with AGTP.</t>
        </dd>
        <dt>Composition Profile:</dt>
        <dd>
          <t>The normative set of mapping rules specifying how a specific adjacent
layer's identity, delegation, session, capability, or translation
concepts correspond to AGTP header fields, method semantics, and
operational contracts.</t>
        </dd>
        <dt>External Identity Provider (IdP):</dt>
        <dd>
          <t>A service that issues credentials proving the identity of a human
principal, service account, or workload identity. Examples include
OAuth authorization servers, OIDC identity providers, SPIFFE
identity controllers, and enterprise IdPs. External IdPs answer "on
whose behalf is the agent acting"; AGTP identity answers "which
agent is making this call."</t>
        </dd>
        <dt>HTTP Gateway:</dt>
        <dd>
          <t>A translation surface that accepts inbound HTTP requests, translates
them into AGTP method invocations, and dispatches them through the
same response-finalization path as native AGTP traffic. The gateway
is a deployment-time adoption ramp, not part of the AGTP wire
protocol.</t>
        </dd>
      </dl>
    </section>
    <section anchor="the-narrow-waist-architecture">
      <name>The Narrow-Waist Architecture</name>
      <t>AGTP functions as the narrow-waist layer of the AI agent protocol stack,
analogous to IP in the internet architecture. IP does not understand TCP
or UDP; it carries their packets. AGTP does not understand MCP, A2A, OAuth
bearer tokens, or HTTP semantics; it carries the messages, composes with
the credentials, and absorbs the translations. The narrow-waist property
means any adjacent layer can compose with AGTP, and any AGTP-aware
infrastructure can observe and govern traffic across all adjacent layers,
without coupling between the layers.</t>
      <figure anchor="narrow-waist">
        <name>AGTP as Narrow-Waist Composition Layer</name>
        <artwork><![CDATA[
+-----------------------------------------------------------+
|        Agent Application Logic                            |
+-----------------------------------------------------------+
|  AGMP Layer: MCP / A2A / ACP / ANP       [messaging]      |
|  External IdP Layer: OAuth / OIDC        [authorization]  |
|  HTTP Gateway Layer: REST translation    [adoption ramp]  |
+-----------------------------------------------------------+
|  AGTP - Agent Transfer Protocol          [this composes]  |
+-----------------------------------------------------------+
|  TLS 1.3+                                [mandatory]      |
+-----------------------------------------------------------+
|  TCP / QUIC / UDP                        [transport]      |
+-----------------------------------------------------------+
]]></artwork>
      </figure>
      <t>The composition rules in this document specify how adjacent-layer concepts
map to the AGTP layer below them. The adjacent layers are unaware of AGTP
internals; the AGTP layer carries adjacent-layer payloads, validates
adjacent-layer credentials, and translates adjacent-layer requests without
interpreting their content beyond the mapping rules specified here.</t>
    </section>
    <section anchor="precedence">
      <name>Precedence Rule</name>
      <t>This rule applies universally across all composition profiles defined in
this document.</t>
      <t>AGTP headers (Agent-ID, Owner-ID, Authority-Scope, Delegation-Chain,
Session-ID, Task-ID, Budget-Limit, and AGTP-Zone-ID) take precedence
over equivalent fields in any adjacent-layer payload, credential, or
translated HTTP request for all infrastructure-level operations,
including routing, enforcement, rate limiting, audit, and attribution.</t>
      <t>Specifically:</t>
      <ul spacing="normal">
        <li>
          <t>Infrastructure components including SEPs, governance gateways, load
balancers, and monitoring systems <strong>MUST</strong> use AGTP header values
for all protocol-level decisions. They <strong>MUST NOT</strong> parse AGMP
payload fields, external IdP claims, or HTTP headers to make
routing or enforcement decisions, even when those fields appear
to carry equivalent information.</t>
        </li>
        <li>
          <t>Adjacent-layer fields <strong>MAY</strong> carry equivalent identity or
delegation information for application-layer use by the receiving
agent. These fields are not authoritative for infrastructure
decisions.</t>
        </li>
        <li>
          <t>In the event of a conflict between an AGTP header value and an
adjacent-layer field carrying equivalent information, the AGTP
header value <strong>MUST</strong> be treated as authoritative.</t>
        </li>
        <li>
          <t>An AGTP request carrying an adjacent-layer payload <strong>MUST</strong> be
rejected by infrastructure if the AGTP headers are absent or
invalid, regardless of whether the adjacent-layer payload itself
is well-formed.</t>
        </li>
      </ul>
      <t>This rule enables infrastructure to govern agent traffic uniformly
regardless of which adjacent layer is composed, without requiring
adjacent-layer-specific parsing.</t>
    </section>
    <section anchor="agmp-section">
      <name>AGMP Composition Profiles</name>
      <t>The AGMP composition profiles specify how messages from Agent Group
Messaging Protocols are carried over AGTP. Each profile maps the
AGMP's identity, delegation, session, capability, and message
concepts to AGTP headers and method semantics.</t>
    </section>
    <section anchor="a2a-composition-profile">
      <name>A2A Composition Profile</name>
      <section anchor="overview">
        <name>Overview</name>
        <t>The Agent-to-Agent Protocol (A2A) <xref target="A2A"/> defines semantics for
agent-to-agent task delegation, capability advertisement, artifact
exchange, and provenance tracking. A2A runs over HTTP in its base
specification. When running over AGTP, A2A messages are carried in
AGTP request and response bodies, with A2A task, capability, and
identity concepts mapped to AGTP headers.</t>
      </section>
      <section anchor="a2a-concept-mapping">
        <name>A2A Concept Mapping</name>
        <table>
          <name>A2A-to-AGTP Field Mapping</name>
          <thead>
            <tr>
              <th align="left">A2A Concept</th>
              <th align="left">A2A Field</th>
              <th align="left">AGTP Mapping</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Sending agent identity</td>
              <td align="left">
                <tt>agent.id</tt></td>
              <td align="left">
                <tt>Agent-ID</tt> header</td>
            </tr>
            <tr>
              <td align="left">Accountable principal</td>
              <td align="left">
                <tt>agent.owner</tt></td>
              <td align="left">
                <tt>Owner-ID</tt> header</td>
            </tr>
            <tr>
              <td align="left">Agent capabilities</td>
              <td align="left">Agent Card</td>
              <td align="left">AGTP DESCRIBE response</td>
            </tr>
            <tr>
              <td align="left">Agent identity document</td>
              <td align="left">Agent Card</td>
              <td align="left">AGTP Agent Manifest Document</td>
            </tr>
            <tr>
              <td align="left">Task delegation</td>
              <td align="left">Task object</td>
              <td align="left">AGTP DELEGATE method body</td>
            </tr>
            <tr>
              <td align="left">Task identifier</td>
              <td align="left">
                <tt>task.id</tt></td>
              <td align="left">
                <tt>Task-ID</tt> header</td>
            </tr>
            <tr>
              <td align="left">Delegation provenance</td>
              <td align="left">Task lineage</td>
              <td align="left">
                <tt>Delegation-Chain</tt> header</td>
            </tr>
            <tr>
              <td align="left">Session context</td>
              <td align="left">Conversation ID</td>
              <td align="left">
                <tt>Session-ID</tt> header</td>
            </tr>
            <tr>
              <td align="left">Artifact delivery</td>
              <td align="left">Artifact object</td>
              <td align="left">AGTP NOTIFY body</td>
            </tr>
            <tr>
              <td align="left">Capability scope</td>
              <td align="left">Agent Card capabilities</td>
              <td align="left">
                <tt>Authority-Scope</tt> header</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="mapping-rules">
        <name>Mapping Rules</name>
        <section anchor="agent-identity">
          <name>Agent Identity</name>
          <t>The A2A <tt>agent.id</tt> field <strong>MUST</strong> be used to populate the AGTP
<tt>Agent-ID</tt> header when the sending agent's A2A identity is known
at the transport layer. If the sending agent has a canonical AGTP
Agent-ID (agtp:// URI form), that value <strong>MUST</strong> be used in the
<tt>Agent-ID</tt> header; the A2A <tt>agent.id</tt> <strong>MAY</strong> appear in the payload
for application-layer use.</t>
          <t>The A2A agent's declared owner or registrant <strong>MUST</strong> be used to
populate the AGTP <tt>Owner-ID</tt> header. If no owner is declared,
the <tt>Owner-ID</tt> <strong>MUST</strong> reflect the organizational identity of
the deploying party.</t>
        </section>
        <section anchor="task-delegation">
          <name>Task Delegation</name>
          <t>An A2A Task sent from one agent to another <strong>MUST</strong> be carried as
an AGTP DELEGATE method invocation. The AGTP DELEGATE parameters
<strong>MUST</strong> include:</t>
          <ul spacing="normal">
            <li>
              <t><tt>target_agent_id</tt>: the canonical AGTP Agent-ID of the receiving agent</t>
            </li>
            <li>
              <t><tt>authority_scope</tt>: the subset of the sending agent's Authority-Scope
applicable to this task; <strong>MUST NOT</strong> exceed the sending agent's
declared scope</t>
            </li>
            <li>
              <t><tt>delegation_token</tt>: a signed token from the governance platform
authorizing this delegation</t>
            </li>
            <li>
              <t><tt>task</tt>: the A2A Task object as the AGTP body payload</t>
            </li>
          </ul>
          <t>The A2A <tt>task.id</tt> <strong>MUST</strong> be used as the AGTP <tt>Task-ID</tt> header
value, or if no A2A task ID is present, a new Task-ID <strong>MUST</strong> be
generated by the AGTP layer.</t>
        </section>
        <section anchor="delegation-provenance">
          <name>Delegation Provenance</name>
          <t>A2A's task provenance chain <strong>MUST</strong> be reflected in the AGTP
<tt>Delegation-Chain</tt> header. Each agent in the A2A provenance chain
<strong>MUST</strong> appear as a canonical AGTP Agent-ID in the <tt>Delegation-Chain</tt>
header, in origination-to-current order.</t>
        </section>
        <section anchor="capability-advertisement">
          <name>Capability Advertisement</name>
          <t>When an agent exposes an A2A Agent Card, the same capability
information <strong>SHOULD</strong> be exposed via the AGTP DESCRIBE method.
An AGTP DESCRIBE request to the agent's canonical URI
(<tt>agtp://[domain]/agents/[label]</tt>) <strong>MUST</strong> return a Capability
Document that reflects the agent's A2A capabilities translated
into AGTP capability domain format.</t>
        </section>
        <section anchor="artifact-delivery">
          <name>Artifact Delivery</name>
          <t>A2A Artifact objects <strong>MUST</strong> be carried as AGTP NOTIFY method
invocations when delivered asynchronously. The NOTIFY body
<strong>MUST</strong> include the A2A Artifact object and a <tt>content_type</tt>
field with value <tt>a2a-artifact</tt>.</t>
        </section>
      </section>
      <section anchor="wire-example-a2a-task-over-agtp">
        <name>Wire Example: A2A Task over AGTP</name>
        <artwork><![CDATA[
AGTP/1.0 DELEGATE
Agent-ID: agtp://agtp.acme.tld/agents/orchestrator
Owner-ID: usr-chris-hood
Authority-Scope: agents:delegate documents:query
Delegation-Chain: agtp://agtp.acme.tld/agents/orchestrator
Session-ID: sess-a1b2c3d4
Task-ID: task-0099
Budget-Limit: tokens=50000 ttl=300
Content-Schema: https://a2aprotocol.ai/schema/task/v1
Content-Type: application/agtp+json

{
  "method": "DELEGATE",
  "task_id": "task-0099",
  "parameters": {
    "target_agent_id": "agtp://agtp.acme.tld/agents/analyst",
    "authority_scope": "documents:query",
    "delegation_token": "[signed token]",
    "task": {
      "a2a_task_id": "a2a-task-7f3a",
      "message": {
        "role": "user",
        "parts": [{"type": "text",
          "text": "Summarize Q1 financial reports"}]
      },
      "artifacts": []
    }
  }
}

AGTP/1.0 200 OK
Task-ID: task-0099
Server-Agent-ID: agtp://agtp.acme.tld/agents/analyst
Attribution-Record: [signed attribution token]
Cost-Estimate: tokens=12450
Content-Type: application/agtp+json

{
  "status": 200,
  "task_id": "task-0099",
  "result": {
    "a2a_task_id": "a2a-task-7f3a",
    "status": "completed",
    "artifacts": [
      {
        "name": "Q1 Summary",
        "mimeType": "text/plain",
        "parts": [{"type": "text", "text": "..."}]
      }
    ]
  }
}
]]></artwork>
      </section>
    </section>
    <section anchor="mcp-composition-profile">
      <name>MCP Composition Profile</name>
      <section anchor="overview-1">
        <name>Overview</name>
        <t>The Model Context Protocol (MCP) <xref target="MCP"/> defines structured communication
between AI models and tools, resources, and context providers. MCP
distinguishes between clients (AI models) and servers (tool/resource
providers). When running over AGTP, MCP messages are carried in AGTP
request and response bodies, with MCP session, context, and tool-call
semantics mapped to AGTP constructs.</t>
      </section>
      <section anchor="mcp-concept-mapping">
        <name>MCP Concept Mapping</name>
        <table>
          <name>MCP-to-AGTP Field Mapping</name>
          <thead>
            <tr>
              <th align="left">MCP Concept</th>
              <th align="left">MCP Field</th>
              <th align="left">AGTP Mapping</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Client identity</td>
              <td align="left">
                <tt>client_id</tt></td>
              <td align="left">
                <tt>Agent-ID</tt> header</td>
            </tr>
            <tr>
              <td align="left">Server identity</td>
              <td align="left">
                <tt>server_id</tt></td>
              <td align="left">
                <tt>Server-Agent-ID</tt> response header</td>
            </tr>
            <tr>
              <td align="left">Session context</td>
              <td align="left">
                <tt>context</tt></td>
              <td align="left">
                <tt>Session-ID</tt> header + LEARN method</td>
            </tr>
            <tr>
              <td align="left">Conversation state</td>
              <td align="left">Message history</td>
              <td align="left">AGTP Session persistent state</td>
            </tr>
            <tr>
              <td align="left">Tool call</td>
              <td align="left">
                <tt>tools/call</tt></td>
              <td align="left">AGTP QUERY method body</td>
            </tr>
            <tr>
              <td align="left">Resource request</td>
              <td align="left">
                <tt>resources/read</tt></td>
              <td align="left">AGTP QUERY with <tt>scope: documents:*</tt></td>
            </tr>
            <tr>
              <td align="left">Sampling request</td>
              <td align="left">
                <tt>sampling/createMessage</tt></td>
              <td align="left">AGTP QUERY with <tt>modality: inference</tt></td>
            </tr>
            <tr>
              <td align="left">Prompt</td>
              <td align="left">
                <tt>prompts/get</tt></td>
              <td align="left">AGTP QUERY with <tt>scope: knowledge:query</tt></td>
            </tr>
            <tr>
              <td align="left">Capability list</td>
              <td align="left">
                <tt>capabilities</tt></td>
              <td align="left">AGTP DESCRIBE response</td>
            </tr>
            <tr>
              <td align="left">Tool result</td>
              <td align="left">Tool response</td>
              <td align="left">AGTP QUERY response body</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="mapping-rules-1">
        <name>Mapping Rules</name>
        <section anchor="client-and-server-identity">
          <name>Client and Server Identity</name>
          <t>The MCP client <strong>MUST</strong> be identified in the AGTP <tt>Agent-ID</tt> header
using its canonical AGTP Agent-ID. The MCP <tt>client_id</tt> field <strong>MAY</strong>
appear in the payload for application-layer use.</t>
          <t>When the MCP server has a canonical AGTP Agent-ID, it <strong>MUST</strong> return
that value in the <tt>Server-Agent-ID</tt> response header. The MCP server's
capability list <strong>SHOULD</strong> be accessible via AGTP DESCRIBE at the
server's canonical AGTP URI.</t>
        </section>
        <section anchor="session-and-context-management">
          <name>Session and Context Management</name>
          <t>MCP's context window (the accumulated message history and state for a
conversation) <strong>MUST</strong> be associated with an AGTP <tt>Session-ID</tt>. The
AGTP session persists across multiple MCP message exchanges within a
single conversation.</t>
          <t>Context that should persist beyond the current AGTP session <strong>SHOULD</strong>
be written using the AGTP LEARN method with scope <tt>principal</tt> or
<tt>global</tt> as appropriate.</t>
        </section>
        <section anchor="tool-calls">
          <name>Tool Calls</name>
          <t>An MCP <tt>tools/call</tt> operation <strong>MUST</strong> be carried as an AGTP QUERY
method invocation. The AGTP QUERY <tt>intent</tt> parameter <strong>MUST</strong> describe
the tool being called. The <tt>modality</tt> parameter <strong>SHOULD</strong> be set to
<tt>tool</tt> to distinguish tool calls from information retrieval queries.</t>
        </section>
        <section anchor="resource-access">
          <name>Resource Access</name>
          <t>An MCP <tt>resources/read</tt> operation <strong>MUST</strong> be carried as an AGTP QUERY
method invocation. The AGTP <tt>Authority-Scope</tt> header <strong>MUST</strong> include
the appropriate resource scope (e.g., <tt>documents:query</tt> for document
resources).</t>
        </section>
        <section anchor="sampling">
          <name>Sampling</name>
          <t>An MCP <tt>sampling/createMessage</tt> operation <strong>MUST</strong> be carried as an
AGTP QUERY method invocation with <tt>modality: inference</tt>. This signals
to AGTP infrastructure that the request involves LLM inference,
enabling differentiated routing and budget enforcement.</t>
        </section>
      </section>
      <section anchor="wire-example-mcp-tool-call-over-agtp">
        <name>Wire Example: MCP Tool Call over AGTP</name>
        <artwork><![CDATA[
AGTP/1.0 QUERY
Agent-ID: agtp://agtp.acme.tld/agents/assistant
Owner-ID: usr-chris-hood
Authority-Scope: documents:query knowledge:query
Session-ID: sess-mcp-b2c3d4
Task-ID: task-0100
Budget-Limit: tokens=5000 ttl=60
Content-Schema: https://modelcontextprotocol.io/schema/tool-call/v1
Content-Type: application/agtp+json

{
  "method": "QUERY",
  "task_id": "task-0100",
  "parameters": {
    "intent": "Search for recent IETF agent protocol drafts",
    "modality": "tool",
    "mcp_tool_name": "web_search",
    "mcp_tool_input": {
      "query": "IETF agent protocol drafts 2026"
    },
    "format": "structured",
    "confidence_threshold": 0.75
  }
}

AGTP/1.0 200 OK
Task-ID: task-0100
Server-Agent-ID: agtp://agtp.acme.tld/agents/search-tool
Attribution-Record: [signed attribution token]
Cost-Estimate: calls=1
Content-Type: application/agtp+json

{
  "status": 200,
  "task_id": "task-0100",
  "result": {
    "mcp_tool_name": "web_search",
    "content": [
      {
        "type": "text",
        "text": "draft-hood-independent-agtp-02 ..."
      }
    ]
  }
}
]]></artwork>
      </section>
      <section anchor="wire-example-mcp-sampling-over-agtp">
        <name>Wire Example: MCP Sampling over AGTP</name>
        <artwork><![CDATA[
AGTP/1.0 QUERY
Agent-ID: agtp://agtp.acme.tld/agents/assistant
Owner-ID: usr-chris-hood
Authority-Scope: knowledge:query
Session-ID: sess-mcp-b2c3d4
Task-ID: task-0101
Budget-Limit: tokens=10000 ttl=120
Content-Type: application/agtp+json

{
  "method": "QUERY",
  "task_id": "task-0101",
  "parameters": {
    "intent": "Generate a summary of the search results",
    "modality": "inference",
    "mcp_messages": [
      {
        "role": "user",
        "content": {
          "type": "text",
          "text": "Summarize these IETF drafts for me."
        }
      }
    ],
    "mcp_model_preferences": {
      "hints": [{"name": "claude"}],
      "maxTokens": 1000
    }
  }
}
]]></artwork>
      </section>
    </section>
    <section anchor="acp-composition-profile">
      <name>ACP Composition Profile</name>
      <section anchor="overview-2">
        <name>Overview</name>
        <t>The Agent Communication Protocol (ACP) <xref target="ACP"/> defines messaging
semantics for agent-to-agent communication, including message routing,
broadcast, and capability discovery. When running over AGTP, ACP
messages are carried in AGTP request and response bodies.</t>
      </section>
      <section anchor="acp-concept-mapping">
        <name>ACP Concept Mapping</name>
        <table>
          <name>ACP-to-AGTP Field Mapping</name>
          <thead>
            <tr>
              <th align="left">ACP Concept</th>
              <th align="left">ACP Field</th>
              <th align="left">AGTP Mapping</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Sender identity</td>
              <td align="left">Sender agent ID</td>
              <td align="left">
                <tt>Agent-ID</tt> header</td>
            </tr>
            <tr>
              <td align="left">Recipient</td>
              <td align="left">Recipient agent ID</td>
              <td align="left">AGTP NOTIFY <tt>recipient</tt> parameter</td>
            </tr>
            <tr>
              <td align="left">Broadcast</td>
              <td align="left">Multi-recipient message</td>
              <td align="left">AGTP NOTIFY with broadcast group</td>
            </tr>
            <tr>
              <td align="left">Capability discovery</td>
              <td align="left">Capability query</td>
              <td align="left">AGTP DESCRIBE method</td>
            </tr>
            <tr>
              <td align="left">Message</td>
              <td align="left">Message object</td>
              <td align="left">AGTP NOTIFY or COLLABORATE body</td>
            </tr>
            <tr>
              <td align="left">Multi-agent task</td>
              <td align="left">Coordinated task</td>
              <td align="left">AGTP COLLABORATE method</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="mapping-rules-2">
        <name>Mapping Rules</name>
        <section anchor="unicast-messages">
          <name>Unicast Messages</name>
          <t>ACP unicast messages sent from one agent to a specific recipient
<strong>MUST</strong> be carried as AGTP NOTIFY method invocations. The NOTIFY
<tt>recipient</tt> parameter <strong>MUST</strong> carry the canonical AGTP Agent-ID of
the intended recipient.</t>
        </section>
        <section anchor="broadcast-messages">
          <name>Broadcast Messages</name>
          <t>ACP broadcast messages <strong>MUST</strong> be carried as AGTP NOTIFY method
invocations with a broadcast group identifier in the <tt>recipient</tt>
parameter. The broadcast group <strong>MUST</strong> be registered in the
governance platform before use.</t>
        </section>
        <section anchor="multi-agent-coordination">
          <name>Multi-Agent Coordination</name>
          <t>ACP multi-agent coordination workflows <strong>SHOULD</strong> be carried as AGTP
COLLABORATE method invocations where two or more agents work in
parallel or defined roles toward a shared objective. AGTP COLLABORATE
is peer-to-peer, consistent with ACP's coordination model.</t>
        </section>
        <section anchor="capability-discovery">
          <name>Capability Discovery</name>
          <t>ACP capability queries <strong>MUST</strong> be carried as AGTP DESCRIBE method
invocations. The AGTP DESCRIBE response <strong>MUST</strong> include all
capability domains relevant to the querying agent's task.</t>
        </section>
      </section>
      <section anchor="wire-example-acp-unicast-message-over-agtp">
        <name>Wire Example: ACP Unicast Message over AGTP</name>
        <artwork><![CDATA[
AGTP/1.0 NOTIFY
Agent-ID: agtp://agtp.acme.tld/agents/coordinator
Owner-ID: usr-ops-team
Authority-Scope: agents:notify
Session-ID: sess-acp-c3d4e5
Task-ID: task-0201
Content-Type: application/agtp+json

{
  "method": "NOTIFY",
  "task_id": "task-0201",
  "parameters": {
    "recipient": "agtp://agtp.acme.tld/agents/worker-01",
    "content": {
      "acp_message_type": "task_assignment",
      "payload": {
        "task": "Process batch-2026-Q1",
        "deadline": "2026-04-01T00:00:00Z"
      }
    },
    "urgency": "normal",
    "delivery_guarantee": "at_least_once"
  }
}
]]></artwork>
      </section>
    </section>
    <section anchor="idp-section">
      <name>External Identity Provider Composition</name>
      <t>The External Identity Provider composition profile specifies how AGTP
agent identity composes with externally-issued credentials such as
OAuth bearer tokens, OIDC <tt>id_token</tt>s, SPIFFE SVIDs, and enterprise
IdP session tokens.</t>
      <section anchor="the-two-axis-model">
        <name>The Two-Axis Model</name>
        <t>AGTP identity and external IdP credentials answer different questions
and <strong>MUST</strong> be treated as orthogonal axes:</t>
        <ul spacing="normal">
          <li>
            <t><strong>AGTP identity answers "which agent is making this call."</strong>
Hash-anchored on the Agent Genesis (<xref target="AGTP"/>), presented via the
Agent-ID header, optionally bound to a client certificate per
<xref target="AGTP-CERT"/>, scoped by Authority-Scope. The trust root is the
Genesis-issuer registrar per <xref target="AGTP-TRUST"/>.</t>
          </li>
          <li>
            <t><strong>External IdP credentials answer "on whose behalf is the agent
acting."</strong> A human principal, a service account, or a workload
identity in an enterprise identity stack. The trust root is the
IdP.</t>
          </li>
        </ul>
        <t>The two axes compose. AGTP places no constraints on how external
credentials are validated; servers <strong>MAY</strong> require external
credentials on specific methods, <strong>MAY</strong> lift a named claim from the
validated credential into the Attribution-Record, and <strong>MUST</strong> treat
the failure modes of the two axes as independent.</t>
      </section>
      <section anchor="three-composition-patterns">
        <name>Three Composition Patterns</name>
        <t><strong>Pattern 1: AGTP identity only.</strong> Agent-ID plus optional Agent
Certificate plus Authority-Scope. No external IdP. Trust anchored in
the Genesis-issuer registrar. Appropriate for closed agent ecosystems
where the registrar is the trust root and no human-on-whose-behalf
claim is required.</t>
        <t><strong>Pattern 2: AGTP identity plus external IdP credential.</strong> The
request carries Agent-ID (wire-layer identity) and an <tt>Authorization</tt>
header carrying an IdP-issued credential (application-layer
principal). Both ride on the same request. AGTP Authority-Scope and
external authorization scope (e.g., OAuth scopes per <xref target="RFC6749"/>) are
independent: Authority-Scope is the agent's <em>capacity</em> to act, the
IdP scope is the <em>delegation</em> from a principal authorizing the agent
to do so on its behalf. A server's <tt>[policies.oauth]</tt> block (defined
operationally outside this document) declares which methods require
an external credential and which validator processes the credential.
On validation success, the configured claim (typically <tt>sub</tt>) is
lifted into the request context as the acting-principal identifier
and stamped on the Attribution-Record as <tt>principal_id</tt> per
<xref target="AGTP-IDENTIFIERS"/>.</t>
        <t><strong>Pattern 3: OIDC-federated Genesis-issuer trust.</strong> The
Genesis-issuer key itself is attested by an IdP. Trust anchors that
would otherwise be a static trusted-registrars list are replaced by
OIDC discovery: the verifier configures one or more OIDC anchors
(discovery URL plus trusted issuer), fetches the JWKS at runtime,
and confirms the <tt>issuer_public_key</tt> on the Agent Genesis matches
one of the IdP's published keys. The Genesis schema does not change;
the change is the resolution path the verifier uses to decide
whether a recorded issuer key is trusted. See <xref target="AGTP-TRUST"/> for the
trust-anchor schema.</t>
      </section>
      <section anchor="authorization-header">
        <name>Authorization Header</name>
        <t>AGTP servers process the <tt>Authorization</tt> request header per HTTP
semantics (<xref target="RFC9110"/>). The header value is opaque to AGTP itself;
the configured validator interprets it. Common forms include:</t>
        <ul spacing="normal">
          <li>
            <t><tt>Bearer TOKEN</tt> --- OAuth 2.0 / OIDC bearer tokens per <xref target="RFC6750"/>.</t>
          </li>
          <li>
            <t>Other schemes (<tt>Basic</tt>, <tt>Digest</tt>, custom schemes) --- passed
through to the configured validator unchanged.</t>
          </li>
        </ul>
        <t>Validation failures <strong>MUST</strong> return <tt>401 Unauthorized</tt> with a
response body carrying a structured <tt>reason</tt> from the vocabulary:</t>
        <table>
          <name>External IdP Composition 401 Reason Vocabulary</name>
          <thead>
            <tr>
              <th align="left">Reason</th>
              <th align="left">Meaning</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>oauth-required</tt></td>
              <td align="left">The invoked method is in the server's <tt>required_on_methods</tt> list and no <tt>Authorization</tt> header was presented</td>
            </tr>
            <tr>
              <td align="left">
                <tt>oauth-invalid</tt></td>
              <td align="left">An <tt>Authorization</tt> header was presented and the configured validator rejected it (bad signature, expired token, untrusted issuer, etc.)</td>
            </tr>
          </tbody>
        </table>
        <t>The 401 codes for external-credential failures are the same 401
code AGTP uses for other authentication failures; the <tt>reason</tt>
field disambiguates.</t>
      </section>
      <section anchor="token-opacity-and-attribution">
        <name>Token Opacity and Attribution</name>
        <t>AGTP <strong>MUST NOT</strong> stamp the raw <tt>Authorization</tt> header value or the
raw token onto the Attribution-Record. The Attribution-Record is
signed and may be replayed by chain walkers and audit consumers;
embedding bearer tokens would create a credential-disclosure
surface. Only the validated, lifted claim (the <tt>principal_id</tt>)
appears on the Attribution-Record per <xref target="AGTP-IDENTIFIERS"/>.</t>
      </section>
      <section anchor="backward-compatibility">
        <name>Backward Compatibility</name>
        <t>The External IdP composition surface is opt-in. Servers with no
<tt>[policies.oauth]</tt> configuration process requests identically to
servers built without IdP composition awareness. Requests without an
<tt>Authorization</tt> header on servers that do not require one are
dispatched normally. This preserves Pattern 1 deployments
byte-for-byte.</t>
      </section>
      <section anchor="wire-example-agtp-request-with-oidc-bearer-token">
        <name>Wire Example: AGTP Request with OIDC Bearer Token</name>
        <artwork><![CDATA[
AGTP/1.0 EXECUTE
Agent-ID: agtp://agents.bank.tld/loan-evaluator
Owner-ID: lei:5299002IZHCT9HFFP822
Authority-Scope: loan:evaluate documents:read
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
Session-ID: sess-loan-eval-001
Task-ID: task-2026-0601
Content-Type: application/agtp+json

{
  "method": "EXECUTE",
  "task_id": "task-2026-0601",
  "parameters": {
    "payload_type": "application/vnd.bank.loan-eval+json",
    "action": "evaluate-application",
    "payload": {
      "application_id": "app-12345",
      "applicant_consent_ref": "consent-2026-001"
    }
  }
}
]]></artwork>
        <t>The bearer token in the <tt>Authorization</tt> header authorizes the
loan-evaluator agent to act on behalf of a specific banking customer.
The server's <tt>[policies.oauth]</tt> block requires Bearer tokens on the
<tt>loan:evaluate</tt> scope, validates the token against the configured
IdP, lifts the <tt>sub</tt> claim as <tt>principal_id</tt>, and stamps it on the
Attribution-Record. The Owner-ID header identifies the bank
(LEI-anchored institutional identity per <xref target="AGTP-LEI"/>); the bearer
token identifies the customer. The two are independent axes.</t>
      </section>
    </section>
    <section anchor="gateway-section">
      <name>HTTP Gateway Composition</name>
      <t>The HTTP Gateway composition profile specifies the translation
surface for accepting HTTP traffic into AGTP-served agents. The
gateway is a deployment-time adoption ramp, not part of the AGTP
wire protocol; this profile specifies the translation contract so it
is interoperable across implementations.</t>
      <section anchor="architectural-position">
        <name>Architectural Position</name>
        <t>Operators that need to accept inbound HTTP/REST traffic on the same
agent surface that serves AGTP <strong>MAY</strong> deploy an HTTP gateway sidecar
alongside the AGTP daemon. The gateway is a parallel listener that
accepts HTTP requests, translates them into AGTP method invocations,
and dispatches them through the same response-finalization path as
native AGTP traffic.</t>
        <t>The gateway is not the AGTP transport. Two AGTP servers exchanging
traffic with one another <strong>MUST NOT</strong> use the gateway as their hop;
AGTP is its own transport, and gateway-mediated AGTP-to-AGTP flows
would lose the wire-level identity, attribution, and trust-posture
guarantees AGTP defines. The gateway exists to translate non-AGTP
clients into AGTP method invocations.</t>
        <figure anchor="gateway-arch">
          <name>HTTP Gateway Translation Pattern</name>
          <artwork><![CDATA[
+--------------------+              +--------------------+
|  HTTP/REST Client  |  HTTP/1.1    |  HTTP Gateway      |
|  (non-AGTP-aware)  | -----------> |  (Sidecar)         |
+--------------------+              +--------------------+
                                              |
                                              | AGTP method
                                              | invocation
                                              v
                                    +--------------------+
                                    |  AGTP Daemon       |
                                    |  (port 4480)       |
                                    +--------------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="translation-rules">
        <name>Translation Rules</name>
        <t>The gateway applies the following translation rules:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>HTTP method to AGTP method.</strong> The HTTP method is run through
the server's <tt>policies.methods.aliases</tt> map per <xref target="AGTP-API"/>; the
resolved canonical AGTP method is used for dispatch. The default
alias seed (GET to FETCH, POST to CREATE, PUT to REPLACE, DELETE
to REMOVE, PATCH to MODIFY) handles the five common verbs. The
original HTTP method is preserved on the Attribution-Record as
<tt>requested_method</tt> per <xref target="AGTP-IDENTIFIERS"/>.</t>
          </li>
          <li>
            <t><strong>HTTP path to AGTP path.</strong> The path is forwarded verbatim,
subject to the path grammar in <xref target="AGTP-API"/>.</t>
          </li>
          <li>
            <t><strong>HTTP headers to AGTP headers.</strong> The gateway <strong>MAY</strong> forward
selected headers (e.g., <tt>Authorization</tt> mapped to AGTP
authentication context per the External IdP composition profile
in <xref target="idp-section"/>); the specific header forwarding policy is
operator-defined.</t>
          </li>
          <li>
            <t><strong>Response.</strong> The AGTP response (status, headers, body) is
translated into an HTTP response. The gateway <strong>MUST</strong> invoke the
standard response-finalization path so the AGTP response carries
a valid Attribution-Record; the resulting Audit-ID and Server-ID
participate in the same per-agent chain as native AGTP responses.</t>
          </li>
        </ol>
      </section>
      <section anchor="constraints">
        <name>Constraints</name>
        <ul spacing="normal">
          <li>
            <t><strong>The gateway **MUST</strong> strip the <tt>Allow-RCNS</tt> header from inbound
HTTP requests before dispatch.** HTTP callers cannot opt into
Runtime Contract Negotiation Substrate through the gateway by
design; RCNS is a substrate feature for AGTP-native callers whose
identity, trust tier, and scope are bound at the AGTP layer.
Operators that want to expose RCNS to HTTP callers <strong>MUST</strong> layer
AGTP-native authentication on top of the gateway, in which case
the gateway is no longer the right abstraction.</t>
          </li>
          <li>
            <t><strong>The gateway is a translation surface, not a transport protocol.</strong>
Two AGTP servers exchanging traffic with one another <strong>MUST NOT</strong>
use the gateway as their hop; AGTP is its own transport, and
gateway-mediated AGTP-to-AGTP flows would lose the wire-level
identity, attribution, and trust-posture guarantees this
specification defines.</t>
          </li>
          <li>
            <t><strong>The gateway **MUST NOT</strong> synthesize AGTP identity headers from
HTTP request properties.** The Agent-ID and Owner-ID forwarded to
the AGTP daemon <strong>MUST</strong> identify the gateway's own agent identity
(the agent on whose behalf the gateway is calling into the AGTP
layer), not an identity inferred from the HTTP client. HTTP
clients that need authenticated agent identity at the AGTP layer
<strong>MUST</strong> present credentials the gateway can validate and lift
into a Pattern 2 External IdP composition.</t>
          </li>
        </ul>
      </section>
      <section anchor="reference-deployment-pattern">
        <name>Reference Deployment Pattern</name>
        <t>The reference implementation pattern is an operational module
distributed as <tt>mod_http_gateway</tt> or equivalent, listening on a
separate port from the AGTP listener (default <tt>127.0.0.1:8080</tt> for
the gateway, port 4480 for AGTP), so the two protocols never share
a socket.</t>
      </section>
      <section anchor="wire-example-http-get-translated-to-agtp-fetch">
        <name>Wire Example: HTTP GET Translated to AGTP FETCH</name>
        <artwork><![CDATA[
GET /agents/library/books/2026-spring HTTP/1.1
Host: library.example.com
Authorization: Bearer eyJhbGciOiJSUzI1NiIs...
Accept: application/json
]]></artwork>
        <t>The gateway translates this to:</t>
        <artwork><![CDATA[
AGTP/1.0 FETCH
Agent-ID: agtp://gateway.library.example.com/agents/http-bridge
Owner-ID: owner:library.example.com
Authority-Scope: catalog:read
Authorization: Bearer eyJhbGciOiJSUzI1NiIs...
Session-ID: sess-http-bridge-9f3a
Task-ID: task-http-001
Content-Type: application/agtp+json

{
  "method": "FETCH",
  "task_id": "task-http-001",
  "parameters": {
    "path": "/agents/library/books/2026-spring",
    "format": "structured"
  }
}
]]></artwork>
        <t>The Agent-ID is the gateway's own agent identity, not synthesized from
the HTTP client. The bearer token from the HTTP request is forwarded
and validated by the AGTP server's External IdP composition per
Pattern 2. The original HTTP method (<tt>GET</tt>) is preserved on the
Attribution-Record as <tt>requested_method</tt> for audit reconstruction.</t>
      </section>
    </section>
    <section anchor="cross-composition-interoperability">
      <name>Cross-Composition Interoperability</name>
      <t>This section addresses interoperability concerns that arise when
multiple composition families are active simultaneously: an agent
serving MCP and A2A workflows on the same session, a Pattern 2 IdP
composition combined with an HTTP gateway, or a cross-AGMP delegation
chain that traverses an external IdP boundary.</t>
      <section anchor="agent-discovery-across-agmps">
        <name>Agent Discovery Across AGMPs</name>
        <t>An agent registered with an AGTP governance platform is discoverable
regardless of which AGMP it uses. The AGTP Agent Manifest Document
exposes the agent's supported methods and modalities; the AGTP DESCRIBE
method exposes its capabilities. AGMP-specific capability formats
(A2A Agent Cards, MCP capability lists) <strong>MAY</strong> be included as
extensions to the AGTP Capability Document but are not required.</t>
      </section>
      <section anchor="session-continuity-across-agmps">
        <name>Session Continuity Across AGMPs</name>
        <t>A single AGTP session <strong>MAY</strong> carry messages from multiple AGMPs within
the same workflow. For example, an orchestrator agent might use A2A to
delegate a task, then use MCP to invoke a tool within that task, all
within a single AGTP session identified by the same <tt>Session-ID</tt>. AGTP
session semantics persist across AGMP message types within the session.</t>
      </section>
      <section anchor="identity-consistency-across-composition-families">
        <name>Identity Consistency Across Composition Families</name>
        <t>An agent operating across multiple composition families <strong>MUST</strong> use the
same canonical AGTP Agent-ID in all AGTP headers, regardless of which
adjacent layer is composed. AGMP-layer identity fields (A2A <tt>agent.id</tt>,
MCP <tt>client_id</tt>), external IdP claims, and HTTP-client identifiers
<strong>MAY</strong> differ from the canonical AGTP Agent-ID for backward
compatibility with non-AGTP deployments, but the AGTP Agent-ID is
authoritative for all governance and audit purposes.</t>
      </section>
      <section anchor="idp-and-gateway-combined">
        <name>IdP and Gateway Combined</name>
        <t>An HTTP request with a Bearer token arriving at an HTTP gateway
composes both the External IdP profile and the HTTP Gateway profile:</t>
        <ol spacing="normal" type="1"><li>
            <t>The gateway translates the HTTP request to an AGTP method
invocation per <xref target="gateway-section"/>, forwarding the
<tt>Authorization</tt> header.</t>
          </li>
          <li>
            <t>The AGTP server validates the bearer token per the External IdP
composition Pattern 2 in <xref target="idp-section"/>, lifting the configured
claim as <tt>principal_id</tt>.</t>
          </li>
          <li>
            <t>The Attribution-Record carries both the gateway's Agent-ID
(which agent invoked the method) and the lifted <tt>principal_id</tt>
(on whose behalf the call was made).</t>
          </li>
        </ol>
        <t>The gateway is the agent at the AGTP layer; the bearer token's
subject is the principal. Both compose cleanly into the existing
two-axis model.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="agmp-payload-injection">
        <name>AGMP Payload Injection</name>
        <t>Threat: A malicious actor embeds forged identity or scope fields in an
AGMP message payload, attempting to override or supplement the AGTP
header values with elevated permissions.</t>
        <t>Mitigation: Infrastructure components <strong>MUST NOT</strong> parse AGMP payloads
for identity or scope information. The precedence rule in <xref target="precedence"/>
is absolute: AGTP headers govern all infrastructure decisions. Application
code <strong>SHOULD</strong> validate that AGMP payload identity fields are consistent
with the AGTP headers and <strong>MUST</strong> reject requests where they conflict
in ways that suggest an escalation attempt.</t>
      </section>
      <section anchor="cross-agmp-delegation-elevation">
        <name>Cross-AGMP Delegation Elevation</name>
        <t>Threat: An agent uses AGMP composition to cross protocol boundaries in
a way that circumvents AGTP scope enforcement. For example, receiving
a task via A2A with a delegated scope, then re-delegating it via MCP
with an elevated scope.</t>
        <t>Mitigation: The AGTP Delegation-Chain header <strong>MUST</strong> be maintained
across AGMP boundaries. Each re-delegation <strong>MUST</strong> result in a new
AGTP DELEGATE invocation with a scope that is a strict subset of the
delegating agent's Authority-Scope. Scope <strong>MUST NOT</strong> increase across
AGMP composition boundaries.</t>
      </section>
      <section anchor="payload-schema-validation">
        <name>Payload Schema Validation</name>
        <t>Implementers <strong>SHOULD</strong> use the AGTP <tt>Content-Schema</tt> header to
declare the schema of the AGMP payload. Recipients <strong>SHOULD</strong> validate
the payload against the declared schema before processing. This
mitigates injection attacks that rely on schema ambiguity at the AGMP
layer.</t>
      </section>
      <section anchor="bearer-token-leakage-via-attribution-record">
        <name>Bearer Token Leakage via Attribution-Record</name>
        <t>Threat: An implementation incorrectly stamps the raw <tt>Authorization</tt>
header value or the raw bearer token onto the Attribution-Record. Since
Attribution-Records are signed and may be replayed by chain walkers and
audit consumers, this would create a credential-disclosure surface.</t>
        <t>Mitigation: AGTP <strong>MUST NOT</strong> stamp the raw <tt>Authorization</tt> header
value or the raw token onto the Attribution-Record. Only the
validated, lifted claim (the <tt>principal_id</tt>) appears on the
Attribution-Record per <xref target="AGTP-IDENTIFIERS"/>. Implementations <strong>MUST</strong>
verify this constraint in their attribution-record builder before
release.</t>
      </section>
      <section anchor="external-idp-validator-confusion">
        <name>External IdP Validator Confusion</name>
        <t>Threat: A server with multiple configured IdP validators dispatches a
credential to the wrong validator, causing a credential issued by one
IdP to be interpreted as if issued by another. An attacker could
exploit this to present a credential to a validator that accepts it
when the intended validator would have rejected it.</t>
        <t>Mitigation: Servers <strong>MUST</strong> route credentials to the correct
validator based on policy-defined matching rules (token issuer,
audience claim, header marker). Servers <strong>MUST NOT</strong> dispatch a
credential to multiple validators in parallel and accept any
success; this creates the confusion surface described above.</t>
      </section>
      <section anchor="http-gateway-identity-synthesis">
        <name>HTTP Gateway Identity Synthesis</name>
        <t>Threat: An HTTP gateway implementation synthesizes AGTP identity
headers from HTTP request properties (client IP, user-agent string,
hostname), creating a forgeable identity surface.</t>
        <t>Mitigation: The gateway <strong>MUST NOT</strong> synthesize Agent-ID or Owner-ID
from HTTP request properties per the constraints in <xref target="gateway-section"/>.
The Agent-ID forwarded to the AGTP daemon <strong>MUST</strong> identify the
gateway's own agent identity. HTTP clients that need authenticated
agent identity at the AGTP layer <strong>MUST</strong> present credentials the
gateway can validate and lift into a Pattern 2 External IdP
composition.</t>
      </section>
      <section anchor="http-gateway-rcns-bypass">
        <name>HTTP Gateway RCNS Bypass</name>
        <t>Threat: An HTTP client attempts to opt into Runtime Contract
Negotiation Substrate (RCNS) through the gateway by sending an
<tt>Allow-RCNS</tt> header, gaining access to a substrate feature that is
designed for AGTP-native callers with bound identity, trust tier, and
scope.</t>
        <t>Mitigation: The gateway <strong>MUST</strong> strip the <tt>Allow-RCNS</tt> header from
inbound HTTP requests before dispatch per <xref target="gateway-section"/>.
Operators that want to expose RCNS to HTTP-originating callers
<strong>MUST</strong> layer AGTP-native authentication on top of the gateway, in
which case the gateway is no longer the right abstraction.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document defines no new IANA registrations. All AGTP method,
header, and status code registrations are defined in <xref target="AGTP"/>.
External identity providers retain their own registrations
(<xref target="RFC6749"/>, <xref target="RFC6750"/>). AGMP specifications retain their own
registrations. The <tt>Content-Schema</tt> URIs used in this document
reference external schema registries maintained by the respective
adjacent-layer specification bodies.</t>
    </section>
    <section anchor="changes-from-v00">
      <name>Changes from v00</name>
      <t>Version 01 broadens the document's scope from AGMP-only composition
to a three-family composition profile structure. The AGMP profiles
are updated to track the v08 AGTP method floor and renamed
identifiers. Two new composition profile families are introduced:
External Identity Provider composition and HTTP Gateway composition.
These were previously specified in the v08 base spec's "Composition
with Higher-Level Frameworks" section; v01 of this document is the
canonical location for the normative specification.</t>
      <section anchor="substantive-changes">
        <name>Substantive Changes</name>
        <ol spacing="normal" type="1"><li>
            <t><strong>Title expanded</strong> to "AGTP Composition Profiles: Agent Group
Messaging Protocols, External Identity Providers, and HTTP
Gateways" reflecting the broader scope.</t>
          </li>
          <li>
            <t><strong>External Identity Provider composition profile added</strong> as
<xref target="idp-section"/>. Three composition patterns (AGTP-only,
AGTP+IdP, OIDC-federated Genesis trust). Authorization header
semantics. Token opacity rule. 401 reason vocabulary
(<tt>oauth-required</tt>, <tt>oauth-invalid</tt>). Backward compatibility
guidance. Wire example showing OIDC bearer token composition.</t>
          </li>
          <li>
            <t><strong>HTTP Gateway composition profile added</strong> as <xref target="gateway-section"/>.
Architectural position. Translation rules (HTTP method to AGTP
method via alias map; HTTP path verbatim; header forwarding
policy; response finalization). Constraints (Allow-RCNS header
stripping; transport-vs-translation distinction; no identity
synthesis from HTTP properties). Reference deployment pattern.
Wire example showing HTTP GET translated to AGTP FETCH.</t>
          </li>
          <li>
            <t><strong>Cross-AGMP Interoperability renamed and broadened</strong> to
Cross-Composition Interoperability. New subsection covering the
combined IdP-plus-Gateway case.</t>
          </li>
          <li>
            <t><strong>Identifier rename applied throughout.</strong> The <tt>Principal-ID</tt>
wire header is renamed to <tt>Owner-ID</tt> in all AGMP mapping tables,
mapping rules, and wire examples, tracking the locked AGTP
taxonomy from <xref target="AGTP-IDENTIFIERS"/>.</t>
          </li>
          <li>
            <t><strong>Security Considerations expanded</strong> to cover the new profile
families. Four new subsections: Bearer Token Leakage via
Attribution-Record; External IdP Validator Confusion; HTTP
Gateway Identity Synthesis; HTTP Gateway RCNS Bypass.</t>
          </li>
          <li>
            <t><strong>Normative reference to <xref target="AGTP"/> updated to v08</strong> (was v02
in v00).</t>
          </li>
          <li>
            <t><strong>Informative references added</strong> to <xref target="AGTP-API"/>,
<xref target="AGTP-IDENTIFIERS"/>, <xref target="AGTP-TRUST"/>, <xref target="AGTP-LOG"/>,
<xref target="AGTP-PRESENCE"/>, <xref target="AGTP-LEI"/>, <xref target="AGTP-COMMERCE"/>, and
<xref target="AGTP-DISCOVERY"/>, reflecting the broader AGTP draft family
that has emerged since v00 of this document.</t>
          </li>
          <li>
            <t><strong>Normative reference to <xref target="RFC9110"/></strong> added to support the
Authorization header semantics in the External IdP composition
profile. Informative references to <xref target="RFC6749"/> (OAuth 2.0) and
<xref target="RFC6750"/> (Bearer tokens) added.</t>
          </li>
          <li>
            <t><strong>Method floor references updated.</strong> Where v00 referenced the
12-method or 16-method floor, v01 references the current
18-method floor per <xref target="AGTP"/>.</t>
          </li>
        </ol>
      </section>
      <section anchor="composition-profile-boundary-clarifications">
        <name>Composition Profile Boundary Clarifications</name>
        <t>This document covers three composition profile families. Other
composition surfaces specific to AGTP companion specifications are
addressed in those specifications and are not duplicated here:</t>
        <ul spacing="normal">
          <li>
            <t>Payment provider composition is specified in <xref target="AGTP-COMMERCE"/>.</t>
          </li>
          <li>
            <t>Credit bureau and trust provider composition is specified in
<xref target="AGTP-TRUST"/>.</t>
          </li>
          <li>
            <t>Certificate authority composition is specified in <xref target="AGTP-CERT"/>.</t>
          </li>
          <li>
            <t>Institutional identity composition (LEI/vLEI) is specified in
<xref target="AGTP-LEI"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="wire-format-compatibility">
        <name>Wire Format Compatibility</name>
        <t>The v01 changes are additive (new profile families, expanded
security considerations, broader scope) and identifier-alignment
(Principal-ID to Owner-ID rename). No AGMP composition wire format
changes are introduced beyond the identifier rename that tracks the
broader AGTP taxonomy update. Implementations conforming to v00
require the Owner-ID rename to interoperate with v01 implementations
and AGTP v08 servers.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="AGTP">
          <front>
            <title>Agent Transfer Protocol (AGTP)</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-independent-agtp-09"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC6750">
          <front>
            <title>The OAuth 2.0 Authorization Framework: Bearer Token Usage</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>This specification describes how to use bearer tokens in HTTP requests to access OAuth 2.0 protected resources. Any party in possession of a bearer token (a "bearer") can use it to get access to the associated resources (without demonstrating possession of a cryptographic key). To prevent misuse, bearer tokens need to be protected from disclosure in storage and in transport. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6750"/>
          <seriesInfo name="DOI" value="10.17487/RFC6750"/>
        </reference>
        <reference anchor="A2A" target="https://a2aprotocol.ai">
          <front>
            <title>Agent-to-Agent Protocol Specification</title>
            <author>
              <organization>Linux Foundation</organization>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="ACP">
          <front>
            <title>Agent Communication Protocol</title>
            <author>
              <organization>IBM Research</organization>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="MCP" target="https://modelcontextprotocol.io">
          <front>
            <title>Model Context Protocol</title>
            <author>
              <organization>Anthropic</organization>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="ANP">
          <front>
            <title>Agent Network Protocol</title>
            <author>
              <organization/>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="AGTP-API">
          <front>
            <title>AGTP-API: Verbs, Paths, Endpoints, and Synthesis</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-api-01"/>
        </reference>
        <reference anchor="AGTP-CERT">
          <front>
            <title>AGTP Agent Certificate Extension</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-agent-cert-03"/>
        </reference>
        <reference anchor="AGTP-IDENTIFIERS">
          <front>
            <title>AGTP Identifier Chain</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-identifiers-02"/>
        </reference>
        <reference anchor="AGTP-TRUST">
          <front>
            <title>AGTP Trust and Verification Specification</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-trust-02"/>
        </reference>
        <reference anchor="AGTP-LOG">
          <front>
            <title>AGTP Transparency Log</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-log-02"/>
        </reference>
        <reference anchor="AGTP-DISCOVERY">
          <front>
            <title>AGTP Discovery and Naming</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-discovery-01"/>
        </reference>
        <reference anchor="AGTP-PRESENCE">
          <front>
            <title>AGTP Presence: Ambient Discovery and Visibility for Agent Substrates</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-presence-00"/>
        </reference>
        <reference anchor="AGTP-LEI">
          <front>
            <title>AGTP-LEI: Binding the Agent Transfer Protocol to the Verifiable Legal Entity Identifier</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-lei-00"/>
        </reference>
        <reference anchor="AGTP-COMMERCE">
          <front>
            <title>AGTP-Commerce: Open Commerce Specification for Agent-to-Agent Transactions</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-commerce-00"/>
        </reference>
      </references>
    </references>
    <?line 1293?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The AGMP composition profiles in this document build on the foundational
work of the MCP, A2A, and ACP specification teams. AGTP is designed to
be additive to and compatible with their work, not competitive with it.
Thank you to Anthropic, Linux Foundation A2A team, and IBM ACP.</t>
      <t>The External Identity Provider composition profile builds on the
foundational work of the OAuth and OIDC communities. The composition
treats AGTP identity and external IdP credentials as orthogonal axes
that compose cleanly without modification to either.</t>
      <t>The HTTP Gateway composition profile addresses the practical reality
that many existing clients communicate over HTTP. The translation
contract specified here makes the adoption ramp interoperable across
implementations without requiring HTTP to be modified.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
