<?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 strict="yes"?>
<?rfc compact="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-hood-agtp-methods-00" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="AGTP-METHODS">AGTP Methods (AGTP Verbs): Method Vocabulary, Path Grammar, and Endpoints</title>
    <seriesInfo name="Internet-Draft" value="draft-hood-agtp-methods-00"/>
    <author fullname="Chris Hood">
      <organization>Nomotic, Inc.</organization>
      <address>
        <email>chris@nomotic.ai</email>
        <uri>https://agtp.io</uri>
      </address>
    </author>
    <date year="2026" month="October" day="30"/>
    <area>Applications and Real-Time</area>
    <workgroup>Independent Submission</workgroup>
    <keyword>AI agents</keyword>
    <keyword>agent transfer protocol</keyword>
    <keyword>semantic methods</keyword>
    <keyword>AGTP verbs</keyword>
    <keyword>method catalog</keyword>
    <keyword>path grammar</keyword>
    <keyword>endpoint primitive</keyword>
    <keyword>server manifest</keyword>
    <abstract>
      <?line 116?>

<t>This document specifies AGTP-METHODS, the method vocabulary of the
Agent Transfer Protocol (AGTP) <xref target="AGTP"/> and the contract layer
built on it. AGTP methods, also called AGTP verbs, are the
action-intent words that name what a request does, in the same
position that methods occupy in HTTP. The document defines the
properties a method may have, the eighteen-method floor every
server implements, the registered catalog of methods beyond the
floor (425 methods in nine categories at catalog version 1.0.0)
with its versioned evolution and graceful deprecation, the path
grammar that keeps method names out of paths, the endpoint
primitive as the unit a server exposes, the semantic block carried
by every endpoint, the server manifest, the per-server method
policy, the three handler binding kinds, and the structural
rejection codes 404, 405, 459, and 460. Runtime contract
negotiation, previously carried in the same document, is now
specified in the companion AGTP-RCNS. This document replaces
<xref target="AGTP-API"/>, which in turn superseded the AGIS and AGTP-Methods
drafts.</t>
    </abstract>
  </front>
  <middle>
    <?line 137?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>AGTP <xref target="AGTP"/> is a transfer protocol for AI agent traffic. It
establishes identity, authority, attribution, and an
eighteen-method protocol-level floor. Beyond that floor, the
question of what an AGTP server exposes, which methods are valid,
which paths are permitted, which schemas govern input and output,
and which authority is required for invocation, is the contract
layer. This document specifies the method vocabulary and the
contract layer that is declared in terms of it.</t>
      <t>The structure follows the treatment of methods in HTTP <xref target="RFC9110"/>.
HTTP defines a small set of methods with named properties (safe,
idempotent, cacheable), a registry through which further methods
are added, and the status codes that reject a request whose method
is unknown or unavailable on a resource. AGTP does the same with
one difference of scale: because an agent reasons about intent from
the method name, AGTP carries a large registered vocabulary of
action-intent verbs, where HTTP has a small fixed set, and governs that
vocabulary through a catalog with versioned evolution. The
empirical basis for that choice is documented in <xref target="HOOD2026"/>.</t>
      <section anchor="methods-and-verbs">
        <name>Methods and Verbs</name>
        <t>In this document "method" and "verb" name the same thing from two
sides. A verb is a word in the catalog: an imperative-form,
uppercase ASCII token such as BOOK, RESERVE, AUDIT, or QUERY. A
method is that token in use: the action component of a request on
the wire, the <tt>method</tt> field on an endpoint, the key in a server's
method policy. The catalog is a vocabulary of verbs; the protocol
dispatches on methods. The family refers to the vocabulary as the
AGTP verbs where the linguistic content is the point and as AGTP
methods where the protocol mechanics are.</t>
      </section>
      <section anchor="why-the-contract-belongs-in-the-protocol">
        <name>Why the Contract Belongs in the Protocol</name>
        <t>The architectural goal AGTP is designed around is that an agent
encountering an AGTP server can:</t>
        <ul spacing="normal">
          <li>
            <t>Discover what endpoints the server exposes, with full structural
detail, in a single call.</t>
          </li>
          <li>
            <t>Reason about whether an endpoint matches its intent based on the
endpoint's declared semantic block.</t>
          </li>
          <li>
            <t>Verify that its identity carries the authority required to invoke
the endpoint.</t>
          </li>
          <li>
            <t>Propose new endpoints when nothing exposed meets its needs
(<xref target="AGTP-RCNS"/>).</t>
          </li>
          <li>
            <t>Compose endpoints across servers while preserving authority through
the composition.</t>
          </li>
        </ul>
        <t>None of this works if the contract lives in middleware. A protocol
that cannot tell what an interaction means cannot govern it. When
an agent invokes a method on a path, the protocol must verify
identity, confirm permissions cover the method-on-path combination,
confirm server policy allows the combination, validate the request
body against the endpoint's input schema, apply scope checks, and
log the invocation. Each of these checks requires the protocol to
know what the method-on-path combination means.</t>
        <t>This is the central claim of AGTP-METHODS. The contract is a
first-class protocol concept; on HTTP it is inferred from
documentation, OpenAPI specs, or framework conventions. Operational
concerns (rate limiting, observability, caching, custom
authentication strategies, request transformation, deployment
topology) remain middleware territory because they are operational
decisions specific to a deployment. Contracts belong to the
protocol and operations to middleware.</t>
      </section>
      <section anchor="document-lineage">
        <name>Document Lineage</name>
        <t>AGTP-METHODS is the renamed successor of <xref target="AGTP-API"/>. The rename
reflects what the document is: a method vocabulary and the contract
layer declared in its terms, which is a different thing from an API
in the HTTP sense.
Two changes accompany the rename. The runtime contract negotiation
substrate (the PROPOSE and Synthesis chapter of <xref target="AGTP-API"/>) is
extracted to <xref target="AGTP-RCNS"/>, and the method vocabulary is given the
HTTP-style treatment of <xref target="method-properties"/> and
<xref target="method-overview"/>.</t>
        <t><xref target="AGTP-API"/> itself superseded two earlier drafts: AGIS (the
Agentive Grammar and Interface Specification,
draft-hood-independent-agis-01), retained as a historical citation
source for the empirical research informing the verb-class
semantics, and the proposed Standard Extended Method Vocabulary
(draft-hood-agtp-standard-methods-01), which this document absorbs
as the catalog. Both are expired and replaced by this document. The
previously proposed AMG (Agent Method Grammar) draft never reached
publication. This document assumes the reader understands AGTP
<xref target="AGTP"/> v10 or later.</t>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14 <xref target="RFC2119"/>
          <xref target="RFC8174"/> when, and only when, they appear in all capitals, as
shown here.</t>
      </section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <dl>
        <dt>Method:</dt>
        <dd>
          <t>The action component of an AGTP request: an uppercase ASCII token
appearing in the eighteen-method floor of <xref target="AGTP"/>, in the
AGTP-METHODS catalog, or in the server's <tt>policies.methods</tt> as a
custom method. The <tt>method</tt> field on every
endpoint declaration carries this token. The protocol-level term
used throughout the wire format, manifest, and conformance
language.</t>
        </dd>
        <dt>Verb:</dt>
        <dd>
          <t>A descriptive synonym for "method" used when discussing the
catalog as a vocabulary of action-intent verbs. The catalog at
<tt>agtp.io/api/methods.json</tt> is a glossary of verbs; an operator
picks a verb from the catalog and declares it as the <tt>method</tt> on
an endpoint. Method is the field name; verb is the linguistic
category that explains why the field carries imperative-form
action-intent words.</t>
        </dd>
        <dt>Path:</dt>
        <dd>
          <t>The resource portion of an AGTP request, beginning with a forward
slash. Subject to the path grammar rules in <xref target="path-grammar"/>.</t>
        </dd>
        <dt>Endpoint:</dt>
        <dd>
          <t>A method-and-path pair exposed by an AGTP server, together with
its semantic block, input schema, output schema, error
declarations, and handler binding. The deployable unit of an
AGTP service. Endpoints are first-class protocol concepts.</t>
        </dd>
        <dt>Semantic Block:</dt>
        <dd>
          <t>Required structural metadata for every endpoint: intent, actor,
outcome, capability classification, confidence guidance, impact
tier, and idempotency. Encodes machine-readable intent so that
agents can reason about endpoint applicability before invoking.
Carried on the endpoint as the <tt>semantic</tt> field.</t>
        </dd>
        <dt>Server Manifest:</dt>
        <dd>
          <t>The machine-readable document an AGTP server publishes to declare
its endpoint catalog, hosted agents, hosted protocols, and policies.
The authoritative source for what a server offers.</t>
        </dd>
        <dt>Method Policy:</dt>
        <dd>
          <t>A per-server policy block declaring allowed methods, disallowed
methods, legacy verb opt-in, and server-local method-to-method
redirects. Carried as the <tt>policies.methods</tt> sub-block of the
server manifest. See <xref target="method-policy"/>.</t>
        </dd>
        <dt>Wildcards:</dt>
        <dd>
          <t>An ad-hoc method invocation mode in which an agent invokes a
method outside the server's declared endpoint catalog. Subject to
mutual consent: requires <tt>wildcards: true</tt> in the agent identity
document and <tt>wildcards_accepted: true</tt> in server policy.</t>
        </dd>
      </dl>
    </section>
    <section anchor="method-properties">
      <name>Method Properties</name>
      <t>Following <xref target="RFC9110"/>, AGTP names the properties a method may have
so that clients, bindings, and intermediaries can act on a method
without knowing its full semantics. AGTP carries one property more
than HTTP, because every AGTP request is an exercise of authority.</t>
      <dl>
        <dt>Safe:</dt>
        <dd>
          <t>A method is safe when an invocation has no observable side effect
on agent, server, or external state beyond logging and
attribution. Safe methods retrieve, describe, or reason without
changing what they touch. Safe methods are idempotent by
construction.</t>
        </dd>
        <dt>Idempotent:</dt>
        <dd>
          <t>A method is idempotent when repeated invocation with the same
request produces the same effect as a single invocation. Action
methods may be idempotent (CONFIRM, ESCALATE) or require an
idempotency key to be made so (<xref target="AGTP-RCNS"/> specifies the
<tt>Idempotency-Key</tt> contract).</t>
        </dd>
        <dt>Action:</dt>
        <dd>
          <t>A method is an action method when it is neither safe nor
guaranteed idempotent: it performs work, exercises authority,
changes state, or transfers value. Action methods are excluded
from early data by <xref target="AGTP-BINDINGS"/> because a replay would
re-trigger authorized work.</t>
        </dd>
        <dt>Authority-bearing:</dt>
        <dd>
          <t>Every AGTP method is authority-bearing: an invocation is accepted
only when the Authority-Scope carried on the request covers the
method on the addressed path, and every invocation produces an
Attribution-Record. Unlike HTTP, where a safe method carries no
authority question, a safe AGTP method is still a scoped,
attributed act. The property is universal and is stated here so
that the absence of a safe or idempotent marking is never read as
the absence of governance.</t>
        </dd>
      </dl>
      <t>Properties attach at two levels. For the floor methods, base
<xref target="AGTP"/> states the property in the method definition and in its
summary table; <xref target="method-overview"/> restates it. For catalog
methods, the catalog category supplies a default (retrieval,
discovery, and analysis verbs are safe; transaction, modification,
creation, and notification verbs are action methods; mechanics and
domain-spanning verbs carry no default), and the endpoint's semantic
block (<xref target="semantic-block"/>) states the governing value through its
<tt>idempotency</tt> and impact tier fields. Where the semantic block and
the category default disagree, the semantic block governs for that
endpoint, since the operator declaring the endpoint knows what the
handler does.</t>
      <t>Safety is the property a transport binding reads. <xref target="AGTP-BINDINGS"/>
admits to early data only methods that are safe and idempotent;
the floor methods currently admitted are QUERY and DISCOVER, and
any extension of that list is made in the binding document.</t>
    </section>
    <section anchor="method-overview">
      <name>Method Overview</name>
      <t>The eighteen floor methods are defined in <xref target="AGTP"/>. The table
below is the index into those definitions, in the form HTTP uses
for its own methods, with the properties of <xref target="method-properties"/>.</t>
      <table>
        <name>AGTP Floor Methods</name>
        <thead>
          <tr>
            <th align="left">Method</th>
            <th align="left">Group</th>
            <th align="left">Safe</th>
            <th align="left">Idempotent</th>
            <th align="left">Defined in</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">QUERY</td>
            <td align="left">Cognitive</td>
            <td align="left">Yes</td>
            <td align="left">Yes</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
          <tr>
            <td align="left">DISCOVER</td>
            <td align="left">Cognitive</td>
            <td align="left">Yes</td>
            <td align="left">Yes</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
          <tr>
            <td align="left">DESCRIBE</td>
            <td align="left">Cognitive</td>
            <td align="left">Yes</td>
            <td align="left">Yes</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
          <tr>
            <td align="left">INSPECT</td>
            <td align="left">Cognitive</td>
            <td align="left">Yes</td>
            <td align="left">Yes</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
          <tr>
            <td align="left">SUMMARIZE</td>
            <td align="left">Cognitive</td>
            <td align="left">Yes</td>
            <td align="left">Yes</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
          <tr>
            <td align="left">PLAN</td>
            <td align="left">Cognitive</td>
            <td align="left">Yes</td>
            <td align="left">Yes</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
          <tr>
            <td align="left">PROPOSE</td>
            <td align="left">Cognitive</td>
            <td align="left">No</td>
            <td align="left">No</td>
            <td align="left">
              <xref target="AGTP"/>, <xref target="AGTP-RCNS"/></td>
          </tr>
          <tr>
            <td align="left">EXECUTE</td>
            <td align="left">Mechanics</td>
            <td align="left">No</td>
            <td align="left">Per action</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
          <tr>
            <td align="left">DELEGATE</td>
            <td align="left">Mechanics</td>
            <td align="left">No</td>
            <td align="left">No</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
          <tr>
            <td align="left">ESCALATE</td>
            <td align="left">Mechanics</td>
            <td align="left">No</td>
            <td align="left">Yes</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
          <tr>
            <td align="left">CONFIRM</td>
            <td align="left">Mechanics</td>
            <td align="left">No</td>
            <td align="left">Yes</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
          <tr>
            <td align="left">SUSPEND</td>
            <td align="left">Mechanics</td>
            <td align="left">No</td>
            <td align="left">No</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
          <tr>
            <td align="left">NOTIFY</td>
            <td align="left">Mechanics</td>
            <td align="left">No</td>
            <td align="left">No</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
          <tr>
            <td align="left">ACTIVATE</td>
            <td align="left">Lifecycle</td>
            <td align="left">No</td>
            <td align="left">No</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
          <tr>
            <td align="left">DEACTIVATE</td>
            <td align="left">Lifecycle</td>
            <td align="left">No</td>
            <td align="left">No</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
          <tr>
            <td align="left">REINSTATE</td>
            <td align="left">Lifecycle</td>
            <td align="left">No</td>
            <td align="left">No</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
          <tr>
            <td align="left">REVOKE</td>
            <td align="left">Lifecycle</td>
            <td align="left">No</td>
            <td align="left">No</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
          <tr>
            <td align="left">DEPRECATE</td>
            <td align="left">Lifecycle</td>
            <td align="left">No</td>
            <td align="left">No</td>
            <td align="left">
              <xref target="AGTP"/></td>
          </tr>
        </tbody>
      </table>
      <t>The Safe and Idempotent columns restate the State-Modifying and
Idempotent columns of the summary table in <xref target="AGTP"/>; where the two
documents disagree, <xref target="AGTP"/> governs and this table is in error.
The grouping (cognitive, mechanics, lifecycle) is informational.</t>
      <t>Methods beyond the floor are registered in the catalog
(<xref target="the-approved-method-catalog"/>). At catalog version 1.0.0 the
catalog registers 425 methods in nine categories (discovery,
retrieval, analysis, transaction, modification, creation,
notification, mechanics, and domain-spanning), carries the eighteen
floor methods as its <tt>embedded</tt> set, and maps the five HTTP verbs
(GET, POST, PUT, DELETE, PATCH) to their preferred AGTP forms
(FETCH, CREATE, REPLACE, REMOVE, MODIFY) as legacy entries
(<xref target="legacy-verb-support"/>). The count is a property of the catalog
version, which the server exposes per <xref target="catalog-evolution"/>; the
floor and the registration process in this document are the stable
baseline.</t>
    </section>
    <section anchor="the-approved-method-catalog">
      <name>Method Catalog</name>
      <t>AGTP-METHODS defines a curated catalog of approved methods maintained
at <tt>https://agtp.io/api/methods.json</tt>. The catalog is the canonical
source for what method names are recognized. Method names absent from
appearing in the catalog are rejected with status 459 Method
Violation.</t>
      <t>The catalog is a vocabulary of action-intent verbs: imperative-form
words that describe what an operation does (BOOK, RESERVE, AUDIT,
QUERY). A verb in the catalog becomes a <em>method</em> when an operator
picks it from the catalog and declares it as the <tt>method</tt> field on
an endpoint. The two terms are related: verbs are the linguistic
content of the catalog; methods are the protocol-level identifier
on each endpoint and request.</t>
      <section anchor="list-maintenance">
        <name>Catalog Structure</name>
        <t>The catalog is a versioned JSON document with five top-level keys:</t>
        <dl>
          <dt><tt>version</tt></dt>
          <dd>
            <t>Semantic version of the catalog as a whole. See
<xref target="catalog-evolution"/>.</t>
          </dd>
          <dt><tt>embedded</tt></dt>
          <dd>
            <t>The 18 protocol-floor verbs every AGTP server <strong>MUST</strong> support: seven
cognitive (QUERY, DISCOVER, DESCRIBE, INSPECT, SUMMARIZE, PLAN, PROPOSE),
six mechanics (EXECUTE, DELEGATE, ESCALATE, CONFIRM, SUSPEND,
NOTIFY), and five lifecycle (ACTIVATE, DEACTIVATE, REINSTATE,
REVOKE, DEPRECATE).</t>
          </dd>
          <dt><tt>legacy</tt></dt>
          <dd>
            <t>The five HTTP-style verbs (GET, POST, PUT, DELETE, PATCH), each
carrying a <tt>preferred</tt> mapping to its canonical AGTP replacement
(FETCH, CREATE, REPLACE, REMOVE, MODIFY). Legacy verbs are opt-in
per server through the manifest's <tt>policies.methods</tt> block. See
<xref target="legacy-verb-support"/>.</t>
          </dd>
          <dt><tt>categories</tt></dt>
          <dd>
            <t>The taxonomy used to classify verbs: <tt>discovery</tt>, <tt>retrieval</tt>,
<tt>analysis</tt>, <tt>transaction</tt>, <tt>modification</tt>, <tt>creation</tt>,
<tt>notification</tt>, <tt>mechanics</tt>, <tt>domain_spanning</tt>.</t>
          </dd>
          <dt><tt>verbs</tt></dt>
          <dd>
            <t>The catalog of approved verbs, each with <tt>categories</tt>,
<tt>description</tt>, and optional deprecation metadata
(<tt>deprecated_in</tt>, <tt>removed_in</tt>, <tt>successor</tt>).</t>
          </dd>
        </dl>
        <t>The catalog is published in machine-readable form at the URL above
and is maintained as an open living artifact, in
contrast to a closed IANA registry. Curation is performed by the AGTP-METHODS
maintainers in public; the version of the catalog in effect at any
given moment is declared in the <tt>catalog_version</tt> field of every
server manifest. A closed IANA registry would freeze the verb
vocabulary at the cadence of IETF process; AGTP-METHODS verbs need to
evolve at the cadence of agent deployments. The IANA registries
that AGTP-METHODS does request (<xref target="iana-considerations"/>) cover the
structural status codes, the media types, and the response headers
all of which benefit from IANA's conservative cadence; the catalog
itself is outside IANA.</t>
      </section>
      <section anchor="verb-rules">
        <name>Method Rules</name>
        <t>Method names <strong>MUST</strong> be uppercase ASCII single tokens matching the
regex <tt>^[A-Z]+$</tt>, length 3 to 32 characters inclusive. Method names
<strong>MUST</strong> appear in the catalog, or in the legacy set when the
server's <tt>policies.methods.legacy</tt> opts into legacy verbs.</t>
        <t>The catalog is curated to contain only imperative-form action-intent
verbs that:</t>
        <ul spacing="normal">
          <li>
            <t>Express a command or action; a state, an attribute, or a noun is
rejected (RESERVE is valid; RESERVATION is invalid).</t>
          </li>
          <li>
            <t>Carry a single intent (verbs with compound intent are decomposed
into separate verbs).</t>
          </li>
          <li>
            <t>Are never HTTP method names.</t>
          </li>
        </ul>
        <t>These are curatorial principles applied during verb addition; AGTP
servers perform no runtime check of them. Servers validate verbs
against the catalog membership and the lexical regex; semantic
class adherence is the responsibility of the catalog maintainers.</t>
      </section>
      <section anchor="custom-verbs">
        <name>Custom Methods</name>
        <t>Servers <strong>MAY</strong> accept additional methods beyond the catalog by
listing them in the manifest's <tt>policies.methods</tt> block. Custom methods follow the same
lexical rules in <xref target="verb-rules"/> but are server-specific and are never
interoperable across organizations without explicit acceptance.
Custom methods stay out of the catalog; they exist only within
the publishing server's surface.</t>
      </section>
      <section anchor="catalog-evolution-overview">
        <name>Catalog Evolution Overview</name>
        <t>The catalog evolves under semver discipline:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Patch</strong> (1.0.0 to 1.0.1): description or category metadata
changes only.</t>
          </li>
          <li>
            <t><strong>Minor</strong> (1.0.0 to 1.1.0): verbs added; existing verbs unchanged.
Minor revisions <strong>MAY</strong> introduce new deprecation flags on
existing verbs.</t>
          </li>
          <li>
            <t><strong>Major</strong> (1.0.0 to 2.0.0): verbs removed or renamed.</t>
          </li>
        </ul>
        <t>Per-verb deprecation uses three optional fields: <tt>deprecated_in</tt>
(catalog version that flagged the verb), <tt>removed_in</tt> (version
scheduled for removal), and <tt>successor</tt> (recommended replacement).
A deprecated verb remains admitted by the dispatcher; the response
carries an <tt>AGTP-Catalog-Warning</tt> advisory header. See
<xref target="catalog-evolution"/> for the full lifecycle, runtime semantics,
removal behavior, cross-server version negotiation, and the
<tt>agtp-catalog-diff</tt> tooling.</t>
      </section>
      <section anchor="catalog-version-exposure">
        <name>Catalog Version Exposure</name>
        <t>The catalog version is exposed on the server manifest under
<tt>catalog_version</tt> and <tt>catalog_versions_supported</tt> so clients can
detect mismatches between their local catalog and the server's. See
<xref target="manifest"/>.</t>
      </section>
      <section anchor="legacy-verb-support">
        <name>Legacy Verb Support</name>
        <t>AGTP-METHODS recognizes GET, POST, PUT, DELETE, and PATCH as legacy
verbs with reframed semantics for transitional deployments. Legacy
verb support is opt-in per server through the manifest's <tt>policies.methods</tt> block:</t>
        <artwork><![CDATA[
legacy_verbs: enabled
]]></artwork>
        <t>When legacy verbs are enabled, the server <strong>MUST</strong> treat them as
follows:</t>
        <ul spacing="normal">
          <li>
            <t>GET maps to QUERY for read operations against a known path.</t>
          </li>
          <li>
            <t>POST maps to EXECUTE for state-changing operations.</t>
          </li>
          <li>
            <t>PUT maps to EXECUTE with <tt>idempotency_key</tt>.</t>
          </li>
          <li>
            <t>DELETE maps to EXECUTE with <tt>action: "delete"</tt>.</t>
          </li>
          <li>
            <t>PATCH maps to EXECUTE with <tt>action: "modify"</tt>.</t>
          </li>
        </ul>
        <t>These mappings are conveniences for migration. Legacy verbs <strong>MUST
NOT</strong> be used in new endpoint definitions; servers <strong>SHOULD</strong>
deprecate legacy support over time.</t>
      </section>
    </section>
    <section anchor="catalog-evolution">
      <name>Catalog Evolution</name>
      <t>The AGTP-METHODS approved method catalog is versioned. This section specifies
how catalog versioning works, how deprecation is signaled, and how
servers and agents negotiate over catalog versions.</t>
      <section anchor="versioning-scheme">
        <name>Versioning Scheme</name>
        <t>The method catalog is versioned as semver <tt>MAJOR.MINOR.PATCH</tt>:</t>
        <ul spacing="normal">
          <li>
            <t><strong>PATCH</strong>: editorial changes (clarifications, typo fixes,
description rewordings). No verb additions, removals, or
deprecations.</t>
          </li>
          <li>
            <t><strong>MINOR</strong>: additions and deprecations. Verbs may be added; verbs
may be marked deprecated. No verbs are removed in a minor revision.</t>
          </li>
          <li>
            <t><strong>MAJOR</strong>: removals. Verbs marked deprecated in earlier minor
revisions may be removed.</t>
          </li>
        </ul>
        <t>Servers and agents using a given catalog MAJOR version are guaranteed
that no verb available in that MAJOR will disappear without warning;
removal requires a MAJOR bump.</t>
      </section>
      <section anchor="deprecation-metadata">
        <name>Deprecation Metadata</name>
        <t>Each verb in the catalog <strong>MAY</strong> carry deprecation metadata:</t>
        <sourcecode type="json"><![CDATA[
{
  "name": "AUDIT_LEGACY",
  "category": "compute",
  "deprecated_in": "1.2.0",
  "removed_in": "2.0.0",
  "successor": "AUDIT"
}
]]></sourcecode>
        <dl>
          <dt><tt>deprecated_in</tt>:</dt>
          <dd>
            <t>The catalog version at which the verb became deprecated.</t>
          </dd>
          <dt><tt>removed_in</tt>:</dt>
          <dd>
            <t>The anticipated catalog version at which the verb will be
removed. <strong>MAY</strong> be absent if removal is anticipated but the
target version remains unchosen.</t>
          </dd>
          <dt><tt>successor</tt>:</dt>
          <dd>
            <t>A catalog verb name that callers should migrate to. <strong>MAY</strong> be
absent if no single successor applies; clients should consult the
verb's description for migration guidance.</t>
          </dd>
        </dl>
      </section>
      <section anchor="manifest-catalog-declaration">
        <name>Manifest Catalog Declaration</name>
        <t>Every server manifest <strong>MUST</strong> declare:</t>
        <dl>
          <dt><tt>catalog_version</tt>:</dt>
          <dd>
            <t>The catalog version the server validates incoming method names
against.</t>
          </dd>
          <dt><tt>catalog_versions_supported</tt>:</dt>
          <dd>
            <t>A list of catalog versions the server can validate against. The
current <tt>catalog_version</tt> <strong>MUST</strong> appear in this list. Multi-
version support is anticipated; v00 servers commonly list a
single version.</t>
          </dd>
        </dl>
        <t>Agents reading a manifest learn which catalog version they should
use for outbound requests against this server. Mismatches are
handled at request time per the runtime semantics below.</t>
      </section>
      <section anchor="runtime-deprecation-signaling">
        <name>Runtime Deprecation Signaling</name>
        <t>When a server processes a request whose method is deprecated in the
catalog version the server is using, the server <strong>MUST</strong> include the
<tt>AGTP-Catalog-Warning</tt> header on the response:</t>
        <artwork><![CDATA[
AGTP-Catalog-Warning: deprecated; successor=AUDIT; removed_in=2.0.0
]]></artwork>
        <t>Header fields:</t>
        <ul spacing="normal">
          <li>
            <t><tt>deprecated</tt>: keyword token indicating the warning class.</t>
          </li>
          <li>
            <t><tt>successor=NAME</tt>: the recommended replacement verb. Omitted if
the catalog metadata declares no successor.</t>
          </li>
          <li>
            <t><tt>removed_in=VERSION</tt>: the target removal version. Omitted while
declared.</t>
          </li>
        </ul>
        <t>The header is advisory; the request <strong>MUST</strong> still
process. Agents and CLIs that surface the header to their users
allow operators to schedule migration before forced removal.</t>
        <t>A server that receives a request whose method is in the catalog at
all (deprecated or current) <strong>MUST NOT</strong> return 459 Method Violation.
459 is reserved for verbs absent from the catalog altogether.
Deprecated verbs are still in the catalog.</t>
      </section>
      <section anchor="removal-behavior">
        <name>Removal Behavior</name>
        <t>When a verb is removed in a MAJOR catalog revision, servers
upgrading to that revision <strong>MUST</strong>:</t>
        <ol spacing="normal" type="1"><li>
            <t>Reject inbound requests for the removed verb with 459 Method
Violation, citing the catalog version the server is now using.</t>
          </li>
          <li>
            <t>Refuse to load endpoint TOMLs declaring removed verbs at startup,
logging which endpoints are affected.</t>
          </li>
          <li>
            <t>Invalidate any active synthesis plans whose steps reference
removed verbs, returning a structured failure on the next
synthesis tick.</t>
          </li>
          <li>
            <t>Skip <tt>policies.methods</tt> entries (<tt>allow</tt>, <tt>disallow</tt>,
<tt>redirects</tt>) that reference removed methods, logging each skip.</t>
          </li>
        </ol>
        <t>This is graceful degradation: the server starts, serves the
endpoints that are still valid, and surfaces what was lost. The
operator decides whether to roll back, fix the affected endpoints,
or accept the reduced surface.</t>
      </section>
      <section anchor="cross-server-version-negotiation">
        <name>Cross-Server Version Negotiation</name>
        <t>When an agent talks to a server whose <tt>catalog_version</tt> differs from
the agent's own preferred version, the agent <strong>SHOULD</strong>:</t>
        <ol spacing="normal" type="1"><li>
            <t>Read <tt>catalog_versions_supported</tt> from the manifest.</t>
          </li>
          <li>
            <t>If the agent's preferred version is in the list, use it; the
server will validate against that version.</t>
          </li>
          <li>
            <t>Otherwise, downgrade to the highest mutually-supported version.</t>
          </li>
          <li>
            <t>If no overlap exists, abandon the connection or escalate to the
principal.</t>
          </li>
        </ol>
        <t>Servers <strong>MAY</strong> support multiple catalog versions concurrently;
servers <strong>MAY</strong> support only the single version they declare in
<tt>catalog_version</tt>. Agents adapt to the server's capabilities.</t>
      </section>
      <section anchor="tooling">
        <name>Tooling</name>
        <t>A reference <tt>agtp-catalog-diff</tt> tool is published alongside the
method catalog. The tool diffs two catalog versions, reports added /
removed / newly-deprecated methods, and <strong>MAY</strong> scan a deployment
directory (endpoint TOMLs, recipe registry, <tt>agtp-server.toml</tt>) to
identify which deployment artifacts would break under a candidate
catalog upgrade. See <xref target="implementation-guidance"/>.</t>
        <t>Tool invocation:</t>
        <artwork><![CDATA[
agtp-catalog-diff old.json new.json [--against-deployment <directory>]
]]></artwork>
        <t>The tool produces a structured diff showing methods added in the
new catalog, methods removed, methods newly deprecated, path-grammar
conflicts (existing endpoint paths containing newly-added method
names), endpoint conflicts (existing endpoints declaring removed
methods), recipe conflicts (existing recipes referencing removed
methods), and policy conflicts (existing policy directives
referencing removed methods).</t>
        <t>Operators <strong>SHOULD</strong> run this tool before upgrading a server's
catalog version. The tool's exit code indicates whether breaking
changes exist: 0 (no breakage), 1 (breakage in deployment context),
2 (parse errors).</t>
        <t>The tool is implementation-provided; alternative implementations
<strong>MAY</strong> ship equivalents. The diff format is specified by the
implementation's documentation; this section places no normative
requirement on it.</t>
      </section>
      <section anchor="multi-version-catalog-support">
        <name>Multi-Version Catalog Support</name>
        <t>Future revisions of AGTP-METHODS may specify how servers can validate
against multiple catalog versions simultaneously, allowing graceful
migration during transitions. The <tt>catalog_versions_supported</tt>
manifest field is reserved for this purpose.</t>
        <t>For v00 conforming servers, <tt>catalog_versions_supported</tt> <strong>MUST</strong>
be a single-element array containing only the server's current
<tt>catalog_version</tt>.</t>
      </section>
      <section anchor="catalog-publishing">
        <name>Catalog Publishing</name>
        <t>The canonical AGTP method catalog is published at
<tt>https://agtp.io/api/methods.json</tt>. The catalog is versioned
independently of AGTP-METHODS itself; a server may implement AGTP-METHODS
v00 against catalog version 1.0.0 today, and against catalog
version 1.1.0 after a minor catalog update.</t>
        <t>Servers <strong>MAY</strong> validate against alternative catalogs (industry-
specific catalogs, internal-only catalogs, etc.) by configuring
their build to use a different catalog document. The
<tt>catalog_version</tt> exposed in the manifest reflects whichever
catalog the server actually validates against.</t>
        <t>Catalog updates follow a coordinated release process: the publisher
announces the upcoming version, operators run the diff tool against
their deployments, the new catalog is published, operators upgrade
their servers. Specific governance for the canonical catalog
(proposal process, approval cadence, etc.) is documented separately
and is out of scope for this specification.</t>
      </section>
    </section>
    <section anchor="path-grammar">
      <name>Path Grammar</name>
      <t>AGTP path grammar prevents method-name leakage, the situation
where a method token ends up in a path segment instead of on the
request line. The grammar enforces that one rule plus structural
minimums; everything else is operator judgment.</t>
      <section anchor="path-rules">
        <name>Path Rules</name>
        <t>A request path <strong>MUST</strong> begin with <tt>/</tt>. A request path <strong>MUST NOT</strong>
end with <tt>/</tt> unless the path is exactly <tt>/</tt> (the bare root). No path
segment <strong>MAY</strong> match an approved AGTP method name (case-insensitive,
after stripping <tt>-</tt> and <tt>_</tt>). Parameter segments wrapped in <tt>{...}</tt>
are exempt from the method-token check.</t>
        <t>Any violation <strong>MUST</strong> return status <strong>460 Endpoint Violation</strong> with
the offending segment in the response body.</t>
      </section>
      <section anchor="path-grammar-abnf">
        <name>Path Grammar ABNF</name>
        <t>The path component of the request line follows this grammar:</t>
        <artwork><![CDATA[
path           = "/" [ segment-nz *( "/" segment ) ]
segment        = *segment-char
segment-nz     = 1*segment-char
segment-char   = unreserved / pct-encoded / sub-delims
               / ":" / "@"
parameter      = "{" parameter-name "}"
parameter-name = 1*( ALPHA / DIGIT / "_" )
unreserved     = ALPHA / DIGIT / "-" / "." / "_" / "~"
pct-encoded    = "%" HEXDIG HEXDIG
sub-delims     = "!" / "$" / "&" / "'" / "(" / ")"
               / "*" / "+" / "," / ";" / "="
                                        ; per RFC 3986
]]></artwork>
        <t>A <tt>segment</tt> <strong>MAY</strong> be a literal segment (matching <tt>segment-nz</tt> with
no <tt>{</tt> or <tt>}</tt> characters) or a parameter segment (matching the
<tt>parameter</tt> production exactly). Mixing literal and parameter forms
within a single segment (e.g., <tt>prefix-{id}</tt>) is <strong>NOT</strong> supported in
v00; future revisions <strong>MAY</strong> specify mixed-form templates.</t>
        <t>Parameter names within a path <strong>MUST</strong> be unique. A path containing
two parameters with the same name <strong>MUST</strong> be rejected at endpoint
registration time.</t>
      </section>
      <section anchor="permissiveness">
        <name>Permissiveness</name>
        <t>Mixed case, underscores, hyphens, and any segment depth are valid.
The protocol imposes no style preferences. Casing conventions,
kebab-vs-snake-case, and parameter-naming style are operator
decisions.</t>
        <t>Path templates support typed parameters in curly braces:</t>
        <artwork><![CDATA[
/customers/{customer_id}
/orders/{order_id}/line-items/{line_item_id}
/products/category/{category_slug}
]]></artwork>
        <t>The <tt>{name}</tt> form is the only template syntax v00 admits. URI
Template (<xref target="RFC6570"/>) syntax (e.g., <tt>{?query,page}</tt>,
<tt>{+reserved}</tt>, <tt>{#fragment}</tt>) is <strong>NOT</strong> supported; servers
encountering a path template that uses anything other than the
basic <tt>{name}</tt> form <strong>MUST</strong> reject the endpoint at registration
time. The conservative single-form rule keeps endpoint dispatch
deterministic and predictable; future revisions <strong>MAY</strong> broaden
the template grammar.</t>
        <t>Template parameters <strong>MUST</strong> be declared in the endpoint's
<tt>input_schema</tt> as JSON Schema properties of the same name. A
template parameter that is undeclared in <tt>input_schema</tt> <strong>MUST</strong>
cause registration to fail. Parameter values arrive at the handler
as part of the validated input alongside body parameters.</t>
      </section>
      <section anchor="path-matching">
        <name>Path Pattern Matching</name>
        <t>Servers match an incoming request path against registered endpoints
in three passes:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Exact match.</strong> If the request path exactly equals a registered
literal path (no template parameters), the matching endpoint is
selected.</t>
          </li>
          <li>
            <t><strong>Template match.</strong> If no exact match, the request path is
matched against registered templates. A template matches when the
path has the same number of segments as the template and every
literal segment matches exactly while every <tt>{param}</tt> segment
captures the corresponding request segment as a parameter value.</t>
          </li>
          <li>
            <t><strong>No match.</strong> If neither pass matches, the server <strong>MUST</strong> return
404 Not Found.</t>
          </li>
        </ol>
        <t>When multiple templates would match the same request path, the
server <strong>MUST</strong> select the template with the fewest parameter
segments (most specific wins). If two templates have the same
number of parameter segments and both match, registration <strong>MUST</strong>
have failed at startup with a path-ambiguity error; the dispatcher
<strong>MUST NOT</strong> be reached in this state.</t>
      </section>
      <section anchor="query-strings">
        <name>Query Strings</name>
        <t>Paths <strong>MAY</strong> carry a query string after a <tt>?</tt>:</t>
        <artwork><![CDATA[
AGTP/1.0 SCHEDULE /meeting?date=050526&attendees=alice%2Cbob
]]></artwork>
        <t>The wire layer splits the request-target at the first <tt>?</tt> per
<xref target="RFC3986"/>: the path is everything from the leading <tt>/</tt> up to the
first <tt>?</tt> or end-of-line; the query string is everything after the
first <tt>?</tt>. Path-grammar enforcement (method-name leakage check,
template matching) applies to the path component only; query
strings carry no semantic constraints from this grammar.</t>
        <t>Query parameters merge into the request input alongside body
parameters before schema validation. On key conflicts, body
parameters take precedence. Repeated query keys collapse to the
last value; multi-valued shapes ride in the body.</t>
        <t>Servers <strong>MUST</strong> percent-decode query parameter values per
<xref target="RFC3986"/> Section 2.1 before schema validation.</t>
      </section>
      <section anchor="fragments">
        <name>Fragments</name>
        <t>URI fragments (<tt>#anchor</tt>) are <strong>REJECTED</strong> at the wire layer. AGTP
traffic carries no client-side anchoring use case; a <tt>#</tt> in the
request line is always malformed. Servers <strong>MUST</strong> return 400 Bad
Request with error code <tt>invalid-request-line</tt> for any request line
containing <tt>#</tt>.</t>
      </section>
      <section anchor="no-reserved-path-prefixes">
        <name>No Reserved Path Prefixes</name>
        <t>AGTP reserves no path prefixes. There is no <tt>/.well-known/</tt>
discovery surface and no <tt>/_agtp/</tt> namespace. AGTP is its own
protocol; HTTP-style discovery conventions are inapplicable.</t>
      </section>
      <section anchor="builtin-endpoints">
        <name>Server Metadata via AGTP Methods</name>
        <t>Server-internal metadata is exposed via AGTP methods at AGTP-native
paths, registered as built-in endpoints alongside operator-authored
endpoints. Servers <strong>MUST</strong> expose <tt>DISCOVER /methods</tt>, returning a
compact inventory of every endpoint the server has registered:</t>
        <sourcecode type="json"><![CDATA[
[
  {
    "method": "QUERY",
    "path": "/catalog",
    "description": "Returns the current product catalog.",
    "tier": "B"
  },
  {
    "method": "BOOK",
    "path": "/room",
    "description": "Books a room for the named guest at the named property.",
    "tier": "B"
  },
  {
    "method": "DISCOVER",
    "path": "/methods",
    "description": "Lists all registered endpoints on this server.",
    "tier": "A"
  }
]
]]></sourcecode>
        <t>The response is a JSON array of objects, each with <tt>method</tt>, <tt>path</tt>,
<tt>description</tt>, and <tt>tier</tt>. The <tt>tier</tt> field carries the endpoint's
classification per <xref target="endpoint-tiers"/> (<tt>"A"</tt> for protocol-native
built-ins, <tt>"B"</tt> for operator-registered endpoints). The verb is
DISCOVER because the response carries
endpoints to talk to (the AGTP semantics for DISCOVER, see <xref target="AGTP"/>),
where QUERY returns data to consume; agents use the response to drive
follow-on invocations against the listed endpoints.</t>
        <t>The <tt>DISCOVER /methods</tt> response is a lightweight inventory; agents
that need full endpoint definitions (semantic blocks, schemas,
deprecation metadata, handler types) <strong>MUST</strong> retrieve the full
server manifest via target-less DISCOVER (<xref target="manifest"/>). The built-in
exists as a cheap, low-bandwidth probe for endpoint shape, useful
for clients that need to know what to ask for without loading the
full manifest.</t>
        <t>Built-in endpoints appear in the server manifest like any other
endpoint (including <tt>DISCOVER /methods</tt> itself, which is one of the
entries returned by its own invocation), are subject to the same
dispatcher gates (catalog, path grammar, policy), and <strong>MAY</strong> be
overridden by operator-authored TOML at the same <tt>(method, path)</tt>
pair. Operators that override a built-in are responsible for
preserving the documented response contract.</t>
        <section anchor="builtin-genesis">
          <name><tt>DISCOVER /genesis</tt></name>
          <t>Servers that host one or more agents with a loaded Agent Genesis
<strong>MUST</strong> expose <tt>DISCOVER /genesis</tt>. The endpoint returns the
Agent Genesis document for the agent identified in the request's
<tt>Agent-ID</tt> header (or for an explicitly addressed agent when the
request is server-level with no agent named). The response
body is the Agent Genesis JSON in its canonical form, including
the <tt>signature</tt> field, suitable for re-hashing to verify the
canonical Agent-ID and for offline signature verification
against the issuer key.</t>
          <sourcecode type="json"><![CDATA[
{
  "agent_id": "<64-hex>",
  "owner": "...",
  "archetype": "...",
  "governance_zone": "...",
  "scope": ["..."],
  "issued_at": "...",
  "trust_tier": 2,
  "verification_path": "dns-anchored",
  "signature": "..."
}
]]></sourcecode>
          <t>Servers <strong>MUST</strong> return <tt>404 Not Found</tt> when no Agent Genesis is
loaded for the addressed agent (e.g., a transport-only deployment
that operates without a Genesis). The response <strong>MUST NOT</strong>
substitute, transform, or re-sign the Agent Genesis on the
response path; the document returned is the document the server
loaded, byte-for-byte in canonical form. Re-canonicalization
<strong>MUST NOT</strong> alter the canonical Agent-ID.</t>
          <t>The endpoint is the standard mechanism for transferring an Agent
Genesis from one party to another at runtime, complementing the
deployment-time pairing of <tt>{name}.agent.json</tt> and
<tt>{name}.genesis.json</tt> files on disk. Relying parties <strong>MUST</strong>
verify the returned Genesis before trusting it: recompute
<tt>sha256(canonical_form(Agent_Genesis_without_signature))</tt>,
confirm it matches the addressed Agent-ID, and verify the
<tt>signature</tt> against the recognized issuer key for the agent's
governance platform.</t>
        </section>
        <section anchor="builtin-agents">
          <name><tt>DISCOVER /agents</tt></name>
          <t>Servers that host one or more registered agents <strong>MUST</strong>
expose <tt>DISCOVER /agents</tt>. The endpoint returns a compact
listing of every agent the server hosts, suitable for
follow-on <tt>DISCOVER /genesis</tt>, DESCRIBE, or DELEGATE
invocations against specific agents.</t>
          <sourcecode type="json"><![CDATA[
[
  {
    "agent_id": "<64-hex>",
    "name": "lauren",
    "skills_summary": "...",
    "methods_count": 8,
    "trust_tier": 1,
    "verification_path": "dns-anchored",
    "owner_id": "nomotic.inc"
  },
  {
    "agent_id": "<64-hex>",
    "name": "morgan",
    "skills_summary": "...",
    "methods_count": 4,
    "trust_tier": 2,
    "verification_path": "org-asserted",
    "trust_warning": "verification-incomplete",
    "owner_id": "acme.inc"
  }
]
]]></sourcecode>
          <t>The response is a JSON array of objects, each carrying the
fields below. The required minimum identifies the agent and
its trust posture; optional fields are present when the
underlying Agent Identity Document or Agent Genesis populates
them.</t>
          <table>
            <name>DISCOVER /agents Entry Fields</name>
            <thead>
              <tr>
                <th align="left">Field</th>
                <th align="left">Required</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>agent_id</tt></td>
                <td align="left">
                  <strong>MUST</strong></td>
                <td align="left">Canonical Agent-ID (64 lowercase hex characters).</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>name</tt></td>
                <td align="left">
                  <strong>MUST</strong></td>
                <td align="left">Operator-assigned short name; unique only within a server.</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>skills_summary</tt></td>
                <td align="left">
                  <strong>SHOULD</strong></td>
                <td align="left">Short human-readable description of the agent's capabilities.</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>methods_count</tt></td>
                <td align="left">
                  <strong>SHOULD</strong></td>
                <td align="left">Number of registered endpoints exposed by this agent.</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>trust_tier</tt></td>
                <td align="left">
                  <strong>MUST</strong></td>
                <td align="left">Resolved trust tier (1, 2, or 3) per the precedence rule in <xref target="AGTP-TRUST"/>.</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>verification_path</tt></td>
                <td align="left">
                  <strong>MUST</strong></td>
                <td align="left">Resolved verification path (<tt>dns-anchored</tt>, <tt>log-anchored</tt>, <tt>hybrid</tt>, or <tt>org-asserted</tt>) per the precedence rule in <xref target="AGTP-TRUST"/>.</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>trust_warning</tt></td>
                <td align="left">
                  <strong>CONDITIONAL</strong></td>
                <td align="left">Present when the resolved <tt>trust_tier</tt> is <tt>2</tt> or when an operator-set warning is recorded. Value is a short token (e.g., <tt>verification-incomplete</tt>).</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>owner_id</tt></td>
                <td align="left">
                  <strong>SHOULD</strong></td>
                <td align="left">Resolved owner identifier per the precedence rule in <xref target="AGTP-TRUST"/>. Omitted when no Agent Genesis is loaded and the operator set no explicit value.</td>
              </tr>
            </tbody>
          </table>
          <t>The <tt>trust_tier</tt>, <tt>verification_path</tt>, <tt>trust_warning</tt>, and
<tt>owner_id</tt> fields are resolved per the trust-posture loading
rule in <xref target="AGTP-TRUST"/>; the server <strong>MUST NOT</strong> emit values
that disagree with what it would resolve on the Agent Identity
Document itself. Clients <strong>MAY</strong> branch on <tt>trust_tier</tt> or on
<tt>trust_warning</tt> presence to drive trust UI; clients <strong>MUST
NOT</strong> treat absence of <tt>trust_warning</tt> for a Tier-2 entry as
authoritative (the server is required to populate it when
auto-applicable, but operator-set absence is preserved per
<xref target="AGTP-TRUST"/>).</t>
          <t>A server <strong>MAY</strong> restrict the entries returned by
<tt>DISCOVER /agents</tt> based on the requesting agent's
Authority-Scope, governance zone, or other policy. Entries
withheld by policy are <strong>NOT</strong> errors; the server returns the
remaining entries with no indication of the withholding.
Implementations that need a full server inventory should
consult the operator out of band.</t>
        </section>
        <section anchor="builtin-directory">
          <name><tt>DISCOVER /</tt></name>
          <t>Servers <strong>MUST</strong> expose <tt>DISCOVER /</tt> (root path). The endpoint
returns the directory of reserved built-in DISCOVER endpoints
the server exposes, allowing clients to enumerate available
inventory surfaces in a single call:</t>
          <sourcecode type="json"><![CDATA[
{
  "directory": [
    { "path": "/methods", "tier": "A" },
    { "path": "/agents", "tier": "A" },
    { "path": "/genesis", "tier": "A" },
    { "path": "/tools", "tier": "A" },
    { "path": "/apis", "tier": "A" }
  ]
}
]]></sourcecode>
          <t>The response <strong>MUST</strong> be a JSON object with a <tt>directory</tt>
field whose value is a JSON array of entries. Each entry
<strong>MUST</strong> carry a <tt>path</tt> field naming a reserved built-in
endpoint defined in this section, and a <tt>tier</tt> field with
the value <tt>"A"</tt> (per the tier classification in
<xref target="endpoint-tiers"/>). Servers <strong>MAY</strong> include
operator-authored DISCOVER paths in the directory at their
discretion; operator-authored entries <strong>MUST</strong> carry
<tt>tier: "B"</tt> and lack the protection afforded to
reserved built-ins (<xref target="reserved-discover-paths"/>).</t>
          <t><tt>DISCOVER /</tt> is the cheapest probe a client can issue against
an unknown server to determine what inventory surfaces are
available without speaking application-specific paths.</t>
        </section>
        <section anchor="builtin-tools">
          <name><tt>DISCOVER /tools</tt></name>
          <t>Servers that host one or more tool-bearing agents <strong>MAY</strong>
expose <tt>DISCOVER /tools</tt>. The endpoint returns a compact
inventory of tools the server makes available, in a format
parallel to <tt>DISCOVER /methods</tt>. When exposed, the endpoint
<strong>MUST</strong> return a JSON array of tool descriptors each
carrying a <tt>name</tt> field, an optional <tt>description</tt>, and an
optional <tt>agent_id</tt> indicating which agent owns the tool.
The precise tool-descriptor schema is operator-defined;
implementations that integrate with adjacent agent
frameworks (MCP, A2A) <strong>SHOULD</strong> align their tool-descriptor
shape with the framework in use.</t>
        </section>
        <section anchor="builtin-apis">
          <name><tt>DISCOVER /apis</tt></name>
          <t>Servers that expose one or more REST-style APIs via the
HTTP gateway profile of <xref target="AGTP-COMPOSITION"/> <strong>MAY</strong> expose
<tt>DISCOVER /apis</tt>. The endpoint returns an inventory of the
APIs the server presents, each carrying a <tt>name</tt>, an
optional <tt>description</tt>, and an optional <tt>base_url</tt>. The
endpoint is intended for clients that need to discover the
HTTP-side surface of a gateway-fronted server without
loading the full server manifest.</t>
        </section>
      </section>
      <section anchor="reserved-discover-paths">
        <name>Reserved DISCOVER Paths</name>
        <t>The path prefixes <tt>/methods</tt>, <tt>/agents</tt>, <tt>/genesis</tt>,
<tt>/tools</tt>, <tt>/apis</tt>, <tt>/patterns</tt>, and <tt>/contracts</tt> under the
DISCOVER method are reserved for the built-in endpoints
defined in this section and, for <tt>/patterns</tt> and
<tt>/contracts</tt>, in <xref target="AGTP-RCNS"/>. Operator-authored endpoints
<strong>MUST NOT</strong> register DISCOVER under any of these reserved
paths, and <strong>MUST NOT</strong> register DISCOVER under any path
whose first path segment is the same as a reserved name
regardless of additional segments (e.g.,
<tt>/methods/v2</tt>, <tt>/agents-extended</tt>, <tt>/toolset</tt>,
<tt>/patterns-v2</tt>, <tt>/contracts/history</tt>). Servers <strong>MUST</strong>
refuse a registration that would shadow a reserved path;
the refusal is a configuration-time error and never reaches a runtime
status code.</t>
        <t>The reservation applies only to DISCOVER. The same paths
under other verbs are unreserved (e.g., a server <strong>MAY</strong>
register <tt>QUERY /methods</tt> to serve a non-DISCOVER catalog
endpoint without conflict).</t>
        <t>A server <strong>MAY</strong> override a reserved built-in by registering
its own endpoint at the same <tt>(DISCOVER, /reserved-path)</tt>
pair via the operator manifest's <tt>policies.builtins</tt>
override block (see <xref target="builtin-endpoints"/>). Operators that
override a built-in <strong>MUST</strong> preserve the documented
response contract for that endpoint; clients that detect a
contract violation <strong>SHOULD</strong> treat the server as
nonconforming.</t>
      </section>
      <section anchor="legacy-discover-target-body-form-deprecated">
        <name>Legacy <tt>DISCOVER target=</tt> Body Form (Deprecated)</name>
        <t>Earlier revisions of AGTP and this document supported a
body-keyed <tt>DISCOVER target=...</tt> form in which the discovery
surface was selected by a <tt>target</tt> field in the request body
in place of the request path (e.g.,
<tt>DISCOVER target=methods</tt> instead of <tt>DISCOVER /methods</tt>).
The body-keyed form is <strong>DEPRECATED</strong>. Servers <strong>MAY</strong>
accept the legacy form for transition compatibility and
<strong>SHOULD</strong> emit a one-shot deprecation warning per requesting
agent the first time the legacy form is received. Servers
that accept the legacy form <strong>MUST</strong> treat
<tt>DISCOVER target=X</tt> as semantically equivalent to
<tt>DISCOVER /X</tt> for the reserved targets <tt>methods</tt>, <tt>agents</tt>,
<tt>genesis</tt>, <tt>tools</tt>, and <tt>apis</tt>. A future revision <strong>MAY</strong>
remove acceptance of the legacy form entirely.</t>
        <t>When a request carries both a reserved path and a <tt>target</tt>
body field with conflicting values, the server <strong>MUST</strong>
return <tt>400 Bad Request</tt> with a body identifying the
conflict; the server <strong>MUST NOT</strong> silently prefer one over
the other.</t>
        <t>Future revisions of this specification <strong>MAY</strong> define additional
built-in endpoints (e.g., <tt>QUERY /catalog-version</tt> for catalog
version negotiation). Built-ins are protocol-level conventions, present
on every conforming server.</t>
      </section>
    </section>
    <section anchor="the-endpoint-primitive">
      <name>The Endpoint Primitive</name>
      <section anchor="endpoint-tiers">
        <name>Endpoint Tiers</name>
        <t>Every <tt>(method, path)</tt> pair an AGTP server exposes, or could
expose, falls into one of four tiers. The tier classification
is informational at the wire level but constrains how the
server treats invocations against the pair: Tier A endpoints
are guaranteed by the protocol, Tier B endpoints are guaranteed
by the operator, Tier C endpoints are negotiated at runtime,
and unregistered endpoints are refused.</t>
        <dl>
          <dt>Tier A, Protocol-native:</dt>
          <dd>
            <t>Endpoints reserved by AGTP and its companion specifications.
Servers <strong>MUST</strong> support Tier A endpoints with their
documented response contracts. Examples: every cell of
the eighteen-method floor defined in <xref target="AGTP"/>; the
DISCOVER built-in endpoints defined in <xref target="builtin-endpoints"/>
(<tt>DISCOVER /</tt>, <tt>DISCOVER /methods</tt>, <tt>DISCOVER /agents</tt>,
<tt>DISCOVER /genesis</tt>, and the optional <tt>/tools</tt> and
<tt>/apis</tt>); any future reserved path under the
reservations specified in <xref target="reserved-discover-paths"/>.</t>
          </dd>
          <dt>Tier B, Application-registered:</dt>
          <dd>
            <t>Endpoints declared in the operator's manifest. Servers
<strong>MUST</strong> support every Tier B endpoint as declared and
<strong>MUST</strong> refuse any operator-authored endpoint that
collides with a Tier A reservation per
<xref target="reserved-discover-paths"/>. The endpoint catalog,
semantic block, handler binding, and policy fields
documented in this section apply to Tier B endpoints.</t>
          </dd>
          <dt>Tier C, Runtime-negotiated:</dt>
          <dd>
            <t>Endpoints synthesized at runtime via RCNS (Runtime Contract
Negotiation Substrate). A caller addresses a <tt>(method,
path)</tt> pair that is absent from the registered Tier A or Tier B
set; the server <strong>MAY</strong>, subject to policy, synthesize a
contract for the requested pair from registered primitives
and deliver it in either of two modes: a 461 RCNS Contract
Available response carrying a contract preview (confirm-
first), or an inline executed response carrying a
<tt>Contract-Synthesized</tt> header (optimistic). RCNS is
specified in <xref target="AGTP-RCNS"/>.</t>
          </dd>
          <dt>Unregistered:</dt>
          <dd>
            <t>A <tt>(method, path)</tt> pair that matches no Tier A,
Tier B, or Tier C endpoint. Servers <strong>MUST</strong> refuse
unregistered invocations with <tt>404 Not Found</tt> (when the
path is unknown) or <tt>405 Method Not Allowed</tt> (when the
path is known under a different method). When RCNS is
enabled, the server <strong>MAY</strong> treat an unregistered pair as
a Tier C synthesis candidate instead of refusing.</t>
          </dd>
        </dl>
        <t>Servers <strong>MUST</strong> classify every inbound <tt>(method, path)</tt>
pair into exactly one of these tiers before dispatch. The
<tt>DISCOVER /</tt> directory and <tt>DISCOVER /methods</tt> inventory
<strong>SHOULD</strong> carry an explicit <tt>tier</tt> field on each entry
(<tt>"A"</tt>, <tt>"B"</tt>, or <tt>"C"</tt>) so clients can route follow-on
invocations with full knowledge of the guarantee level.
Entries on <tt>DISCOVER /</tt> describing reserved built-in
endpoints carry <tt>tier: "A"</tt>; entries on <tt>DISCOVER /methods</tt>
describing operator-authored endpoints carry <tt>tier: "B"</tt>.
Tier C entries appear on <tt>DISCOVER /contracts</tt> per <xref target="AGTP-RCNS"/>.</t>
        <t>The four-tier classification is normative. The specific
operator-side mechanism for declaring Tier B endpoints
(manifest format, dispatcher gates, policy fields) is
documented in the remainder of this section.</t>
      </section>
      <section anchor="endpoint-definition">
        <name>Endpoint Definition</name>
        <t>An endpoint is the structural unit an AGTP server exposes. Every
endpoint is identified by the pair <tt>(method, path)</tt> and carries the
fields specified below.</t>
        <sourcecode type="json"><![CDATA[
{
  "method": "BOOK",
  "path": "/room",
  "description": "Books a room for the named guest at the named property.",
  "namespace": "reservations",

  "semantic": {
    "intent": "Reserve a room for the named guest at the named property.",
    "actor": "agent",
    "outcome": "A confirmed reservation_id is returned for the guest.",
    "capability": "transaction",
    "confidence": 0.85,
    "impact": "irreversible",
    "is_idempotent": false
  },

  "input_schema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "guest_id": { "type": "string", "format": "uuid" },
      "room_id":  { "type": "string" },
      "arrival":  { "type": "string", "format": "date" },
      "departure":{ "type": "string", "format": "date" }
    },
    "required": ["guest_id", "room_id", "arrival", "departure"],
    "additionalProperties": false
  },

  "output_schema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "reservation_id": { "type": "string", "format": "uuid" }
    },
    "required": ["reservation_id"],
    "additionalProperties": true
  },

  "errors": ["room_unavailable", "invalid_dates"],

  "handler": { "type": "registered_function" },

  "required_scopes": ["booking:room", "calendar:write"],

  "deprecated": {
    "deprecated_in": "2.1.0",
    "removed_in": "3.0.0",
    "successor": { "method": "RESERVE", "path": "/rooms" }
  }
}
]]></sourcecode>
      </section>
      <section anchor="required-fields">
        <name>Required Fields</name>
        <t>Every endpoint <strong>MUST</strong> carry: <tt>method</tt>, <tt>path</tt>, <tt>description</tt>,
<tt>semantic</tt>, <tt>input_schema</tt>, <tt>output_schema</tt>, <tt>errors</tt>, <tt>handler</tt>.
The remaining fields (<tt>namespace</tt>, <tt>required_scopes</tt>, <tt>deprecated</tt>)
are optional.</t>
      </section>
      <section anchor="field-semantics">
        <name>Field Semantics</name>
        <dl>
          <dt><tt>method</tt>:</dt>
          <dd>
            <t>An AGTP method drawn from the approved catalog at the server's
declared <tt>catalog_version</tt>, or a custom method declared in the
server's <tt>policies.methods</tt>. See <xref target="custom-verbs"/>. The method name
satisfies the lexical rules of <xref target="verb-rules"/>.</t>
          </dd>
          <dt><tt>path</tt>:</dt>
          <dd>
            <t>A path conforming to the path grammar of <xref target="path-grammar"/>.</t>
          </dd>
          <dt><tt>description</tt>:</dt>
          <dd>
            <t>Operator-facing prose. A single sentence describing what the
endpoint does. Distinct from the semantic block: <tt>description</tt>
is for humans reading the manifest; the semantic block is for
agents reasoning about applicability.</t>
          </dd>
          <dt><tt>namespace</tt>:</dt>
          <dd>
            <t>Optional free-form grouping label. Servers exposing many
endpoints <strong>MAY</strong> organize them by namespace (e.g.,
<tt>"reservations"</tt>, <tt>"billing"</tt>, <tt>"inventory"</tt>) for catalog
navigation. Namespace has no protocol-level effect.</t>
          </dd>
          <dt><tt>semantic</tt>:</dt>
          <dd>
            <t>The structural metadata block defined in <xref target="semantic-block"/>.
Required by every endpoint with all required fields populated.</t>
          </dd>
          <dt><tt>input_schema</tt>:</dt>
          <dd>
            <t>A Draft 2020-12 JSON Schema <xref target="JSON-SCHEMA"/> describing the
request body. <strong>MUST</strong> declare <tt>"type": "object"</tt> and <strong>MUST</strong>
set <tt>"additionalProperties": false</tt>; see <xref target="schema-strictness"/>.
Query-string parameters (<xref target="query-strings"/>) are merged into the
body before validation; the same schema covers both. Schemas are
inline in v00; cross-endpoint schema sharing is anticipated in a
future revision.</t>
          </dd>
          <dt><tt>output_schema</tt>:</dt>
          <dd>
            <t>A Draft 2020-12 JSON Schema describing the successful response
body. <strong>SHOULD</strong> set <tt>"additionalProperties": true</tt> so handlers
can return forward-compat fields without bumping the contract;
see <xref target="schema-strictness"/>.</t>
          </dd>
          <dt><tt>errors</tt>:</dt>
          <dd>
            <t>An array of named error condition strings (e.g.,
<tt>"room_unavailable"</tt>, <tt>"invalid_dates"</tt>). The dispatcher returns
these as 422 Unprocessable Entity responses with structured
bodies identifying the condition. The error name is the
protocol-level identifier; status-code mapping is a
response-construction concern outside the contract. The
list <strong>MAY</strong> be empty for endpoints with no business-level
errors. Composition handlers <strong>MUST</strong> include
<tt>"composition_failed"</tt>; external-service handlers <strong>MUST</strong>
include the upstream-failure codes specified in
<xref target="external-service"/>.</t>
          </dd>
          <dt><tt>handler</tt>:</dt>
          <dd>
            <t>An object declaring the binding kind:
<tt>{"type": "registered_function" | "composition" | "external_service"}</tt>.
The handler's full reference (Python dotted path, recipe name,
upstream URL, etc.) is server-internal implementation detail
and <strong>MUST NOT</strong> appear in the manifest. See
<xref target="endpoint-projection"/> and <xref target="handler-binding"/>.</t>
          </dd>
          <dt><tt>required_scopes</tt>:</dt>
          <dd>
            <t>An array of scope identifiers the invoking agent <strong>MUST</strong>
declare in its Authority-Scope. Empty or omitted means no scope
check; the endpoint inherits the server's default authority
requirement. A request whose identity document grants a required
scope but whose claimed Authority-Scope omits it returns 262
Authorization Required with reason <tt>scope-required</tt>; a request
whose document omits the scope returns 455 Scope Violation with
reason <tt>scope-exceeded</tt>, per the obtainability rule of <xref target="AGTP"/>.</t>
          </dd>
          <dt><tt>deprecated</tt>:</dt>
          <dd>
            <t>Optional per-endpoint deprecation metadata. See
<xref target="endpoint-deprecation"/>.</t>
          </dd>
        </dl>
      </section>
      <section anchor="endpoint-deprecation">
        <name>Endpoint Deprecation</name>
        <t>The optional <tt>deprecated</tt> block follows the same shape as
catalog-level deprecation:</t>
        <sourcecode type="json"><![CDATA[
"deprecated": {
  "deprecated_in": "2.1.0",
  "removed_in": "3.0.0",
  "successor": { "method": "RESERVE", "path": "/rooms" }
}
]]></sourcecode>
        <t>Field semantics:</t>
        <dl>
          <dt><tt>deprecated_in</tt>:</dt>
          <dd>
            <t>The server's <tt>agtp_api_version</tt> (or operator-chosen version
string) at which the endpoint became deprecated.</t>
          </dd>
          <dt><tt>removed_in</tt>:</dt>
          <dd>
            <t>Optional. The version at which the endpoint will be removed.
<strong>MAY</strong> be absent if removal is anticipated but the target
version remains unchosen.</t>
          </dd>
          <dt><tt>successor</tt>:</dt>
          <dd>
            <t>Optional. An object with <tt>method</tt> and/or <tt>path</tt> indicating the
replacement endpoint callers should migrate to. Either field
<strong>MAY</strong> be absent: <tt>successor.method</tt> alone signals "use the same
path with a different method"; <tt>successor.path</tt> alone signals
"use the same method with a different path"; both together
signal a full replacement endpoint.</t>
          </dd>
        </dl>
        <t>An endpoint <strong>MAY</strong> be deprecated even when its method and path
remain valid in the catalog and grammar. Operators deprecate
endpoints when they migrate callers from one <tt>(method, path)</tt> pair
to another, independent of catalog evolution.</t>
        <t>The dispatcher <strong>MUST</strong> stamp an <tt>AGTP-Endpoint-Warning</tt> advisory
header on every response from a deprecated endpoint:</t>
        <artwork><![CDATA[
AGTP-Endpoint-Warning: deprecated; successor=RESERVE /rooms; removed_in=3.0.0
]]></artwork>
        <t>The header rides alongside <tt>AGTP-Catalog-Warning</tt> (<xref target="catalog-evolution"/>)
when both apply; both are advisory and the request still processes.
The <tt>successor</tt> token renders as <tt>METHOD /path</tt> when both fields
are present; just one is emitted bare. <tt>removed_in</tt> and <tt>successor</tt>
are omitted from the header when the endpoint's <tt>deprecated</tt> block
declares none. The header fires on success and failure
responses alike so callers always see the warning regardless of
how the invocation resolves.</t>
      </section>
    </section>
    <section anchor="semantic-block">
      <name>The Semantic Block</name>
      <t>The semantic block is the part of the endpoint definition that
encodes machine-readable intent. Agents reason about whether an
endpoint matches their goal by interpreting the semantic block; the
verb and path alone carry too little. The empirical evidence for
intent-expressing semantic metadata is documented in <xref target="HOOD2026"/>.</t>
      <section anchor="required-semantic-block-fields">
        <name>Required Semantic Block Fields</name>
        <dl>
          <dt><tt>intent</tt>:</dt>
          <dd>
            <t>A natural-language statement of what the endpoint accomplishes.
Single sentence. Imperative form. Subject is the actor; the verb
reflects the endpoint's method; the object is the path resource.</t>
          </dd>
          <dt><tt>actor</tt>:</dt>
          <dd>
            <t>A short identifier of the agent class that should invoke this
endpoint. Freeform string; servers <strong>MUST NOT</strong> reject endpoints
whose <tt>actor</tt> is outside any fixed enum. Suggested values for
interoperable authoring include <tt>agent</tt>, <tt>human</tt>, <tt>system</tt>,
<tt>customer</tt>, <tt>staff</tt>, <tt>admin</tt>; domain-specific values (e.g.,
<tt>merchant</tt>, <tt>auditor</tt>, <tt>patient</tt>) are equally valid. The field
helps agents recognize whether an endpoint applies to their role
but carries no protocol-level enforcement.</t>
          </dd>
          <dt><tt>outcome</tt>:</dt>
          <dd>
            <t>A natural-language statement of the post-condition produced by
successful invocation. Distinct from <tt>intent</tt>, which states the
endpoint's aim; <tt>outcome</tt> states the condition that holds after.</t>
          </dd>
          <dt><tt>capability</tt>:</dt>
          <dd>
            <t>The high-level effect class of the endpoint. One of the catalog
category values: <tt>discovery</tt>, <tt>retrieval</tt>, <tt>analysis</tt>,
<tt>transaction</tt>, <tt>modification</tt>, <tt>creation</tt>, <tt>notification</tt>,
<tt>mechanics</tt>, <tt>domain_spanning</tt>. The same taxonomy used to
classify methods in the catalog (<xref target="the-approved-method-catalog"/>); an
endpoint inherits its capability class from the category of the
method it exposes, though operators <strong>MAY</strong> override when the
endpoint's specific behavior fits a different category.</t>
          </dd>
          <dt><tt>confidence</tt>:</dt>
          <dd>
            <t>A scalar on the closed interval <tt>0.0</tt> to <tt>1.0</tt> expressing how
confident the server is that an agent invoking this endpoint with
satisfying input will produce the declared outcome. Endpoints
that are deterministic and well-tested score near <tt>1.0</tt>;
endpoints that involve nondeterministic resources or partial
failures score lower. Agents <strong>MAY</strong> use the value to decide
whether to ESCALATE for clarification before invoking. The scale
is advisory and undefined normatively beyond the endpoint
bounds.</t>
          </dd>
          <dt><tt>impact</tt>:</dt>
          <dd>
            <t>The reversibility of the endpoint's effect. One of
<tt>informational</tt>, <tt>reversible</tt>, <tt>irreversible</tt>.
<tt>informational</tt> endpoints return data without changing server
state. <tt>reversible</tt> endpoints change state in ways that can be
undone via a compensating method (e.g., CANCEL, REFUND).
<tt>irreversible</tt> endpoints commit changes that cannot be programmatically
undone (e.g., sending an email, charging a payment, shipping
goods). Governance frameworks <strong>MAY</strong> use this field to apply
differential authorization, gating irreversible endpoints behind
stricter scope checks.</t>
          </dd>
          <dt><tt>is_idempotent</tt>:</dt>
          <dd>
            <t>Boolean. Whether repeated invocation with identical input
produces identical effect. Affects retry safety: idempotent
endpoints <strong>MAY</strong> be retried freely; non-idempotent endpoints
require an <tt>Idempotency-Key</tt> header per <xref target="AGTP"/> to be safely
retried.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="manifest">
      <name>Server Manifest</name>
      <section anchor="purpose">
        <name>Purpose</name>
        <t>The server manifest is the machine-readable document an AGTP server
publishes to declare its identity, version posture, endpoint
catalog, hosted agents, hosted protocols, and operational policies.
It is the authoritative statement of what the server offers.</t>
      </section>
      <section anchor="manifest-structure">
        <name>Manifest Structure</name>
        <sourcecode type="json"><![CDATA[
{
  "agtp_version": "1.0",
  "agtp_api_version": "1.0",
  "document_version": "v2",
  "catalog_version": "1.0.0",
  "catalog_versions_supported": ["1.0.0"],

  "server": {
    "server_id": "agents.acme.com",
    "domain": null,
    "operator": "Acme Retail",
    "contact": "ops@acme.com",
    "supported_features": ["endpoint-registry", "synthesis"],
    "issued": "2026-01-15T09:00:00Z",
    "updated": "2026-04-15T09:00:00Z"
  },

  "embedded_methods": [ /* eighteen floor methods */ ],
  "custom_methods": [ /* server-specific methods declared in policies.methods */ ],
  "endpoints": [ /* array of endpoint definitions, projected */ ],

  "agent_disclosure": "public",
  "hosted_agents": [ /* agent identity references */ ],
  "agent_disclosure_notice": null,

  "apis": [ /* legacy HTTP APIs this server fronts, if any */ ],
  "hosted_protocols": [ /* MCP, A2A, ACP, etc. */ ],

  "policies": {
    "wildcards_accepted": false,
    "anonymous_discovery": true,
    "scope_required_for_invocation": true,
    "synthesis_enabled": true,
    "max_synthesis_depth": 10
  },

  "manifest_signature": null
}
]]></sourcecode>
        <t>The manifest carries three distinct version fields at the top
level:</t>
        <dl>
          <dt><tt>agtp_version</tt>:</dt>
          <dd>
            <t>The AGTP wire-protocol version the server speaks (currently
<tt>"1.0"</tt>, corresponding to AGTP v07 of <xref target="AGTP"/>). Pinned to the
base protocol, separate from contract-layer evolution.</t>
          </dd>
          <dt><tt>agtp_api_version</tt>:</dt>
          <dd>
            <t>The AGTP-METHODS contract-layer version the server implements
(currently <tt>"1.0"</tt> for v00 of this document). Carries the
endpoint primitive, semantic block, status code, and synthesis
semantics the server adheres to.</t>
          </dd>
          <dt><tt>document_version</tt>:</dt>
          <dd>
            <t>This specific manifest's revision string. Operator-controlled;
bumped on every meaningful change to the manifest content.
Permits agents to detect cache staleness without comparing the
full body.</t>
          </dd>
          <dt><tt>catalog_version</tt>:</dt>
          <dd>
            <t>The method catalog version the server validates incoming method
names against. See <xref target="catalog-evolution"/>.</t>
          </dd>
          <dt><tt>catalog_versions_supported</tt>:</dt>
          <dd>
            <t>List of catalog versions the server can validate against. The
current <tt>catalog_version</tt> <strong>MUST</strong> appear in this list.
Multi-version support is anticipated in a future revision; v00
places no normative requirement on it.</t>
          </dd>
        </dl>
      </section>
      <section anchor="server-block">
        <name>Server Block</name>
        <t>The <tt>server</tt> block carries operator-facing identity and timestamps:</t>
        <dl>
          <dt><tt>server_id</tt>:</dt>
          <dd>
            <t>The canonical identifier for this server. <strong>MAY</strong> be a hostname,
an <tt>agtp://</tt> URI, or an operator-defined string. The value
<strong>MUST</strong> be stable across manifest revisions.</t>
          </dd>
          <dt><tt>domain</tt>:</dt>
          <dd>
            <t>Optional operational host the server is reachable at, if
different from <tt>server_id</tt>. <strong>MAY</strong> be <tt>null</tt> for servers whose
<tt>server_id</tt> is itself a resolvable host.</t>
          </dd>
          <dt><tt>operator</tt>:</dt>
          <dd>
            <t>The human-readable name of the organization operating the server.</t>
          </dd>
          <dt><tt>contact</tt>:</dt>
          <dd>
            <t>An operator email address for security and operational issues.</t>
          </dd>
          <dt><tt>supported_features</tt>:</dt>
          <dd>
            <t>A non-normative array of feature tokens describing optional
capabilities the server exposes (e.g., <tt>"endpoint-registry"</tt>,
<tt>"synthesis"</tt>, <tt>"openapi-export"</tt>). Agents and operators <strong>MAY</strong>
use these tokens for capability negotiation. AGTP-METHODS leaves
define a canonical feature-token registry; tokens are
operator-defined.</t>
          </dd>
          <dt><tt>issued</tt>:</dt>
          <dd>
            <t>ISO 8601 timestamp of when the manifest was first issued.
Preserved across manifest revisions; identifies the manifest's
origin in time.</t>
          </dd>
          <dt><tt>updated</tt>:</dt>
          <dd>
            <t>ISO 8601 timestamp of the most recent manifest update. Bumped
on every regeneration.</t>
          </dd>
        </dl>
      </section>
      <section anchor="methods-inventory">
        <name>Methods Inventory</name>
        <t>The <tt>embedded_methods</tt> array carries the eighteen protocol-floor
methods every AGTP server supports (the method definitions of
<xref target="AGTP"/>). The
<tt>custom_methods</tt> array carries any server-specific methods declared
in <tt>policies.methods</tt> (<xref target="custom-verbs"/>). The <tt>custom_methods</tt>
field <strong>MAY</strong> be omitted when empty.</t>
        <t>These arrays are non-normatively populated; agents that want a
complete picture of what the server invokes <strong>SHOULD</strong> consult the
<tt>endpoints</tt> array, which is the authoritative source for what
methods are bound on what paths.</t>
      </section>
      <section anchor="agents-disclosure">
        <name>Agents Disclosure</name>
        <t>The three agent-related fields describe what agents the server
hosts and how they are exposed:</t>
        <dl>
          <dt><tt>agent_disclosure</tt>:</dt>
          <dd>
            <t>One of <tt>"public"</tt>, <tt>"authenticated"</tt>, <tt>"private"</tt>. <tt>"public"</tt>
means the <tt>hosted_agents</tt> array is populated and visible to all
callers. <tt>"authenticated"</tt> means the array is populated only for
callers presenting a verified identity. <tt>"private"</tt> means the
array is empty in this manifest; the server withholds
what agents it hosts.</t>
          </dd>
          <dt><tt>hosted_agents</tt>:</dt>
          <dd>
            <t>Array of agent identity references the server hosts. Format is
operator-defined; typical entries include a canonical Agent-ID
and a brief description.</t>
          </dd>
          <dt><tt>agent_disclosure_notice</tt>:</dt>
          <dd>
            <t>Optional human-readable note explaining the server's disclosure
policy. Useful when <tt>agent_disclosure</tt> is <tt>"authenticated"</tt> or
<tt>"private"</tt> and the operator wishes to clarify how a caller can
request elevated disclosure.</t>
          </dd>
        </dl>
      </section>
      <section anchor="protocol-and-api-surface">
        <name>Protocol and API Surface</name>
        <dl>
          <dt><tt>apis</tt>:</dt>
          <dd>
            <t>Optional array of legacy HTTP API descriptors this server fronts
(e.g., entries pointing at OpenAPI specifications). Servers that
expose a parallel HTTP surface alongside AGTP list those HTTP
endpoints here; the presence of entries in this array is the
signal that the server operates a parallel HTTP face.</t>
          </dd>
          <dt><tt>hosted_protocols</tt>:</dt>
          <dd>
            <t>Optional array of higher-level agent protocols the server hosts
on top of AGTP (e.g., MCP, A2A, ACP). Each entry is an object
with the protocol name and the AGTP method+path it is reachable
via. See the composition section in <xref target="AGTP"/>.</t>
          </dd>
        </dl>
      </section>
      <section anchor="policies-block">
        <name>Policies Block</name>
        <t>The <tt>policies</tt> block carries five normative operational toggles:</t>
        <dl>
          <dt><tt>wildcards_accepted</tt>:</dt>
          <dd>
            <t>One of <tt>true</tt>, <tt>false</tt>. Whether the server accepts ad-hoc method
invocations against undeclared endpoints. See <xref target="builtin-endpoints"/>.</t>
          </dd>
          <dt><tt>anonymous_discovery</tt>:</dt>
          <dd>
            <t>One of <tt>true</tt>, <tt>false</tt>. Whether unauthenticated callers may
retrieve the manifest and invoke read-only built-in endpoints.
Servers serving traffic from open networks typically set this
to <tt>true</tt>; servers in trusted-network deployments <strong>MAY</strong> set
this to <tt>false</tt> to require authenticated identity even on
discovery.</t>
          </dd>
          <dt><tt>scope_required_for_invocation</tt>:</dt>
          <dd>
            <t>One of <tt>true</tt>, <tt>false</tt>. Whether every endpoint invocation
requires the agent to carry an Authority-Scope header.
<tt>true</tt> is the default; the implementation <strong>MUST NOT</strong> invoke a
handler when scope is required and absent. Servers with no
scope-gated endpoints <strong>MAY</strong> set this to <tt>false</tt>.</t>
          </dd>
          <dt><tt>synthesis_enabled</tt>:</dt>
          <dd>
            <t>One of <tt>true</tt>, <tt>false</tt>. Whether the server participates in
runtime contract negotiation per <xref target="AGTP-RCNS"/>. When
<tt>false</tt>, PROPOSE requests <strong>MUST</strong> be refused with 463 Proposal
Rejected and the reason <tt>synthesis-disabled</tt>.</t>
          </dd>
          <dt><tt>max_synthesis_depth</tt>:</dt>
          <dd>
            <t>A positive integer specifying the maximum number of composed
steps a synthesized endpoint <strong>MAY</strong> combine. Plans exceeding
this depth are refused; the server falls through to
counter-proposal or 463. Default: 10.</t>
          </dd>
        </dl>
      </section>
      <section anchor="manifest-signature">
        <name>Manifest Signature</name>
        <t>The manifest body <strong>SHOULD</strong> carry a <tt>manifest_signature</tt> field
holding a JWS envelope over the canonical JSON encoding of the
manifest body (with the <tt>manifest_signature</tt> field itself excluded
from the signing input). Clients <strong>MAY</strong> verify signatures when
present and <strong>SHOULD</strong> warn when absent.</t>
        <t>A future revision of this specification will require
<tt>manifest_signature</tt> (<strong>MUST</strong>); reference implementations are
expected to ship signing support in alignment with that revision.
The signing algorithm, canonical encoding rules, and key-publication
mechanism are specified separately in <xref target="AGTP-CERT"/>.</t>
        <t>For v00, the <tt>manifest_signature</tt> field <strong>MAY</strong> be <tt>null</tt> or absent;
a manifest without a valid signature <strong>MUST NOT</strong> be rejected by
clients on signature grounds alone.</t>
      </section>
      <section anchor="endpoint-projection">
        <name>Endpoint Projection</name>
        <t>The <tt>endpoints</tt> array in the manifest is a projection of the
server's internal endpoint catalog. The projection differs from the
full endpoint definition in one important way: the handler's
type-specific reference field (<tt>function</tt>, <tt>recipe</tt>, or <tt>url</tt>) and
any other binding-specific implementation details are dropped,
leaving only the binding kind under <tt>handler.type</tt>.</t>
        <t>Internal endpoint definition (on disk, in TOML or equivalent):</t>
        <sourcecode type="json"><![CDATA[
{
  "method": "BOOK",
  "path": "/room",
  "description": "...",
  "semantic": { ... },
  "input_schema": { ... },
  "output_schema": { ... },
  "errors": [ ... ],
  "required_scopes": [ ... ],
  "handler": {
    "type": "registered_function",
    "function": "rooms.handlers.book_room"
  }
}
]]></sourcecode>
        <t>Manifest projection (over the wire):</t>
        <sourcecode type="json"><![CDATA[
{
  "method": "BOOK",
  "path": "/room",
  "description": "...",
  "semantic": { ... },
  "input_schema": { ... },
  "output_schema": { ... },
  "errors": [ ... ],
  "required_scopes": [ ... ],
  "handler": { "type": "registered_function" }
}
]]></sourcecode>
        <t>The type-specific reference field (<tt>function</tt>, <tt>recipe</tt>, or <tt>url</tt>)
and any other binding-specific implementation fields are
server-internal and <strong>MUST NOT</strong> appear in the manifest projection.
Agents need to know the binding kind to reason about expected
latency, retry behavior, and attribution; agents have no need to
know which specific function, recipe, or upstream realizes the
binding.</t>
        <t>Servers <strong>MUST</strong> apply this projection on every manifest response.</t>
      </section>
      <section anchor="manifest-retrieval">
        <name>Manifest Retrieval</name>
        <t>Agents retrieve the server manifest using the AGTP DISCOVER method
without an Agent-ID header. The absence of an Agent-ID header
distinguishes a server-level discovery request (returns the manifest)
from an agent-level discovery request (returns endpoint candidates
matching specified criteria).</t>
        <t>The response <strong>MUST</strong> carry Content-Type
<tt>application/vnd.agtp.manifest+json</tt>. The manifest <strong>SHOULD</strong> be
signed; see the Manifest Signature subsection above.</t>
      </section>
      <section anchor="manifest-caching">
        <name>Manifest Caching</name>
        <t>Servers <strong>SHOULD</strong> include <tt>Cache-Control</tt> and <tt>ETag</tt> headers on
manifest responses. Agents <strong>MAY</strong> cache manifests according to
those directives. The <tt>server.updated</tt> timestamp and the
<tt>document_version</tt> field permit agents to detect cache staleness
without revalidation: a changed <tt>document_version</tt> means the
manifest content has changed in a way the operator considers
significant.</t>
      </section>
    </section>
    <section anchor="method-policy">
      <name>Method Policy</name>
      <section anchor="purpose-1">
        <name>Purpose</name>
        <t>The method policy declares per-server constraints on which methods
are accepted, which legacy verbs are opted in, and which methods on
which paths are redirected to their canonical form. The policy is
the small, declarative complement to the endpoint catalog: the
catalog says what an endpoint does; the policy says what the server
accepts in the first place.</t>
        <t>In v00, the method policy is a sub-block of the manifest's
<tt>policies</tt> (<xref target="manifest"/>) carried at <tt>policies.methods</tt>. There is
no separate policy file format; the policy is part of the server's
configuration and is exposed on the manifest like any other
operational policy.</t>
      </section>
      <section anchor="policy-shape">
        <name>Policy Shape</name>
        <t>The <tt>policies.methods</tt> block is a JSON object with four optional
fields:</t>
        <dl>
          <dt><tt>allow</tt>:</dt>
          <dd>
            <t>Either the string <tt>"*"</tt> (the server admits every method in the
catalog plus any method it has registered an endpoint for), or
an array of method names (the server admits only the listed
methods plus the embedded eighteen floor methods). Default: <tt>"*"</tt>.</t>
          </dd>
          <dt><tt>disallow</tt>:</dt>
          <dd>
            <t>Array of method names the server explicitly rejects. Disallowed
methods are rejected with 405 Method Not Allowed even when they
would otherwise be permitted by <tt>allow</tt>. Useful for narrowing
the surface without enumerating an exhaustive allow list.
Default: empty array.</t>
          </dd>
          <dt><tt>legacy</tt>:</dt>
          <dd>
            <t>Either an array of legacy HTTP verb names the server opts into
(e.g., <tt>["GET", "POST"]</tt>), the string <tt>"*"</tt> (all five legacy
verbs accepted), or the string <tt>"NONE"</tt> (no legacy support).
Granular per-verb opt-in supersedes the binary enabled/disabled
toggle. Default: <tt>"NONE"</tt>.</t>
          </dd>
          <dt><tt>aliases</tt>:</dt>
          <dd>
            <t>Map of method-name aliases the server resolves at dispatch time.
Each entry maps a non-canonical method name (the alias) to a
canonical method name (the catalog entry the server actually
dispatches under). Servers seed the default alias map with the
five legacy HTTP verbs mapped to their canonical AGTP counterparts:
</t>
            <sourcecode type="json"><![CDATA[
{
  "GET": "FETCH",
  "POST": "CREATE",
  "PUT": "REPLACE",
  "DELETE": "REMOVE",
  "PATCH": "MODIFY"
}
]]></sourcecode>
            <t>Operators <strong>MAY</strong> override the seed or wipe it. Alias
resolution runs as a single-hop translation ahead of the
catalog check (<xref target="custom-verbs"/>); the resolved method is
what the dispatcher matches against the endpoint catalog
and against the <tt>allow</tt>/<tt>disallow</tt> lists. Aliases <strong>MUST
NOT</strong> chain (an alias <strong>MUST</strong> resolve to a canonical
method, never to another alias); chained or circular alias
declarations are configuration errors and the server
<strong>MUST</strong> refuse to start. The original wire method is
preserved on the Attribution-Record as <tt>requested_method</tt>
per <xref target="AGTP-IDENTIFIERS"/>, so audit consumers can
distinguish "BOOK arrived under that name" from "GET
arrived and was aliased to FETCH." Default: the seed map
above; operators <strong>MAY</strong> set the empty map to disable
aliasing entirely.</t>
          </dd>
          <dt><tt>redirects</tt>:</dt>
          <dd>
            <t>Array of method-and-path redirect entries. Each entry has the
shape:
</t>
            <sourcecode type="json"><![CDATA[
{
  "from_method": "BOOK",
  "from_path": "/room",
  "to_method": "RESERVE",
  "to_path": "/room"
}
]]></sourcecode>
            <t>Either <tt>from_path</tt> or <tt>to_path</tt> <strong>MAY</strong> be omitted, signaling
"redirect on method-only without path matching" or "redirect to
the same path as the request." When a request matches a
redirect entry, the server processes it as if the
<tt>to_method</tt>/<tt>to_path</tt> had been requested instead.</t>
          </dd>
        </dl>
      </section>
      <section anchor="example">
        <name>Example</name>
        <t>A representative TOML deployment configuration:</t>
        <sourcecode type="toml"><![CDATA[
[policies.methods]
allow = "*"
disallow = ["PATCH", "TRANSFER"]
legacy = ["GET"]

[[policies.methods.redirects]]
from_method = "BOOK"
from_path = "/room"
to_method = "RESERVE"
to_path = "/room"
]]></sourcecode>
        <t>The equivalent manifest projection:</t>
        <sourcecode type="json"><![CDATA[
"policies": {
  "methods": {
    "allow": "*",
    "disallow": ["PATCH", "TRANSFER"],
    "legacy": ["GET"],
    "redirects": [
      {
        "from_method": "BOOK",
        "from_path": "/room",
        "to_method": "RESERVE",
        "to_path": "/room"
      }
    ]
  }
}
]]></sourcecode>
      </section>
      <section anchor="catalog-graceful-skip-semantics">
        <name>Catalog-Graceful Skip Semantics</name>
        <t>When the server loads <tt>policies.methods</tt> and an entry under <tt>allow</tt>,
<tt>disallow</tt>, or <tt>redirects</tt> references a method removed from the
catalog version the server has loaded, the entry <strong>MUST</strong> be
skipped at load time with an operator-visible warning. The server
continues to operate; the policy entry has no effect. This permits
operators to upgrade the catalog without simultaneously rewriting
the policy block to remove all references to retired methods.</t>
        <t>The <tt>legacy</tt> field continues to enforce the strict set of five HTTP
verbs (GET, POST, PUT, DELETE, PATCH); typos or non-HTTP verbs in
<tt>legacy</tt> <strong>MUST</strong> be rejected as a hard configuration error.</t>
      </section>
      <section anchor="discovery">
        <name>Discovery</name>
        <t>Agents discover the server's method policy by retrieving the server
manifest via target-less DISCOVER (<xref target="manifest"/>). The
<tt>policies.methods</tt> block is part of the manifest body and is
covered by the manifest signature (<xref target="manifest"/>) when present.</t>
        <t>Agents that need only an endpoint inventory (which methods on which
paths are exposed, with one-line descriptions) <strong>MAY</strong> invoke
<tt>DISCOVER /methods</tt> (<xref target="builtin-endpoints"/>) for a lightweight
response that bypasses the full manifest weight.</t>
      </section>
    </section>
    <section anchor="status-codes">
      <name>Status Codes</name>
      <t>AGTP-METHODS contributes the following structural rejection codes
to the AGTP status code space. The codes are registered with IANA
per <xref target="AGTP"/>. The negotiation codes 261, 263, 461, 463, and 464
are specified in <xref target="AGTP-RCNS"/>.</t>
      <table>
        <name>AGTP-METHODS Status Codes</name>
        <thead>
          <tr>
            <th align="left">Code</th>
            <th align="left">Name</th>
            <th align="left">Returned When</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">262</td>
            <td align="left">Authorization Required</td>
            <td align="left">Authorization the agent could obtain is absent: credential establishment, wildcards consent, authenticated identity, or an Authority-Scope the agent's identity document grants but the request omitted from its claim (<tt>scope-required</tt>). A request that exceeds the authority the document grants is 455 Scope Violation per <xref target="AGTP"/>, never 262.</td>
          </tr>
          <tr>
            <td align="left">404</td>
            <td align="left">Not Found</td>
            <td align="left">The path is absent from this server</td>
          </tr>
          <tr>
            <td align="left">405</td>
            <td align="left">Method Not Allowed</td>
            <td align="left">Method and path are valid but server policy exposes no endpoint at that combination</td>
          </tr>
          <tr>
            <td align="left">459</td>
            <td align="left">Method Violation</td>
            <td align="left">The method is in neither the floor nor the AGTP-METHODS catalog nor the server's custom methods</td>
          </tr>
          <tr>
            <td align="left">460</td>
            <td align="left">Endpoint Violation</td>
            <td align="left">The path violates AGTP-METHODS path grammar (method-name leakage)</td>
          </tr>
        </tbody>
      </table>
      <t>The four structural rejection codes 404, 405, 459, 460 form the
contract-level failure surface. Each code is independently
actionable and addresses a distinct failure mode:</t>
      <ul spacing="normal">
        <li>
          <t><strong>404</strong>: the path is absent. The agent has the wrong
resource locator.</t>
        </li>
        <li>
          <t><strong>405</strong>: the method and path are individually valid but the
server exposes no endpoint at that combination. The agent <strong>MAY</strong> try a
different method on the same path, or <strong>MAY</strong> PROPOSE the
combination per <xref target="AGTP-RCNS"/> unless it is a policy refusal.</t>
        </li>
        <li>
          <t><strong>459</strong>: the method itself is the problem. The agent <strong>MUST</strong>
pick a different method from the AGTP-METHODS catalog. PROPOSE
cannot succeed because the method name is illegal.</t>
        </li>
        <li>
          <t><strong>460</strong>: the path violates path grammar. The agent <strong>MUST</strong>
restructure the path so that no path segment matches an
approved method name.</t>
        </li>
      </ul>
      <t>These codes are never interchangeable. A 405 is a policy decision; a
459 is a vocabulary violation; a 460 is a structural violation.
Servers <strong>MUST</strong> return the most specific code that applies.</t>
      <t>The 405 response body <strong>MUST</strong> carry the following fields:</t>
      <dl>
        <dt><tt>allowed_methods_for_path</tt>:</dt>
        <dd>
          <t>The list of methods the server's policy or registry exposes on
the path. Permits the agent to retry with a method the server
actually accepts.</t>
        </dd>
        <dt><tt>redirects_for_path</tt>:</dt>
        <dd>
          <t>A map of method-to-method redirects from <tt>policies.methods</tt>
(<xref target="method-policy"/>) that apply to this path. <strong>MAY</strong> be empty if
the server has no redirects configured. Permits the agent to
learn that, for example, <tt>BOOK</tt> is redirected to <tt>RESERVE</tt> on
this server, and to retry under the canonical method directly.</t>
        </dd>
      </dl>
      <t>These fields together let the agent recover from a 405 without an
out-of-band catalog lookup or a second round-trip.</t>
    </section>
    <section anchor="handler-binding">
      <name>Handler Binding</name>
      <t>The handler binding declares how an endpoint's behavior is realized
at runtime. AGTP-METHODS defines three binding types.</t>
      <section anchor="composition">
        <name>Composition</name>
        <t>A composition handler exposes a derived endpoint whose behavior is
realized by orchestrating one or more other endpoints declared on
the same server. No application code is invoked; the server's
synthesis runtime executes the composition steps in order, threading
outputs into subsequent inputs while preserving authority through
the composition.</t>
        <t>Composition handlers reference a named recipe:</t>
        <sourcecode type="json"><![CDATA[
"handler": {
  "type": "composition",
  "recipe": "audit-via-query-and-summarize"
}
]]></sourcecode>
        <t>The <tt>recipe</tt> value is the name of a recipe defined in the server's
recipe registry (typically in an <tt>agtp-recipes.toml</tt> file loaded at
server startup). Recipes are reusable units of composition logic;
one recipe <strong>MAY</strong> back multiple endpoints. Inline composition
steps are unsupported in v00; every composition endpoint <strong>MUST</strong>
reference a registered recipe by name.</t>
        <t>A composition handler whose <tt>recipe</tt> value fails to resolve to a
recipe registered at the server <strong>MUST</strong> cause registration to fail.</t>
        <t>Composition endpoints <strong>MUST</strong> include <tt>composition_failed</tt> in
their <tt>errors</tt> list. This is the named error returned when a
composition step fails (any underlying step returns a non-success
status). The error response carries <tt>details</tt> with the recipe
identifier, the failed step number, the underlying step method,
the underlying status, and any captured outputs from preceding
steps.</t>
        <t>Authority <strong>MUST</strong> be preserved through the composition. The
agent's Authority-Scope <strong>MUST</strong> be sufficient for every underlying
endpoint the composition invokes. Authority sufficiency is verified
at registration time when possible (when step paths are statically
known) and at invocation time for parameterized step paths.</t>
        <t>This is the binding type most commonly produced by PROPOSE +
synthesis (<xref target="AGTP-RCNS"/>): a synthesized endpoint is a composition of existing
endpoints, and <strong>MAY</strong> be promoted to a permanent declared
composition by adding its recipe to the server's recipe registry
and writing an endpoint TOML that references it by name.</t>
      </section>
      <section anchor="registered-function">
        <name>Registered Function</name>
        <sourcecode type="json"><![CDATA[
"handler": {
  "type": "registered_function",
  "function": "rooms.handlers.book_room"
}
]]></sourcecode>
        <t>The endpoint binds to a Python function loaded by the server.
The <tt>function</tt> value is a dotted path identifying the module and
the callable within it; the server imports the module at registration
time and resolves the function attribute. Single dotted-path form
is normative; separate <tt>module</tt> and <tt>function</tt> fields are
supported in v00.</t>
        <t>The function receives the validated input and returns the response
payload. The handler API contract is specified separately (see
the reference implementation's handler documentation). This is the
binding type used for endpoints whose logic exceeds what
composition can express.</t>
      </section>
      <section anchor="external-service">
        <name>External Service</name>
        <sourcecode type="json"><![CDATA[
"handler": {
  "type": "external_service",
  "url": "https://internal.acme.tld/booking",
  "method": "POST",
  "headers": {
    "Authorization": "Bearer ${BOOKING_API_TOKEN}",
    "Content-Type": "application/json"
  },
  "input_transform": {
    "guest_id": "guestId",
    "room_type": "roomType"
  },
  "output_transform": {
    "confirmation_code": "confirmationNumber"
  },
  "error_map": {
    "404": "room_not_found",
    "409": "room_unavailable"
  },
  "timeout_seconds": 30
}
]]></sourcecode>
        <t>The endpoint binds to an HTTPS-reachable external service. The
server proxies the request to the external endpoint and returns the
response. Useful for AGTP frontends to existing HTTP-based services.
The external service sits outside the AGTP contract; the AGTP
server presents a contract-compliant facade.</t>
        <t>External service fields:</t>
        <dl>
          <dt><tt>url</tt>:</dt>
          <dd>
            <t>The fully-qualified URL of the upstream HTTP endpoint. The URL
<strong>MUST</strong> use the <tt>https://</tt> scheme. Plain HTTP <strong>MUST NOT</strong> be
accepted at registration time.</t>
          </dd>
          <dt><tt>method</tt>:</dt>
          <dd>
            <t>The HTTP method to invoke on the upstream. One of GET, POST, PUT,
PATCH, DELETE, HEAD, OPTIONS. <strong>REQUIRED</strong>.</t>
          </dd>
          <dt><tt>headers</tt>:</dt>
          <dd>
            <t>Optional map of HTTP headers to send to the upstream on every
request. Values <strong>MAY</strong> include <tt>${VAR}</tt> placeholders that are
resolved against process environment variables at server startup.
Unresolved placeholders <strong>MUST</strong> cause registration to fail.</t>
          </dd>
          <dt><tt>input_transform</tt>:</dt>
          <dd>
            <t>Optional map renaming AGTP request fields to the upstream's
expected field names. Maps AGTP-side name to upstream-side name.
Fields absent from the map pass through unchanged. v00 supports
key-rename only; value transformation is anticipated in a future
revision.</t>
          </dd>
          <dt><tt>output_transform</tt>:</dt>
          <dd>
            <t>Optional map renaming upstream response fields to AGTP-side names.
The map is inverted at response time: the upstream-side name is
the source, the AGTP-side name is the target. Fields absent from the
map pass through unchanged.</t>
          </dd>
          <dt><tt>error_map</tt>:</dt>
          <dd>
            <t>Map of upstream HTTP status code (as a string) to AGTP error code
declared in the endpoint's <tt>errors</tt> list. Servers <strong>SHOULD</strong>
configure <tt>error_map</tt> for every external_service binding; without
it, upstream HTTP errors surface to agents as generic
<tt>upstream_error</tt>. Every value in <tt>error_map</tt> <strong>MUST</strong> appear in
the endpoint's <tt>errors</tt>; registration <strong>MUST</strong> fail otherwise.</t>
          </dd>
          <dt><tt>timeout_seconds</tt>:</dt>
          <dd>
            <t>Positive number specifying the upstream request timeout. Servers
<strong>SHOULD</strong> set this explicitly. Default if absent: 30 seconds.
Production deployments <strong>SHOULD NOT</strong> rely on the default;
explicit timeouts make upstream-dependency posture inspectable.</t>
          </dd>
        </dl>
        <t>External service endpoints <strong>MUST</strong> declare the following five
upstream-failure error codes in their <tt>errors</tt> list, in addition to
any business-level errors:</t>
        <table>
          <name>Mandatory External Service Error Codes</name>
          <thead>
            <tr>
              <th align="left">Error Code</th>
              <th align="left">Returned When</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>upstream_timeout</tt></td>
              <td align="left">Upstream failed to respond within <tt>timeout_seconds</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>upstream_connection_error</tt></td>
              <td align="left">DNS, connection, or TLS failure reaching the upstream</td>
            </tr>
            <tr>
              <td align="left">
                <tt>upstream_malformed_response</tt></td>
              <td align="left">Upstream returned a 2xx response whose body is invalid JSON</td>
            </tr>
            <tr>
              <td align="left">
                <tt>upstream_authentication_failed</tt></td>
              <td align="left">Upstream returned 401 or 403 outside <tt>error_map</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>upstream_error</tt></td>
              <td align="left">Upstream returned 4xx or 5xx outside <tt>error_map</tt></td>
            </tr>
          </tbody>
        </table>
        <t>Without these declarations, transport-level upstream failures would
surface to the calling agent as opaque server errors. Mandating them
makes the failure surface inspectable.</t>
        <t>Agent identity is <strong>NOT</strong> propagated to the upstream by default.
This is a security default: an upstream HTTP service has no
mechanism to validate AGTP agent credentials, and forwarding them
would expose principal identity to systems outside the AGTP trust
boundary. Servers wishing to propagate identity to a specific
upstream <strong>MAY</strong> do so via explicit header configuration in the
<tt>headers</tt> map (e.g., a server-issued bearer token), but <strong>MUST NOT</strong>
forward AGTP-Agent-ID or AGTP-Principal-ID by default.</t>
      </section>
    </section>
    <section anchor="conformance">
      <name>Conformance</name>
      <section anchor="single-tier">
        <name>Single Tier</name>
        <t>A conforming AGTP server implements:</t>
        <ol spacing="normal" type="1"><li>
            <t>The full endpoint primitive (<xref target="the-endpoint-primitive"/>).</t>
          </li>
          <li>
            <t>Method validation against the AGTP-METHODS approved catalog at the
server's declared <tt>catalog_version</tt>.</t>
          </li>
          <li>
            <t>Path validation against the AGTP-METHODS path grammar.</t>
          </li>
          <li>
            <t>Method policy enforcement at dispatch time per the <tt>policies.methods</tt>
sub-block of the manifest (<xref target="method-policy"/>).</t>
          </li>
          <li>
            <t>A server manifest retrievable via DISCOVER without an Agent-ID
header, carrying <tt>agtp_version</tt>, <tt>agtp_api_version</tt>,
<tt>document_version</tt>, <tt>catalog_version</tt>, and
<tt>catalog_versions_supported</tt> per <xref target="manifest"/>.</t>
          </li>
          <li>
            <t>The endpoint projection of <xref target="endpoint-projection"/>: manifest
responses expose <tt>handler.type</tt> only; the full handler
binding stays server-side.</t>
          </li>
          <li>
            <t>PROPOSE handling per <xref target="AGTP-RCNS"/> when
<tt>policies.synthesis_enabled</tt> is <tt>true</tt>; refusal with 463 and
reason <tt>synthesis-disabled</tt> otherwise.</t>
          </li>
          <li>
            <t>The structural rejection status codes 404, 405, 459, 460, plus
the contract-negotiation codes 261, 262, 263, 463.</t>
          </li>
          <li>
            <t>The semantic block on every published endpoint.</t>
          </li>
          <li>
            <t>Schema validation for input and output, with the strictness
asymmetry of <xref target="schema-strictness"/> (inputs strict, outputs
permissive by default).</t>
          </li>
          <li>
            <t>The <tt>AGTP-Catalog-Warning</tt> response header on every response
whose method is deprecated in the catalog version in use.</t>
          </li>
          <li>
            <t>The <tt>AGTP-Endpoint-Warning</tt> response header on every response
from a deprecated endpoint (<xref target="endpoint-deprecation"/>).</t>
          </li>
          <li>
            <t>The <tt>DISCOVER /methods</tt> built-in endpoint defined in
<xref target="builtin-endpoints"/>, returning a compact inventory of the
server's registered endpoints.</t>
          </li>
        </ol>
        <t>There is no halfway tier. Servers that implement only method
dispatch without endpoints are nonconformant; they are
something else, perhaps a method-based RPC layer that happens to
use AGTP framing.</t>
      </section>
      <section anchor="validation-timing">
        <name>Validation Timing</name>
        <t>Conforming servers perform two distinct categories of validation,
which <strong>SHOULD</strong> occur at different times.</t>
        <t><strong>Manifest validation at startup.</strong> Before accepting traffic, a
conforming server <strong>SHOULD</strong> validate every endpoint declared in
its manifest:</t>
        <ul spacing="normal">
          <li>
            <t>The method appears in the AGTP-METHODS approved catalog (or is a
custom method declared in the server's <tt>policies.methods</tt>).</t>
          </li>
          <li>
            <t>The path conforms to the path grammar of <xref target="path-grammar"/>.</t>
          </li>
          <li>
            <t>The semantic block carries every required field.</t>
          </li>
          <li>
            <t>The input and output schemas are syntactically valid JSON
Schema documents.</t>
          </li>
          <li>
            <t>The handler binding (<xref target="handler-binding"/>) is resolvable: a
composition's referenced steps exist; a registered_function's
module and function are importable; an external_service's URL
is well-formed and reachable (or marked deferred).</t>
          </li>
        </ul>
        <t>A server that detects manifest validation failures at startup
<strong>SHOULD</strong> reject the offending endpoints with clear logs and
<strong>SHOULD NOT</strong> silently ignore them. Servers <strong>MAY</strong> choose to
fail startup entirely on manifest validation failure or to start
serving with the valid subset of endpoints; the choice is a
deployment policy decision.</t>
        <t><strong>Request validation at runtime.</strong> Once serving, the server
validates each inbound request against the endpoint's input schema
before invoking the handler:</t>
        <ul spacing="normal">
          <li>
            <t>Input body validates against the endpoint's <tt>input_schema</tt>. On
failure, the server returns 422 Unprocessable Entity with a
schema validation error report.</t>
          </li>
          <li>
            <t>The agent's Authority-Scope covers the endpoint's
<tt>required_scopes</tt> declarations. On failure, the server returns
455 Scope Violation per <xref target="AGTP"/>.</t>
          </li>
          <li>
            <t>The verb-and-path combination is exposed by the server's
current policy. On failure, the server returns the appropriate
structural rejection code (404, 405, 459, or 460).</t>
          </li>
        </ul>
        <t>Validation <strong>MUST</strong> complete before handler invocation. Servers
<strong>MUST NOT</strong> invoke the handler with input that has yet to satisfy
schema validation; handler authors may therefore assume their
context structure is well-formed.</t>
        <t>The startup-vs-runtime split is a recommendation, with no strict
requirement behind it. Servers <strong>MAY</strong> defer startup validation if their
endpoint catalog is dynamic (e.g., a PROPOSE-driven server that
only synthesizes endpoints on demand). Such servers <strong>MUST</strong> still
validate at the moment an endpoint is registered or synthesized,
just later than process start.</t>
      </section>
      <section anchor="schema-strictness">
        <name>Schema Strictness</name>
        <t>Schema validation is asymmetric between inputs and outputs.</t>
        <t>Input schemas <strong>MUST</strong> be validated with <tt>additionalProperties:
false</tt>. Fields undeclared in the schema <strong>MUST</strong> cause validation
to fail with 422. This catches typos and version mismatches early
and prevents agents from sending unrecognized fields under the
mistaken assumption that the server will silently ignore them.</t>
        <t>Output schemas <strong>SHOULD</strong> be validated with <tt>additionalProperties:
true</tt>. A handler that returns more fields than the schema declared
is forward-compatible: agents can ignore extra fields. A handler
that returns missing required fields fails validation either way.
Servers <strong>MAY</strong> opt into strict output validation as a deployment
policy.</t>
        <t>This asymmetry is normative because it has interoperability
consequences. An agent submitting a request to two different servers
can rely on both rejecting unrecognized input fields. An agent
consuming a response from two different servers can rely on
forward-compatible field handling without the version of one server
breaking integration with the other.</t>
      </section>
      <section anchor="conformance-test-suite">
        <name>Conformance Test Suite</name>
        <t>The AGTP-METHODS conformance test suite is maintained at:</t>
        <artwork><![CDATA[
https://agtp.io/api/conformance
]]></artwork>
        <t>The test suite exercises every conformance requirement in this
section. Servers claiming AGTP-METHODS conformance <strong>MUST</strong> pass the
test suite at the version they declare in their manifest's
<tt>agtp_api_version</tt> field.</t>
      </section>
    </section>
    <section anchor="openapi-relationship">
      <name>Relationship to OpenAPI</name>
      <t>OpenAPI and AGTP-METHODS perform similar work for different consumers.
OpenAPI describes HTTP APIs for human developers and code generators.
AGTP-METHODS describes agent-grade endpoints for AI agents. The
two formats overlap substantially: both have method, path, request
schema, response schema, errors, and descriptions. AGTP-METHODS leaves
compete with OpenAPI; the two formats are complementary, and AGTP-METHODS
deployments commonly interoperate with OpenAPI-described HTTP services
in three distinct ways.</t>
      <section anchor="openapi-as-an-authoring-source">
        <name>OpenAPI as an Authoring Source</name>
        <t>A developer with an existing OpenAPI specification can convert it to
AGTP-METHODS endpoint declarations. The HTTP method maps to an AGTP verb
(with translation: GET maps to QUERY or DISCOVER depending on intent;
POST maps to EXECUTE, BOOK, PURCHASE, or another action verb depending
on the operation). The path remains. The request schema becomes
<tt>input_schema</tt>. The response schema becomes <tt>output_schema</tt>. Errors
become the <tt>errors</tt> list. The OpenAPI <tt>description</tt> becomes the
foundation of the semantic block's <tt>intent</tt>.</t>
        <t>Conversion tooling <strong>MAY</strong> automate this translation with reasonable
defaults, flagging cases where verb mapping requires human judgment.
The AGTP-METHODS approved method catalog (<xref target="the-approved-method-catalog"/>) is the
canonical source for HTTP-verb-to-AGTP-verb conversions: tooling
<strong>MUST</strong> select target verbs from the list and <strong>MUST NOT</strong> invent
ad-hoc names, so that converted endpoints interoperate
with native AGTP-METHODS endpoints.</t>
        <t>Servers <strong>SHOULD NOT</strong> treat machine-converted endpoints as
authoritative until a human reviewer has confirmed the semantic
block fields, particularly <tt>intent</tt>, <tt>outcome</tt>, and <tt>impact</tt>.
Conversion tooling has no reliable way to infer impact from HTTP
semantics; that is judgment work.</t>
      </section>
      <section anchor="openapi-as-an-export-target">
        <name>OpenAPI as an Export Target</name>
        <t>AGTP servers <strong>MAY</strong> render their endpoint catalog as an OpenAPI
document for HTTP consumers that have yet to speak AGTP. The reverse
translation: AGTP verb to HTTP method (mappings are imperfect; some
AGTP verbs have no clean HTTP analog and are best exposed via the
legacy verb compatibility mode of <xref target="legacy-verb-support"/>); path
remains; schemas pass through unchanged.</t>
        <t>The exported OpenAPI document is a compatibility surface; the
authoritative description of the service is the AGTP contract. Servers exporting OpenAPI
<strong>SHOULD</strong> mark the export as derived from the AGTP-METHODS manifest and
<strong>SHOULD</strong> publish a link to the manifest in the OpenAPI <tt>info</tt>
section.</t>
      </section>
      <section anchor="openapi-as-a-coexistence-layer">
        <name>OpenAPI as a Coexistence Layer</name>
        <t>A server <strong>MAY</strong> run AGTP and HTTP side by side. The AGTP endpoint's
handler is the same code that the HTTP endpoint invokes. OpenAPI
documents the HTTP face; the AGTP-METHODS manifest documents the agent
face. The handler is unaware which protocol invoked it. This
deployment posture is signaled in the manifest by populating the
<tt>apis</tt> array (<xref target="manifest"/>) with descriptors pointing at the
server's OpenAPI documents.</t>
        <t>Coexistence is the path most large organizations will take during
transition: AGTP is added as a parallel face without requiring
modification to existing HTTP infrastructure. Implementation
guidance for coexistence deployments is provided in
<xref target="implementation-guidance"/>.</t>
      </section>
    </section>
    <section anchor="what-agtp-methods-does-not-specify">
      <name>What AGTP-METHODS Does Not Specify</name>
      <t>AGTP-METHODS explicitly excludes the following operational concerns,
which remain middleware territory:</t>
      <ul spacing="normal">
        <li>
          <t>Rate limiting strategies and policies.</t>
        </li>
        <li>
          <t>Observability mechanisms (metrics, logs, traces).</t>
        </li>
        <li>
          <t>Caching strategies beyond manifest caching.</t>
        </li>
        <li>
          <t>Custom authentication beyond AGTP agent identity.</t>
        </li>
        <li>
          <t>Request and response transformation.</t>
        </li>
        <li>
          <t>Server deployment topology and scaling.</t>
        </li>
        <li>
          <t>HTTP middleware integration patterns.</t>
        </li>
      </ul>
      <t>These are addressed by reference middleware repositories that ship
separately and non-normatively. The contract-plumbing distinction is
intentional: the protocol governs contracts; middleware governs
operations.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="verb-path-tampering">
        <name>Verb-Path Tampering</name>
        <t>A malicious server could declare endpoints whose semantic blocks
misrepresent the actual behavior. Agents that rely on semantic
blocks for authorization decisions <strong>MUST</strong> also enforce
Authority-Scope checks against actual outcomes, whatever the declared
outcomes say.</t>
      </section>
      <section anchor="method-policy-tampering">
        <name>Method Policy Tampering</name>
        <t>The method policy is carried as the <tt>policies.methods</tt> sub-block
of the server manifest and is covered by the manifest signature
(<xref target="manifest"/>) when present. Agents that retrieve the manifest over
AGTP transport (which mandates TLS 1.3 or higher per <xref target="AGTP"/>) and
verify the manifest signature when present are protected against
policy substitution. Agents that accept manifest content without
signature verification are vulnerable to substitution of the
method policy along with the rest of the manifest.</t>
      </section>
      <section anchor="wildcard-abuse">
        <name>Wildcard Abuse</name>
        <t>The <tt>wildcards: true</tt> consent on the agent identity document and
<tt>wildcards_accepted: true</tt> on the server policy are mutual consents
that enable ad-hoc method invocation. Agents <strong>SHOULD NOT</strong> declare
<tt>wildcards: true</tt> by default; servers <strong>SHOULD NOT</strong> declare
<tt>wildcards_accepted: true</tt> for any operation with non-trivial impact
tier. The 262 Authorization Required response with body type
<tt>wildcards-required</tt> is the safe default.</t>
      </section>
      <section anchor="verb-list-trust">
        <name>Verb List Trust</name>
        <t>Agents trust the AGTP-METHODS approved method catalog as published at
<tt>https://agtp.io/api/methods.json</tt>. The catalog <strong>MUST</strong> be served
over HTTPS with content integrity verification. Agents <strong>MAY</strong> pin
the catalog version they have validated and refuse upgrades without
explicit operator approval.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document defines the following AGTP-METHODS-specific allocations.
The corresponding AGTP IANA registry entries are recorded in
the IANA Considerations of <xref target="AGTP"/>.</t>
      <section anchor="agtp-methods-status-code-assignments">
        <name>AGTP-METHODS Status Code Assignments</name>
        <t>The following codes are registered in the AGTP Status Code Registry
with AGTP-METHODS as the authoritative reference:</t>
        <ul spacing="normal">
          <li>
            <t>262 Authorization Required</t>
          </li>
          <li>
            <t>405 Method Not Allowed (AGTP-METHODS semantics)</t>
          </li>
          <li>
            <t>459 Method Violation</t>
          </li>
          <li>
            <t>460 Endpoint Violation</t>
          </li>
        </ul>
        <t>Codes 261, 263, and 463 are registered by <xref target="AGTP-RCNS"/>.</t>
      </section>
      <section anchor="media-type-registrations">
        <name>Media Type Registrations</name>
        <t>This document defines two media types and requests their
registration in the IANA Media Types registry. Full registration
templates are provided in the appendices. The master registry of
all AGTP-family media types is maintained in <xref target="AGTP"/>.</t>
        <table>
          <name>Media Types Defined by AGTP-METHODS</name>
          <thead>
            <tr>
              <th align="left">Media Type</th>
              <th align="left">Use</th>
              <th align="left">IANA Status</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>application/vnd.agtp.manifest+json</tt></td>
              <td align="left">AGTP server manifest format</td>
              <td align="left">Planned (this document)</td>
            </tr>
            <tr>
              <td align="left">
                <tt>application/vnd.agtp.endpoint+json</tt></td>
              <td align="left">AGTP-METHODS endpoint definition format</td>
              <td align="left">Planned (this document)</td>
            </tr>
          </tbody>
        </table>
        <dl>
          <dt><tt>application/vnd.agtp.manifest+json</tt></dt>
          <dd>
            <t>The AGTP server manifest format. Carried on responses to a
server-level DISCOVER request (DISCOVER without an Agent-ID
header). The registration application will be filed concurrent
with publication of this document.</t>
          </dd>
          <dt><tt>application/vnd.agtp.endpoint+json</tt></dt>
          <dd>
            <t>The AGTP-METHODS endpoint definition format. Also used in
PROPOSE request bodies and in 263 Proposal Approved response
bodies per <xref target="AGTP-RCNS"/>.
The registration application will be filed concurrent with
publication of this document.</t>
          </dd>
        </dl>
        <t>Until the IANA registrations complete, the reference implementation
<strong>MAY</strong> continue to emit <tt>application/json</tt> for manifest and
endpoint responses. Implementations are encouraged to emit the
AGTP-specific types as soon as they are accepted by IANA so that
content negotiation and MIME-based routing can distinguish AGTP
traffic from generic JSON.</t>
      </section>
      <section anchor="agtp-methods-method-catalog-reference">
        <name>AGTP-METHODS Method Catalog Reference</name>
        <t>This document does <strong>NOT</strong> request establishment of an IANA AGTP-METHODS
Verb List Registry. As specified in <xref target="list-maintenance"/>, the verb
list is maintained as an open living artifact at
<tt>https://agtp.io/api/methods.json</tt>, in contrast to a closed IANA
registry, so that the catalog can evolve at the cadence of agent
deployment, which outpaces the cadence of IETF process. The structural
status codes, the media types, and the response headers below are
appropriate for IANA registration; the method catalog is the exception.</t>
      </section>
      <section anchor="agtp-methods-response-headers">
        <name>AGTP-METHODS Response Headers</name>
        <t>This document requests registration of the following response
headers in the IANA HTTP Field Name Registry (or equivalent
AGTP-specific registry where applicable):</t>
        <dl>
          <dt><tt>AGTP-Catalog-Warning</tt>:</dt>
          <dd>
            <t>Advisory header surfaced on responses where the request method is
deprecated in the catalog version the server is using. Format and
semantics specified in <xref target="catalog-evolution"/>.</t>
          </dd>
          <dt><tt>AGTP-Methods-Version</tt>:</dt>
          <dd>
            <t>Header surfacing the AGTP-METHODS specification version a
manifest or endpoint definition conforms to. Servers <strong>MAY</strong>
continue to emit <tt>AGTP-API-Version</tt> with the same value during
the transition from <xref target="AGTP-API"/>; clients <strong>SHOULD</strong> accept
either.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="open-items">
      <name>Open Items</name>
      <t>The following items are explicitly out of scope for this revision
and are anticipated in future revisions:</t>
      <ul spacing="normal">
        <li>
          <t>Mandatory manifest signing. v00 specifies <tt>manifest_signature</tt> as
<strong>SHOULD</strong>; a future revision will make it <strong>MUST</strong>. The signing
algorithm, canonical encoding rules for JWS over the manifest
body, key-publication mechanism, and rotation semantics will be
specified separately in <xref target="AGTP-CERT"/>. Reference implementations
are expected to ship signing support in alignment with that
revision.</t>
        </li>
        <li>
          <t>Cross-endpoint shared schema definitions. v00 requires schemas
to be inline in each endpoint's <tt>input_schema</tt> and <tt>output_schema</tt>.
A future revision may add a <tt>schemas</tt> block to the manifest
carrying named, reusable JSON Schema fragments referenceable by
<tt>$ref</tt> from endpoint schemas. This is a manifest-size and
authoring-convenience concern; the wire-level contract is unchanged.</t>
        </li>
        <li>
          <t>Config-driven <tt>document_version</tt>. The reference implementation
hardcodes <tt>document_version</tt> to a single value; an operator
workflow that bumps <tt>document_version</tt> on every meaningful
manifest change is anticipated. The wire contract permits any
string; the operator workflow is implementation-specific.</t>
        </li>
        <li>
          <t>The full text of the method catalog (425 methods at catalog
version 1.0.0). v00 references the published JSON at
<tt>agtp.io/api/methods.json</tt> without embedding the catalog
inline. A future revision may include a curated subset as a
non-normative appendix; the authoritative catalog remains the
published JSON per <xref target="list-maintenance"/>.</t>
        </li>
        <li>
          <t>Multi-version concurrent catalog support. v00 specifies
<tt>catalog_versions_supported</tt> as a list, but the runtime semantics
for a server processing a request against a non-default catalog
version are unspecified. Most servers list a single version.</t>
        </li>
        <li>
          <t>Conformance test suite specification (currently described by
reference to the agtp.io implementation).</t>
        </li>
        <li>
          <t>Authentication passthrough for external_service handlers (forwarding
agent identity to upstream services). Out of scope by security
default in v00; future revisions may specify opt-in passthrough
patterns.</t>
        </li>
        <li>
          <t>Hot reload of endpoints and <tt>policies.methods</tt> configuration
without server restart.</t>
        </li>
        <li>
          <t>Wildcard opt-in implementation. The spec defines the consent model
(<tt>wildcards: true</tt> on the agent identity document and
<tt>wildcards_accepted: true</tt> in server policy) and the 262
Authorization Required response with body type <tt>wildcards-required</tt>
for unsatisfied consent. The default behavior in
v00 is refuse: ad-hoc method invocations against undeclared
endpoints are rejected as 459 Method Violation when the method is
absent from the AGTP-METHODS catalog, or as 405 Method Not Allowed when the
method is in the catalog but no endpoint exists for the
method-and-path combination. The opt-in path that activates 262
with <tt>wildcards-required</tt> (when an agent or server has consented
to wildcards but the other side has withheld it) is anticipated as an
implementation extension in a future revision.</t>
        </li>
      </ul>
    </section>
    <section anchor="changes-from-agtp-methods-v01">
      <name>Changes from AGTP-METHODS v01</name>
      <t>This is the first revision under the AGTP-METHODS name. Changes
from <xref target="AGTP-API"/>:</t>
      <ul spacing="normal">
        <li>
          <t>Document renamed. The title, abbreviation, and every
self-reference now read AGTP-METHODS; the subtitle names the
vocabulary as the AGTP verbs.</t>
        </li>
        <li>
          <t>Runtime contract negotiation extracted. The PROPOSE and
Synthesis chapter, the <tt>DISCOVER /patterns</tt> and
<tt>DISCOVER /contracts</tt> built-ins, status codes 261, 263, 461,
463, and 464, the RCNS headers, and the related open items are
now specified in <xref target="AGTP-RCNS"/>. The tier taxonomy, the manifest
policy fields, the composition handler, and the reserved path
list keep their references to RCNS and point there.</t>
        </li>
        <li>
          <t>Method Properties (<xref target="method-properties"/>) and Method Overview
(<xref target="method-overview"/>) added, giving the vocabulary the structure
HTTP <xref target="RFC9110"/> gives its methods: named properties, a floor
table, and the catalog as the registry beyond the floor.</t>
        </li>
        <li>
          <t>Catalog baseline stated: 425 methods in nine categories at
catalog version 1.0.0, with the eighteen-method floor as the
embedded set and the five legacy HTTP verb mappings.</t>
        </li>
        <li>
          <t><tt>AGTP-API-Version</tt> response header renamed
<tt>AGTP-Methods-Version</tt>, with the old name accepted during
transition.</t>
        </li>
        <li>
          <t>References updated to base AGTP v09 and the current companion
revisions.</t>
        </li>
      </ul>
      <t>The v00 to v01 change history of <xref target="AGTP-API"/> is carried in that
document. Wire format compatibility: apart from the response
header rename, nothing on the wire changes; a server conformant to
<xref target="AGTP-API"/> is conformant to this document.</t>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document was developed in response to implementation experience
with the AGTP v06 through v09 builds. The architectural decision to
unify the contract layer under a single companion specification was
articulated in the AGTP-METHODS Position Paper (May 2026). The empirical
evidence for the action-intent semantic class is documented in
<xref target="HOOD2026"/>.</t>
    </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="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </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-10"/>
        </reference>
        <reference anchor="JSON-SCHEMA">
          <front>
            <title>JSON Schema: A Media Type for Describing JSON Documents</title>
            <author fullname="Austin Wright">
              <organization/>
            </author>
            <author fullname="Henry Andrews">
              <organization/>
            </author>
            <author fullname="Ben Hutton">
              <organization/>
            </author>
            <author fullname="Greg Dennis">
              <organization/>
            </author>
            <date year="2020"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bhutton-json-schema-01"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6570">
          <front>
            <title>URI Template</title>
            <author fullname="J. Gregorio" initials="J." surname="Gregorio"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="M. Hadley" initials="M." surname="Hadley"/>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="D. Orchard" initials="D." surname="Orchard"/>
            <date month="March" year="2012"/>
            <abstract>
              <t>A URI Template is a compact sequence of characters for describing a range of Uniform Resource Identifiers through variable expansion. This specification defines the URI Template syntax and the process for expanding a URI Template into a URI reference, along with guidelines for the use of URI Templates on the Internet. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6570"/>
          <seriesInfo name="DOI" value="10.17487/RFC6570"/>
        </reference>
        <reference anchor="AGTP-RCNS">
          <front>
            <title>AGTP-RCNS: Runtime Contract Negotiation Substrate</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-rcns-00"/>
        </reference>
        <reference anchor="AGTP-COMPOSITION">
          <front>
            <title>AGTP Composition Profiles</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-composition-02"/>
        </reference>
        <reference anchor="AGTP-BINDINGS">
          <front>
            <title>AGTP Transport Bindings: TCP/TLS and QUIC</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-bindings-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-04"/>
        </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-03"/>
        </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-03"/>
        </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="HOOD2026">
          <front>
            <title>Semantic Method Naming and LLM Agent Accuracy: A Controlled Benchmark of REST/CRUD versus Agentive API Interface Design</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Working Paper" value="Available by request. March 2026."/>
        </reference>
      </references>
    </references>
    <?line 2647?>

<section anchor="implementation-guidance">
      <name>Implementation Guidance (Informative)</name>
      <t>This appendix is non-normative. It describes how a typical AGTP-METHODS
server is built and operated, in support of the normative spec.
Implementations are free to depart from these patterns; they are
documented here to give developers a starting point and to make the
intended deployment posture concrete.</t>
      <section anchor="endpoint-authoring">
        <name>Endpoint Authoring</name>
        <t>A common pattern for endpoint authoring uses one declaration file per
endpoint, dropped into a directory the server scans at startup:</t>
        <ul spacing="normal">
          <li>
            <t>A human-editable declaration format (such as TOML, YAML, or JSON)
carries the endpoint's verb, path, semantic block, schemas,
errors, and handler reference.</t>
          </li>
          <li>
            <t>A handler function in the server's implementation language carries
the business logic, with a uniform signature that takes a context
object and returns a structured response or named error.</t>
          </li>
          <li>
            <t>The server scans the endpoints directory at startup, validates
every declaration per <xref target="validation-timing"/>, imports the referenced
handler modules, and registers the valid endpoints in memory.</t>
          </li>
        </ul>
        <t>The reference Python implementation of an AGTP-METHODS server uses TOML
for endpoint declarations and a <tt>context → response | error</tt>
handler signature. The exact TOML schema and handler patterns are
documented at:</t>
        <artwork><![CDATA[
https://agtp.io/api/reference/authoring
]]></artwork>
        <t>The TOML format is one serialization of the endpoint primitive
defined normatively in <xref target="the-endpoint-primitive"/>. Other
implementations are free to use other serializations (YAML, JSON,
programmatic registration, database-backed registries) provided the
in-memory endpoint structure conforms to this specification.</t>
      </section>
      <section anchor="runtime-dispatch-pattern">
        <name>Runtime Dispatch Pattern</name>
        <t>A typical request lifecycle in a conforming server:</t>
        <ol spacing="normal" type="1"><li>
            <t>The server receives an AGTP request and parses the verb and path.</t>
          </li>
          <li>
            <t>The dispatcher matches verb-and-path against the endpoint registry.</t>
          </li>
          <li>
            <t>On match, the dispatcher validates the request body against the
endpoint's <tt>input_schema</tt>.</t>
          </li>
          <li>
            <t>The dispatcher checks the agent's Authority-Scope against the
endpoint's <tt>required_scopes</tt> declaration.</t>
          </li>
          <li>
            <t>The dispatcher constructs a context object containing validated
input and agent identity, and invokes the handler.</t>
          </li>
          <li>
            <t>The handler executes business logic and returns a structured
response or named error.</t>
          </li>
          <li>
            <t>The dispatcher translates the result into an AGTP response.</t>
          </li>
        </ol>
        <t>This pattern keeps contract enforcement in the dispatcher and
business logic in the handler. Handlers perform no schema
validation, authority checks, or status code translation; the
dispatcher does those uniformly across all endpoints.</t>
      </section>
      <section anchor="tooling-1">
        <name>Tooling</name>
        <t>The reference implementation publishes tooling at <tt>agtp.io/api/tools</tt>:</t>
        <ul spacing="normal">
          <li>
            <t>An OpenAPI → AGTP-METHODS conversion tool that reads an OpenAPI 3.x
specification and produces a directory of endpoint declarations
with <tt>external_service</tt> handlers pointing at the original HTTP
endpoints. Where method mapping requires judgment, the tool flags
the endpoint for human review with suggestions from the AGTP-METHODS
approved method catalog.</t>
          </li>
          <li>
            <t>An AGTP-METHODS → OpenAPI export tool for servers that need to
publish HTTP-side documentation derived from their AGTP manifest.</t>
          </li>
          <li>
            <t>A manifest validator that checks server manifests against this
specification.</t>
          </li>
          <li>
            <t>A conformance test runner that exercises the conformance
requirements of <xref target="single-tier"/> against a deployed server.</t>
          </li>
          <li>
            <t>An <tt>agtp-catalog-diff</tt> tool that diffs two catalog versions and
optionally scans a deployment directory to identify endpoints,
recipes, and <tt>policies.methods</tt> entries that would break under a
candidate catalog upgrade. See <xref target="catalog-evolution"/>.</t>
          </li>
        </ul>
        <t>These tools are non-normative reference implementations. Other
parties <strong>MAY</strong> publish equivalent tools.</t>
      </section>
      <section anchor="operator-notes-on-catalog-versioning">
        <name>Operator Notes on Catalog Versioning</name>
        <t>The catalog version a server declares in its manifest is the version
the server validates incoming method names against. Operators
upgrading the on-disk verb catalog (typically by regenerating
<tt>methods.json</tt> from a new catalog release) <strong>SHOULD</strong> restart the
server to pick up the new version. Long-running servers that have
yet to be restarted after a catalog upgrade may continue validating
against the previous version they loaded at startup.</t>
        <t>The reference <tt>agtp-catalog-diff</tt> tool is the recommended way to
preview the impact of a catalog upgrade against a deployment
directory before restarting. Run it as a deployment gate to surface
endpoint-removal conflicts, recipe-step references to removed
methods, and <tt>policies.methods</tt> entries that would be silently skipped
under the new version.</t>
      </section>
    </section>
    <section anchor="migration-paths">
      <name>Migration Paths (Informative)</name>
      <t>This appendix is non-normative. It describes deployment strategies
for organizations adopting AGTP-METHODS on top of existing HTTP services,
and for organizations building AGTP-METHODS services from scratch.</t>
      <section anchor="wrap-and-expose">
        <name>Wrap-and-Expose</name>
        <t>The lowest-effort path for an organization with an existing HTTP API.
The HTTP API stays where it is. The organization writes AGTP-METHODS
endpoint declarations whose handler binding is <tt>external_service</tt>
(<xref target="external-service"/>), pointing at the existing HTTP endpoints.
AGTP-METHODS becomes a thin agent-facing facade over the existing HTTP
backend. Request translation maps AGTP-METHODS input fields to HTTP
request shapes; response translation maps HTTP responses back to
AGTP-METHODS output shapes.</t>
        <t>The OpenAPI → AGTP-METHODS conversion tool (<xref target="implementation-guidance"/>)
produces this kind of deployment by default: it reads an OpenAPI
specification and generates a directory of endpoint declarations
with <tt>external_service</tt> handlers. A 200-endpoint HTTP service can
be made AGTP-discoverable in a single working session.</t>
        <t>Wrap-and-expose deployments <strong>SHOULD</strong> populate the manifest's
<tt>apis</tt> array (<xref target="manifest"/>) with the HTTP API descriptor so agents
that need the underlying HTTP documentation can locate it.</t>
      </section>
      <section anchor="translate-and-rehost">
        <name>Translate-and-Rehost</name>
        <t>A medium-effort path. The organization reimplements its HTTP API as
native AGTP-METHODS endpoints, moving the handler logic into the AGTP-METHODS
server's implementation language directly. The HTTP layer goes away,
or is retained only for legacy clients that have yet to migrate.</t>
        <t>The conversion tool generates endpoint declarations and handler
stubs from the existing OpenAPI specification, leaving the
organization to fill in the business logic. The work is conversion
of an existing API.</t>
        <t>Translate-and-rehost deployments leave the <tt>apis</tt> array empty once
the HTTP layer retires; during transition, the array continues to
reference the HTTP face alongside the native AGTP endpoints.</t>
      </section>
      <section anchor="coexist-permanently">
        <name>Coexist-Permanently</name>
        <t>No migration. The HTTP API stays as the primary interface; AGTP-METHODS
is added as a parallel face for agent traffic. New agent-facing
features go in the AGTP-METHODS layer; existing HTTP traffic continues
unaffected. Two interfaces, one backend, indefinite coexistence.</t>
        <t>Most large enterprises will take this path when regulatory,
contractual, or customer-relationship commitments make a forced
migration impractical. AGTP-METHODS is additive in this posture and
replaces nothing.</t>
        <t>Coexist-permanently deployments populate <tt>apis</tt> with HTTP API
descriptors that include <tt>http_documentation</tt> URLs pointing at the
HTTP-side OpenAPI specifications.</t>
      </section>
      <section anchor="path-selection">
        <name>Path Selection</name>
        <t>The right path depends on organizational constraints; the protocol
has no preference. Wrap-and-expose scales: it can move millions of
existing APIs to AGTP-METHODS discoverability at low cost. Translate-and-rehost is the right target for
organizations committing to AGTP-METHODS as the long-term primary
surface. Coexist-permanently is the honest answer for organizations
that want agent access without disruption to existing systems.</t>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9y9bXcbR5Im+r1+RV2qd02qAejFsqdNrneGoiib05KoJin3
9PTxJYpAkawWgMKiAFJomv3bN554y8xCUZZnt8895/p0UyRQlZWVGRmvT0T0
+/1sWS0n5W6+tf/D2fv8bbm8rsdNvs1//VQuLpqdXf00/6keFRerSbFY9/L3
xfI6/2FRTKfFopcXs3F+OBvP62q2bLay4uJiUd7omP23h2c/Hr863crG9WhW
TOlZ40Vxuexf1/W4X1wt5/2pPLX/9Gk2KpblVb1Y7+bV7LLOmtXFtGqaqp4t
1/MSH47LeUk/Zsusmi928+Vi1SyfP3363dPnWbEoCzx0Pp9UNA7d1PDMTspi
0j+rpuVWdlsvPl4t6tWcrjsKY+Wn/pyt7GO5psvGu1me9/P9o7y4oisa/ot/
pWcWs+ayXOTzRb2sR/WEv2vKaTFbVqNc30ZuxzLeYBn5T/kqp8kVk/qKP5pj
Ia9kIfmDUteRRq+m1bK6KXX4BY2T0zOqy7JZZlmzpHc7p3FmtC7rssnmFaZM
E5I/87ypF8tFedn43+tp8udyUY2W9teons4L+zMrVjTRhSzB5WoykX07uF5U
Tf4j7Rt9kef14opm83de6d38XT2t6fV7+dFsNODvaUGqyW4+wl3/NpOvB0XF
360W1W5+vVzOm90nT0AEg6rOslm9mBZ4ZTz55PXB82fPvtNf//DsX17or19/
94dv9dfvnj17il+xzrs8sJMzb9WZbdV73Sqh7J0tvja8Jf578D1p6auyAT3a
pUezZbmYlcv+K1ByQtARhQpxP3vKN42JsHfz50+ff0t//vvp8bv+6cGPh2/3
01nji/x0dE1Lt5vv08EbV0V+RqSfX9aL/FXZjBbVRTW74hHyV/VoNS35yG2+
Trxx+3RIqln+50V1db3s+P7HcrZY5/uz8aK8bTq+f1nO8h9Xy2U96/jyh0V5
RVObzarmNy3XxTWP2P9bQz8afuf+02fpYj3NMgyUUsW33/yLb3r/5ODdaWvn
/eP8ZEUnclrmB8Q/FkTd+TtiLsuKKRZnno4APemfRwxMAIvRjFnbBhXwRA+O
374/Pj06Ozp+t/kaNPHpvG4qni+R8GU1KTs3+//idEfhkX1iqt2zfnn07tXR
ux86Vl6O3JxYT/6SzgLRKjGcs4P3T87enDI3/tOHo4N/8itc6IM3yCms+uHJ
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
8f8BWMeEcsy4AQA=

-->

</rfc>
