<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 4.0.1) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-artamokhov-dawn-index-federation-01" category="exp" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Index Federation">Federation Between Capability Indexes: Crawl, Reciprocal Identification and Admission</title>

    <author initials="A." surname="Artamokhov" fullname="Aleksandr Artamokhov">
      <organization>Independent</organization>
      <address>
        <email>alexar76@rambler.ru</email>
      </address>
    </author>

    <date year="2026" month="October" day="30"/>

    <area>Internet</area>
    <workgroup>Network Working Group</workgroup>
    <keyword>agents</keyword> <keyword>discovery</keyword> <keyword>federation</keyword> <keyword>marketplace</keyword> <keyword>admission</keyword>

    <abstract>


<?line 56?>

<t>This document describes how independently operated capability indexes discover each other by
following discovery documents, how a reading index identifies itself to the index it reads,
and an admission model that distinguishes a peer that is known from a peer whose catalogue is
indexed. It also describes how an index can preview a peer's catalogue before admitting it.
Payment, identity, reputation and invocation are out of scope. The document is intended as
input to the DAWN gap analysis on federation between directories.</t>



    </abstract>



  </front>

  <middle>


<?line 65?>

<section anchor="introduction"><name>Introduction</name>

<t>Capability indexes are operated by many independent parties, and each lists only what its
operator has seen. A client sees only the catalogue of the index it queries, and a provider
has to register with each index separately.</t>

<t><xref target="I-D.jimenez-dawn-discovery-landscape"/> (Section 6.2) identifies the lack of an
interoperable federation mechanism between directories as a gap. Existing designs federate
through a shared distributed hash table <xref target="I-D.mp-agntcy-ads"/>, through configured trust
relationships <xref target="I-D.pioli-agent-discovery"/>, or not at all (<xref target="A2A"/> leaves registries to
deployments; <xref target="MCPREG"/> has one upstream registry with mirrors).</t>

<t>This document describes a simpler arrangement. Each index is an HTTPS server that publishes a
discovery document <xref target="DISCOVERY"/>. Indexes find each other by following those documents, a
reading index identifies itself to the index it reads, and each index decides per peer
whether to index that peer's catalogue. There is no shared infrastructure and no central
registration.</t>

<t>Catalogue exchange and trust are outside the initial DAWN charter. This document uses DAWN
terminology because cooperating indexes that exchange catalogues need these mechanisms, and
is offered as input to the gap analysis, not as a proposal for adoption.</t>

<section anchor="scope"><name>Scope</name>

<t>This document specifies:</t>

<t><list style="symbols">
  <t>a crawl protocol over discovery documents (<xref target="crawl"/>);</t>
  <t>reciprocal identification of the reading index (<xref target="reciprocal"/>);</t>
  <t>an announcement message (<xref target="announce"/>);</t>
  <t>an admission model (<xref target="admission"/>);</t>
  <t>catalogue preview for peers not yet admitted (<xref target="preview"/>).</t>
</list></t>

<t>It does not specify payment, identity of providers or operators, reputation or ranking,
invocation, or resolution of conflicting listings.</t>

</section>
<section anchor="requirements-language"><name>Requirements Language</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>

<?line -18?>

</section>
<section anchor="terminology"><name>Terminology</name>

<dl>
  <dt>Index, catalogue, discovery document, reader:</dt>
  <dd>
    <t>As defined in <xref target="DISCOVERY"/>.</t>
  </dd>
  <dt>Peer:</dt>
  <dd>
    <t>An index known to another index.</t>
  </dd>
  <dt>Admitted:</dt>
  <dd>
    <t>A peer whose catalogue an index has chosen to index (<xref target="admission"/>).</t>
  </dd>
  <dt>Pending:</dt>
  <dd>
    <t>A peer that an index knows of but has not admitted.</t>
  </dd>
  <dt>Operator:</dt>
  <dd>
    <t>The party that makes admission decisions for an index.</t>
  </dd>
</dl>

</section>
</section>
<section anchor="crawl"><name>Crawl protocol</name>

<t>An index discovers peers by retrieving discovery documents, starting from a configured list
of URIs (the seed list) and following the <spanx style="verb">peers</spanx> member of each document retrieved. For
each peer it retrieves the discovery document and the catalogue, verifies the catalogue as
specified in <xref target="DISCOVERY"/>, and stores the result.</t>

<t>An index <bcp14>MUST</bcp14> limit the traversal by depth from the seed list and by the number of peers
retrieved per cycle, and <bcp14>MUST</bcp14> run the crawl on a schedule rather than in response to queries.</t>

<t>An index <bcp14>MUST</bcp14> answer queries from its stored copies of peer catalogues and <bcp14>MUST NOT</bcp14> contact
peers while answering a query. Contacting peers at query time would make each query depend on
the availability and latency of every peer.</t>

<t>An index <bcp14>SHOULD</bcp14> use conditional requests (<xref target="RFC9110"/>, Section 13) when it re-retrieves a
document, and <bcp14>SHOULD</bcp14> answer them when it serves its own.</t>

<t>An index <bcp14>MUST NOT</bcp14> crawl itself. URIs reach the crawl from the seed list, from pending
announcements and from the <spanx style="verb">peers</spanx> of retrieved documents; the self check applies to all
three. The comparison <bcp14>MUST</bcp14> normalise scheme, host case and path, because an index may be
published under a path of a shared host.</t>

</section>
<section anchor="reciprocal"><name>Reciprocal identification</name>

<t>An index that retrieves another index's discovery document <bcp14>MUST</bcp14> identify itself with the
<spanx style="verb">Agent-Marketplace-Crawler</spanx> request header field (<xref target="iana-hdr"/>):</t>

<figure><artwork><![CDATA[
GET /.well-known/agent-marketplace HTTP/1.1
Host: example.net
Agent-Marketplace-Crawler: https://crawler.example
]]></artwork></figure>

<t>The value is the absolute URI <xref target="RFC3986"/> of the retrieving index.</t>

<t>This lets an operator learn which indexes read its index. It conveys no trust.</t>

<t>A receiving index:</t>

<t><list style="symbols">
  <t><bcp14>SHOULD</bcp14> record the value;</t>
  <t><bcp14>MUST</bcp14> treat the value as an unauthenticated claim and <bcp14>MUST NOT</bcp14> grant any trust because of
it;</t>
  <t><bcp14>MUST</bcp14> check that the value is an absolute "https" URI before storing it, and <bcp14>MUST</bcp14> apply
<xref target="security-ssrf"/> before retrieving anything from it;</t>
  <t><bcp14>MAY</bcp14>, under open admission (<xref target="open-closed"/>), record the identified index as a pending peer;</t>
  <t><bcp14>SHOULD</bcp14> limit the number of distinct values it records.</t>
</list></t>

<t>Implementations <bcp14>SHOULD</bcp14> process the value outside the request path, so that serving the
discovery document does not wait for name resolution.</t>

</section>
<section anchor="announce"><name>Announcement</name>

<t>An index <bcp14>MAY</bcp14> announce itself to another index with an HTTP POST of a JSON object <xref target="RFC8259"/>
to an endpoint the receiving index publishes. Members:</t>

<texttable>
      <ttcol align='left'>Member</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <c><spanx style="verb">index_url</spanx></c>
      <c>string (URI)</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c><spanx style="verb">discovery_url</spanx></c>
      <c>string (URI)</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c><spanx style="verb">capabilities_count</spanx></c>
      <c>number</c>
      <c><bcp14>OPTIONAL</bcp14></c>
      <c><spanx style="verb">signer_public_key</spanx></c>
      <c>string</c>
      <c><bcp14>OPTIONAL</bcp14></c>
      <c><spanx style="verb">signature</spanx></c>
      <c>object</c>
      <c><bcp14>OPTIONAL</bcp14></c>
</texttable>

<t>If present, <spanx style="verb">signature</spanx> is a signature object as defined in <xref target="DISCOVERY"/>, under the profile
named in the announcing index's discovery document, over the canonical string</t>

<figure><artwork><![CDATA[
hub_url:<index_url>|well_known_url:<discovery_url>|
capabilities_count:<n>
]]></artwork></figure>

<t>(shown on two lines for width; the string contains no line break)</t>

<t>with <spanx style="verb">&lt;n&gt;</spanx> defaulting to <spanx style="verb">0</spanx>. The pair names follow the deployed wire format.</t>

<t>The canonical string contains no timestamp or nonce, so an announcement can be replayed. This
is acceptable only because an announcement grants nothing (<xref target="admission-rules"/>). A verified
announcement signature shows only that the sender holds the key it advertises, and <bcp14>MUST NOT</bcp14>
be used in an admission decision.</t>

<t>In this revision the location of the announcement endpoint is deployment-specific (the
reference implementation uses <spanx style="verb">/ai-market/v2/federation/announce</spanx>). A link from the discovery
document may be added in a later revision.</t>

</section>
<section anchor="admission"><name>Admission</name>

<t>An index <bcp14>MUST</bcp14> keep two questions separate: whether it knows that a peer exists, and whether
it indexes that peer's catalogue.</t>

<section anchor="states"><name>States</name>

<t>An index <bcp14>MUST</bcp14> place every known peer in exactly one of these states:</t>

<dl>
  <dt>Pending:</dt>
  <dd>
    <t>The peer is known. Its catalogue is not indexed, not queryable and not used for routing,
and its <spanx style="verb">peers</spanx> member is not followed.</t>
  </dd>
  <dt>Admitted:</dt>
  <dd>
    <t>The operator has decided to index the peer's catalogue. How the catalogue is then used is
outside this document.</t>
  </dd>
</dl>

<t>An index <bcp14>MAY</bcp14> define sub-states of "admitted". It <bcp14>MUST NOT</bcp14> define a state in which a peer's
catalogue is used without admission.</t>

</section>
<section anchor="open-closed"><name>Open and closed admission</name>

<t>An index <bcp14>MUST</bcp14> support closed admission, in which a peer becomes pending only by operator
action (a seed-list entry, or an announcement the operator has authorised).</t>

<t>An index <bcp14>MAY</bcp14> also support open admission, in which an unauthenticated party can create a
pending entry by announcement (<xref target="announce"/>) or by reciprocal identification
(<xref target="reciprocal"/>).</t>

</section>
<section anchor="admission-rules"><name>Rules</name>

<t>With open admission, all of the following <bcp14>MUST</bcp14> hold:</t>

<t><list style="numbers" type="1">
  <t>An unauthenticated announcement or reciprocal identification creates a pending peer, never
an admitted one.</t>
  <t>An announcement about an already-known peer <bcp14>MUST NOT</bcp14> change any stored property of that
peer, including its name, pinned key and state.</t>
  <t>The number of pending peers <bcp14>MUST</bcp14> be limited. When the limit is reached, further
unauthenticated announcements <bcp14>MUST</bcp14> be refused with status 429 (Too Many Requests).</t>
  <t>An announced or self-identified URI <bcp14>MUST</bcp14> pass <xref target="security-ssrf"/> before it is stored.</t>
  <t>A pending peer <bcp14>MUST NOT</bcp14> be listed in the <spanx style="verb">peers</spanx> member of the index's own discovery
document.</t>
</list></t>

<t>Under rule 5, a peer listed in <spanx style="verb">peers</spanx> is one the operator has admitted. Without it, any party
could add a URI to the crawl of every index that reads this one.</t>

</section>
<section anchor="automatic-assessment"><name>Automatic assessment</name>

<t>An index <bcp14>MAY</bcp14> run automated checks on a pending peer (for example, retrieving its discovery
document, verifying its catalogue signature, or calling a listed capability) and show the
results to the operator. It <bcp14>MAY</bcp14> admit a peer automatically based on such checks. If it does,
it <bcp14>MUST</bcp14> record which checks were run and their results, and the operator <bcp14>MUST</bcp14> be able to
reverse the admission. A peer that fails the checks remains pending and visible to the
operator.</t>

</section>
<section anchor="preview"><name>Catalogue preview</name>

<t>An index <bcp14>MAY</bcp14> retrieve and display a pending peer's catalogue so that its operator can decide
on admission. If it does:</t>

<t><list style="numbers" type="1">
  <t>The catalogue <bcp14>MUST</bcp14> be validated, and its signature verified if present, as for an admitted
peer.</t>
  <t>Previewed entries <bcp14>MUST NOT</bcp14> be returned by queries, used for routing, or included in the
index's own catalogue. Implementations <bcp14>SHOULD</bcp14> store them separately from the data used to
answer queries, rather than rely on filtering.</t>
  <t>Any interface that shows previewed entries <bcp14>MUST</bcp14> mark them as not admitted.</t>
</list></t>

<t>Signature verification of a preview shows only that the catalogue was signed by the key the
peer advertises and was not modified in transit. It says nothing about whether the peer
should be trusted.</t>

</section>
</section>
<section anchor="relationship-to-other-work"><name>Relationship to other work</name>

<t>This section is informative.</t>

<t><xref target="I-D.mp-agntcy-ads"/> federates directories through a Kademlia DHT and content-addressed OCI
storage, with Sigstore-signed records. That provides global content-addressed lookup, with
infrastructure that every participant runs. This document requires no shared
infrastructure. A DHT-based directory could publish a discovery document and be admitted
like any other peer.</t>

<t><xref target="I-D.pioli-agent-discovery"/> federates through configured trust relationships, which
corresponds to closed admission here. This document adds open admission under the rules in
<xref target="admission-rules"/>.</t>

<t><xref target="A2A"/> defines a signed card per agent and leaves registries to deployments. An index under
this document can act as such a registry, and <bcp14>MAY</bcp14> also publish an agent card for itself.</t>

<t><xref target="MCPREG"/> has one upstream registry and sub-registries that mirror it. An index can admit
the upstream registry as a peer; this document also covers the case without an upstream.</t>

<t><xref target="X402BAZAAR"/> builds a catalogue from metadata declared in payments that pass through a
facilitator. Discovery here does not depend on a prior payment.</t>

<t>The pending/admitted distinction is similar to the separation in Certificate Transparency
<xref target="RFC9162"/> between an entry being logged and being trusted.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="security-ssrf"><name>Request forgery</name>

<t>Every mechanism in this document causes an index to retrieve a URI chosen by another party.
Before retrieving a URI obtained from a peer's discovery document, an announcement, or the
<spanx style="verb">Agent-Marketplace-Crawler</spanx> field, an index <bcp14>MUST</bcp14>:</t>

<t><list style="symbols">
  <t>resolve the host and refuse private, loopback, link-local, multicast and unspecified
addresses, including IPv4-mapped and IPv4-compatible IPv6 forms, using an explicit list of
ranges rather than a library's definition of "private";</t>
  <t>check the resolved address again at connection time, or connect to the checked address;</t>
  <t>not follow redirects automatically;</t>
  <t>limit response size and time.</t>
</list></t>

<t>An index that shares a host with other services <bcp14>MUST NOT</bcp14> treat a URI that resolves to its own
host as a peer.</t>

</section>
<section anchor="key-pinning"><name>Key pinning</name>

<t>An index <bcp14>MUST</bcp14> verify a peer's catalogue with the key pinned for that peer, as specified in
<xref target="DISCOVERY"/>. A changed key is reported to the operator and never accepted automatically. As
a result, a key change at a peer requires action by each operator that has pinned it.</t>

</section>
<section anchor="resource-exhaustion"><name>Resource exhaustion</name>

<t>Open admission accepts unauthenticated writes; the limits in <xref target="admission-rules"/> bound them.
The traversal limits in <xref target="crawl"/> bound the work caused by a large or cyclic <spanx style="verb">peers</spanx> member.</t>

</section>
<section anchor="split-views"><name>Split views</name>

<t>An index can serve different catalogues to different readers. A reader that stores the signed
catalogue it received can show what it was served, and readers can compare; this document does
not define how. A transparency log for catalogues, in the style of <xref target="RFC9162"/>, would address
this and is out of scope.</t>

</section>
<section anchor="privacy"><name>Privacy</name>

<t>The record described in <xref target="reciprocal"/> shows which indexes read a given index. An
implementation <bcp14>SHOULD</bcp14> record only the declared URI and <bcp14>SHOULD NOT</bcp14> keep the client network
address.</t>

</section>
<section anchor="limits"><name>Limits</name>

<t>This document does not cover payment, and a compliant index makes no statement about whether
a catalogued capability works as described. Admission is an operator decision, not a
guarantee.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="iana-hdr"><name>HTTP field name registration</name>

<t>IANA is requested to register the following in the "Hypertext Transfer Protocol (HTTP) Field
Name Registry" <xref target="RFC9110"/>:</t>

<dl>
  <dt>Field name:</dt>
  <dd>
    <t>Agent-Marketplace-Crawler</t>
  </dd>
  <dt>Status:</dt>
  <dd>
    <t>provisional</t>
  </dd>
  <dt>Reference:</dt>
  <dd>
    <t><xref target="reciprocal"/> of this document</t>
  </dd>
  <dt>Comments:</dt>
  <dd>
    <t>Request header field. The value is an absolute URI identifying the index on whose behalf
the request is made. No <spanx style="verb">X-</spanx> prefix is used, per <xref target="RFC6648"/>.</t>
  </dd>
</dl>

</section>
</section>
<section anchor="implementation-status"><name>Implementation Status</name>

<t>This section records the status of known implementations at the time of writing, per
<xref target="RFC7942"/>. It is to be removed before publication as an RFC.</t>

<t><list style="symbols">
  <t>Reference implementation (Apache-2.0) of the crawl, reciprocal identification,
announcement, both admission modes, automatic assessment and preview, with a conformance
runner and test vectors. Deployed on six public indexes operated by the author or
affiliated parties, with open admission enabled since October 2026. Since 2026-10-30 it
sends and accepts <spanx style="verb">Agent-Marketplace-Crawler</spanx> in addition to the earlier
<spanx style="verb">X-AIMarket-Crawler</spanx>.</t>
  <t>A Go directory node implementing crawl, discovery and announcement intake, written by the
same author from the text and test vectors without the reference source.</t>
  <t>The largest deployed index lists 21 admitted peers. Three services known to it are operated
by unrelated parties; as of 2026-10-30, two of them publish catalogues that verify under
the profile in <xref target="DISCOVERY"/>, and none of them runs a federating index.</t>
</list></t>

<t>No implementation of this document by another party is known.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<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="RFC8259">
  <front>
    <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
    <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
    <date month="December" year="2017"/>
    <abstract>
      <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
      <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="90"/>
  <seriesInfo name="RFC" value="8259"/>
  <seriesInfo name="DOI" value="10.17487/RFC8259"/>
</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="DISCOVERY" >
  <front>
    <title>A Discovery Document and Signed Catalogue for Capability Marketplaces</title>
    <author initials="A." surname="Artamokhov">
      <organization></organization>
    </author>
    <date year="2026" month="October"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-artamokhov-dawn-marketplace-discovery-01"/>
</reference>


<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>



    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC6648">
  <front>
    <title>Deprecating the "X-" Prefix and Similar Constructs in Application Protocols</title>
    <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
    <author fullname="D. Crocker" initials="D." surname="Crocker"/>
    <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
    <date month="June" year="2012"/>
    <abstract>
      <t>Historically, designers and implementers of application protocols have often distinguished between standardized and unstandardized parameters by prefixing the names of unstandardized parameters with the string "X-" or similar constructs. In practice, that convention causes more problems than it solves. Therefore, this document deprecates the convention for newly defined parameters with textual (as opposed to numerical) names in application protocols. This memo documents an Internet Best Current Practice.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="178"/>
  <seriesInfo name="RFC" value="6648"/>
  <seriesInfo name="DOI" value="10.17487/RFC6648"/>
</reference>
<reference anchor="RFC7942">
  <front>
    <title>Improving Awareness of Running Code: The Implementation Status Section</title>
    <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
    <author fullname="A. Farrel" initials="A." surname="Farrel"/>
    <date month="July" year="2016"/>
    <abstract>
      <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
      <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="205"/>
  <seriesInfo name="RFC" value="7942"/>
  <seriesInfo name="DOI" value="10.17487/RFC7942"/>
</reference>
<reference anchor="RFC9162">
  <front>
    <title>Certificate Transparency Version 2.0</title>
    <author fullname="B. Laurie" initials="B." surname="Laurie"/>
    <author fullname="E. Messeri" initials="E." surname="Messeri"/>
    <author fullname="R. Stradling" initials="R." surname="Stradling"/>
    <date month="December" year="2021"/>
    <abstract>
      <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
      <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
      <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9162"/>
  <seriesInfo name="DOI" value="10.17487/RFC9162"/>
</reference>

<reference anchor="I-D.jimenez-dawn-discovery-landscape">
   <front>
      <title>A Survey of AI Agent Discovery Mechanisms</title>
      <author fullname="Jaime Jimenez" initials="J." surname="Jimenez">
         <organization>Ericsson</organization>
      </author>
      <author fullname="Jim Feng" initials="J." surname="Feng">
         <organization>Ericsson</organization>
      </author>
      <author fullname="Jari Arkko" initials="J." surname="Arkko">
         <organization>Ericsson</organization>
      </author>
      <author fullname="Mirja Kühlewind" initials="M." surname="Kühlewind">
         <organization>Ericsson</organization>
      </author>
      <author fullname="Rajat Kandoi" initials="R." surname="Kandoi">
         <organization>Ericsson</organization>
      </author>
      <date day="3" month="July" year="2026"/>
      <abstract>
	 <t>   This document surveys mechanisms for AI agent discovery being
   developed at the IETF, at AAIF, at 3GPP, and in open-source projects.
   It compares them by discovery model, scope, dynamism, cross-domain
   reach, and semantic capability.  It identifies gaps, overlaps, and
   conflicts between the approaches to inform future standardization
   work.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-jimenez-dawn-discovery-landscape-00"/>
   
</reference>

<reference anchor="I-D.mp-agntcy-ads">
   <front>
      <title>Agent Directory Service</title>
      <author fullname="Luca Muscariello" initials="L." surname="Muscariello">
         <organization>Cisco</organization>
      </author>
      <author fullname="Ramiz Polic" initials="R." surname="Polic">
         <organization>Cisco</organization>
      </author>
      <date day="6" month="July" year="2026"/>
      <abstract>
	 <t>   The Agent Directory Service (ADS) is a distributed directory service
   designed to store metadata for AI agent applications.  This metadata,
   stored as directory records, enables the discovery of agent
   applications with specific skills for solving various problems.  The
   implementation features distributed directories that interconnect
   through a content-routing protocol.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-mp-agntcy-ads-02"/>
   
</reference>

<reference anchor="I-D.pioli-agent-discovery">
   <front>
      <title>Agent Registration and Discovery Protocol (ARDP)</title>
      <author fullname="Roberto Pioli" initials="R." surname="Pioli">
         <organization>Independent</organization>
      </author>
      <date day="24" month="February" year="2026"/>
      <abstract>
	 <t>   This document specifies the Agent Registration and Discovery Protocol
   (ARDP), a lightweight protocol for registering, discovering, and
   reaching autonomous software agents in distributed and federated
   environments.  ARDP provides stable agent identities, dynamic
   endpoint resolution, capability advertisement (including protocol
   selection among MCP, A2A, HTTP, and gRPC), minimal presence
   signaling, and a security-first discovery control plane.  ARDP is
   transport-agnostic and complementary to existing agent interaction
   protocols.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-pioli-agent-discovery-01"/>
   
</reference>

<reference anchor="A2A" target="https://a2a-protocol.org/latest/specification/">
  <front>
    <title>Agent2Agent (A2A) Protocol Specification, version 1.0</title>
    <author >
      <organization></organization>
    </author>
    <date year="2026" month="March"/>
  </front>
</reference>
<reference anchor="MCPREG" target="https://registry.modelcontextprotocol.io/">
  <front>
    <title>Model Context Protocol Registry</title>
    <author >
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="X402BAZAAR" target="https://github.com/x402-foundation/x402/blob/main/specs/extensions/bazaar.md">
  <front>
    <title>x402 Bazaar discovery extension</title>
    <author >
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
</reference>


    </references>

</references>


<?line 409?>

<section numbered="false" anchor="implementation-experience"><name>Implementation experience</name>

<t><list style="symbols">
  <t>An index whose seed list contained its own URI recorded itself as a pending peer and
contacted itself on every cycle. Its self check had covered only URIs taken from other
indexes' <spanx style="verb">peers</spanx> members; <xref target="crawl"/> now applies the check to all three sources.</t>
  <t>A service operated by an unrelated party announced itself, failed the automatic checks
because it published no catalogue, and remained visible to the operator as pending and
indexed by nothing, as <xref target="admission"/> intends. It was later admitted.</t>
</list></t>

</section>
<section numbered="false" anchor="changes-from-00"><name>Changes from -00</name>

<t>Editorial: the text was shortened, and explanatory passages were removed or moved to the
appendix above. Implementation Status was updated. No normative requirement changed.</t>

</section>
<section numbered="false" anchor="acknowledgements"><name>Acknowledgements</name>

<t>Thanks to the authors of <xref target="I-D.jimenez-dawn-discovery-landscape"/>.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA51c7XbcNpL9j6fAyj9iz+lufcRxYjmb2Y5sx9qxLa+kbCY7
Z06EJtFqjthkD8GW3JGdZ9ln2SfbW1UAAbJb2Zydc5K0SAIEClW3bn1wxuOx
aou2tMd677XNbWPaoq7097a9s7bSJ2ZlZkVZtBt9WuX2o3XH+qQxd+VIn9us
WDV1Zkp9mtuqLeZFJoNNletpviycw197ysxmjb3F/DyDjm/ZU3mdVWaJd+eN
mbdj07RmWd8s6ttxbu6qcUEDxvNuwPjgUOEd9rpuNsfaflwprOBYt83atUcH
B88PjpRbz/yL280KE5++unytTGMNflatbSrbqru6ublu6vXqWL/HPvGX/gn/
Kqpr/QNdVjnecayPDo6ejQ8Pxl8eqBu7wWP5sdJ6rM01duv4Z164rL61zYb/
igvlP5emubHtqjSZlXFBJMq1ENEvpqwrvGZjnVoVx/pvbZ2NtKubtrFzh1+b
Jf34uzLrdlE3/G78o3VR4RCmEz3tpMWXRZDT0t44zN4Mb9fNtamKX3l5x3yY
K1vRufFduzRFeaxNaT+a5utn/9aY5ay0zaRZq6pulhh1a2kF569Pvnz+zTP/
85ujr577n88PDw/o58vTi5Oz/3x1/vMxzxtUa6pfBlHpl3W2XuLFrCcXxXVl
c+hZC3Fcr62e102qde+iEN0eTxnFQf8b+/8+KJbeWfIVZ5vCuqKa12GSoBnj
l6SGD2ljcp7j7uBJJWmqvoyePXv6jf/59fOnR52MnvHP0/HLyT8KiMD+KjPH
2UrIxGVmZcNzy9XYXFdtthmb3IWLq6IuizHrYRxLN6dH04Hc6Zkj/rd+jLtP
9IemhqLVpb5YwYCDzY40piDd1IeTA5Fza5prC2Es2nbljvf3zZEZr/zgCbRp
v4RkXbvv0nn2hzI/+BJX3p18OH/1Q39l7+rclvoEdmo/tnFV5/a6cG2z2b2G
xt+dLGl0JoO7RRX18PX4869PD46+n/7XdHref/9HXNffm1+NaaIZA1NaWwls
7Xr/ddEu1rNJVi/3afx4Xq+rXDZOf+/Pynq2D1OqWCpuv5vO7c/4VZNlPlzi
eAxomGFXJmuVulwUTufBQnLrsqaYWacX9Z0uotGWG12vCGxgO1m0lkIwutuQ
tiZb6Lpd4Odso+Z1WdZ3hHNxx+FdQBx6h9HAypwe4bl04aEdkxats+Vct7XG
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
2vzHPjadqP8FOJLJhzdDAAA=

-->

</rfc>

