<?xml version="1.0" encoding="UTF-8"?>
<rfc submissionType="IETF" xmlns:xi="http://www.w3.org/2001/XInclude" category="info" consensus="true" docName="draft-zhang-dmsc-gateway-directory-sync-00" ipr="trust200902" tocInclude="true" sortRefs="true" version="3">
  <front>
    <title abbrev="Gateway Capability Directory for IoA">Gateway Capability Directory and Synchronization for Internet of Agents</title>
    <author fullname="Lianhua Zhang" initials="L." surname="Zhang">
      <organization>AsiaInfo Technologies (China) Inc.</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <code>100000</code>
          <country>China</country>
        </postal>
        <email>zhanglh2@asiainfo.com</email>
      </address>
    </author>
    <author fullname="Huiling Yang" initials="H." surname="Yang">
      <organization>AsiaInfo Technologies (China) Inc.</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <code>100000</code>
          <country>China</country>
        </postal>
        <email>yanghl10@asiainfo.com</email>
      </address>
    </author>
    <author fullname="Yun Li" initials="Y." surname="Li">
      <organization>AsiaInfo Technologies (China) Inc.</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <code>100000</code>
          <country>China</country>
        </postal>
        <email>liyun9@asiainfo.com</email>
      </address>
    </author>
    <author fullname="Shoufeng Wang" initials="S." surname="Wang">
      <organization>AsiaInfo Technologies (China) Inc.</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <code>100000</code>
          <country>China</country>
        </postal>
        <email>wangsf11@asiainfo.com</email>
      </address>
    </author>
    <date day="21" month="April" year="2026"/>
    <abstract>
      <t>This document describes a capability-directory framework for the Internet of Agents (IoA) in deployments that use Agent Gateways. It defines requirements and a common object model for gateway-managed capability information, including the Agent Capability Specification (ACS), Capability Digest, and directory entry lifecycle. It also specifies synchronization, freshness, provenance, and validation requirements for capability information exchanged across gateways.</t>
      <t>This document clarifies the relationship between gateway-managed ACS objects and externally published descriptions such as the A2A Agent Card. It does not define a discovery query protocol, ranking algorithm, task orchestration protocol, or agent-to-agent session protocol. It can be used as input to future DMSC protocol work, including capability digest synchronization and related gateway procedures.</t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" title="Introduction">
      <t>As agent systems become increasingly distributed across heterogeneous networks and administrative domains, gateways need a control-plane representation of capability information. A gateway cannot rely only on transient advertisements, static endpoint bindings, or local capability representations if it is expected to support capability visibility, semantic resolution, policy enforcement, and interconnection.</t>
      <t>At the same time, adjacent work is separating discovery from other interoperability layers. DAWN is focusing on discovery problem statements, terminology, and requirements, while explicitly excluding registration processes, capability negotiation, task orchestration, and agent-to-agent communication protocols <xref target="DAWN-PS"/> <xref target="DAWN-REQ"/>. This leaves DMSC-specific work on the gateway-side capability directory that supports registration, synchronization, validation, and handoff to collaboration protocols.</t>
      <t>This document describes a framework for gateway capability directories and synchronization in IoA. It focuses on what information a gateway-managed directory entry needs to contain, how that information is derived and maintained, how much of it can be synchronized across gateways, and what validation and provenance guarantees are required before the information can be used by routing, task invocation, or other collaboration functions.</t>
    </section>
    <section numbered="true" title="Conventions and Terminology">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119"/> and <xref target="RFC8174"/>.</t>
      <t>The following terms are used in this document:</t>
      <t>Agent Capability Specification (ACS): A gateway-managed, structured capability description associated with an Agent Identity Code (AIC) and constrained by local authorization and policy.</t>
      <t>Capability Digest: A gateway-generated summary derived from one or more ACS objects, intended for inter-gateway visibility and synchronization rather than full capability disclosure.</t>
      <t>Directory Entry: A versioned object stored or managed by a gateway capability directory. A directory entry MAY contain a full ACS, a derived digest, or related validation metadata.</t>
      <t>Handoff Reference: Information returned by a gateway that enables a subsequent interaction, invocation, or session establishment step.</t>
      <t>Source Description: An externally or internally supplied capability description that a gateway can ingest, normalize, or constrain. Examples include an A2A Agent Card, a local registration payload, or an operator-managed descriptor.</t>
      <t>Freshness: The degree to which synchronized or cached information is still valid for operational use.</t>
      <t>Provenance: Evidence indicating where a directory entry originated, how it was transformed, and what authority or gateway asserted it.</t>
    </section>
    <section numbered="true" title="Scope and Non-Goals">
      <t>This document specifies:</t>
      <t>- A common framework for gateway capability directory objects in IoA deployments.</t>
      <t>- Requirements for ACS objects, capability digests, and directory entry lifecycle.</t>
      <t>- Requirements for synchronization, freshness, provenance, and validation across gateways.</t>
      <t>- The relationship between gateway-managed ACS objects and externally published descriptions such as the A2A Agent Card.</t>
      <t>This document does not specify:</t>
      <t>- A discovery query protocol, query syntax, ranking algorithm, or candidate selection policy.</t>
      <t>- A naming system, global identifier resolution protocol, or generic registry architecture for all entities.</t>
      <t>- Agent-to-gateway advertisement messages, intent submission messages, candidate-list response messages, routing-feedback messages, or other wire-format exchanges of an intent-routing protocol.</t>
      <t>- Task orchestration, session establishment, or agent-to-agent message exchange procedures.</t>
      <t>- A domain-specific ontology or a full semantic negotiation protocol, although semantic hooks MAY be carried by directory objects.</t>
      <t>- A complete identity framework, trust framework, or credential issuance system.</t>
    </section>
    <section numbered="true" title="Architectural Context and DMSC Integration">
      <t>Within DMSC architecture, the capability directory is a gateway-side control-plane function. It receives or derives capability descriptions during onboarding, associates them with an AIC and authorized operational scope, maintains local directory entries, and exposes suitable information to other DMSC functions such as semantic resolution, task-based invocation, and inter-gateway visibility <xref target="MACP-02"/> <xref target="ACPS-ARC"/> <xref target="IOA-TASK"/>.</t>
      <t>The capability directory sits between registration/authorization and collaboration/runtime procedures, as illustrated in Figure 1.</t>
      <figure>
        <artwork><![CDATA[
        +----------------------------------+
        | Registration / Authorization     |
        +----------------------------------+
        | Gateway Capability Directory     |
        |  - ACS                           |
        |  - Digest                        |
        |  - Validation Metadata           |
        +----------------------------------+
        | Resolution / Handoff / TIP / A2A |
        +----------------------------------+
        ]]></artwork>
      </figure>
      <t>Figure 1: Capability Directory Position</t>
      <t>A gateway capability directory manages directory entries. A directory entry may carry a full ACS, a derived Capability Digest, or related validation metadata, depending on local use and disclosure scope.</t>
      <t>This position is consistent with the MACP view that registration, capability synchronization, semantic resolution, and task coordination are related but distinct stages of the collaboration lifecycle <xref target="MACP-02"/>. It is also consistent with the ACPs architecture, where agent onboarding publishes capability information and discovery functions use indexed capability data without redefining the underlying onboarding or inter-agent communication procedures <xref target="ACPS-ARC"/>.</t>
      <t>The relationship to existing DMSC work is as follows:</t>
      <t>- MACP introduces ACS and CDSP as protocol-suite building blocks. This document refines the common object model, lifecycle expectations, synchronization metadata, and validation requirements those building blocks need <xref target="MACP-02"/>.</t>
      <t>- ACPs Architecture defines the functional decomposition around onboarding, description management, discovery, and interconnection. This document focuses on the capability-directory objects exchanged and maintained across those functions <xref target="ACPS-ARC"/>.</t>
      <t>- Gateway Requirements identifies delegated discovery, ID-based resolution, and task-based searching as gateway functions. This document does not redefine those functions; it defines the directory substrate they depend on <xref target="GW-REQ"/>.</t>
      <t>- IoA Task Protocol identifies distributed registration/discovery and semantic alignment as future enhancement directions. This document provides a control-plane basis that such task-level procedures can use <xref target="IOA-TASK"/>.</t>
      <t>- The IoA semantic interaction draft defines ontology-based semantic profiles, ontology identifiers and versions, and alignment-related information for interoperable meaning across domains. This document does not redefine those semantics; it provides the gateway directory substrate that can carry or reference such semantic hooks inside ACS objects and capability digests <xref target="IOA-SEM"/>.</t>
      <t>- IAIP defines gateway-facing protocol behavior for capability advertisement, intent submission, candidate matching, routing decisions, and related message formats. This document is intended to be lower-layer and complementary: it defines what the gateway stores, validates, and synchronizes, while IAIP-like protocols can define how agents advertise capabilities to the gateway, how intents are submitted, and how candidates are selected and forwarded <xref target="IAIP-00"/>.</t>
      <t>Accordingly, this document does not define discovery query syntax or routing algorithms. Instead, the capability directory defined here is intended to support other DMSC functions as follows:</t>
      <t>- semantic resolution procedures MAY use ACS or digest content as inputs to capability matching and route preparation;</t>
      <t>- task-based invocation procedures MAY use handoff references and capability constraints derived from ACS content;</t>
      <t>- gateway policy enforcement MAY use lifecycle state, provenance, and local constraints stored with the directory entry; and</t>
      <t>- semantic interoperability procedures MAY use optional ontology or semantic-profile hooks carried by ACS content without redefining the semantic layer itself.</t>
    </section>
    <section numbered="true" title="Relationship to External Descriptions">
      <t>A gateway capability directory can ingest or reference externally supplied descriptions. Such external descriptions MAY be published by an agent endpoint, a management system, or another authoritative source. They are treated by this document as source descriptions rather than as gateway-native directory objects.</t>
      <t>A2A defines the Agent Card as one example of such an external description. The Agent Card is a self-describing object published by an agent endpoint for discovery and interaction setup, and includes information such as identity, skills, supported interfaces, security requirements, and other public metadata <xref target="A2A-SPEC"/>.</t>
      <t>An ACS is not the same object as an external description such as an A2A Agent Card. The relationship is as follows:</t>
      <t>- An external description is typically published by or on behalf of an agent endpoint or management source. An ACS is managed by a DMSC Gateway.</t>
      <t>- An external description is a source description intended for publication or exchange. An ACS is a normalized, policy-constrained directory object used by DMSC infrastructure.</t>
      <t>- An external description can describe what an agent claims or offers. An ACS represents what the gateway has accepted, authorized, and organized for directory use.</t>
      <t>- A Capability Digest is a further abstraction derived from ACS content for inter-gateway visibility.</t>
      <t>A gateway MAY ingest an A2A Agent Card as one source description when constructing an ACS. However, the gateway MUST NOT assume that all externally supplied description content is suitable for directory synchronization or operational use without local validation and policy application.</t>
      <t>When an ACS is derived from an external description such as an A2A Agent Card, the gateway SHOULD preserve provenance indicating:</t>
      <t>- the source Agent Card identifier or retrieval location;</t>
      <t>- the time of ingestion or last confirmation;</t>
      <t>- any fields removed, transformed, or constrained during normalization; and</t>
      <t>- the local policy or authorization basis under which the ACS was accepted.</t>
    </section>
    <section numbered="true" title="Directory Object Model">
      <section numbered="true" title="Agent Capability Specification">
        <t>An ACS is the primary full directory object. An ACS MUST be bound to a single AIC or equivalent local agent identity reference. An ACS SHOULD be sufficient for local directory use, semantic resolution input, handoff preparation, and policy evaluation.</t>
        <t>An ACS SHOULD contain at least:</t>
        <t>- a stable local identifier for the ACS entry;</t>
        <t>- the bound AIC or equivalent identity reference;</t>
        <t>- one or more capability references;</t>
        <t>- input/output or modality references relevant to invocation and compatibility;</t>
        <t>- interface binding references and handoff references, if available;</t>
        <t>- local status and version information;</t>
        <t>- provenance and integrity metadata; and</t>
        <t>- optional semantic hooks such as ontology identifier, ontology version, or semantic-profile reference.</t>
        <t>An ACS MAY additionally carry local policy constraints, region or domain scope, deployment visibility, or runtime limitations. Such information SHOULD be clearly distinguished from core capability assertions.</t>
      </section>
      <section numbered="true" title="Capability Digest">
        <t>A Capability Digest is a derived object intended for synchronization and visibility across gateways. A digest MUST be smaller in disclosure scope than the corresponding ACS. It SHOULD reveal enough information for coarse-grained matching, routing preparation, or further query forwarding, while minimizing unnecessary internal detail.</t>
        <t>A Capability Digest SHOULD contain:</t>
        <t>- a digest identifier and version;</t>
        <t>- the asserting gateway or administrative domain identifier;</t>
        <t>- one or more abstracted capability references or categories;</t>
        <t>- visibility scope and freshness metadata; and</t>
        <t>- provenance and integrity metadata.</t>
        <t>A digest MAY contain handoff hints, interface categories, trust indicators, or semantic summary references, provided these do not disclose more information than permitted by local policy.</t>
      </section>
      <section numbered="true" title="Directory Entry States">
        <t>Directory entries SHOULD support an explicit lifecycle. The following states are RECOMMENDED:</t>
        <t>- active: entry is valid for operational use;</t>
        <t>- suspended: entry is temporarily not usable but retained;</t>
        <t>- deprecated: entry remains visible for compatibility but SHOULD be replaced; and</t>
        <t>- revoked: entry MUST NOT be used for new operational decisions.</t>
        <t>Implementations MAY define equivalent states, but the effect on visibility and use MUST be clear.</t>
      </section>
    </section>
    <section numbered="true" title="Lifecycle Requirements">
      <t>A gateway MUST be able to create, update, deprecate, suspend, revoke, and remove directory entries under local lifecycle control. Registration and credential issuance themselves are out of scope, but this document defines what the directory layer requires after onboarding has completed.</t>
      <t>At a minimum:</t>
      <t>- a new ACS entry MUST be versioned at creation time;</t>
      <t>- changes to bound identity, capability references, interface binding references, semantic hooks, or integrity metadata SHOULD create a new version or equivalent version transition;</t>
      <t>- state changes MUST be auditable;</t>
      <t>- revoked entries MUST be excluded from new handoff or resolution results; and</t>
      <t>- deprecated entries SHOULD indicate replacement or migration information if available.</t>
      <t>If an ACS is derived from an external source description such as an A2A Agent Card, the gateway SHOULD distinguish source changes from gateway-local changes. A source refresh that does not alter accepted operational semantics MAY update freshness metadata without changing the ACS semantic version.</t>
    </section>
    <section numbered="true" title="Synchronization Requirements">
      <t>Gateways in the same collaboration environment or across federated domains MAY synchronize capability visibility information. Synchronization MUST be policy-aware and SHOULD default to Capability Digest exchange rather than full ACS replication.</t>
      <t>A synchronization mechanism for directory information SHOULD support:</t>
      <t>- initial establishment of baseline visibility;</t>
      <t>- incremental updates for entry creation, modification, withdrawal, and state transitions;</t>
      <t>- version comparison or ordering sufficient to detect stale updates;</t>
      <t>- explicit acknowledgement or equivalent delivery confirmation;</t>
      <t>- conflict detection and local conflict resolution policy; and</t>
      <t>- recovery after disconnection or partial state loss.</t>
      <t>When multiple gateways provide conflicting information about the same effective capability or identity reference, the receiving gateway SHOULD consider provenance, signature status, administrative trust policy, lifecycle state, and update freshness before accepting the new information.</t>
      <t>Synchronization procedures SHOULD be able to carry, or reference, the following metadata:</t>
      <t>- source gateway identifier;</t>
      <t>- entry identifier and version;</t>
      <t>- operation type;</t>
      <t>- effective time or update time;</t>
      <t>- optional replacement or revocation information; and</t>
      <t>- integrity and provenance evidence.</t>
    </section>
    <section numbered="true" title="Freshness, Validation, and Provenance">
      <t>A gateway MUST evaluate whether directory information is still suitable for operational use before returning it to semantic resolution, handoff preparation, or task-routing logic.</t>
      <t>Directory validation SHOULD include:</t>
      <t>- integrity validation of the entry or synchronized update;</t>
      <t>- freshness validation against local policy or advertised validity information;</t>
      <t>- lifecycle-state validation, including revocation awareness;</t>
      <t>- provenance validation indicating which gateway or source asserted the information; and</t>
      <t>- semantic or profile reference validation when semantic hooks are present.</t>
      <t>Validation failure handling SHOULD distinguish between:</t>
      <t>- invalid entry content;</t>
      <t>- unverifiable provenance;</t>
      <t>- stale information;</t>
      <t>- revoked information; and</t>
      <t>- locally disallowed disclosure or use.</t>
      <t>An implementation MAY retain invalid or stale entries for audit or troubleshooting purposes, but such entries MUST NOT be used for new operational decisions unless explicitly allowed by local policy.</t>
    </section>
    <section numbered="true" title="Security Considerations">
      <t>Capability directories and synchronization channels are attractive targets for poisoning, replay, downgrade, and unauthorized disclosure attacks. Implementations SHOULD consider:</t>
      <t>- integrity protection for ACS entries and synchronized digests;</t>
      <t>- provenance continuity for derived objects, especially when ingesting external descriptions such as A2A Agent Cards;</t>
      <t>- freshness enforcement to prevent stale or replayed capability visibility;</t>
      <t>- access control over which entries may be disclosed, synchronized, or returned for operational use; and</t>
      <t>- auditability of lifecycle changes and synchronization decisions.</t>
      <t>If semantic hooks are carried, implementations SHOULD also consider risks related to ontology substitution, invalid alignment references, or use of inconsistent semantic-profile versions.</t>
    </section>
    <section numbered="true" title="IANA Considerations">
      <t>This document makes no request for IANA action.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner"/>
          <date year="1997"/>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba"/>
          <date year="2017"/>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
      </reference>
    </references>
    <references>
      <name>Informative References</name>
      <reference anchor="MACP-02" target="https://datatracker.ietf.org/doc/draft-li-dmsc-macp/02/">
        <front>
          <title>Multi-agent Collaboration Protocol Suite</title>
          <author fullname="X. Li"/>
          <author fullname="J. Liu"/>
          <author fullname="C. Du"/>
          <author fullname="L. Zhang"/>
          <date year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-li-dmsc-macp-02"/>
      </reference>
      <reference anchor="ACPS-ARC" target="https://datatracker.ietf.org/doc/draft-liu-dmsc-acps-arc/03/">
        <front>
          <title>Agent Collaboration Protocols Architecture for Internet of Agents</title>
          <author fullname="J. Liu"/>
          <author fullname="K. Yu"/>
          <author fullname="K. Li"/>
          <author fullname="K. Chen"/>
          <date year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-liu-dmsc-acps-arc-03"/>
      </reference>
      <reference anchor="GW-REQ" target="https://datatracker.ietf.org/doc/draft-liu-dmsc-gw-requirements/00/">
        <front>
          <title>Gateway Requirements for Dynamic Multi-agents Secured Collaboration</title>
          <author fullname="B. Liu"/>
          <date year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-liu-dmsc-gw-requirements-00"/>
      </reference>
      <reference anchor="IOA-TASK" target="https://datatracker.ietf.org/doc/draft-yang-dmsc-ioa-task-protocol/01/">
        <front>
          <title>Internet of Agents Task Protocol for Heterogeneous Agent Teaming and Cross-domain Collaboration</title>
          <author fullname="C. Yang"/>
          <author fullname="P. Wang"/>
          <author fullname="J. Wu"/>
          <author fullname="T. Huang"/>
          <date year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-yang-dmsc-ioa-task-protocol-01"/>
      </reference>
      <reference anchor="IOA-SEM" target="https://datatracker.ietf.org/doc/draft-zhang-dmsc-ioa-semantic-interaction/02/">
        <front>
          <title>Ontology-based Semantic Interaction for Internet of Agents</title>
          <author fullname="L. Zhang"/>
          <author fullname="H. Yang"/>
          <author fullname="Y. Li"/>
          <author fullname="S. Wang"/>
          <date year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-zhang-dmsc-ioa-semantic-interaction-02"/>
      </reference>
      <reference anchor="A2A-SPEC" target="https://a2a-protocol.org/latest/specification/">
        <front>
          <title>A2A Protocol Specification</title>
          <author fullname="Linux Foundation"/>
          <date year="2026"/>
        </front>
      </reference>
      <reference anchor="DAWN-PS" target="https://datatracker.ietf.org/doc/draft-akhavain-moussa-dawn-problem-statement/00/">
        <front>
          <title>Problem Statement for the Discovery of Agents, Workloads, and Named Entities (DAWN)</title>
          <author fullname="A. Akhavain"/>
          <author fullname="H. Moussa"/>
          <author fullname="D. King"/>
          <date year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-akhavain-moussa-dawn-problem-statement-00"/>
      </reference>
      <reference anchor="DAWN-REQ" target="https://datatracker.ietf.org/doc/draft-king-dawn-requirements/00/">
        <front>
          <title>Requirements for the Discovery of Agents, Workloads, and Named Entities (DAWN)</title>
          <author fullname="D. King"/>
          <author fullname="A. Farrel"/>
          <date year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-king-dawn-requirements-00"/>
      </reference>
      <reference anchor="IAIP-00" target="https://www.ietf.org/archive/id/draft-sz-dmsc-iaip-00.txt">
        <front>
          <title>Intent-based Agent Interconnection Protocol at Agent Gateway</title>
          <author fullname="S. Sun"/>
          <author fullname="X. Zhang"/>
          <date year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-sz-dmsc-iaip-00"/>
      </reference>
    </references>
  </back>
</rfc>
