<?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-discovery-02" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="AGTP-DISCOVER">AGTP Agent Discovery and Name Service</title>
    <seriesInfo name="Internet-Draft" value="draft-hood-agtp-discovery-02"/>
    <author fullname="Chris Hood">
      <organization>Nomotic, Inc.</organization>
      <address>
        <email>chris@nomotic.ai</email>
        <uri>https://nomotic.ai</uri>
      </address>
    </author>
    <date year="2026" month="October" day="30"/>
    <area>Applications and Real-Time</area>
    <workgroup>Independent Submission</workgroup>
    <keyword>AI agents</keyword>
    <keyword>agent discovery</keyword>
    <keyword>agent name service</keyword>
    <keyword>ANS</keyword>
    <keyword>AGTP discovery</keyword>
    <abstract>
      <?line 73?>

<t>The Agent Transfer Protocol (AGTP) enables agents to communicate once
they know each other's canonical identifiers. This document specifies
two layered mechanisms by which agents find each other and by which
human-readable names resolve to Canonical Agent-IDs: the DISCOVER
method, which queries for agents matching a capability description,
and the Agent Name Service (ANS), which provides governed
name-to-Agent-ID resolution.</t>
      <t>The architectural relationship is layered. AGTP-Presence
<xref target="AGTP-PRESENCE"/> provides ambient awareness of agents within
visibility scopes as a substrate property. DISCOVER operates over
the Presence substrate to query the live population. ANS provides
human-readable name resolution, analogous to DNS for the web, with
name authorities federating across organizational boundaries. This
document also introduces Anticipatory Discovery Services (ADS) as a
forward-looking composition pattern where application-layer services
preload agent awareness based on observed operational signals.</t>
      <t>DISCOVER and ANS together provide the application-layer interfaces
for discovery and naming that compose with the substrate-level
ambient discovery defined in <xref target="AGTP-PRESENCE"/>.</t>
    </abstract>
  </front>
  <middle>
    <?line 97?>

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="the-discovery-layers">
        <name>The Discovery Layers</name>
        <t>A deployed AGTP ecosystem contains agents registered across many
organizations, governance zones, and trust tiers. An orchestrator
agent that needs to delegate a task to a capable peer faces three
distinct but related problems:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Population awareness</strong>: which agents are currently active and
visible within my scope of operations?</t>
          </li>
          <li>
            <t><strong>Capability matching</strong>: among those visible agents, which can
provide the capability I need?</t>
          </li>
          <li>
            <t><strong>Name resolution</strong>: given a human-readable name (such as
<tt>concierge.acme.com</tt>), what is its Canonical Agent-ID?</t>
          </li>
        </ol>
        <t>These three problems are distinct and benefit from
distinct mechanisms. Conflating them produces designs that are
either too narrow (a single query interface that handles all three
poorly) or too broad (a single registry that tries to be all things
to all callers). This document specifies the application-layer
interfaces for capability matching and name resolution, while
deferring to <xref target="AGTP-PRESENCE"/> for population awareness.</t>
      </section>
      <section anchor="vocabulary">
        <name>Search, Discover, Resolve</name>
        <t>Earlier revisions of this document and of <xref target="AGTP-PRESENCE"/> used
"discovery" for all three problems. This revision adopts the
distinction <xref target="RFC6763"/> draws for DNS-based service discovery and
applies it to agents, because the three operations have different
inputs, different outputs, and different trust properties:</t>
        <dl>
          <dt>Search:</dt>
          <dd>
            <t>The caller has a need and no identity. Input: capability criteria,
an intent, trust and governance constraints. Output: a ranked list
of candidate agents the caller had no prior knowledge of. Search is
what the DISCOVER method does when invoked with <tt>intent</tt> or
<tt>capability_domains</tt>. Its results are candidates to be evaluated,
never agents to be trusted on the strength of the result.</t>
          </dd>
          <dt>Discover:</dt>
          <dd>
            <t>The caller has an identity and no current location. Input: a
Canonical Agent-ID. Output: the agent's current attachment, the
signed, short-lived record of where it can be reached, and its
Identity Document (<xref target="AGTP-IDDOC"/>). The presence substrate of
<xref target="AGTP-PRESENCE"/> provides discovery ambiently, and the DISCOVER
method performs it when invoked against a known Agent-ID. Its
result is bound to the identity by signature.</t>
          </dd>
          <dt>Resolve:</dt>
          <dd>
            <t>The caller has a name and no identity. Input: a human-readable
name under a naming authority. Output: the Canonical Agent-ID the
authority has bound to it. The Agent Name Service performs
resolution. Its result is bound to the name by the authority's signature
and is only as trustworthy as the authority.</t>
          </dd>
        </dl>
        <t>The method is named DISCOVER for continuity with the registered
AGTP method vocabulary and because its registry-resolved and
presence-resolved modes are discovery in this sense; its
intent-driven mode is search, and the text says so where it
matters. An agent name and an agent address are aliases that
resolve or discover to an Agent-ID; the Agent-ID is the identity,
and nothing in this document treats a name or an address as one.</t>
      </section>
      <section anchor="the-layered-architecture">
        <name>The Layered Architecture</name>
        <t>The discovery architecture for AGTP is layered:</t>
        <ul spacing="normal">
          <li>
            <t><strong>AGTP-Presence</strong> <xref target="AGTP-PRESENCE"/> provides population awareness
as a substrate-level property. Agents joining the AGTP network
become ambiently aware of other agents within their visibility
scope without requiring queries against a central directory.</t>
          </li>
          <li>
            <t><strong>The DISCOVER method</strong> (specified in this document) provides the
search interface. DISCOVER operates over the Presence substrate,
filtering the ambient population by capability, trust posture, and
governance constraints, and returns ranked candidates.</t>
          </li>
          <li>
            <t><strong>Agent Name Service (ANS)</strong> (specified in this document) provides
governed name-to-Agent-ID resolution, analogous to DNS for the web.
ANS resolves human-readable names to Canonical Agent-IDs through
federated name authorities. Resolution is distinct from search: a
resolved name yields one identity bound by the authority's
signature, where a search yields candidates.</t>
          </li>
          <li>
            <t><strong>Anticipatory Discovery Services (ADS)</strong> (introduced as a
forward-looking composition pattern in this document) provide
application-layer services that observe agent operational signals
and preload awareness of agents the observed agent is likely to
need before explicit queries are issued.</t>
          </li>
        </ul>
        <t>Population awareness is the responsibility of <xref target="AGTP-PRESENCE"/> and
is outside this document. This document specifies the
application-layer query and naming interfaces that compose with
that substrate.</t>
      </section>
      <section anchor="why-separate-search-and-discovery-from-naming">
        <name>Why Separate Search and Discovery From Naming</name>
        <t>The internet has DNS for naming and presence systems (XMPP, Matrix)
for population awareness as separate layers, because they answer
different questions. DNS answers "what is the address for this
name?" Presence systems answer "who is here right now?" These are
different functions with different governance models,
different update cadences, and different consumer use cases.</t>
        <t>AGTP follows the same pattern. ANS is the naming layer, providing
stable name-to-identifier mappings with the governance and federation
properties that naming systems require. Presence is the population
layer, providing ambient awareness with the convergence and visibility
properties that population systems require. Conflating them, as some
agent infrastructure proposals do, produces architectures that fit
neither use case well.</t>
      </section>
      <section anchor="design-principles">
        <name>Design Principles</name>
        <t><strong>Agent-native.</strong> Search, discovery, and naming results return
Canonical Agent-IDs and Agent Identity Documents; no web page or
proprietary record appears in a result. The result of a DISCOVER query is
the same shape as the result of resolving a known agent URI.</t>
        <t><strong>Governed.</strong> ANS servers and DISCOVER endpoints are AGTP-aware
infrastructure. They enforce trust tier requirements, behavioral
trust score floors, and governance zone constraints before returning
any result. ANS servers act as Scope-Enforcement Points for naming
queries; DISCOVER endpoints act as Scope-Enforcement Points for
capability queries.</t>
        <t><strong>Ranked.</strong> DISCOVER results are ranked by behavioral trust score,
trust tier, and declared capability depth. The highest-quality
agents matching the query appear first.</t>
        <t><strong>Brokered.</strong> DISCOVER endpoints <strong>MAY</strong> negotiate authority scope
on behalf of the requesting agent, informing it of what scope is
required to interact with each discovered agent before commitment.</t>
        <t><strong>Layered.</strong> This document leaves population awareness to
<xref target="AGTP-PRESENCE"/>. The DISCOVER method and ANS compose with Presence
and replicate none of its function.</t>
      </section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "<strong>MUST</strong>", "<strong>MUST NOT</strong>", "<strong>REQUIRED</strong>", "<strong>SHALL</strong>",
"<strong>SHALL NOT</strong>", "<strong>SHOULD</strong>", "<strong>SHOULD NOT</strong>", "<strong>RECOMMENDED</strong>",
"<strong>NOT RECOMMENDED</strong>", "<strong>MAY</strong>", and "<strong>OPTIONAL</strong>" in this document
are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when,
and only when, they appear in all capitals.</t>
      <dl>
        <dt>DISCOVER:</dt>
        <dd>
          <t>An AGTP floor method that searches for agents matching a capability
description, trust requirement, and governance context, or
discovers a known Agent-ID's current attachment. Returns a ranked
list of Agent Identity Documents. See <xref target="vocabulary"/>.</t>
        </dd>
        <dt>ANS (Agent Name Service):</dt>
        <dd>
          <t>An AGTP-aware server implementing the DISCOVER method and maintaining
an index of registered agents and their capabilities. Acts as a SEP
for discovery queries.</t>
        </dd>
        <dt>Behavioral Trust Score:</dt>
        <dd>
          <t>A numeric value in the range 0.0 to 1.0 assigned to an agent at
packaging time by a governance platform's pre-packaging verification
pipeline. The score reflects the degree of observed behavioral
alignment between the agent's declared capabilities, its archetype,
and its verified conduct during behavioral testing. A score of 1.0
indicates full alignment; a score of 0.0 indicates disqualifying
behavioral discrepancy. The score is embedded in the agent's <tt>.agent</tt>
or <tt>.nomo</tt> package at issuance, covered by the package integrity hash,
and surfaced in the Agent Identity Document. It cannot be
agent-asserted or modified without invalidating the package. ANS
servers <strong>MUST</strong> use the behavioral trust score from the verified
Agent Identity Document when ranking DISCOVER results.</t>
        </dd>
        <dt>Search Query:</dt>
        <dd>
          <t>A structured expression of the requesting agent's capability need,
expressed as a natural language intent, structured capability criteria,
or both. Earlier revisions called this a discovery query.</t>
        </dd>
        <dt>Agent Identity Document:</dt>
        <dd>
          <t>As defined in <xref target="AGTP-IDDOC"/>. The signed document a Canonical
Agent-ID resolves to, carrying the agent's identity, lifecycle
state, trust posture, and capabilities; returned as a search or
discovery result. Earlier revisions used the retired name Agent
Manifest Document.</t>
        </dd>
        <dt>Attachment:</dt>
        <dd>
          <t>The signed, short-lived record of where an agent can currently be
reached, which the presence substrate of <xref target="AGTP-PRESENCE"/> resolves
an Agent-ID to. The Agent-ID is permanent identity; the attachment
is its current location and changes without the identity changing.</t>
        </dd>
        <dt>Scope Negotiation:</dt>
        <dd>
          <t>The ANS's declaration of what Authority-Scope the requesting agent
will need to interact with each discovered agent.</t>
        </dd>
      </dl>
    </section>
    <section anchor="the-discover-method">
      <name>The DISCOVER Method</name>
      <section anchor="method-definition">
        <name>Method Definition</name>
        <t>DISCOVER is a floor method of <xref target="AGTP"/> and is registered in the IANA
AGTP Method Registry. It is the protocol-level interface for agent
search and for discovery of a known agent's attachment, operating
over the AGTP-Presence substrate <xref target="AGTP-PRESENCE"/> for population
awareness and against ANS servers for governed query brokering.</t>
        <t>Purpose: Search for agents matching a capability description and
governance constraints, or discover the current attachment of a
known Agent-ID. Returns a ranked list of Agent Identity Documents
drawn from the live presence layer (per <xref target="AGTP-PRESENCE"/>) within
the requesting agent's visibility scope. The requesting agent
<strong>MUST</strong> carry <tt>discovery:query</tt> in its <tt>Authority-Scope</tt> header to
invoke DISCOVER.</t>
        <t>Category: ACQUIRE. Idempotent: Yes.</t>
      </section>
      <section anchor="operational-modes">
        <name>Operational Modes</name>
        <t>DISCOVER operates in three modes, distinguished by the endpoint it
queries:</t>
        <t><strong>Direct Presence query.</strong> The requesting agent invokes DISCOVER
against the local AGTP-Presence overlay coordinator. Results are
drawn from agents currently visible in the requesting agent's
visibility scope per the scoped overlay partitioning of
<xref target="AGTP-PRESENCE"/>. This mode requires no ANS server.</t>
        <t><strong>ANS-brokered query.</strong> The requesting agent invokes DISCOVER against
an ANS server. The ANS server combines its own indexed naming records
with current Presence overlay state to return ranked results spanning
both. ANS-brokered queries provide capability-aware ranking, scope
negotiation, and cross-zone federation.</t>
        <t><strong>Cross-scope resolution.</strong> The requesting agent invokes DISCOVER
with a capability or industry partition that resolves into a scope
the agent has yet to join. The cross-scope resolution mechanism in
<xref target="AGTP-PRESENCE"/> returns agent records from the target scope, which
DISCOVER then ranks and returns to the requester.</t>
        <t>The mode is determined by the request target. Implementations
<strong>SHOULD</strong> prefer direct Presence queries for in-scope search and
ANS-brokered queries for cross-zone or capability searches requiring
governed brokering. A DISCOVER whose criteria name a single Agent-ID
is a discovery in the sense of <xref target="vocabulary"/> in any mode; one that
carries <tt>intent</tt> or <tt>capability_domains</tt> is a search.</t>
      </section>
      <section anchor="parameters">
        <name>Parameters</name>
        <table>
          <name>DISCOVER Parameters</name>
          <thead>
            <tr>
              <th align="left">Parameter</th>
              <th align="left">Required</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">intent</td>
              <td align="left">
                <strong>SHOULD</strong></td>
              <td align="left">Natural language description of the needed capability</td>
            </tr>
            <tr>
              <td align="left">capability_domains</td>
              <td align="left">
                <strong>MAY</strong></td>
              <td align="left">Structured capability criteria matching DESCRIBE domain names</td>
            </tr>
            <tr>
              <td align="left">trust_tier_min</td>
              <td align="left">
                <strong>MAY</strong></td>
              <td align="left">Minimum Trust Tier to include in results (1, 2, or 3)</td>
            </tr>
            <tr>
              <td align="left">behavioral_trust_min</td>
              <td align="left">
                <strong>MAY</strong></td>
              <td align="left">Minimum behavioral trust score (0.0-1.0)</td>
            </tr>
            <tr>
              <td align="left">governance_zone</td>
              <td align="left">
                <strong>MAY</strong></td>
              <td align="left">Restrict results to a specific governance zone</td>
            </tr>
            <tr>
              <td align="left">org_domain</td>
              <td align="left">
                <strong>MAY</strong></td>
              <td align="left">Restrict results to agents from a specific org domain</td>
            </tr>
            <tr>
              <td align="left">available_only</td>
              <td align="left">
                <strong>MAY</strong></td>
              <td align="left">If true, exclude agents whose availability signal (<xref target="availability"/>) is unavailable: lifecycle state other than Active, or at session capacity. Default false; unavailable agents are returned and marked</td>
            </tr>
            <tr>
              <td align="left">max_cost</td>
              <td align="left">
                <strong>MAY</strong></td>
              <td align="left">Upper bound, as a decimal string in the unit named by <tt>cost_unit</tt>, on the price an agent's pricing manifest declares for the capability sought. Pricing manifests and their indexing by ANS are specified in the AGTP commerce companion; a server that indexes no pricing <strong>MUST</strong> ignore this parameter and say so in the response</td>
            </tr>
            <tr>
              <td align="left">cost_unit</td>
              <td align="left">
                <strong>MAY</strong></td>
              <td align="left">Unit for <tt>max_cost</tt>, from the AGTP Budget Unit Registry of <xref target="AGTP"/></td>
            </tr>
            <tr>
              <td align="left">limit</td>
              <td align="left">
                <strong>MAY</strong></td>
              <td align="left">Maximum number of results to return (default: 10)</td>
            </tr>
            <tr>
              <td align="left">scope_negotiate</td>
              <td align="left">
                <strong>MAY</strong></td>
              <td align="left">If true, include required Authority-Scope for each result</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="discover-request-example">
        <name>DISCOVER Request Example</name>
        <artwork><![CDATA[
AGTP/1.0 DISCOVER
Agent-ID: agtp://agtp.acme.tld/agents/orchestrator
Authority-Scope: discovery:query, agents:delegate
Request-Signature: <JWS per AGTP>
Session-ID: sess-discovery-01
Task-ID: task-disc-001
Content-Type: application/vnd.agtp+json

{
  "method": "DISCOVER",
  "task_id": "task-disc-001",
  "parameters": {
    "intent": "Audit smart contracts for security vulnerabilities",
    "capability_domains": ["methods", "tools"],
    "trust_tier_min": 1,
    "behavioral_trust_min": 0.85,
    "governance_zone": "zone:external-partner",
    "limit": 5,
    "scope_negotiate": true
  }
}
]]></artwork>
      </section>
      <section anchor="discover-request-example-domain-constrained-search">
        <name>DISCOVER Request Example: Domain-Constrained Search</name>
        <t>The following example illustrates a targeted DISCOVER query locating
agents capable of auditing Solidity smart contracts within a specific
governance zone and trust tier threshold. The requesting orchestrator
carries <tt>discovery:query</tt> and <tt>agents:delegate</tt> scope, signaling that
it intends to act on the results by delegating work.</t>
        <artwork><![CDATA[
AGTP/1.0 DISCOVER
Agent-ID: agtp://agtp.finco.tld/agents/orchestrator
Request-Signature: <JWS per AGTP>
Authority-Scope: discovery:query agents:delegate audit:*
Session-ID: sess-compliance-q2
Task-ID: task-disc-solidity-01
Content-Type: application/vnd.agtp+json

{
  "method": "DISCOVER",
  "task_id": "task-disc-solidity-01",
  "parameters": {
    "intent": "Audit Solidity smart contracts for reentrancy, overflow, and access control misconfiguration",
    "capability_domains": ["methods", "tools", "zones"],
    "trust_tier_min": 2,
    "behavioral_trust_min": 0.88,
    "governance_zone": "zone:finance",
    "limit": 3,
    "scope_negotiate": true
  }
}
]]></artwork>
        <t>The ANS server returns a ranked result set. The top result carries
Trust Tier 1 with a behavioral trust score of 0.97, exposing the
<tt>required_scope</tt> field indicating what the orchestrator must carry
before a DELEGATE to this agent will be accepted:</t>
        <sourcecode type="json"><![CDATA[
{
  "status": 200,
  "task_id": "task-disc-solidity-01",
  "result": {
    "query_id": "qry-sc-audit-3c9f",
    "total_matches": 7,
    "returned": 3,
    "results": [
      {
        "rank": 1,
        "canonical_id": "4f7e1a2b9c3d...",
        "attachment": {
          "node": "9b21...a7d4",
          "binding": "quic",
          "endpoint": "agents.auditor.tld:4480",
          "mode": "full",
          "exp": 1793300000,
          "seq": 17
        },
        "identity_document_uri": "agtp://agtp.auditor.tld/agents/solidity-auditor",
        "available": true,
        "agent_label": "solidity-auditor",
        "org_domain": "auditor.tld",
        "trust_tier": 1,
        "behavioral_trust_score": 0.97,
        "supported_methods": ["QUERY", "ANALYZE", "VALIDATE", "REPORT"],
        "capability_match_score": 0.96,
        "governance_zone": "zone:finance",
        "required_scope": "audit:read code:analyze",
        "job_description": "Static and dynamic analysis of Solidity smart
                            contracts. Detects reentrancy, overflow, and
                            access control vulnerabilities."
      }
    ],
    "ans_signature": {
      "algorithm": "ES256",
      "key_id": "ans-key-finance-01",
      "value": "[base64-encoded-signature]"
    }
  }
}
]]></sourcecode>
        <t>The requesting agent verifies the <tt>ans_signature</tt> before trusting any
result. It then issues a DESCRIBE to <tt>agtp://agtp.auditor.tld/agents/
solidity-auditor</tt> to confirm method support before committing to
DELEGATE.</t>
      </section>
      <section anchor="discover-response">
        <name>DISCOVER Response</name>
        <t>The DISCOVER response body contains a ranked list of result entries,
each carrying the agent's Canonical Agent-ID, its current attachment
per <xref target="AGTP-PRESENCE"/> so that the result is reachable without a
further resolution step, and optional scope negotiation fields:</t>
        <sourcecode type="json"><![CDATA[
{
  "status": 200,
  "task_id": "task-disc-001",
  "result": {
    "query_id": "qry-7f3a9c",
    "total_matches": 23,
    "returned": 5,
    "results": [
      {
        "rank": 1,
        "canonical_id": "3a9f2c1d8b7e4a6f...",
        "attachment": {
          "node": "7f3a...c2e1",
          "binding": "quic",
          "endpoint": "agents.auditor.tld:4480",
          "mode": "full",
          "exp": 1793300000,
          "seq": 42
        },
        "identity_document_uri": "agtp://agtp.auditor.tld/agents/contract-auditor",
        "available": true,
        "agent_label": "contract-auditor",
        "org_domain": "auditor.tld",
        "trust_tier": 1,
        "behavioral_trust_score": 0.97,
        "supported_methods": ["QUERY", "VALIDATE", "REPORT"],
        "capability_match_score": 0.94,
        "required_scope": "audit:read code:analyze",
        "job_description": "Static and dynamic analysis of Solidity smart contracts."
      }
    ],
    "ans_signature": {
      "algorithm": "ES256",
      "key_id": "ans-key-public-01",
      "value": "[base64-encoded-signature]"
    }
  }
}
]]></sourcecode>
        <t>The <tt>ans_signature</tt> covers the full result set including all manifests
and the <tt>query_id</tt>. The requesting agent <strong>MUST</strong> verify the signature
before trusting any discovery result. An unsigned or invalid DISCOVER
response <strong>MUST</strong> be rejected.</t>
      </section>
      <section anchor="ranking-algorithm">
        <name>Ranking Algorithm</name>
        <t>ANS servers <strong>MUST</strong> rank results by a composite score computed as:</t>
        <artwork><![CDATA[
rank_score = (trust_tier_weight * normalized_trust_tier)
           + (behavioral_trust_weight * behavioral_trust_score)
           + (capability_match_weight * capability_match_score)
]]></artwork>
        <t>Default weights: trust_tier_weight = 0.3, behavioral_trust_weight = 0.4,
capability_match_weight = 0.3. ANS servers <strong>MAY</strong> publish alternative
weight configurations for domain-specific deployments.</t>
        <t>The <tt>capability_match_score</tt> is computed by the ANS server as a
normalized relevance score between the query's <tt>intent</tt> and
<tt>capability_domains</tt> and the candidate agent's declared capabilities.
The computation method is implementation-defined but <strong>MUST</strong> be
deterministic for identical inputs.</t>
      </section>
    </section>
    <section anchor="ans">
      <name>Agent Name Service</name>
      <section anchor="ans-architecture">
        <name>ANS Architecture</name>
        <t>The Agent Name Service provides governed resolution of human-readable
names to Canonical Agent-IDs. ANS is the naming layer for AGTP,
analogous to DNS for the web. ANS leaves to Presence
the population awareness functionality provided by <xref target="AGTP-PRESENCE"/>;
it provides the stable name-to-identifier mapping that complements
ambient discovery in the sense of <xref target="vocabulary"/>.</t>
        <t>An ANS server is an AGTP endpoint that:</t>
        <ol spacing="normal" type="1"><li>
            <t>Maintains a registry of name-to-Agent-ID bindings for agents in
its naming authority. The registry is structured for fast lookup
on the name key, comparable to DNS zone file lookup.</t>
          </li>
          <li>
            <t>Resolves DISCOVER queries that include name-based criteria by
returning the bound Agent-ID and associated Agent Identity
Document. ANS may consult the Presence overlay for current
operational state of the resolved agent.</t>
          </li>
          <li>
            <t>Enforces Trust Tier and behavioral trust score thresholds on all
queries before returning results.</t>
          </li>
          <li>
            <t>Signs all DISCOVER responses with the ANS's governance key.</t>
          </li>
          <li>
            <t>Acts as a SEP for naming traffic: agents without <tt>discovery:query</tt>
scope <strong>MUST</strong> be rejected with 455 Scope Violation.</t>
          </li>
        </ol>
        <t>ANS servers are themselves AGTP agents: they have canonical Agent-IDs,
Agent Genesis records, and Agent Identity Documents. Their capabilities
include <tt>discovery:query</tt> and <tt>discovery:register</tt> as Authority-Scope
domains.</t>
        <t>Multiple ANS servers <strong>MAY</strong> be deployed for different naming
authorities, organizations, or trust tier populations. Cross-ANS
federation is described in <xref target="cross-ans-federation"/>.</t>
      </section>
      <section anchor="relationship-to-presence">
        <name>Relationship to Presence</name>
        <t>ANS and AGTP-Presence are complementary layers serving different
discovery use cases:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Question</th>
              <th align="left">Layer</th>
              <th align="left">Mechanism</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Who is here right now?</td>
              <td align="left">Presence</td>
              <td align="left">Ambient overlay membership</td>
            </tr>
            <tr>
              <td align="left">What is the Agent-ID for this name?</td>
              <td align="left">ANS</td>
              <td align="left">Name-to-identifier resolution</td>
            </tr>
            <tr>
              <td align="left">Which agents can do X?</td>
              <td align="left">DISCOVER over Presence</td>
              <td align="left">Capability filter over visible population</td>
            </tr>
            <tr>
              <td align="left">Which agents named X.acme.com exist?</td>
              <td align="left">DISCOVER via ANS</td>
              <td align="left">Name-anchored capability resolution</td>
            </tr>
          </tbody>
        </table>
        <t>An agent's full discovery toolkit consists of all three: ambient
awareness through Presence, governed name resolution through ANS, and
capability-driven query through DISCOVER. These compose without
duplication.</t>
        <t>ANS servers <strong>MAY</strong> consult Presence overlay state when answering
DISCOVER queries to ensure that resolved agents are currently
reachable. An ANS-resolved name pointing to an Agent-ID that is no
longer in any visible Presence overlay <strong>SHOULD</strong> be returned with
an availability indicator, allowing the requesting agent to decide
whether to attempt connection.</t>
      </section>
      <section anchor="ans-registration">
        <name>ANS Registration</name>
        <t>An agent registers with an ANS server through a governed process
tied to AGTP activation:</t>
        <ol spacing="normal" type="1"><li>
            <t>On completion of the AGTP ACTIVATE transaction, the governance
platform automatically submits the agent's Agent Identity Document
and DESCRIBE capability data to the designated ANS server(s) for
the agent's governance zone.</t>
          </li>
          <li>
            <t>The ANS server verifies the agent's lifecycle state is Active.</t>
          </li>
          <li>
            <t>The ANS server indexes the agent's capabilities, trust tier, and
behavioral trust score.</t>
          </li>
          <li>
            <t>The ANS server updates its result index within 60 seconds.</t>
          </li>
        </ol>
        <t>Manual registration is unsupported. ANS registration is a consequence
of AGTP activation, with no independent registration step. This ensures that only
Active, registered agents appear in discovery results.</t>
      </section>
      <section anchor="ans-deregistration">
        <name>ANS Deregistration</name>
        <t>When an agent's lifecycle state transitions to Suspended, Revoked, or
Deprecated, the governance platform <strong>MUST</strong> notify the relevant ANS
servers within 60 seconds. The ANS server <strong>MUST</strong> remove the agent
from its result index before the next DISCOVER request is processed.</t>
        <t>ANS servers <strong>MUST</strong> treat deregistration as urgent: a Revoked agent
that continues to appear in discovery results is a governance failure.
ANS servers <strong>MUST</strong> log deregistration events.</t>
      </section>
      <section anchor="index-freshness">
        <name>Index Freshness</name>
        <t>ANS servers <strong>MUST</strong> refresh capability data for indexed agents at
a configurable interval (recommended: 24 hours). Refresh is triggered
by issuing DESCRIBE requests to each indexed agent's canonical URI.
If an agent fails to respond to a DESCRIBE request after three
consecutive attempts, the ANS server <strong>MUST</strong> remove it from the
index and notify the governance platform.</t>
      </section>
    </section>
    <section anchor="cross-ans-federation">
      <name>Cross-ANS Federation</name>
      <section anchor="the-federation-problem">
        <name>The Federation Problem</name>
        <t>An agent in one naming authority may need to resolve names registered
in a different authority. Organization-scoped ANS servers lack
visibility into other organizations' naming records.</t>
        <t>Naming federation in ANS follows the DNS root and
TLD hierarchy. Cross-organizational name resolution proceeds through
established federation patterns at the naming authority layer.
Population federation across organizations is handled separately by
the cross-scope resolution mechanism in <xref target="AGTP-PRESENCE"/>.</t>
      </section>
      <section anchor="federation-protocol">
        <name>Federation Protocol</name>
        <t>AGTP supports a federated discovery model in which ANS servers can
query peer ANS servers on behalf of requesting agents. A federated
DISCOVER query:</t>
        <ol spacing="normal" type="1"><li>
            <t>The requesting agent sends a DISCOVER request to its local ANS server.</t>
          </li>
          <li>
            <t>If the local ANS server's index holds insufficient results
(fewer than <tt>limit</tt> results above the requested thresholds), it
MAY forward the query to federated peer ANS servers it trusts.</t>
          </li>
          <li>
            <t>Federated queries <strong>MUST</strong> carry the original requesting agent's
Agent-ID and scope requirements. The forwarding ANS server <strong>MUST
NOT</strong> expand the scope or lower the trust requirements in the
forwarded query.</t>
          </li>
          <li>
            <t>Peer ANS servers apply their own governance policies to the
forwarded query and return signed result sets.</t>
          </li>
          <li>
            <t>The local ANS server merges, re-ranks, and re-signs the combined
result set before returning it to the requesting agent.</t>
          </li>
          <li>
            <t>The merged result includes a <tt>federation_path</tt> field listing the
ANS servers that contributed results.</t>
          </li>
        </ol>
      </section>
      <section anchor="trust-in-federation">
        <name>Trust in Federation</name>
        <t>Federated ANS results <strong>MUST</strong> be treated with the same trust level
as the federated ANS server's own Trust Tier claim. An ANS server
<strong>MUST</strong> declare the trust tier of its indexed agents accurately;
misrepresenting agent trust tiers in federated results is a
governance violation.</t>
      </section>
    </section>
    <section anchor="dynamic-routing-and-failover">
      <name>Dynamic Routing and Failover</name>
      <section anchor="capability-based-routing">
        <name>Capability-Based Routing</name>
        <t>ANS servers <strong>MAY</strong> support dynamic routing: when a requesting agent's
preferred target agent is unavailable (lifecycle state Suspended, absent from
responding, or rate-limited), the ANS server <strong>MAY</strong> return an
equivalent agent from its index as a routing alternative.</t>
        <t>Dynamic routing responses <strong>MUST</strong> indicate:
- <tt>routing_reason</tt>: the reason the primary agent was withheld
- <tt>equivalent_confidence</tt>: a score (0.0-1.0) indicating how closely
  the alternative matches the primary agent's capabilities</t>
        <t>The requesting agent retains the right to reject the alternative.</t>
      </section>
      <section anchor="availability">
        <name>Agent Availability Signals</name>
        <t>ANS servers <strong>SHOULD</strong> monitor indexed agents' availability by
periodically checking the <tt>/status</tt> sub-resource defined in
<xref target="AGTP-IDDOC"/>. Agents with <tt>lifecycle_state: Suspended</tt> or
<tt>active_session_count</tt> at capacity <strong>SHOULD</strong> be marked as unavailable
in routing responses.</t>
      </section>
    </section>
    <section anchor="anticipatory-discovery">
      <name>Anticipatory Discovery Services</name>
      <t>This section introduces Anticipatory Discovery Services (ADS) as a
forward-looking composition pattern. ADS is an architectural concept
specified here in outline form; a full specification is deferred to
a future document.</t>
      <section anchor="the-anticipatory-pattern">
        <name>The Anticipatory Pattern</name>
        <t>Baseline discovery in AGTP combines ambient awareness within
Presence overlays, governed name resolution through ANS, and
capability-driven query through DISCOVER. An agent's effective
awareness is bounded by the scopes it has joined and the queries it
explicitly issues.</t>
        <t>Anticipatory Discovery Services expand this awareness proactively.
An ADS observes an agent's operational signals (methods invoked,
capabilities accessed, recent peers, principal context, time-of-day
patterns) and predicts which categories of agents the observed agent
is likely to need next. ADS then preloads awareness of relevant
agents through proactive Presence overlay joining or rendezvous
lookups, before the observed agent has issued an explicit DISCOVER
query.</t>
        <t>The pattern is analogous to anticipatory service in hospitality:
recognizing that a guest walking toward the pool will need towels
and providing them before the request is articulated. The signal
precedes the explicit ask; the response is preloaded based on the
observed pattern.</t>
      </section>
      <section anchor="architectural-position">
        <name>Architectural Position</name>
        <t>ADS is an application-layer service, above the substrate.
It composes with the layers specified elsewhere in the AGTP draft
family:</t>
        <ul spacing="normal">
          <li>
            <t><strong>AGTP base</strong> provides the wire-level identity and methods</t>
          </li>
          <li>
            <t><strong><xref target="AGTP-TRUST"/></strong> provides trust posture for filtering predictions</t>
          </li>
          <li>
            <t><strong><xref target="AGTP-PRESENCE"/></strong> provides the population substrate that ADS
expands awareness within</t>
          </li>
          <li>
            <t><strong>This document</strong> provides the DISCOVER and ANS mechanisms that
ADS proactively invokes on behalf of observed agents</t>
          </li>
        </ul>
        <t>ADS operates as a service that agents subscribe to or organizations
host. It uses AGTP primitives (DISCOVER queries, ANS resolutions,
Presence overlay joining, attribution records) but is outside
the substrate itself.</t>
      </section>
      <section anchor="composable-ads-providers">
        <name>Composable ADS Providers</name>
        <t>This document explicitly accommodates multiple deployment models for
ADS:</t>
        <t><strong>Self-hosted ADS.</strong> Organizations operate their own ADS for their
agents. The model is trained on the organization's own data.
Operational signals never leave the org. Anticipatory benefit is
bounded by the org's own scale and pattern diversity.</t>
        <t><strong>Trust-tier-scoped ADS.</strong> ADS services operate per trust tier,
observing patterns within a tier and serving anticipatory predictions
to participating agents. Cross-organizational learning improves
predictions; privacy is managed through aggregated or differentially
private signal exchange.</t>
        <t><strong>Specialized provider ADS.</strong> Just as trust providers can specialize
(as described in <xref target="AGTP-TRUST"/>), ADS providers may specialize by
capability domain, industry vertical, or trust tier. A finance ADS
for trading agents, a consumer-services ADS for retail agents, a
healthcare ADS for clinical agents. Agents subscribe to one or more
ADS providers appropriate to their domain.</t>
        <t><strong>Capability-derived ADS.</strong> ADS scoped per capability dimension
(per the partition model in <xref target="AGTP-PRESENCE"/>). Capability-specific
prediction models operate within each capability scope, with
cross-scope coordination through standard federation patterns.</t>
      </section>
      <section anchor="trust-and-privacy-considerations">
        <name>Trust and Privacy Considerations</name>
        <t>ADS observes operational patterns that may include sensitive
information about agent activity, principals served, capabilities
accessed, and interaction patterns. Several mitigations are
acknowledged in this outline; full specification is deferred:</t>
        <ul spacing="normal">
          <li>
            <t>ADS subscription <strong>MUST</strong> be opt-in. Agents that never subscribe
to any ADS provider operate with baseline Presence and on-demand
ANS/DISCOVER without anticipatory preloading.</t>
          </li>
          <li>
            <t>ADS providers <strong>MUST</strong> scope their predictions within the
visibility constraints of the observed agent. ADS expands
discovery within existing access; it grants no access the
agent would otherwise lack.</t>
          </li>
          <li>
            <t>Local-only ADS deployments preserve privacy by keeping
operational signals within the organizational boundary.</t>
          </li>
          <li>
            <t>ADS providers that aggregate signals across organizations
<strong>SHOULD</strong> apply differential privacy or aggregate-only
observation patterns.</t>
          </li>
        </ul>
      </section>
      <section anchor="forward-looking-composition">
        <name>Forward-Looking Composition</name>
        <t>ADS is positioned in this document as an architectural concept worth
specifying. The agent population is growing; the operational
sophistication of agent discovery is going to grow with it. ADS
represents a natural composition pattern where application-layer
services consume AGTP primitives to provide value beyond what the
substrate or the basic query interfaces deliver on their own.</t>
        <t>Future revisions or companion documents will specify:</t>
        <ul spacing="normal">
          <li>
            <t>The signal vocabulary that ADS providers ingest</t>
          </li>
          <li>
            <t>The prediction interface between ADS and observed agents</t>
          </li>
          <li>
            <t>The preloading protocol for proactive Presence overlay joining</t>
          </li>
          <li>
            <t>Privacy semantics for cross-organizational signal aggregation</t>
          </li>
          <li>
            <t>Feedback mechanisms for prediction quality assessment</t>
          </li>
        </ul>
        <t>This document establishes the architectural slot for ADS within the
AGTP discovery layer, naming the pattern and positioning it as a
composable application-layer service alongside the credit-rating
trust providers described in <xref target="AGTP-TRUST"/>.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="discovery-result-injection">
        <name>Discovery Result Injection</name>
        <t>Threat: A malicious ANS server returns forged Agent Identity Documents
pointing to attacker-controlled agents.</t>
        <t>Mitigation: All DISCOVER responses <strong>MUST</strong> be signed by the ANS
server's governance key. The requesting agent <strong>MUST</strong> verify the
<tt>ans_signature</tt> field before trusting any result. The ANS server's
governance key <strong>MUST</strong> be resolvable via the ANS server's own Agent
Identity Document, creating a verifiable trust chain.</t>
      </section>
      <section anchor="discovery-enumeration">
        <name>Discovery Enumeration</name>
        <t>Threat: A malicious agent uses repeated DISCOVER queries to enumerate
all agents in a governance zone, gaining knowledge of the organization's
agent architecture.</t>
        <t>Mitigation: ANS servers <strong>MUST</strong> enforce rate limiting per requesting
Agent-ID. ANS servers <strong>MAY</strong> require <tt>discovery:query</tt> scope to include
agents from restricted governance zones. ANS servers <strong>SHOULD</strong> log
high-frequency DISCOVER queries as anomaly signals.</t>
      </section>
      <section anchor="behavioral-trust-score-manipulation">
        <name>Behavioral Trust Score Manipulation</name>
        <t>Threat: An agent artificially inflates its behavioral trust score to
appear higher in discovery results.</t>
        <t>Mitigation: Behavioral trust scores are computed by the governance
platform's pre-packaging verification pipeline and embedded in the
agent's <tt>.agent</tt> or <tt>.nomo</tt> package at issuance time. The score is
part of the signed manifest and cannot be modified without invalidating
the package integrity hash. ANS servers <strong>MUST</strong> use the trust score
from the verified Agent Identity Document; agent-asserted fields are
ignored.</t>
      </section>
      <section anchor="scope-negotiation-abuse">
        <name>Scope Negotiation Abuse</name>
        <t>Threat: An ANS server inflates the <tt>required_scope</tt> field in discovery
results, causing requesting agents to request broader scope than
necessary.</t>
        <t>Mitigation: Requesting agents <strong>MUST NOT</strong> blindly request the scope
declared in discovery results. The <tt>required_scope</tt> field is informational;
agents <strong>MUST</strong> evaluate the scope against their own authorization and
request only what is needed for the specific task. Governance platforms
<strong>SHOULD</strong> flag scope requests that significantly exceed the scope of
prior tasks in the same session.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="discover-method-registration">
        <name>DISCOVER Method Registration</name>
        <t>This document requests registration of the DISCOVER method in the
IANA AGTP Method Registry established by <xref target="AGTP"/>:</t>
        <table>
          <name>DISCOVER Method Registry Entry</name>
          <thead>
            <tr>
              <th align="left">Method</th>
              <th align="left">Status</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">DISCOVER</td>
              <td align="left">Permanent</td>
              <td align="left">
                <xref target="AGTP"/>; search and discovery semantics in this document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="new-authority-scope-domains">
        <name>New Authority-Scope Domains</name>
        <t>This document uses the following Authority-Scope domains defined in
<xref target="AGTP"/> Appendix A:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Domain</th>
              <th align="left">Used For</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">discovery:query</td>
              <td align="left">Sending DISCOVER requests to ANS servers</td>
            </tr>
            <tr>
              <td align="left">discovery:register</td>
              <td align="left">ANS registration operations (governance platform only)</td>
            </tr>
          </tbody>
        </table>
        <t>No new domains are requested; these are from the existing reserved set.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="DAWN-INFRA">
          <front>
            <title>Infrastructure-Assisted Discovery of AI Agents</title>
            <author fullname="Linda Dunbar">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dunbar-dawn-infra-assisted-discovery"/>
        </reference>
        <reference anchor="AGTP-PRESENCE">
          <front>
            <title>AGTP Presence: Ambient Discovery and Visibility for Agents</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-presence-01"/>
        </reference>
        <reference anchor="RFC6763">
          <front>
            <title>DNS-Based Service Discovery</title>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>This document specifies how DNS resource records are named and structured to facilitate service discovery. Given a type of service that a client is looking for, and a domain in which the client is looking for that service, this mechanism allows clients to discover a list of named instances of that desired service, using standard DNS queries. This mechanism is referred to as DNS-based Service Discovery, or DNS-SD.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6763"/>
          <seriesInfo name="DOI" value="10.17487/RFC6763"/>
        </reference>
        <reference anchor="AGTP-IDDOC">
          <front>
            <title>AGTP Agent Identity Document</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-identity-document-00"/>
        </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>
      </references>
    </references>
    <?line 913?>

<section anchor="ans-deployment-considerations">
      <name>ANS Deployment Considerations</name>
      <t>Small organizations may run no dedicated ANS servers. The AGTP
governance platform <strong>MAY</strong> provide built-in ANS functionality as part
of the agent registry. In this case, the governance platform's registry
endpoint serves both registration (ACTIVATE) and discovery (DISCOVER)
queries.</t>
      <t>Large organizations with hundreds or thousands of agents <strong>SHOULD</strong>
deploy dedicated ANS infrastructure with appropriate indexing and caching.
The ANS index is a read-heavy workload; standard caching and replication
patterns apply.</t>
      <t>Cross-organization federation requires bilateral trust establishment
between ANS operators. The protocol for establishing ANS federation
trust is out of scope for this document but follows the same patterns
as AGTP Trust Tier 1 verification: DNS ownership challenge and mutual
certificate exchange.</t>
    </section>
    <section anchor="dawn-mapping">
      <name>Mapping to DAWN Discovery Records</name>
      <t>The IETF DAWN working group scopes discovery of agents within a local
network, an organization, or a set of cooperating parties, over DNS
and mDNS, and leaves identity, capability catalogs, Internet-wide
search, and trust evaluation out of scope. The DISCOVER method's
search mode and the ANS federation of this document are outside that
scope; the discovery of a known agent's attachment within an
organization is inside it. This appendix states the mapping for that
case, so that an AGTP agent can be found by a DAWN-conformant
resolver and a DAWN-published agent can be reached over AGTP.</t>
      <t>The DAWN work describes an agent with a record borrowed from the A2A
Agent Card in its initial revision: a self-asserted JSON document
served at a well-known HTTPS path and trusted through its domain.
The mapping from an AGTP Agent Identity Document to that record is
lossy in one direction and incomplete in the other:</t>
      <table>
        <name>Identity Document to DAWN Record</name>
        <thead>
          <tr>
            <th align="left">Agent Identity Document</th>
            <th align="left">DAWN record</th>
            <th align="left">Carried</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <tt>agent_id</tt></td>
            <td align="left">name or URL of the record</td>
            <td align="left">as an opaque identifier in the record's name; the Agent-ID is the identity, the record's URL is an alias</td>
          </tr>
          <tr>
            <td align="left">
              <tt>name</tt>, <tt>description</tt>, <tt>capabilities</tt></td>
            <td align="left">the record's descriptive fields</td>
            <td align="left">yes</td>
          </tr>
          <tr>
            <td align="left">
              <tt>methods</tt>, <tt>scopes_accepted</tt></td>
            <td align="left">the record's capability or skill list</td>
            <td align="left">as strings; the AGTP semantics are lost</td>
          </tr>
          <tr>
            <td align="left">
              <tt>status</tt> (lifecycle state)</td>
            <td align="left">none</td>
            <td align="left">lost; a DAWN record cannot say an agent is suspended</td>
          </tr>
          <tr>
            <td align="left">issuer signature, <tt>agent_public_key</tt></td>
            <td align="left">none</td>
            <td align="left">lost; a DAWN record is self-asserted</td>
          </tr>
          <tr>
            <td align="left">attachment (current location)</td>
            <td align="left">the record's endpoint URL</td>
            <td align="left">yes, as a bare URL; the signature is lost</td>
          </tr>
        </tbody>
      </table>
      <t>An AGTP agent that publishes a DAWN record <strong>MUST</strong> place its
Canonical Agent-ID in the record so that a DAWN resolver's result can
be discovered (in the sense of <xref target="vocabulary"/>) through AGTP to the
signed Identity Document. A DAWN record with no Agent-ID maps to an
Identity Document at Level 1 of <xref target="AGTP"/> only, with no issuer, and
AGTP treats it as a search result, short of a discovered identity.
The reverse mapping, from a DAWN record to an Identity Document,
therefore falls short of registration and cannot replace it.</t>
      <section anchor="infra-assisted">
        <name>Infrastructure-Assisted Discovery</name>
        <t><xref target="DAWN-INFRA"/> describes managed enterprise, edge, and network
deployments in which discovery is fed by two infrastructure inputs:
a Resource Publication Hook, through which an orchestration or
hosting system supplies the discovery mechanism with the agent
instances currently deployed and their endpoints, and an Attachment
Context Hook, through which the network supplies an abstract
representation of the requester's current attachment (site, VPN,
tenant, slice, edge region). The motivating failure is a discovery
system that keeps returning an instance that has been withdrawn or
is unreachable from where the requester now is. AGTP meets the same
need with one publish event and one verified identity in place of
two feeds, and the mapping is stated here for readers coming from
that work.</t>
        <t>The Resource Publication Hook is ACTIVATE. A successful ACTIVATE is
the publish event of <xref target="AGTP"/>: it triggers registration with the ANS
of the agent's zone (<xref target="ans"/>) and the first ANNOUNCE into the
presence substrate (<xref target="AGTP-PRESENCE"/>), and DEACTIVATE, REVOKE, and
DEPRECATE are the withdrawal events. The dynamic half of what the
hook would carry, the current endpoint, is the attachment record of
<xref target="AGTP-PRESENCE"/>: signed by the agent, sequenced, and short-lived,
so that a withdrawn or moved instance expires out of discovery on its
own and a stale attachment yields nothing an attacker can use. An
orchestrator that instantiates, moves, scales, or withdraws instances
does so through the lifecycle methods, and discovery follows without
a side channel.</t>
        <t>The Attachment Context Hook divides into two inputs that AGTP already
binds to the requester. Administrative context (tenant, VPN,
organization, governance zone) is a property of the requester's
verified identity: the <tt>governance_zone</tt> and <tt>org_domain</tt> of the
Identity Document the requester's <tt>Agent-ID</tt> resolves to, under the
issuer's signature. That is why the DISCOVER governance-zone rule of
<xref target="AGTP"/> needs no network hook: the server reads the requester's
zone from the document it has already verified. Location context
(which site or edge region the requester is attached to) is the
requester's own presence: the overlays it has joined and the
attachment record it has itself announced per <xref target="AGTP-PRESENCE"/>,
whose <tt>region</tt> partition dimension carries exactly the site and edge
granularity the use case needs. In both cases the context arrives
signed and bound to the requester, with no middlebox inferring it,
which is the integrity, origin, and freshness protection
<xref target="DAWN-INFRA"/> asks for in its security considerations, and the
underlying network detail (UPF, DNN, slice, serving gateway) stays
with the network, since the abstract context is all the requester's
identity and attachment expose.</t>
        <t>The use case's own boundary, that discovery returns the applicable
entities and leaves selection to the requester, is the search line
of <xref target="vocabulary"/>: DISCOVER returns ranked candidates, each with its
current attachment, and the requester chooses.</t>
        <t>On the word itself: <xref target="DAWN-INFRA"/> uses "attachment" for the
requester's network attachment, this family uses it for the
discovered agent's. They are the same network term, where a node
attaches, applied to the two parties of a discovery. Both parties
have an attachment; AGTP publishes the target's as the attachment
record and uses the requester's as search context.</t>
      </section>
    </section>
    <section anchor="changes-from-v01">
      <name>Changes from v01</name>
      <t>Version 02 is a vocabulary and alignment revision. The DISCOVER
method, the ANS protocol, federation, and the ADS pattern are
unchanged on the wire.</t>
      <ul spacing="normal">
        <li>
          <t><strong>Search, discover, resolve</strong> (<xref target="vocabulary"/>). The three
operations the document already separated are now
named distinctly, following <xref target="RFC6763"/>: search (criteria to
candidates), discover (identity to attachment), resolve (name to
identity). Applied through the introduction, design principles,
terminology, and method definition. The DISCOVER method keeps its
name; its intent-driven mode is called search where it matters.</t>
        </li>
        <li>
          <t><strong>Agent Identity Document</strong> replaces the retired name Agent
Manifest Document throughout; <strong>Agent Genesis</strong> replaces Birth
Certificate. Attachment is defined as the signed current location
an Agent-ID resolves to.</t>
        </li>
        <li>
          <t><strong>Owner-ID</strong> is no longer shown as a request header in the
examples, matching <xref target="AGTP"/>; <tt>Request-Signature</tt> is shown instead.</t>
        </li>
        <li>
          <t><strong>Results carry the attachment.</strong> Each DISCOVER result now carries
the agent's current attachment record per <xref target="AGTP-PRESENCE"/> in
place of the host-anchored <tt>manifest_uri</tt>, so a search result is
reachable without a further resolution step; the Identity Document
location is <tt>identity_document_uri</tt>.</t>
        </li>
        <li>
          <t><strong><tt>available_only</tt>, <tt>max_cost</tt>, <tt>cost_unit</tt></strong> added to the DISCOVER
parameters, binding the availability signals and the commerce
pricing manifests to search.</t>
        </li>
        <li>
          <t><strong>DAWN mapping</strong> (<xref target="dawn-mapping"/>): the Identity Document to DAWN
record mapping for the in-scope organizational case, stated as
lossy, with the Agent-ID as the join; and the mapping of the
infrastructure-assisted discovery hooks of
draft-dunbar-dawn-infra-assisted-discovery onto ACTIVATE as the
publish event and the requester's verified identity and own
attachment (<xref target="infra-assisted"/>).</t>
        </li>
        <li>
          <t>References: base to draft-hood-independent-agtp-10, AGTP-CERT to
-03, AGTP-PRESENCE to -01, AGTP-IDDOC and RFC 6763 added.
Hardcoded section numbers replaced. Five unused references
dropped. House style pass.</t>
        </li>
      </ul>
    </section>
    <section anchor="changes-from-v00">
      <name>Changes from v00</name>
      <t>Version 01 restructures this document around the layered discovery
architecture that emerged from the publication of <xref target="AGTP-PRESENCE"/>.
The DISCOVER method definition and the substantive ANS specification
content are preserved; the architectural framing and section
organization are revised to reflect the layered model.</t>
      <section anchor="substantive-changes">
        <name>Substantive Changes</name>
        <t>The following substantive changes were made in v01:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Layered architecture framing.</strong> The introduction now establishes
the three distinct discovery problems (population awareness,
capability matching, name resolution) and assigns each to its
appropriate layer (<xref target="AGTP-PRESENCE"/>, the DISCOVER method, and
ANS respectively). The document no longer presents ANS as the
primary discovery mechanism; ANS is now positioned as the naming
layer that composes with Presence.</t>
          </li>
          <li>
            <t><strong>DISCOVER over Presence substrate.</strong> The DISCOVER method is now
specified to operate over the AGTP-Presence substrate as its
primary mode, with ANS-brokered queries and cross-scope resolution
as additional operational modes. The method's wire format is
unchanged.</t>
          </li>
          <li>
            <t><strong>ANS reframed as name resolution.</strong> The Agent Name Service section
now positions ANS as a governed name-to-Agent-ID resolution layer
analogous to DNS, complementing the
population awareness provided by AGTP-Presence. A new "Relationship
to Presence" subsection makes the layered composition explicit.</t>
          </li>
          <li>
            <t><strong>Anticipatory Discovery Services introduced.</strong> A new section
(<xref target="anticipatory-discovery"/>) introduces ADS as a forward-looking
composition pattern where application-layer services preload agent
awareness based on observed operational signals. The architectural
concept is named and positioned; full specification is deferred to
future work.</t>
          </li>
          <li>
            <t><strong>Informative references added.</strong> AGTP-PRESENCE and AGTP-TRUST are
added to the informative references. Cross-references throughout
the document point to the appropriate layer for population
awareness, trust posture consumption, and credit-rating-analogous
trust provider composition.</t>
          </li>
        </ol>
      </section>
      <section anchor="wire-format-compatibility">
        <name>Wire Format Compatibility</name>
        <t>The DISCOVER method wire format is unchanged. Implementations
conforming to v00 of this document continue to interoperate with v01.
The architectural reframing affects how the document describes the
relationships between layers; the protocol behavior that v00
implementations have shipped is the same.</t>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81963fbRpbnd/wVOMqHSB6S8StJh97eXkWSO5pxZLekJNM7
mWNBBCihDQIMAEpm296/fe/vPqoKD9rO9vTZyZlpiyRQj1v3/arpdBq1eVtk
83jv8M+Xr+LDm6xs4+O8WVR3Wb2NkzKNz5JVFl9k9V2+yPai5Pq6zu70+enx
6cXRy59PzveitFqU9OA8Tutk2U5vqyqdJjftepraYNOHj6NF0mY3Vb2dx3m5
rKJmc73Kmyavyna7zvBlmq0z+p+yjfJ1PY/betO0jx8+/I7eTeoswbzrdZHT
OPRSw+s7z5JiepmvaHH3Vf3mpq42a3ru1I8VX7h59qI32ZYeS+dRHE/jw9M4
wZYb/sR/xm7BwXfYWtwIDOTFswv5F1Dzb0RNS0t6nRRVSdvZZk20zjFTWy3k
Yxw3Vd3W2bJxn7erzse2zhetfVpUq3ViH6Nk095Wtax8uSkKAfjRbZ038Q8E
cPohjqv6JinzvzOA5vFZtarafDGJT8vFjH/PVklezOMF3vpfpfw8S3L+bVPn
8/i2bdfN/Kuvgt+isqpXNOJdhsnPnx89fvToO/3zD4++fYo/AYk5j+IwikF3
WSdls8zq+FVdERiqIt7Howd7/KzfEv7buSkCfZ41wBl79LRss7rM2ukx8K2D
dgEWCQo+esgvpYR88/jxw8ffRBGGCrZ0fPjL2fT07Pn5YXcLp+WyTuhINot2
U2fTQ8Khps3SgEKqJZCIt9p8fEsvaF1JfLwpr5P6d20q5VemaXJf0t5oQdNE
1zENcbWzQTmP6avzk4uTs6OT3sEAaV/VWZOVC/p8uLrOh2T/c97k13mRt9uY
QPVZO/xHDo0Paq1rmj58NNwQ4do3337zxHBtenp8/PJoZGOCdqc4fiz+uFps
VvT3P3npuc43TXW+6cMB1unCL89/urgcWfglmJ3AnqZfKpOLL9bZwn36J++C
+e304ZMBvUynxAqviRKIG0XR5W0Wf5y646xMrousUfZKDBC8bLUpsY8sruiQ
o/Y228Zvyuo+zpLFbVzR5/rLJl4kZYXHilhgusyzupnFl7e0NQNu3AhQiCu2
91VcJNusJrJcZYtbYn7Nqomvt/H9bU7D6gKWRH3BPAxmeya63aySckryJcWi
mds3MeFiVdxlWPqRWxLvmlCP+DUNE5v8i1YZnUg60Tl/2zDkmXB0fuI1i9u8
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
s+j/AiIbjDAZuwAA

-->

</rfc>
