<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-hood-agtp-discovery-01" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="AGTP-DISCOVER">AGTP Agent Discovery and Name Service</title>
    <seriesInfo name="Internet-Draft" value="draft-hood-agtp-discovery-01"/>
    <author fullname="Chris Hood">
      <organization>Nomotic, Inc.</organization>
      <address>
        <email>chris@nomotic.ai</email>
        <uri>https://nomotic.ai</uri>
      </address>
    </author>
    <date year="2026" month="June" day="28"/>
    <area>Applications and Real-Time</area>
    <workgroup>Independent Submission</workgroup>
    <keyword>AI agents</keyword>
    <keyword>agent discovery</keyword>
    <keyword>agent name service</keyword>
    <keyword>ANS</keyword>
    <keyword>AGTP discovery</keyword>
    <abstract>
      <?line 69?>

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

<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 architecturally 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="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
capability-matching query interface. DISCOVER operates over the
Presence substrate, filtering the ambient population by capability,
trust posture, and governance constraints.</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.</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>This document does not define population awareness; that is the
responsibility of <xref target="AGTP-PRESENCE"/>. This document specifies the
application-layer query and naming interfaces that compose with
that substrate.</t>
      </section>
      <section anchor="why-separate-discovery-from-naming">
        <name>Why Separate 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
genuinely 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> Discovery and naming results return Canonical
Agent-IDs and Agent Manifest Documents, not web pages or proprietary
records. The result of a DISCOVER query is structurally identical to
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 does not duplicate the population
awareness functionality specified in <xref target="AGTP-PRESENCE"/>. The DISCOVER
method and ANS compose with Presence rather than replicating 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 Tier 1 method that queries an ANS server for agents matching
a capability description, trust requirement, and governance context.
Returns a ranked list of Agent Manifest Documents.</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 Manifest 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 Manifest Document when ranking DISCOVER results.</t>
        </dd>
        <dt>Discovery 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.</t>
        </dd>
        <dt>Agent Manifest Document:</dt>
        <dd>
          <t>As defined in <xref target="AGTP"/> Section 6.4. The canonical representation of an
agent's identity and capabilities, returned as a discovery result.</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 Tier 1 core AGTP method defined in this document and
registered in the IANA AGTP Method Registry. It is the protocol-level
interface for capability-based agent queries, operating over the
AGTP-Presence substrate <xref target="AGTP-PRESENCE"/> for population awareness
and against ANS servers for governed query brokering.</t>
        <t>Purpose: Query for agents matching a capability description and
governance constraints. Returns a ranked list of Agent Manifest
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 <xref target="AGTP-PRESENCE"/> Section 4 (Scoped Overlay
Partitioning). This mode does not require an 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 not joined. 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 discovery and
ANS-brokered queries for cross-zone or capability-discovery queries
requiring governed brokering.</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">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
Owner-ID: usr-chris-hood
Authority-Scope: discovery:query agents:delegate
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-agent-search">
        <name>DISCOVER Request Example: Domain-Constrained Agent 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
Owner-ID: usr-compliance-team
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,
        "manifest_uri": "agtp://agtp.auditor.tld/agents/solidity-auditor",
        "canonical_id": "4f7e1a2b9c3d...",
        "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 Agent Manifest
Documents with 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,
        "manifest_uri": "agtp://agtp.auditor.tld/agents/contract-auditor",
        "canonical_id": "3a9f2c1d8b7e4a6f...",
        "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="agent-name-service">
      <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,
architecturally analogous to DNS for the web. ANS does not duplicate
the population awareness functionality provided by <xref target="AGTP-PRESENCE"/>;
it provides the stable name-to-identifier mapping that complements
ambient discovery.</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 Manifest
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,
Birth Certificates, and Agent Manifest 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 Manifest 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 not supported. ANS registration is a consequence
of AGTP activation, not an independent 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 do not have
visibility into other organizations' naming records.</t>
        <t>Naming federation in ANS is architecturally analogous to 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 does not contain sufficient 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, not
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 not returned
- <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="agent-availability-signals">
        <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"/>
Section 6.5.4. 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, not a substrate-level mechanism.
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 not part of
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 do not 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 does not grant access the
agent would not otherwise have.</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 Manifest 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
Manifest 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 Manifest Document, not from any agent-asserted
field.</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"/> Section 9.2:</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">This document, Section 3.1</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="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <author fullname="D. McCarney" initials="D." surname="McCarney"/>
            <author fullname="J. Kasten" initials="J." surname="Kasten"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="AGTP">
          <front>
            <title>Agent Transfer Protocol (AGTP)</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-independent-agtp-09"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC1034">
          <front>
            <title>Domain names - concepts and facilities</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised basic definition of The Domain Name System. It obsoletes RFC-882. This memo describes the domain style names and their used for host address look up and electronic mail forwarding. It discusses the clients and servers in the domain name system and the protocol used between them.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1034"/>
          <seriesInfo name="DOI" value="10.17487/RFC1034"/>
        </reference>
        <reference anchor="RFC7519">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <reference anchor="AGTP-CERT">
          <front>
            <title>AGTP Agent Certificate Extension</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-agent-cert-00"/>
        </reference>
        <reference anchor="AGTP-PRESENCE">
          <front>
            <title>AGTP Presence: Ambient Discovery and Visibility for Agent Substrates</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-presence-00"/>
        </reference>
        <reference anchor="AGTP-TRUST">
          <front>
            <title>AGTP Trust and Verification Specification</title>
            <author fullname="Chris Hood">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hood-agtp-trust-02"/>
        </reference>
      </references>
    </references>
    <?line 832?>

<section anchor="ans-deployment-considerations">
      <name>ANS Deployment Considerations</name>
      <t>Small organizations may not operate 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="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 rather than duplicating 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; it does not change the protocol behavior
that v00 implementations have shipped.</t>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA819+XfbRprg7/VX1FN+iOQhaflMh379ehVJ7tY8H2pJSXfv
ZJ4FAkUSEQgwKFAyY3v+9vmuOnBQVnY3u5s30xZJoFD13TfG47Fq8qYwU713
9Nerc320MGWjT3KbVrem3uqkzPS7ZGX0palv89TsqWQ2q82tXD8+Obs8fv/T
6cWeyqq0hAunOquTeTNeVlU2ThbNepy5xcaHT1SaNGZR1dupzst5pexmtsqt
zauy2a4NfpmZtYH/KRuVr+upbuqNbZ4eHn5/+FQltUnwuet1kcM6cJOl/V2Y
pBhf5SvY3F1V3yzqarOG687CWvrSP2dP3ZgtXJZNldZjfXSmEzyypU/0p/Yb
jr7Do2nLMOAb313yvwi1cIeyDWzpQ1JUJRxna6xa5/ikpkr5o9a2qpvazK3/
vF21PjZ1njbuU1qt1on7qJJNs6xq3vl8UxQM8ONlnVv9NwA4/KB1VS+SMv+N
ADTV76pV1eTpSJ+V6YR+N6skL6Y6xbv+R8k/T5KcftvU+VQvm2Ztp48fR7+p
sqpXsOKtwYdfvD5++uTJ9/Lnn55899z/+fSl+/PFixf4J8JnSmt7OiOAXtVJ
aeem1ud1BcCpCr2Plx7s0bXhoPjfzqMCQnJjkZLcpWdlY+rSNOMTpMIWMUa0
xYR5+D3dlAFJTvXTw6cvlcKl2gd9cvjMne67F3xmIvzj04urzrkC/xybusnn
SKRGn35sTMmU90edjE5DdDpO4cnjw8PuwWTT5xenl6fvjk8HNn5eG2vKFD4f
rWZ5Xwj8lNt8lhd5s9UAIjknsBWQKzzG/sGHW8vudh/t6uLHyyGEXKEA4RPA
U+ciOPTl2qT+0x+8eZJhYxBgXWobj0G8EATTRqmrpdH384Y2ZTIrjBWRBUIF
5cNqUzKlVQAg1SzNVt+U1Z02SbrUFXyuv7U6TcoKLyt0jgwARze1neirJRwN
JPdmhc+1DBSQNM1dpYtka2qT6ZVJlyBQ7Mrq2VbfLXNYVjYwB56KnkNgdteo
5WaVlGOQ2RlumiSo1YDHqrg1uPVjvyU69fjsBGQgLKOdTlErAxjJRvLMXzcE
eSI/eT5warrMy4VO4IDrROgzMzat8zVidqRwS42HbKzKAKjvLg/c6uu6ugXQ
WL1Ami9NpnDD46Yau93x3je47ISxldTw9MakzaaGU9SmYKW0zNcawCrwmwjr
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
AA==

-->

</rfc>
