<?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 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-huang-ainetops-agent-schema-interfaces-00" category="std" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="Agent Schema Interfaces">Schema Interfaces for Network Management Agent Skills</title>
    <seriesInfo name="Internet-Draft" value="draft-huang-ainetops-agent-schema-interfaces-00"/>
    <author fullname="Scott Huang">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <email>scohuang@cisco.com</email>
      </address>
    </author>
    <author fullname="Fu Yu">
      <organization>China Telecom</organization>
      <address>
        <email>fuy44@chinatelecom.cn</email>
      </address>
    </author>
    <author fullname="Dan Voyer">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <email>davoyer@cisco.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <area>Operations and Management</area>
    <keyword>network management</keyword>
    <keyword>network management agents</keyword>
    <keyword>schema interfaces</keyword>
    <keyword>interface retrieval</keyword>
    <keyword>agent interoperability</keyword>
    <abstract>
      <?line 66?>

<t>Network management agents can use an Agent-to-Agent protocol for task
exchange. The protocol alone does not define the application schemas used by
independently developed network management agent skills.</t>
      <t>This document standardizes four components for schema-governed network
management agent skills: Schema References, per-skill Skill Interface
Documents, advertisement and retrieval through an A2A extension and
<tt>describe_skill</tt>, and the A2A mapping for interface version 1.0. Together,
they enable clients to retrieve and validate the application schemas used for
skill inputs, outputs, and supporting records.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-huang-ainetops-agent-schema-interfaces/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/agentic-network-management/agent-schema-interfaces"/>.</t>
    </note>
  </front>
  <middle>
    <?line 79?>

<section anchor="intro">
      <name>Introduction</name>
      <t>Agent-to-Agent task exchange requires agreement at two different layers:</t>
      <ol spacing="normal" type="1"><li>
          <t>a protocol for agent discovery, task identity, lifecycle, streaming,
polling, cancellation, and result transport; and</t>
        </li>
        <li>
          <t>application schemas that define the meaning of the skill input, output,
deliverables, and supporting records.</t>
        </li>
      </ol>
      <t>The Agent2Agent (A2A) protocol <xref target="A2A"/> defines agent discovery, message transport,
task lifecycle, streaming, polling, cancellation, and artifact delivery. It
does not define the domain-specific input, output, or supporting-record
schemas used by individual skills, nor a common interface for retrieving and
validating those schemas. This document addresses that application-schema gap
while leaving A2A task and transport semantics unchanged.</t>
      <t>Network operations workflows may involve agents supplied by different
vendors, operating in different administrative domains, and implemented using
different model architectures. These agents may need to cooperate to
decompose, delegate, execute, and verify complex operational tasks. Such
cooperation requires exchanges of task objectives, operational context,
constraints, diagnostic requests, supporting records, and risk assessments
across agent boundaries. When independently implemented agents govern these
artifacts through bilateral assumptions rather than declared, machine-readable
per-skill interfaces, end-to-end workflows become fragile, difficult to
reproduce, and difficult to audit.</t>
      <t>Agent discovery and the schema-interface procedure are distinct. Agent
discovery determines which agent to contact and how to reach it. The
schema-interface procedure defined in this document occurs after an agent has
been identified and provides the machine-readable interface for invoking one
of its advertised skills. This document does not define how agents are found,
selected, ranked, or matched to user intent.</t>
      <t>A common protocol envelope can deliver a JSON object without making that
object semantically interoperable. If the original input and an upstream
agent's result are opaque text or unconstrained JSON, a downstream agent must
infer their meaning. Such inference may be useful for human-oriented content,
but it is not an adequate substitute for a declared interface when agents make
operational decisions or generate network changes.</t>
      <t>The framework is intended to support independently developed agents from
different network-management domains without forcing their domain payloads
into one universal schema.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <section anchor="network-management-agent">
        <name>Network Management Agent</name>
        <t>A software component that performs or assists with network-management work,
including analysis, configuration, assurance, incident handling, validation,
simulation, or remediation.</t>
      </section>
      <section anchor="client-agent">
        <name>Client Agent</name>
        <t>An A2A Client that identifies and contacts a remote agent, obtains and
validates its Skill Interface Documents, and delegates tasks on behalf of a
user or another system. This term describes a protocol role and does not imply
administrative control over the remote agent.</t>
      </section>
      <section anchor="remote-agent">
        <name>Remote Agent</name>
        <t>An A2A Server that publishes an Agent Card, exposes skills, receives delegated
tasks, and returns task status and results.</t>
      </section>
      <section anchor="network-management-domain">
        <name>Network-Management Domain</name>
        <t>An application subject area, such as planning, assurance, configuration, or
incident analysis, whose owner defines the meaning of its skill inputs,
outputs, and supporting records. A domain is a schema-governance boundary; it
does not create a global namespace for skill identifiers.</t>
      </section>
      <section anchor="delegation-hop">
        <name>Delegation Hop</name>
        <t>The relationship created when an agent handling one A2A Task invokes a skill
at another agent, thereby creating a distinct downstream A2A Task. The task
handled by the invoking agent is the upstream task, and the newly created task
is the downstream task.</t>
      </section>
      <section anchor="schema-reference">
        <name>Schema Reference</name>
        <t>A portable schema identity, integrity information, and inline schema content.
The identity and digest remain independent of any deployment-local mechanism
used to manage the schema before the Skill Interface Document is assembled.</t>
      </section>
      <section anchor="version-string">
        <name>Version String</name>
        <t>A canonical version identifier consisting of two dot-separated non-negative
decimal integers, <tt>MAJOR.MINOR</tt>. A component has no leading zero unless its
value is zero. Two versions are equal only when both numeric components are
equal; the canonical representation makes this equivalent to string equality.
A change that is not backward compatible with consumers of the prior version
increments <tt>MAJOR</tt> and resets <tt>MINOR</tt> to zero. A backward-compatible change
increments <tt>MINOR</tt>. This syntax and comparison rule apply to <tt>skill_version</tt>
and to the <tt>version</tt> in each Schema Reference. The version of the Skill
Interface Schema is separately identified by <tt>interface_version</tt>, which this
document fixes at <tt>1.0</tt>.</t>
      </section>
      <section anchor="skill">
        <name>Skill</name>
        <t>A named capability advertised by an agent and invokable through an
Agent-to-Agent protocol. A skill identifier is scoped to the Agent Card in
which it is advertised and is not globally unique. Portable schema identity is
provided by the Schema Reference rather than by the skill identifier alone.</t>
      </section>
      <section anchor="skill-interface-schema">
        <name>Skill Interface Schema</name>
        <t>The standardized, language-neutral schema that defines the permitted
structure and interpretation of a Skill Interface Document. An agent uses a
local or otherwise trusted copy of this schema to validate the documents it
publishes. A client agent uses the same schema version to validate retrieved
documents.</t>
      </section>
      <section anchor="skill-interface-document">
        <name>Skill Interface Document</name>
        <t>A machine-readable description of a skill's accepted input, produced output,
possible supporting records, interaction behavior, and applicable constraints.
It is an instance of the Skill Interface Schema. It contains domain-specific
Schema References supplied by the agent without modifying the standardized
Skill Interface Schema.</t>
      </section>
      <section anchor="skill-interface-document-digest">
        <name>Skill Interface Document Digest</name>
        <t>The <tt>interface_digest</tt> value identifies the exact Skill Interface Document
selected by a client.  It is the string <tt>sha256:</tt> followed by the lowercase
hexadecimal representation of the SHA-256 digest of the UTF-8 encoding of the
complete Skill Interface Document serialized using the JSON Canonicalization
Scheme (JCS) <xref target="JCS"/>.</t>
        <t>The digest covers every member of the Skill Interface Document, including its
inline domain schemas.  It does not cover the standardized Skill Interface
Schema used to validate the document, the Agent Card, a <tt>describe_skill</tt>
response wrapper, or a domain-skill invocation.  The <tt>interface_digest</tt> is
carried outside the Skill Interface Document so that the document does not
contain a digest of itself.</t>
        <t>The same Skill Interface Document Digest <bcp14>MUST</bcp14> be carried in the Agent Card
extension advertisement, the <tt>describe_skill</tt> response, and each domain-skill
invocation that uses the document.  All three carried values and the digest
calculated from the returned document <bcp14>MUST</bcp14> match.</t>
      </section>
      <section anchor="supporting-record">
        <name>Supporting Record</name>
        <t>A domain-specific observation or artifact used to derive, validate, reproduce,
or audit a skill output. A supporting record is validated against the
applicable schema identified by the Skill Interface Document.</t>
      </section>
      <section anchor="a2a-artifact-identifier">
        <name>A2A Artifact Identifier</name>
        <t>The task-scoped <tt>artifactId</tt> assigned to an A2A Artifact as defined by A2A
<xref target="A2A"/>. It identifies an Artifact within an A2A Task and can be used by a
skill output to reference a supporting-record Artifact carried by that Task.
It is not a globally portable record identifier.</t>
        <t>The following figure summarizes the structure of a Skill Interface Document:</t>
        <t><tt>text
Skill Interface Document
|-- interface_version
|-- skill_id
|-- skill_version
|-- input_schema -------------------- Schema Reference
|   |-- schema_uri
|   |-- version
|   |-- dialect
|   |-- digest
|   `-- resolution
|       |-- type = "inline"
|       `-- schema
|-- output_schema ------------------- Schema Reference
|-- supporting_record_schemas[]
|   |-- kind
|   `-- schema_reference ------------ Schema Reference
|-- interaction
|   |-- supported_response_modes[]
|   `-- cancellable
`-- authority
    |-- default_mode
    `-- approval_may_be_required
</tt></t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="scope">
      <name>Scope</name>
      <t>This document standardizes:</t>
      <ul spacing="normal">
        <li>
          <t>a common Schema Reference structure for identifying, verifying, and
carrying inline schemas;</t>
        </li>
        <li>
          <t>a Skill Interface Schema and a conforming per-skill Skill Interface
Document;</t>
        </li>
        <li>
          <t>a Skill Interface advertisement and retrieval procedure using an A2A
extension and <tt>describe_skill</tt>; and</t>
        </li>
        <li>
          <t>an A2A mapping for carrying domain-skill inputs, outputs, supporting
records, and machine-readable errors for interface version 1.0.</t>
        </li>
      </ul>
      <t>The mapping operates on top of A2A. It maps the fields defined by this
document to existing A2A Messages, Data Parts, Tasks, Artifacts, and status
messages without changing A2A operations, data objects, lifecycle semantics,
or protocol bindings. An implementation claiming conformance to interface
version 1.0 for exchanges over A2A <bcp14>MUST</bcp14> use this mapping.</t>
      <t>This document does not define:</t>
      <ul spacing="normal">
        <li>
          <t>the internal algorithm used by an agent;</t>
        </li>
        <li>
          <t>a universal schema for every network-management domain;</t>
        </li>
        <li>
          <t>a required schema-registry product or API;</t>
        </li>
        <li>
          <t>a globally centralized schema service;</t>
        </li>
        <li>
          <t>agent hosting, process lifecycle, or platform onboarding;</t>
        </li>
        <li>
          <t>an authorization policy model, including RBAC, ABAC, capabilities, policy
engines, or approval workflows;</t>
        </li>
        <li>
          <t>a grant of authority based on schema or interface validation; or</t>
        </li>
        <li>
          <t>a new A2A transport or protocol binding.</t>
        </li>
      </ul>
    </section>
    <section anchor="relationship-to-other-work">
      <name>Relationship to Other Work</name>
      <t>The "IDL: A Semantic Information Model for Agent Communication"
Internet-Draft <xref target="IDL"/> describes agent-wide identity, capabilities, autonomy
boundaries, context requirements, governance interfaces, and intent
participation. It includes optional input-context and output-schema
declarations, but it does not define a normative serialization or a per-skill
interface-retrieval procedure.</t>
      <t>This document has a narrower scope. It defines a normative representation for
one version of one callable skill, including its input, output, and
supporting-record schemas, and defines the <tt>describe_skill</tt> retrieval and
validation procedure. The two models can be used together: an agent-wide
semantic description can identify a capability, while a Skill Interface
Document supplies the concrete application schemas used to invoke a selected
skill. A formal mapping between the two models is outside the scope of this
document.</t>
    </section>
    <section anchor="design-principles">
      <name>Design Principles</name>
      <section anchor="preserve-task-identity-across-delegation-hops">
        <name>Preserve task identity across delegation hops</name>
        <t>When an agent handling an upstream A2A Task invokes another agent, the
downstream invocation creates a distinct A2A Task at the receiving agent. A
delegating component <bcp14>MUST NOT</bcp14> reuse the upstream task identifier as the
downstream protocol task identifier. Protocol task identifiers are interpreted
in the scope of the agent or endpoint that issued them; implementations <bcp14>MUST
NOT</bcp14> assume that they are globally unique. An implementation that needs to
correlate the two tasks <bcp14>MUST</bcp14> record their relationship using separately named
metadata rather than overloading either protocol task identifier.</t>
      </section>
      <section anchor="standardize-reusable-structures-not-all-domain-semantics">
        <name>Standardize reusable structures, not all domain semantics</name>
        <t>This framework standardizes reusable interface metadata, not the semantics of
every network-management domain. A vendor or domain owner defines the input,
output, and supporting-record schemas used by a particular skill and combines
them with the common structure; it does not redefine that structure. The
domain determines schema meaning and governance, while the skill identifier
selects one callable capability within an agent's advertised Agent Card.</t>
      </section>
      <section anchor="distinguish-structural-conformance-from-semantic-conformance">
        <name>Distinguish structural conformance from semantic conformance</name>
        <t>Matching Schema References establishes that communicating agents use the same
schema; it does not establish that the schema exposes sufficient semantics for
the intended operation. A schema that defines configuration only as a string
can validate the presence and type of that string but cannot by itself identify
affected resources, validate command dependencies, or establish that the
commands implement the requested intent.</t>
        <t>When a skill-specific specification requires a receiving agent to inspect,
validate, transform, simulate, or apply a configuration change, that
specification <bcp14>MUST</bcp14> identify a machine-readable representation with sufficient
semantics for the required processing.  The applicable input, output, or
supporting-record schema describes that representation, and <tt>describe_skill</tt>
makes the schema available before delegation.  The receiving agent <bcp14>MUST</bcp14>
validate the representation and use a domain-specific implementation for
semantic validation, policy evaluation, simulation, or application, as
applicable.</t>
      </section>
      <section anchor="deliver-schemas-inline-in-version-10">
        <name>Deliver schemas inline in version 1.0</name>
        <t>Every v1.0 Schema Reference returned by <tt>describe_skill</tt> <bcp14>MUST</bcp14> carry its schema
content inline. A client agent validates that embedded content against the
declared digest and does not contact an external service to complete the
interface.</t>
        <t>An inline schema <bcp14>MAY</bcp14> be a compound schema document containing embedded schema
resources as defined by JSON Schema <xref target="JSON-SCHEMA"/>.  Every <tt>$ref</tt> and
<tt>$dynamicRef</tt> in <tt>resolution.schema</tt> <bcp14>MUST</bcp14> resolve to the root schema, one of
its subschemas, or an embedded schema resource contained within that same
<tt>resolution.schema</tt> value.  Each embedded schema resource used as a reference
target <bcp14>MUST</bcp14> identify itself with an absolute URI in <tt>$id</tt>.  References <bcp14>MAY</bcp14>
retain an absolute URI when that URI resolves to such an embedded resource;
an absolute URI does not permit external retrieval.</t>
        <t>Validators <bcp14>MUST</bcp14> perform schema and instance validation with network and
filesystem schema retrieval disabled.  The only schema content a validator
may use from outside <tt>resolution.schema</tt> is a locally trusted copy of the
meta-schema identified by the Schema Reference's <tt>dialect</tt>.  Embedded schema
resources <bcp14>MUST</bcp14> use that same dialect.  A reference that cannot be resolved
under these rules, an attempted external retrieval, or an embedded resource
that selects another dialect makes the Skill Interface Document invalid and
<bcp14>MUST</bcp14> result in <tt>interface_invalid</tt>.</t>
        <t>For interface version 1.0, a <tt>format</tt> value defined by JSON Schema Validation
<xref target="JSON-SCHEMA-VALIDATION"/> <bcp14>MUST</bcp14> be evaluated as an assertion during instance
validation. This is an additional interface version 1.0 conformance rule even
when the referenced JSON Schema dialect would otherwise treat <tt>format</tt> as an
annotation. In particular, an instance validated against <tt>"format":
"date-time"</tt> <bcp14>MUST</bcp14> conform to the Internet timestamp syntax defined by
<xref target="TIMESTAMP"/>.</t>
        <t>Registries, bundles, caches, and agent packaging <bcp14>MAY</bcp14> be used locally to store,
govern, distribute, or prepare schemas. Their use does not alter the v1.0
wire representation, and a client agent is not required to know which local
mechanism supplied an inline schema. Version 1.0 does not require the schema to
originate in either an agent package or a central registry; either can be a
deployment-local source used before the complete inline document is served.</t>
      </section>
      <section anchor="distinguish-outputs-from-supporting-records">
        <name>Distinguish outputs from supporting records</name>
        <t>The skill output states what the agent concluded or delivered. Supporting
records explain why that output can be trusted, reproduced, or audited. An
output and a supporting record use separate A2A Artifacts. An output that
depends on a supporting record <bcp14>SHOULD</bcp14> reference that record's task-scoped A2A
<tt>artifactId</tt> rather than duplicate its content.</t>
      </section>
      <section anchor="assemble-and-validate-before-advertisement">
        <name>Assemble and validate before advertisement</name>
        <t>An agent implementation owns its domain-specific input, output, and
supporting-record schemas. Its protocol service combines those schemas with a
trusted copy of the standardized Skill Interface Schema and applicable
interaction and authority declarations. The resulting Skill Interface
Document <bcp14>MUST</bcp14> be validated before it is advertised or returned.</t>
        <t>An implementation <bcp14>SHOULD</bcp14> perform this assembly during agent initialization or
deployment configuration and retain an immutable validated document for each
skill version.
The <tt>describe_skill</tt> operation retrieves that document. It does not ask the
agent's domain logic to construct or alter an interface while processing the
interface request.</t>
      </section>
    </section>
    <section anchor="schema-reference-1">
      <name>Schema Reference</name>
      <t>This document standardizes one Schema Reference structure for all schema
roles. Skill-input, skill-output, and supporting-record schemas do not
require different reference structures or delivery mechanisms.</t>
      <t>A Schema Reference contains:</t>
      <ul spacing="normal">
        <li>
          <t><tt>schema_uri</tt>: stable portable identity;</t>
        </li>
        <li>
          <t><tt>version</tt>: version meaningful to the schema publisher;</t>
        </li>
        <li>
          <t><tt>dialect</tt>: schema language and version;</t>
        </li>
        <li>
          <t><tt>digest</tt>: digest of the embedded schema content; and</t>
        </li>
        <li>
          <t><tt>resolution</tt>: inline delivery information. In version 1.0 its <tt>type</tt> is
<tt>inline</tt> and its <tt>schema</tt> member contains the schema content.</t>
        </li>
      </ul>
      <t>Version 1.0 fixes the digest algorithm to SHA-256.  To calculate <tt>digest</tt>, an
implementation <bcp14>MUST</bcp14> serialize the JSON value in <tt>resolution.schema</tt> using JCS
<xref target="JCS"/>, encode that canonical representation as UTF-8, and calculate SHA-256
over exactly those bytes.  The <tt>digest</tt> value <bcp14>MUST</bcp14> be the lowercase string
<tt>sha256:</tt> followed by exactly 64 lowercase hexadecimal digits representing
that result.  The digest covers only the <tt>resolution.schema</tt> value.  It does
not cover <tt>resolution.type</tt> or any other member of the enclosing Schema
Reference, including <tt>schema_uri</tt>, <tt>version</tt>, <tt>dialect</tt>, or <tt>digest</tt>.</t>
      <t>This separation is intentional. The schema digest is a content digest for the
embedded JSON Schema value, while <tt>schema_uri</tt>, <tt>version</tt>, and <tt>dialect</tt>
provide identity and interpretation metadata. A conforming implementation
compares the complete Schema Reference, not the digest alone. The Skill
Interface Document Digest additionally covers the complete document, including
each Schema Reference's identity, version, dialect, digest, and inline content,
and therefore detects modification or substitution of that metadata.</t>
      <t>The embedded schema <bcp14>MUST</bcp14> satisfy the JCS input requirements.  Differences in
insignificant JSON whitespace, object-member order, or a permitted alternate
JSON string escape do not change the digest because they produce the same JCS
representation.  A change to the JSON value represented by
<tt>resolution.schema</tt> changes the digest.  Version 1.0 does not define
digest-algorithm negotiation, and a value using another algorithm identifier
is invalid.</t>
      <t>Version 1.0 Schema References <bcp14>MUST</bcp14> use <tt>resolution.type</tt> equal to <tt>inline</tt> and
<bcp14>MUST</bcp14> include the schema in <tt>resolution.schema</tt>. They <bcp14>MUST NOT</bcp14> contain an
external schema locator in place of the embedded content.</t>
    </section>
    <section anchor="skill-interface-documents">
      <name>Skill Interface Schema and Documents</name>
      <t>The Skill Interface Schema standardizes the structure shown in this section.
A Skill Interface Document is a conforming instance for one skill version. It
binds the domain schemas used by that skill to its input, output,
supporting-record, interaction, and authority characteristics.</t>
      <t>The agent or domain owner supplies the skill identifier, skill version, and
domain input, output, and supporting-record schemas. The agent protocol
service assembles the complete document. Interaction declarations reflect the
agent implementation.
Authority declarations may additionally reflect deployment policy. Assembly
<bcp14>MUST NOT</bcp14> modify the standardized Skill Interface Schema.</t>
      <t>The normative definitions of <tt>authority</tt>, <tt>default_mode</tt>, and
<tt>approval_may_be_required</tt> appear in <xref target="skill-interface-json-schema"/>. The
structural figure in <xref target="terminology"/> shows their location within a Skill
Interface Document.</t>
      <t>The <tt>authority</tt> member is descriptive metadata about the operating posture an
agent advertises for a skill. <tt>default_mode</tt> describes that advertised default
posture; it does not grant the caller permission to use that mode.
<tt>approval_may_be_required</tt> indicates that an approval requirement may apply;
it does not assert that approval has been requested, granted, or remains
valid. The <tt>authority</tt> member is not a credential, capability, entitlement,
access-control decision, approval record, or authorization token. A client or
remote agent <bcp14>MUST NOT</bcp14> treat it as permission to execute a skill or cause a
side effect.</t>
      <t>Version 1.0 defines the following <tt>default_mode</tt> values:</t>
      <ul spacing="normal">
        <li>
          <t><tt>observe_only</tt>: the default behavior reads or analyzes information and does
not propose or apply an operational change;</t>
        </li>
        <li>
          <t><tt>recommend_only</tt>: the default behavior may produce a proposed action or
change but does not apply it; and</t>
        </li>
        <li>
          <t><tt>execute</tt>: the default behavior may cause an operational side effect.</t>
        </li>
      </ul>
      <t>These values describe behavior, not authorization. In every mode, the agent
<bcp14>MUST</bcp14> perform the runtime authorization and approval checks required below.</t>
      <t>Version 1.0 permits both a separate skill for each operation and multiple
operations within one skill. One operation per skill is preferred because it
gives each operation an independent interface and authority declaration.
Authors <bcp14>SHOULD</bcp14> expose operations with materially different effects or approval
requirements as separate skills. The <tt>authority</tt> member describes the skill as
a whole; it does not describe the effect of each operation selected within a
multi-operation skill. If one skill supports multiple operations, its
<tt>input_schema</tt> <bcp14>MUST</bcp14> require an unambiguous operation selector, enumerate the
permitted operations, and define any operation-specific input requirements.
Schema annotations <bcp14>SHOULD</bcp14> describe the effect of each operation so that a
caller can understand the requested action before invocation. If any operation
may require approval,
<tt>approval_may_be_required</tt> <bcp14>MUST</bcp14> be <tt>true</tt>. The receiving agent <bcp14>MUST</bcp14> still
authorize the selected operation and enforce its applicable approval policy
for every request.</t>
      <t>For example, an agent that can read and delete a managed resource can
advertise separate <tt>read_resource</tt> and <tt>delete_resource</tt> skills. This is the
preferred design because reading and deleting have materially different
effects. Alternatively, the agent can advertise one <tt>manage_resource</tt> skill
whose <tt>input_schema</tt> requires a <tt>resource_id</tt> and an <tt>operation</tt> value of
either <tt>read</tt> or <tt>delete</tt>. That schema should describe the effect of each
value, and the skill must advertise <tt>approval_may_be_required</tt> as <tt>true</tt> if
deletion may require approval. In either design, the agent authorizes the
specific requested operation at invocation time.</t>
      <t>The interface version 1.0 A2A mapping identifies the protocol elements
containing skill input, skill output, and supporting records. Those values
are validated against the corresponding domain schemas in the selected Skill
Interface Document.</t>
      <t>Successful schema or Skill Interface validation does not authorize execution.
Before processing an invocation, the receiving agent or hosting platform <bcp14>MUST</bcp14>
authenticate the caller and perform a current authorization decision covering
the requested skill, resources, operation, and applicable constraints. Before
causing a side effect, it <bcp14>MUST</bcp14> also enforce any approval or execution-control
requirements imposed by current deployment policy. Advertised <tt>authority</tt>
metadata does not replace these runtime decisions.</t>
      <t>The receiving agent or hosting platform remains authoritative for every
runtime authorization and approval decision. The <tt>authority</tt> member can help a
client understand a skill's advertised operating posture, but it is not an A2A
capability declaration and cannot establish what a particular caller is
permitted to do.</t>
      <section anchor="skill-input">
        <name>Skill input</name>
        <t>The skill input is the domain-specific application data submitted to a skill
invocation. The input <bcp14>MUST</bcp14> validate against the <tt>input_schema</tt> in the selected
Skill Interface Document. The interface version 1.0 A2A mapping carries that
input in the <tt>arguments</tt> member of its skill request object. As
specified in <xref target="domain-skill-invocation"/>, that object is the <tt>data</tt> value of
the A2A user Message's single Data Part.</t>
        <t>Constraints that affect skill execution <bcp14>MUST</bcp14> be represented in and validated
by the skill's <tt>input_schema</tt>. A receiving agent <bcp14>MUST</bcp14> enforce a supplied
constraint or reject the invocation with the <tt>constraint_rejected</tt>
machine-readable error condition defined in <xref target="error-conditions"/>; it <bcp14>MUST NOT</bcp14>
silently ignore a valid constraint. Constraints enforced solely by a
delegating system need not be transmitted. The names, structures, and
semantics of transmitted constraints are defined by the domain-specific input
schema rather than by this framework. Protocol lifecycle and authorization
controls remain the responsibility of A2A and deployment policy.</t>
        <t>Version 1.0 applies <tt>input_schema</tt> to the complete <tt>arguments</tt> value in the
initial domain-skill invocation. If an A2A Task enters
<tt>TASK_STATE_INPUT_REQUIRED</tt>, a caller's follow-up Message may contain only the
information requested by the agent. Version 1.0 does not define a schema for
such follow-up data, and the follow-up is not independently validated against
<tt>input_schema</tt>. A deployment that requires schema-governed multi-turn input
needs an additional profile or separately advertised skill for that exchange.
The combined intermediate-exchange example in <xref target="domain-skill-invocation"/>
illustrates an input-required request, the caller's partial reply, and the
separate task identifiers used when another agent is invoked.</t>
      </section>
      <section anchor="skill-output">
        <name>Skill output</name>
        <t>The skill output is the domain-specific application data produced by a skill
invocation. The output <bcp14>MUST</bcp14> validate against the <tt>output_schema</tt> in the
selected Skill Interface Document. The interface version 1.0 A2A mapping
carries that output in the <tt>result</tt> member of its skill result object. As
specified in <xref target="domain-skill-invocation"/>, that object is the <tt>data</tt> value of
the primary A2A Artifact's single Data Part.</t>
        <t>Protocol task status indicates whether protocol execution completed; it is
not part of the skill output. Completion of a protocol task does not by itself
establish that a requested downstream network operation completed
successfully. The domain output schema defines how the skill reports the
result of that operation.</t>
        <t>Version 1.0 applies <tt>output_schema</tt> to the complete final <tt>result</tt>, after any
streamed Artifact updates have been assembled. It does not apply independently
to A2A status Messages, progress updates, or incomplete Artifact chunks.
Version 1.0 therefore defines no separate streaming-output schema: A2A governs
delivery of partial Artifact updates, while this document validates the
assembled final result and each complete supporting record. The schema boundary
for each intermediate exchange is summarized in
<xref target="domain-skill-invocation"/>.
Supporting records and the primary output are separate Artifacts within the
same A2A Task. An agent <bcp14>MAY</bcp14> stream zero or more complete supporting-record
Artifacts before it produces the primary result Artifact. Each supporting
record validates independently against its declared supporting-record schema,
while the complete primary result validates against <tt>output_schema</tt>. A
supporting record does not merge with or replace the primary result, and the
final result <bcp14>MAY</bcp14> reference it by its A2A <tt>artifactId</tt>. An early finding
intended for independent machine consumption <bcp14>SHOULD</bcp14> be published as such a
supporting record.</t>
      </section>
      <section anchor="supporting-record-schemas">
        <name>Supporting-record schemas</name>
        <t>A supporting record is a domain-specific observation or artifact used to
derive, validate, reproduce, or audit a skill output. Each entry in
<tt>supporting_record_schemas</tt> associates a <tt>kind</tt> with the Schema Reference for
the complete record. A produced record <bcp14>MUST</bcp14> validate against the schema for
its identified kind. A protocol progress update is not a supporting record
unless it is published in that form and passes this validation.</t>
        <t>Each supporting-record <tt>kind</tt> in a Skill Interface Document <bcp14>MUST</bcp14> be unique and
<bcp14>MUST NOT</bcp14> equal that document's <tt>skill_id</tt>. This prevents a supporting-record
Artifact from being confused with the primary result Artifact, whose <tt>name</tt>
equals <tt>skill_id</tt>.</t>
        <t>This framework does not define an additional common record envelope. The
domain schema defines any required record identifier, producer, source,
observation time, production time, integrity, derivation, classification, or
payload fields. Under this mapping, each supporting record is carried in an
A2A Artifact belonging to the same A2A Task, so the record's domain schema
need not repeat the A2A task or context identifier.</t>
        <t>When supporting records justify a skill output, the domain <tt>output_schema</tt>
          <bcp14>SHOULD</bcp14> define where the output carries their references. For records carried
by the same A2A Task, each reference <bcp14>SHOULD</bcp14> identify the corresponding A2A
Artifact by <tt>artifactId</tt>. This document does not mandate a common property
name or reference structure within every domain output.</t>
        <t>The skill output is the answer, decision, or deliverable normally consumed by
the caller. Supporting records contain the observations and artifacts that
support that output. They <bcp14>MUST</bcp14> be published in separate Artifacts. The output
<bcp14>SHOULD</bcp14> reference a supporting record by its <tt>artifactId</tt> instead of embedding
a duplicate copy.</t>
      </section>
    </section>
    <section anchor="a2a-mapping-for-interface-version-10">
      <name>A2A Mapping for Interface Version 1.0</name>
      <t>This section defines how interface version 1.0 maps schema-interface
operations and data to A2A Messages, Data Parts, Tasks, Artifacts, and status
messages. An implementation <bcp14>MAY</bcp14> use any A2A protocol binding that preserves
these protocol elements and their semantics.</t>
      <section anchor="agent-advertisement">
        <name>Agent advertisement</name>
        <t>An agent conforming to this framework <bcp14>MUST</bcp14> advertise <tt>describe_skill</tt> and each
schema-governed domain skill in its Agent Card.  It <bcp14>MUST</bcp14> also advertise the
following A2A extension in <tt>AgentCapabilities.extensions</tt>:</t>
        <t><tt>text
https://agentic-network-management.github.io/agent-schema-interfaces/extensions/schema-interface/v1
</tt></t>
        <t>The extension <bcp14>MAY</bcp14> be marked <tt>required: false</tt> so that extension-unaware
clients can continue to use the agent through base A2A procedures.  A client
using the procedure in this document <bcp14>MUST</bcp14> activate the extension for
<tt>describe_skill</tt> and domain-skill requests as specified by A2A <xref target="A2A"/>.
When the HTTP binding is used, the client requests activation by including
the extension URI in the <tt>A2A-Extensions</tt> request header.  An agent that
activates the extension <bcp14>SHOULD</bcp14> echo that URI in the <tt>A2A-Extensions</tt> response
header, as specified by A2A.  The A2A Message <tt>extensions</tt> list <bcp14>MUST</bcp14> also
include the URI when the Message carries a request object defined by this
document.  The header performs extension activation; the Message field
identifies the extension as relevant to that Message.</t>
        <t>The extension <tt>params</tt> <bcp14>MUST</bcp14> contain <tt>interface_version</tt> with value <tt>1.0</tt> and a
<tt>skills</tt> array.  Each entry <bcp14>MUST</bcp14> contain <tt>skill_id</tt>, <tt>skill_version</tt>, and
<tt>interface_digest</tt>.  The <tt>skill_id</tt> <bcp14>MUST</bcp14> identify an <tt>AgentSkill</tt> in the same
Agent Card.  The <tt>interface_digest</tt> <bcp14>MUST</bcp14> be the Skill Interface Document
Digest for the document returned by <tt>describe_skill</tt> for that skill.  Version
1.0 permits exactly one advertised <tt>skill_version</tt> and <tt>interface_digest</tt>
binding for each <tt>skill_id</tt> in an Agent Card.</t>
        <t>The following fragment illustrates the extension advertisement:</t>
        <t><tt>json
{
  "uri": "https://agentic-network-management.github.io/agent-schema-interfaces/extensions/schema-interface/v1",
  "description": "Schema interfaces for advertised skills",
  "required": false,
  "params": {
    "interface_version": "1.0",
    "skills": [
      {
        "skill_id": "example_skill",
        "skill_version": "1.0",
        "interface_digest": "sha256:..."
      }
    ]
  }
}
</tt></t>
        <t>The client selects the advertised <tt>skill_id</tt>, <tt>skill_version</tt>, and
<tt>interface_digest</tt> before calling <tt>describe_skill</tt>.  Version 1.0 does not
define request parameters for negotiating or selecting another interface or
skill version within <tt>describe_skill</tt>.  An agent that needs to advertise
concurrent incompatible versions in version 1.0 <bcp14>MUST</bcp14> expose them using
distinct skill identifiers. A client selects one of those identifiers from
the Agent Card; it <bcp14>MUST NOT</bcp14> infer a version range or negotiate an unadvertised
version.</t>
        <t>When an agent replaces an advertised interface with a backward-compatible
revision, it increments the minor <tt>skill_version</tt> and advertises the new
version and digest. During a migration in which old and new incompatible
interfaces must remain callable concurrently, the agent advertises them under
distinct skill identifiers. Deprecation periods and removal policy are
deployment concerns, but removal of an advertised version <bcp14>MUST</bcp14> be reflected
in a newly retrieved Agent Card before clients can select it for new work.</t>
        <t>The <tt>describe_skill</tt> skill <bcp14>MUST</bcp14> accept structured input identifying the
selected <tt>skill_id</tt> and <bcp14>MUST</bcp14> produce structured output containing the
corresponding Skill Interface Document and its <tt>interface_digest</tt>.</t>
        <t>A caller <bcp14>MUST NOT</bcp14> assume that every Agent-to-Agent implementation conforms to
this framework. Absence of either the schema-interface extension or the
<tt>describe_skill</tt> skill from the Agent Card means that the agent does not
provide the schema-interface procedure defined here.
Such an agent <bcp14>MAY</bcp14> still be invoked using the base Agent-to-Agent protocol or an
explicitly configured out-of-band interface contract. The caller <bcp14>MUST NOT</bcp14>
infer or prescribe the remote skill's domain schemas from skill descriptions
or media types alone, and <bcp14>MUST NOT</bcp14> claim schema-interface conformance or
schema-governed compatibility for such an invocation. Supporting multiple
non-conforming agents requires separately configured contracts, adapters, or
other bilateral integration mechanisms. This is the scaling problem addressed
by this document: replacing an expanding collection of bilateral integrations
with one standardized interface-retrieval procedure.</t>
      </section>
      <section anchor="describe-skill-request">
        <name><tt>describe_skill</tt> request</name>
        <t>The request identifies one advertised skill by <tt>skill_id</tt>. It does not carry
<tt>interface_version</tt>, <tt>skill_version</tt>, a version range, or another in-band
negotiation parameter.</t>
        <t>The client <bcp14>MUST</bcp14> invoke the A2A Send Message or Send Streaming Message
operation with a user-role Message containing exactly one Data Part. The
Data Part's <tt>data</tt> value <bcp14>MUST</bcp14> be the following request object:</t>
        <t><tt>json
{
  "skill": "describe_skill",
  "arguments": {
    "skill_id": "example_skill"
  }
}
</tt></t>
      </section>
      <section anchor="describeskill-response">
        <name><tt>describe_skill</tt> response</name>
        <t>On success, the A2A task <bcp14>MUST</bcp14> reach the completed state and contain exactly
one Artifact. The Artifact <tt>name</tt> <bcp14>MUST</bcp14> be <tt>describe_skill</tt>, and the Artifact
<bcp14>MUST</bcp14> contain exactly one Data Part. Its <tt>data</tt> value <bcp14>MUST</bcp14> be the following
object, where the notation in angle brackets represents the complete Skill
Interface Document rather than a JSON string:</t>
        <t><tt>text
{
  "skill": "describe_skill",
  "result": {
    "interface_digest": "sha256:...",
    "interface": &lt;Skill Interface Document&gt;
  }
}
</tt></t>
        <t>The <tt>result.interface</tt> value is a Skill Interface Document conforming to the
advertised and previously selected version of the standardized Skill
Interface Schema.  Its <tt>skill_version</tt> <bcp14>MUST</bcp14> equal the advertised
domain-skill version selected before the request.  The
<tt>result.interface_digest</tt> value <bcp14>MUST</bcp14> equal the <tt>interface_digest</tt> advertised
for the selected skill.  The client <bcp14>MUST</bcp14> calculate the Skill Interface
Document Digest of <tt>result.interface</tt> and verify that it equals both values.
In version 1.0, every Schema Reference in the document <bcp14>MUST</bcp14> contain the
complete domain schema inline in <tt>resolution.schema</tt> and <bcp14>MUST</bcp14> set
<tt>resolution.type</tt> to <tt>inline</tt>.</t>
        <t>The response <bcp14>MUST</bcp14> be the previously assembled and validated document for the
selected skill version. The <tt>describe_skill</tt> operation <bcp14>MUST NOT</bcp14> redefine the
standard structure or invoke domain logic to construct or modify the document
while processing the request. The returned input, output, and
supporting-record schemas remain specific to the selected agent and skill.</t>
        <t>The selected document and its calculated digest <bcp14>MUST</bcp14> correspond to the skill
version and digest advertised by the agent. If an advertised interface cannot
currently be returned, the agent <bcp14>MUST</bcp14> report <tt>interface_unavailable</tt>. If the
available document is malformed, inconsistent with the selected skill,
versions, or digest, or otherwise fails required validation, the agent <bcp14>MUST</bcp14>
report <tt>interface_invalid</tt>. It <bcp14>MUST NOT</bcp14> accept or return an unvalidated opaque
payload as a substitute.</t>
      </section>
      <section anchor="domain-skill-invocation">
        <name>Domain-skill invocation</name>
        <t>After validating the selected Skill Interface Document, a client invokes the
domain skill with the A2A Send Message or Send Streaming Message operation.
The user-role Message <bcp14>MUST</bcp14> contain exactly one Data Part. The Data Part's
<tt>data</tt> value <bcp14>MUST</bcp14> be this skill request object:</t>
        <t><tt>json
{
  "skill": "example_skill",
  "skill_version": "1.0",
  "interface_digest": "sha256:...",
  "arguments": {
    "objective": "Evaluate the selected network resource"
  }
}
</tt></t>
        <t>The <tt>skill</tt> value <bcp14>MUST</bcp14> equal the selected Agent Card skill identifier.  The
<tt>skill_version</tt> and <tt>interface_digest</tt> values <bcp14>MUST</bcp14> equal the values selected
from the Agent Card extension, returned by <tt>describe_skill</tt>, and validated by
the client.  Before validating <tt>arguments</tt> or invoking domain logic, the
receiving agent <bcp14>MUST</bcp14> compare both values with its currently active Skill
Interface Document for that skill.  It <bcp14>MUST</bcp14> reject the request with
<tt>interface_mismatch</tt> if either value differs.  The <tt>arguments</tt> value is the
complete domain input and <bcp14>MUST</bcp14> validate against the selected Skill Interface
Document's <tt>input_schema</tt>. The receiving agent <bcp14>MUST</bcp14> reject a nonconforming
input with <tt>input_invalid</tt> before invoking domain logic.</t>
        <t>Base A2A does not assign a primary role to an Artifact. This profile uses the
term <em>primary result Artifact</em> for the one Artifact that carries the final
skill output. It is identified by an Artifact <tt>name</tt> equal to the selected
skill identifier and by a single Data Part containing the skill result object
defined below.</t>
        <t>On success, the task <bcp14>MUST</bcp14> reach the completed state and contain exactly one
primary result Artifact:</t>
        <t><tt>json
{
  "skill": "example_skill",
  "result": {
    "status": "succeeded"
  }
}
</tt></t>
        <t>The <tt>result</tt> value is the complete domain output and <bcp14>MUST</bcp14> validate against the
selected Skill Interface Document's <tt>output_schema</tt>.</t>
        <t>Each supporting record, when present, <bcp14>MUST</bcp14> be carried in a separate Artifact.
The Artifact <tt>name</tt> <bcp14>MUST</bcp14> equal the record <tt>kind</tt> declared in
<tt>supporting_record_schemas</tt>, and its single Data Part <bcp14>MUST</bcp14> contain the complete
record value that validates against the Schema Reference associated with that
kind. The record <tt>kind</tt>, and therefore the supporting Artifact <tt>name</tt>, <bcp14>MUST NOT</bcp14>
equal the selected <tt>skill_id</tt>. The Artifact <tt>artifactId</tt> provides a stable
task-scoped identifier that the domain output <bcp14>MAY</bcp14> reference. A record
transported or retrieved outside the task requires a stable reference
mechanism defined by its domain schema.</t>
        <t>The same final Task and Artifact requirements apply whether the client uses
synchronous completion, streaming updates, or task retrieval and polling.
For streaming, A2A governs Artifact-update delivery through <tt>artifactId</tt>,
<tt>append</tt>, and <tt>lastChunk</tt> <xref target="A2A"/>. When <tt>append</tt> is <tt>true</tt>, the event content is
appended to previously delivered content for the same Artifact. This profile
does not assign additional semantics to <tt>append</tt> when it is <tt>false</tt> or absent,
and does not define independent schema conformance for a partial update. A
client <bcp14>MAY</bcp14> process the A2A updates incrementally or retrieve the completed Task
using the A2A Get Task operation. In either case, the complete primary result
<bcp14>MUST</bcp14> validate against <tt>output_schema</tt>.</t>
        <t>The following summary shows the schema boundary for intermediate exchanges in
version 1.0:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Exchange</th>
              <th align="left">Schema applied by this document</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Initial skill request <tt>arguments</tt></td>
              <td align="left">
                <tt>input_schema</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>TASK_STATE_INPUT_REQUIRED</tt> status Message</td>
              <td align="left">None</td>
            </tr>
            <tr>
              <td align="left">Caller follow-up Message answering that request</td>
              <td align="left">None</td>
            </tr>
            <tr>
              <td align="left">Incomplete primary result Artifact update or chunk</td>
              <td align="left">No independent v1.0 validation; A2A update semantics apply</td>
            </tr>
            <tr>
              <td align="left">Complete final primary result Artifact <tt>result</tt></td>
              <td align="left">
                <tt>output_schema</tt></td>
            </tr>
            <tr>
              <td align="left">Complete supporting-record Artifact</td>
              <td align="left">Matching entry in <tt>supporting_record_schemas</tt></td>
            </tr>
          </tbody>
        </table>
        <t>The <em>primary result Artifact</em> is the profile-defined Artifact described in
<xref target="domain-skill-invocation"/>; base A2A does not assign a primary role to an
Artifact. The following example combines the intermediate exchanges described
above:</t>
        <t>```text
1. Initial request
   arguments validates against input_schema.</t>
        <ol spacing="normal" type="1"><li>
            <t>Status update: TASK_STATE_INPUT_REQUIRED
The agent requests one missing credential reference. No schema for this
status Message is defined by version 1.0.</t>
          </li>
          <li>
            <t>Caller follow-up Message
The caller sends only the requested credential reference. The reply
augments the Task interaction; it does not replace the original input and
is not independently validated against input_schema.</t>
          </li>
          <li>
            <t>Supporting-record Artifact update
artifactId="record-1", name="observation-record"
The complete record validates against the advertised observation-record
schema.</t>
          </li>
          <li>
            <t>Incomplete primary result Artifact update
artifactId="result-1", name="example_skill", lastChunk=false
This update lacks fields required in the final result. A2A governs its
delivery, and version 1.0 does not validate it independently against
output_schema.</t>
          </li>
          <li>
            <t>Complete primary result Artifact update
artifactId="result-1", name="example_skill", lastChunk=true
This final update contains the complete primary result. It validates
against output_schema and may reference "record-1" as supporting
information. A client may instead retrieve this complete Artifact from the
Task using the A2A Get Task operation.</t>
          </li>
          <li>
            <t>Status update: TASK_STATE_COMPLETED
The agent reports completion only after validating the complete result.
```</t>
          </li>
        </ol>
        <t>If the receiving agent delegates work to another agent during this sequence,
that delegation creates a distinct downstream A2A Task. An input-required
status or Artifact belongs to the Task that emitted it. The delegating
component records the association between the upstream and downstream task
identifiers, qualified by their respective agent identities or endpoints; it
does not reuse either identifier for the other Task.</t>
        <t>All Artifacts in this sequence belong to the same A2A Task. The supporting
record and primary result remain separate and each is validated against its
own advertised schema. Version 1.0 does not define separate schemas for
partial primary results or input-required replies.</t>
      </section>
      <section anchor="error-conditions">
        <name>Machine-readable error conditions</name>
        <t>An error detected locally by a client before the remote agent creates a task
<bcp14>MUST NOT</bcp14> be represented as a state of a nonexistent remote task. The client
<bcp14>MUST</bcp14> stop the applicable procedure and report the machine-readable condition
locally or through the error mechanism of its enclosing system.</t>
        <t>When the remote agent reports one of the conditions below through an A2A Task,
the Task's final status Message <bcp14>MUST</bcp14> contain exactly one Data Part whose
<tt>data</tt> value has this form:</t>
        <t><tt>json
{
  "error": {
    "code": "interface_invalid",
    "message": "The selected interface document is invalid"
  }
}
</tt></t>
        <t>The <tt>code</tt> value <bcp14>MUST</bcp14> be one of the machine-readable conditions below or an
additional value defined by a future profile. The human-readable <tt>message</tt>
          <bcp14>MAY</bcp14> be omitted. A server-side error detected before task creation <bcp14>MUST</bcp14> be
carried using the error mechanism of the selected A2A protocol binding and
<bcp14>SHOULD</bcp14> expose the same machine-readable code when that binding permits it.
These conditions are not skill outputs and are not validated against the
selected skill's <tt>output_schema</tt>.</t>
        <t>The <tt>interface_invalid</tt> condition identifies a defect in the Skill Interface
Document or an embedded schema. It <bcp14>MUST NOT</bcp14> be used when a valid interface
rejects a particular data instance. Such instance failures use
<tt>input_invalid</tt>, <tt>output_invalid</tt>, or <tt>constraint_rejected</tt>, as applicable.</t>
        <t>A remote Task <bcp14>MUST</bcp14> reach <tt>TASK_STATE_REJECTED</tt> when the request is understood
but is not accepted for execution because of <tt>interface_mismatch</tt>,
<tt>input_invalid</tt>, <tt>constraint_rejected</tt>, or <tt>authorization_failed</tt>. A remote
Task <bcp14>MUST</bcp14> reach <tt>TASK_STATE_FAILED</tt> when an accepted operation cannot complete,
including when <tt>describe_skill</tt> cannot produce a valid advertised interface or
when domain processing cannot produce valid output. A
<tt>resource_limit_exceeded</tt> condition uses <tt>TASK_STATE_REJECTED</tt> when the limit
is checked before acceptance and <tt>TASK_STATE_FAILED</tt> when the limit is reached
during processing.</t>
        <t>An implementation <bcp14>MUST</bcp14> distinguish at least the following conditions:</t>
        <ul spacing="normal">
          <li>
            <t><tt>skill_not_advertised</tt>: the requested <tt>skill_id</tt> is not advertised by the
selected agent endpoint;</t>
          </li>
          <li>
            <t><tt>unsupported_interface_version</tt>: the advertised or returned Skill Interface
version is not supported by the client;</t>
          </li>
          <li>
            <t><tt>interface_unavailable</tt>: the selected interface is advertised but cannot
currently be returned;</t>
          </li>
          <li>
            <t><tt>interface_invalid</tt>: a Skill Interface Document is malformed, does not match
the selected skill, fails validation against the version 1.0 Skill
Interface Schema, or contains an embedded schema that fails digest or
schema validation;</t>
          </li>
          <li>
            <t><tt>interface_mismatch</tt>: a domain-skill invocation carries a <tt>skill_version</tt> or
<tt>interface_digest</tt> that does not match the receiving agent's currently
active Skill Interface Document for that skill;</t>
          </li>
          <li>
            <t><tt>input_invalid</tt>: the domain input does not validate against the selected
Skill Interface Document's <tt>input_schema</tt>;</t>
          </li>
          <li>
            <t><tt>output_invalid</tt>: the produced domain output does not validate against the
selected Skill Interface Document's <tt>output_schema</tt>;</t>
          </li>
          <li>
            <t><tt>constraint_rejected</tt>: a structurally valid requested constraint cannot be
honored or enforced by the receiving agent;</t>
          </li>
          <li>
            <t><tt>authorization_failed</tt>: authentication, authorization, or a required
approval check does not permit the requested invocation or side effect; and</t>
          </li>
          <li>
            <t><tt>resource_limit_exceeded</tt>: processing the interface, schema, input, output,
or supporting records would exceed an implementation resource limit.</t>
          </li>
        </ul>
        <t>The <tt>skill_not_advertised</tt> condition can be detected by a client before it
sends <tt>describe_skill</tt>. A client <bcp14>MUST NOT</bcp14> send the request when the Agent Card
does not advertise the selected skill. A client detects
<tt>unsupported_interface_version</tt> when the extension advertisement or returned
document uses an interface version it does not support. Neither client-side
condition creates a remote failed Task. If a server receives a domain-skill
invocation based on a stale interface, it <bcp14>MUST</bcp14> report <tt>interface_mismatch</tt>
through the interface version 1.0 A2A mapping using <tt>TASK_STATE_REJECTED</tt>.</t>
        <t>A client that detects <tt>interface_invalid</tt> locally <bcp14>MUST</bcp14> reject the document and
<bcp14>MUST NOT</bcp14> delegate the domain skill under this framework. An implementation
<bcp14>MAY</bcp14> include a <tt>details</tt> array for <tt>input_invalid</tt> and <tt>output_invalid</tt>. Each
entry <bcp14>MUST</bcp14> contain an <tt>instance_path</tt> identifying the invalid field using a
JSON Pointer <xref target="JSON-POINTER"/>. It <bcp14>MAY</bcp14> contain a <tt>schema_path</tt>, <tt>keyword</tt>,
<tt>expected</tt>, and <tt>actual</tt> value. These fields are diagnostic and do not replace
the machine-readable error <tt>code</tt>. For example:</t>
        <t><tt>json
{
  "error": {
    "code": "input_invalid",
    "message": "The threshold must be numeric",
    "details": [
      {
        "instance_path": "/threshold",
        "schema_path": "/properties/threshold/type",
        "keyword": "type",
        "expected": "number",
        "actual": "string"
      }
    ]
  }
}
</tt></t>
        <t>Diagnostic details <bcp14>MUST NOT</bcp14> disclose credentials, sensitive policy state,
input values prohibited by local security policy, or other information that
the caller is not authorized to receive.</t>
        <t>The receiving agent <bcp14>MUST</bcp14> validate domain output before it reports
<tt>TASK_STATE_COMPLETED</tt>; invalid output results in <tt>output_invalid</tt> and
<tt>TASK_STATE_FAILED</tt>. A client <bcp14>MUST</bcp14> independently validate received output. If
it detects invalid output after the remote agent reported completion, it <bcp14>MUST</bcp14>
treat the output as unusable and report <tt>output_invalid</tt> locally; it cannot
retroactively change the remote Task state.</t>
      </section>
      <section anchor="client-behavior">
        <name>Client-agent behavior</name>
        <t>The following figure illustrates the conceptual inline flow between a client
agent and a remote network management agent. Inline delivery does not replace
Schema References. Each reference retains its stable identity, version,
dialect, and digest while carrying the schema content in its <tt>resolution</tt>
field.</t>
        <artwork type="ascii-art"><![CDATA[
       Client Agent                         Remote Agent
            |                                    |
            |------ Retrieve Agent Card -------->|
            |<-- Skills, versions, and interface |
            |    digests in A2A extension -------|
            |                                    |
            | Select advertised interface and    |
            | skill versions and digest          |
            |                                    |
            |--- describe_skill(skill_id) ------>|
            |<-- Document and interface_digest --|
            |       Schema References:           |
            |       - input schema               |
            |       - output schema              |
            |       - supporting records         |
            |       resolution.type = inline     |
            |       embedded schema content      |
            |                                    |
            | Validate document digest,          |
            | references, digests, and schemas   |
            |                                    |
            |--- Delegate request with version ->|
            |    and interface_digest            |
            |<--- Status, output, and records ---|
            | Validate response using cached     |
            | Schema References                  |
]]></artwork>
        <t>The client verifies each embedded schema against the digest declared by its
Schema Reference before using it. The following steps define the v1.0 client
behavior.</t>
        <t>A client agent performs the following sequence:</t>
        <ol spacing="normal" type="1"><li>
            <t>retrieve the target Agent Card and obtain its A2A endpoint and schema-
interface extension advertisement;</t>
          </li>
          <li>
            <t>verify that both <tt>describe_skill</tt> and the selected domain skill are
advertised, and select the advertised <tt>skill_version</tt> and
<tt>interface_digest</tt> for that domain skill;</t>
          </li>
          <li>
            <t>call <tt>describe_skill</tt> for the selected <tt>skill_id</tt> using the interface
version 1.0 A2A mapping;</t>
          </li>
          <li>
            <t>verify that the <tt>interface_digest</tt> returned by <tt>describe_skill</tt> equals the
advertised value, calculate the digest of the returned Skill Interface
Document, and verify that the calculated value also equals it;</t>
          </li>
          <li>
            <t>validate the returned Skill Interface Document against a trusted local
copy of the version 1.0 Skill Interface Schema, verify that its
<tt>interface_version</tt> is <tt>1.0</tt>, and verify that its <tt>skill_id</tt> and
<tt>skill_version</tt> identify the selected skill and version;</t>
          </li>
          <li>
            <t>verify every embedded domain schema against its Schema Reference digest;</t>
          </li>
          <li>
            <t>validate the outgoing skill input against <tt>input_schema</tt>;</t>
          </li>
          <li>
            <t>delegate the task through the Agent-to-Agent protocol, carrying the
selected <tt>skill_version</tt> and <tt>interface_digest</tt> in the skill request;</t>
          </li>
          <li>
            <t>receive task status, typed skill output, and supporting records according
to that mapping;</t>
          </li>
          <li>
            <t>validate the skill output against <tt>output_schema</tt> and validate the
   supporting records; and</t>
          </li>
          <li>
            <t>preserve, forward, display, or interpret them according to local policy.</t>
          </li>
        </ol>
        <t>Before delegating a domain skill under this framework, the client agent <bcp14>MUST</bcp14>
possess a successfully validated Skill Interface Document obtained from that
target's <tt>describe_skill</tt> skill. If <tt>describe_skill</tt> is absent, fails, returns
a document for a different skill or version, or returns a document that cannot
be validated, the client agent <bcp14>MUST NOT</bcp14> delegate the domain request using the
procedure defined in this document.</t>
        <t>The client agent <bcp14>MAY</bcp14> reuse a cached Skill Interface Document without calling
<tt>describe_skill</tt> before every task when the cache entry is bound to the same
target identity, skill identifier, skill version, and interface digest
advertised by the current Agent Card. A change to any of those values
invalidates the entry and requires a new <tt>describe_skill</tt> exchange before the
next delegation.</t>
        <t>A generic client agent can validate and route an unfamiliar vendor schema
without understanding its domain semantics. A domain-aware orchestrator may
install optional handlers keyed by stable schema URI to evaluate operational
thresholds, incident records, configuration policy, or other domain behavior.</t>
        <t>A complete non-normative example is provided in <xref target="end-to-end-example"/>.</t>
      </section>
      <section anchor="composition-of-consecutive-skills">
        <name>Composition of consecutive skills</name>
        <t>When the output of one skill becomes the input to another skill, the component
initiating the downstream delegation is the client agent for that interaction.
That component may be a centralized orchestrator or the upstream agent itself
communicating directly with the downstream agent. The same composition rules
apply in either topology.</t>
        <t>The downstream delegation creates a new Agent-to-Agent task with its own task
identifier. The delegating component <bcp14>MUST</bcp14> retain the upstream and downstream
task identifiers as distinct values. It <bcp14>SHOULD</bcp14> preserve a correlation mapping
that includes the relevant agent identities or endpoints, skill identifiers,
task identifiers, and timestamps for observability, audit, and
troubleshooting. An implementation <bcp14>SHOULD</bcp14> define how this cross-hop
correlation metadata is carried or recorded. Fields such as <tt>workflow_id</tt>,
<tt>step_id</tt>, <tt>attempt_id</tt>, and <tt>parent_a2a_task_id</tt> may be
used when defined by the applicable domain schema or binding, but they do not
replace protocol task identifiers.</t>
        <t>The following figure shows the reference comparison and validation decisions
performed by that delegating component.</t>
        <artwork type="ascii-art"><![CDATA[
 Upstream Agent                 Delegating Component
       |                                  |
       |-- Output payload ---------------->|
       |   output_schema reference        |
       |                                  |
       |                         Retrieve downstream
       |                         Skill Interface
       |                                  |
       |                                  v
       |                         Downstream input_schema
       |                              reference
       |                                  |
       |                    Compare URI, version,
       |                    dialect, and digest
       |                                  |
       |                +-----------------+----------------+
       |                |                                  |
       |              Match                         No exact match
       |                |                                  |
       |      Validate output against              Reject direct
       |      downstream input schema               composition
       |                |
       |                v
       |      Create new downstream A2A task
       |      and delegate validated input
       |                |
       |                v
       |        Downstream Agent
       |      validates and processes
]]></artwork>
        <t>The standardized Schema Reference allows an orchestrating system or delegating
agent to determine direct-composition eligibility without interpreting a
domain-specific schema. Direct composition <bcp14>MUST</bcp14> require the Schema Reference
for the transferred upstream output payload and the Schema Reference accepted
for the corresponding downstream input to have the same <tt>schema_uri</tt>,
<tt>version</tt>, <tt>dialect</tt>, and <tt>digest</tt>. Because version 1.0 carries schemas inline,
the delegating component also verifies that each embedded schema matches its
declared digest.</t>
        <t>This exact-match rule is intentionally conservative. Two schemas can be
structurally similar, or can both accept a particular instance, while assigning
different meanings, units, defaults, constraints, or operational consequences
to the same fields. Inferring compatibility from shape or successful
validation alone could therefore connect semantically divergent interfaces.
Comparing the complete portable identity and content digest gives v1.0 a
deterministic composition decision without requiring domain interpretation,
schema negotiation, or a standardized compatibility algorithm. The rule does
not assert that only identical schemas can ever interoperate; it limits what
this specification treats as direct composition.</t>
        <t>The orchestrating system or delegating agent <bcp14>MUST</bcp14> validate the transferred
instance mechanically against the downstream input schema before delegation,
and the receiving agent <bcp14>MUST</bcp14> validate the received instance before processing
it. Neither operation requires the orchestrating system or delegating agent to
understand the schema's domain semantics.</t>
        <t>If those Schema Reference fields do not match, the delegating component <bcp14>MUST
NOT</bcp14> perform direct composition under this specification.</t>
        <t>An implementation can use an out-of-band transformation mechanism before
delegation. Transformation discovery, trust, execution, and provenance are
outside the scope of this document. Any resulting payload enters this
procedure as a new input and is subject to ordinary input validation against
the downstream <tt>input_schema</tt>.</t>
        <t>Matching Schema References and successful instance validation establish
structural compatibility, not operational correctness. The receiving agent
remains responsible for domain-semantic validation, authorization, policy
evaluation, and operational safety before acting on the input.</t>
        <t>For example, an input schema can define a network measurement with a metric,
value, unit, observation window, observation time, and requested constraints.
An instance reporting link capacity of 100 Gbps can be structurally valid
while failing a request that requires available bandwidth measured over a
particular window and no older than a specified age.  Capacity and available
bandwidth are not interchangeable merely because their values use the same
unit.  A generic client can validate and route the instance without
understanding that distinction.  A domain-aware orchestrator <bcp14>MAY</bcp14> reject it
before delegation; otherwise, the downstream agent <bcp14>MUST</bcp14> enforce the window,
scope, unit, and freshness constraints represented by fields in its input
schema and supplied by the invocation.  The component that detects the
failure <bcp14>MUST</bcp14> reject the invocation with <tt>constraint_rejected</tt>.</t>
      </section>
    </section>
    <section anchor="schema-publication-and-packaging">
      <name>Schema Publication and Packaging</name>
      <section anchor="vendor-release-artifacts">
        <name>Vendor release artifacts</name>
        <t>Agent domain schemas are deployment-independent source artifacts. The
standardized Skill Interface Schema is a separately versioned common artifact;
an implementation packages an exact trusted copy rather than maintaining an
agent-specific variation. A vendor release pipeline <bcp14>SHOULD</bcp14>:</t>
        <ol spacing="normal" type="1"><li>
            <t>validate all schemas;</t>
          </li>
          <li>
            <t>test representative inputs and outputs against them;</t>
          </li>
          <li>
            <t>assign stable schema URIs and versions;</t>
          </li>
          <li>
            <t>compute schema digests;</t>
          </li>
          <li>
            <t>when publishing a schema bundle, produce a bundle manifest; and</t>
          </li>
          <li>
            <t>sign or otherwise integrity-protect any published schema bundle.</t>
          </li>
        </ol>
        <t>Producing a schema bundle is optional. A bundle, registry, or agent package
may provide deployment-local source material for assembling a Skill Interface
Document. Regardless of that source, the resulting v1.0 document contains the
domain schemas inline. The release pipeline does not need access to a customer
registry.</t>
      </section>
      <section anchor="agent-initialization">
        <name>Agent initialization</name>
        <t>Before advertising schema-interface support, an agent <bcp14>SHOULD</bcp14>:</t>
        <ol spacing="normal" type="1"><li>
            <t>load and integrity-check its packaged Skill Interface Schema;</t>
          </li>
          <li>
            <t>load its domain input, output, and supporting-record schemas;</t>
          </li>
          <li>
            <t>assemble a Skill Interface Document for each advertised skill version;</t>
          </li>
          <li>
            <t>validate each document and each inline schema digest; and</t>
          </li>
          <li>
            <t>calculate and retain the Skill Interface Document Digest for each immutable
validated representation; and</t>
          </li>
          <li>
            <t>advertise each skill version and digest through the schema-interface A2A
extension.</t>
          </li>
        </ol>
        <t>Failure to load, assemble, or validate an interface prevents that skill
version from being advertised through this framework. An implementation <bcp14>MUST
NOT</bcp14> silently fall back to an opaque unconstrained payload.</t>
      </section>
    </section>
    <section anchor="schema-evolution-and-compatibility">
      <name>Schema Evolution and Compatibility</name>
      <t>Schema publishers <bcp14>MUST</bcp14> treat a published schema version and digest as
immutable. A changed schema receives a new version and digest.</t>
      <t>Compatibility policy <bcp14>SHOULD</bcp14> be applied to a governed schema family. Structural
compatibility checking is necessary but not sufficient. It cannot establish
that units, operational interpretation, authority, or supporting-record
quality remain compatible.</t>
      <t>A breaking semantic change requires a new major version even if a structural
JSON Schema checker accepts the change. Examples include:</t>
      <ul spacing="normal">
        <li>
          <t>changing a utilization value from percent to a fraction;</t>
        </li>
        <li>
          <t>changing a timestamp from observation time to processing time;</t>
        </li>
        <li>
          <t>changing a supporting-record classification from authoritative to inferred;
or</t>
        </li>
        <li>
          <t>changing a configuration artifact from candidate to applied state.</t>
        </li>
      </ul>
      <t>The Skill Interface Document <bcp14>MUST</bcp14> identify the exact schema versions currently
used by the skill. When a registry is used as a deployment-local management
mechanism, the document assembler <bcp14>MUST</bcp14> select an exact version and digest; it
<bcp14>MUST NOT</bcp14> substitute a mutable <tt>latest</tt> value. A client validates and uses the
schema embedded in the accepted document.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <section anchor="schema-trust">
        <name>Schema trust</name>
        <t>A syntactically valid schema is not necessarily trustworthy. A client agent
applies policy for trusted publishers, schema identities, digests, versions,
and dialects.</t>
      </section>
      <section anchor="arbitrary-retrieval">
        <name>Arbitrary retrieval</name>
        <t>Following arbitrary schema URLs can expose a client agent to server-side
request forgery, credential leakage, malicious redirects, and availability
attacks. Version 1.0 Schema References contain inline schema content and <bcp14>MUST
NOT</bcp14> direct the client agent to retrieve a schema from an arbitrary URL.
Deployment-local schema-management tools that contact registries or other
services remain subject to administrator-configured trust and network policy.</t>
      </section>
      <section anchor="resource-limits">
        <name>Resource limits</name>
        <t>An implementation <bcp14>MUST</bcp14> enforce limits on schema size, nesting, reference
depth, reference cycles, compilation time, payload size, and cache
consumption. When an operation is rejected because one of these limits would
be exceeded, the implementation <bcp14>MUST</bcp14> report the <tt>resource_limit_exceeded</tt>
machine-readable condition defined in <xref target="error-conditions"/> through the
applicable binding. The error response need not disclose the configured
threshold or other sensitive implementation details.</t>
        <t>Version 1.0 does not define numeric interoperability minima for these limits.
A future interface version <bcp14>MAY</bcp14> define minimum supported capacities or maximum
interoperable sizes for implementations that claim conformance to that
version.</t>
      </section>
      <section anchor="schema-validation-and-authorization">
        <name>Schema validation and authorization</name>
        <t>Schema validation establishes structural conformance, not caller authority,
operational safety, truth, or permission to modify a network. The <tt>authority</tt>
member of a Skill Interface Document is descriptive and <bcp14>MUST NOT</bcp14> be interpreted
as a permission grant or evidence that an approval has been obtained.</t>
        <t>At invocation time, the receiving agent or hosting platform <bcp14>MUST</bcp14> authenticate
the caller and authorize the requested skill, resources, operation, and
applicable constraints under current local policy. It <bcp14>MUST</bcp14> repeat or refresh
the authorization decision when required by that policy before causing a side
effect. A cached Skill Interface Document, successful schema validation, or a
previous authorization decision <bcp14>MUST NOT</bcp14> substitute for a required current
decision. A denied authentication, authorization, or required approval check
<bcp14>MUST</bcp14> reject the invocation with the <tt>authorization_failed</tt> machine-readable
condition defined in <xref target="error-conditions"/>.</t>
        <t>This document does not mandate an authorization model. Deployments may use
RBAC, ABAC, capability-based authorization, external policy decision points,
human or automated approval workflows, or another model that satisfies these
runtime requirements.</t>
      </section>
      <section anchor="supporting-record-integrity-and-provenance">
        <name>Supporting-record integrity and provenance</name>
        <t>Supporting records can be stale, replayed, forged, selectively omitted, or
derived from untrusted inputs. A supporting-record schema <bcp14>SHOULD</bcp14> require the
source, producer, relevant observation and production times, integrity data,
derivation, and classification needed by its domain. Deployments define
freshness and retention policy appropriate to the operation.</t>
      </section>
      <section anchor="injection">
        <name>Injection</name>
        <t>Text, CLI configuration, tool output, model output, and supporting-record
payloads are untrusted data. An agent does not treat instructions embedded in
those artifacts as authorized task instructions unless the applicable schema
and policy explicitly assign them that role.</t>
      </section>
      <section anchor="interface-integrity-and-substitution">
        <name>Interface integrity and substitution</name>
        <t>The remote agent and client agent <bcp14>MUST</bcp14> integrity-check the packaged Skill
Interface Schema before using it. A local implementation <bcp14>MUST NOT</bcp14> modify the
standardized schema while adding domain schemas.</t>
        <t>A client agent verifies that a retrieved Skill Interface Document identifies
the requested agent skill and advertised skill version. It validates the
document against the selected Skill Interface Schema, verifies all embedded
schema digests, and verifies that the calculated Skill Interface Document
Digest equals the value carried in the Agent Card and <tt>describe_skill</tt>
response. A structurally valid document for a different skill, version, or
digest <bcp14>MUST NOT</bcp14> be accepted as a substitute.</t>
        <t>The receiving agent verifies that the <tt>skill_version</tt> and <tt>interface_digest</tt>
carried by every domain-skill invocation identify its currently active Skill
Interface Document before it validates or acts on the domain input. This check
prevents a document change between interface retrieval and invocation from
silently changing the contract applied to a request.</t>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>Interface retrieval and validation <bcp14>SHOULD NOT</bcp14> add a <tt>describe_skill</tt> exchange
to every task. A client agent caches validated Skill Interface Documents,
verified inline domain schemas, and compiled validators. A cache entry is
bound to the agent identity, skill identifier, skill version, interface
version, and interface digest. A changed advertised version or digest
invalidates the corresponding entry.</t>
      <t>An implementation <bcp14>SHOULD</bcp14> expose diagnostics identifying:</t>
      <ul spacing="normal">
        <li>
          <t>the Skill Interface Schema version, skill version, and interface digest
selected;</t>
        </li>
        <li>
          <t>schema URIs, versions, and digests used;</t>
        </li>
        <li>
          <t>inline-schema digest verification results;</t>
        </li>
        <li>
          <t>validation failures;</t>
        </li>
        <li>
          <t>missing, malformed, or untrusted schemas;</t>
        </li>
        <li>
          <t>compatibility or policy failures; and</t>
        </li>
        <li>
          <t>upstream-to-downstream task mappings, qualified by agent identity or
endpoint.</t>
        </li>
      </ul>
      <t>For each delegation hop, diagnostics <bcp14>SHOULD</bcp14> preserve the upstream and
downstream agent identities or endpoints, their distinct task identifiers,
the selected skill identifier and version, the interface digest, and the
observed terminal state. This information supports audit and troubleshooting
across multi-hop workflows. It does not define a distributed-tracing protocol;
an A2A extension or deployment-specific mechanism may carry additional trace
context.</t>
      <t>Deployments using a registry or another management service <bcp14>SHOULD</bcp14> test that a
running agent can continue serving previously assembled and validated Skill
Interface Documents during temporary management-service unavailability. They
<bcp14>SHOULD</bcp14> also define cache refresh and schema-revocation behavior.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This early version does not request any IANA actions. A later version may
request identifiers for Skill Interface versions, media types, or URN
namespaces after the representation and protocol mapping stabilize.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="A2A" target="https://a2a-protocol.org/v1.0.1/specification/">
          <front>
            <title>Agent2Agent Protocol Specification, Version 1.0.1</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="JCS">
          <front>
            <title>JSON Canonicalization Scheme (JCS)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="RFC" value="8785"/>
        </reference>
        <reference anchor="JSON-SCHEMA" target="https://json-schema.org/draft/2020-12/json-schema-core.html">
          <front>
            <title>JSON Schema: A Media Type for Describing JSON Documents</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="JSON-SCHEMA-VALIDATION" target="https://json-schema.org/draft/2020-12/json-schema-validation.html">
          <front>
            <title>JSON Schema Validation: A Vocabulary for Structural Validation of JSON</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="JSON-POINTER">
          <front>
            <title>JavaScript Object Notation (JSON) Pointer</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="RFC" value="6901"/>
        </reference>
        <reference anchor="TIMESTAMP">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="RFC" value="3339"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="IDL" target="https://datatracker.ietf.org/doc/draft-feng-agentproto-idl-info-model/">
          <front>
            <title>IDL: A Semantic Information Model for Agent Communication</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 1453?>

<section anchor="skill-interface-json-schema">
      <name>Skill Interface JSON Schema</name>
      <t>The following JSON Schema is the complete version 1.0 Skill Interface Schema
defined by this document.  The same machine-readable artifact is published in
the source repository as <tt>schemas/skill-interface-v1.json</tt>.</t>
      <sourcecode type="json"><![CDATA[
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://agentic-network-management.github.io/agent-schema-interfaces/schemas/skill-interface-v1.json",
  "title": "Network Management Agent Skill Interface",
  "description": "Language-neutral schema interface for one agent skill.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "interface_version",
    "skill_id",
    "skill_version",
    "input_schema",
    "output_schema",
    "supporting_record_schemas",
    "interaction",
    "authority"
  ],
  "properties": {
    "interface_version": {
      "const": "1.0"
    },
    "skill_id": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9_-]*$"
    },
    "skill_version": {
      "$ref": "#/$defs/version"
    },
    "input_schema": {
      "$ref": "#/$defs/schemaReference"
    },
    "output_schema": {
      "$ref": "#/$defs/schemaReference"
    },
    "supporting_record_schemas": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/supportingRecordSchema"
      }
    },
    "interaction": {
      "$ref": "#/$defs/interaction"
    },
    "authority": {
      "$ref": "#/$defs/authority"
    }
  },
  "$defs": {
    "version": {
      "type": "string",
      "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$"
    },
    "digest": {
      "type": "string",
      "pattern": "^sha256:[0-9a-f]{64}$"
    },
    "resolution": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "schema"
      ],
      "properties": {
        "type": {
          "const": "inline"
        },
        "schema": {
          "type": "object"
        }
      }
    },
    "schemaReference": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schema_uri",
        "version",
        "dialect",
        "digest",
        "resolution"
      ],
      "properties": {
        "schema_uri": {
          "type": "string",
          "minLength": 1
        },
        "version": {
          "$ref": "#/$defs/version"
        },
        "dialect": {
          "const": "https://json-schema.org/draft/2020-12/schema"
        },
        "digest": {
          "$ref": "#/$defs/digest"
        },
        "resolution": {
          "$ref": "#/$defs/resolution"
        }
      }
    },
    "supportingRecordSchema": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "kind",
        "schema_reference"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "minLength": 1,
          "description": "Supporting-record kind; MUST NOT equal the containing Skill Interface Document's skill_id."
        },
        "schema_reference": {
          "$ref": "#/$defs/schemaReference"
        }
      }
    },
    "interaction": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "supported_response_modes",
        "cancellable"
      ],
      "properties": {
        "supported_response_modes": {
          "type": "array",
          "minItems": 1,
          "uniqueItems": true,
          "items": {
            "enum": [
              "sync",
              "stream",
              "poll"
            ]
          }
        },
        "cancellable": {
          "type": "boolean"
        }
      }
    },
    "authority": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "default_mode",
        "approval_may_be_required"
      ],
      "properties": {
        "default_mode": {
          "enum": [
            "observe_only",
            "recommend_only",
            "execute"
          ]
        },
        "approval_may_be_required": {
          "type": "boolean"
        }
      }
    }
  }
}
]]></sourcecode>
    </section>
    <section anchor="end-to-end-example">
      <name>Non-Normative End-to-End Example</name>
      <t>This example follows one invocation from interface retrieval through output
validation. It uses a domain skill that evaluates whether an observed
resource metric satisfies a caller-supplied threshold and returns the
observation as a supporting record.</t>
      <t>The interface version 1.0 mapping uses the following A2A structure for the
domain invocation:</t>
      <artwork type="ascii-art"><![CDATA[
 A2A user Message
 `-- Data Part
     `-- data: skill request object
         `-- arguments: domain input

 A2A completed Task
 |-- ordinary A2A Artifact carrying the primary skill output
 |   `-- Data Part
 |       `-- data: skill result object
 |           `-- result: domain output
 `-- ordinary A2A Artifact carrying one supporting record
     |-- name: supporting-record kind
     `-- Data Part
         `-- data: supporting-record value
]]></artwork>
      <t>A2A defines Message, Data Part, Task, and Artifact. The descriptions
"carrying the primary skill output" and "carrying one supporting record" are
roles assigned to ordinary A2A Artifacts by this mapping; they are not
distinct Artifact types defined by A2A.</t>
      <t>Assume an Agent Card advertises <tt>describe_skill</tt>, the
<tt>evaluate_resource_condition</tt> skill, and the following schema-interface
extension.  The digest value is repeated below to show the required binding
among advertisement, interface retrieval, and invocation:</t>
      <t><tt>json
{
  "uri": "https://agentic-network-management.github.io/agent-schema-interfaces/extensions/schema-interface/v1",
  "required": false,
  "params": {
    "interface_version": "1.0",
    "skills": [
      {
        "skill_id": "evaluate_resource_condition",
        "skill_version": "1.0",
        "interface_digest": "sha256:4dedea3f7ddf19e94d9fd0b30886624f50afb5aadc1b407508a05dd3c40f380d"
      }
    ]
  }
}
</tt></t>
      <t>The client activates the extension.  With the HTTP binding, the request
includes:</t>
      <t><tt>http
A2A-Extensions: https://agentic-network-management.github.io/agent-schema-interfaces/extensions/schema-interface/v1
</tt></t>
      <t>The A2A Message also lists that URI in <tt>extensions</tt> and carries the following
skill request object as the Data Part's <tt>data</tt> value:</t>
      <t><tt>json
{
  "skill": "describe_skill",
  "arguments": {
    "skill_id": "evaluate_resource_condition"
  }
}
</tt></t>
      <t>The agent returns the complete <tt>describe_skill</tt> skill result object below.
Its <tt>result.interface</tt> member is the Skill Interface Document, and
<tt>result.interface_digest</tt> carries the advertised digest outside that
document:</t>
      <t><tt>json
{
  "skill": "describe_skill",
  "result": {
    "interface_digest": "sha256:4dedea3f7ddf19e94d9fd0b30886624f50afb5aadc1b407508a05dd3c40f380d",
    "interface": {
    "interface_version": "1.0",
    "skill_id": "evaluate_resource_condition",
    "skill_version": "1.0",
    "input_schema": {
      "schema_uri": "urn:example:resource-condition:input:1.0",
      "version": "1.0",
      "dialect": "https://json-schema.org/draft/2020-12/schema",
      "digest": "sha256:a593fb695fd727eaa36602d9b539e53e54cde50aec6f4b7df5d624b70148f26a",
      "resolution": {
        "type": "inline",
        "schema": {
          "type": "object",
          "properties": {
            "resource_id": {
              "type": "string"
            },
            "condition": {
              "type": "object",
              "properties": {
                "metric": {
                  "type": "string"
                },
                "operator": {
                  "enum": [
                    "gt",
                    "gte",
                    "lt",
                    "lte"
                  ]
                },
                "threshold": {
                  "type": "number"
                },
                "unit": {
                  "type": "string"
                }
              },
              "required": [
                "metric",
                "operator",
                "threshold",
                "unit"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "resource_id",
            "condition"
          ],
          "additionalProperties": false
        }
      }
    },
    "output_schema": {
      "schema_uri": "urn:example:resource-condition:output:1.0",
      "version": "1.0",
      "dialect": "https://json-schema.org/draft/2020-12/schema",
      "digest": "sha256:11ee18a8c1ab8821e083d61298ef07c4f2ce2e29c3eafb82f4742f1e1e969bce",
      "resolution": {
        "type": "inline",
        "schema": {
          "type": "object",
          "properties": {
            "result": {
              "enum": [
                "condition_met",
                "condition_not_met"
              ]
            },
            "observed_value": {
              "type": "number"
            },
            "unit": {
              "type": "string"
            },
            "supporting_record_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "minItems": 1,
              "uniqueItems": true
            }
          },
          "required": [
            "result",
            "observed_value",
            "unit",
            "supporting_record_refs"
          ],
          "additionalProperties": false
        }
      }
    },
    "supporting_record_schemas": [
      {
        "kind": "resource-observation",
        "schema_reference": {
          "schema_uri": "urn:example:resource-observation:1.0",
          "version": "1.0",
          "dialect": "https://json-schema.org/draft/2020-12/schema",
          "digest": "sha256:3cf0d51c1d6e97d03fa80d5b9435c55d955f824bc9e58d053bb2095e18a0a8c4",
          "resolution": {
            "type": "inline",
            "schema": {
              "type": "object",
              "properties": {
                "record_id": {
                  "type": "string"
                },
                "resource_id": {
                  "type": "string"
                },
                "metric": {
                  "type": "string"
                },
                "value": {
                  "type": "number"
                },
                "unit": {
                  "type": "string"
                },
                "observed_at": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "required": [
                "record_id",
                "resource_id",
                "metric",
                "value",
                "unit",
                "observed_at"
              ],
              "additionalProperties": false
            }
          }
        }
      }
    ],
    "interaction": {
      "supported_response_modes": [
        "sync",
        "stream"
      ],
      "cancellable": true
    },
    "authority": {
      "default_mode": "observe_only",
      "approval_may_be_required": false
    }
    }
  }
}
</tt></t>
      <t>The client validates the document against the trusted version 1.0 Skill
Interface Schema, verifies <tt>interface_version</tt>, <tt>skill_id</tt>, and
<tt>skill_version</tt>, calculates its Skill Interface Document Digest, compares it
with the values in the Agent Card and <tt>describe_skill</tt> response, and verifies
all three inline-schema digests. It then validates the <tt>arguments</tt> value below
against <tt>input_schema</tt> and sends this domain-skill request object as the Data
Part's <tt>data</tt> value:</t>
      <t><tt>json
{
  "skill": "evaluate_resource_condition",
  "skill_version": "1.0",
  "interface_digest": "sha256:4dedea3f7ddf19e94d9fd0b30886624f50afb5aadc1b407508a05dd3c40f380d",
  "arguments": {
    "resource_id": "network-resource-123",
    "condition": {
      "metric": "utilization",
      "operator": "gte",
      "threshold": 80,
      "unit": "percent"
    }
  }
}
</tt></t>
      <t>The receiving agent first verifies that <tt>skill_version</tt> and
<tt>interface_digest</tt> identify its currently active Skill Interface Document. It
then validates the same input, performs the evaluation, and returns the
following completed A2A Task. The first ordinary Artifact carries the skill
result object. The second ordinary Artifact carries the supporting record:</t>
      <t><tt>json
{
  "id": "task-123",
  "status": {
    "state": "TASK_STATE_COMPLETED"
  },
  "artifacts": [
    {
      "artifactId": "result-1",
      "name": "evaluate_resource_condition",
      "parts": [
        {
          "data": {
            "skill": "evaluate_resource_condition",
            "result": {
              "result": "condition_not_met",
              "observed_value": 42,
              "unit": "percent",
              "supporting_record_refs": ["observation-7"]
            }
          }
        }
      ]
    },
    {
      "artifactId": "observation-7",
      "name": "resource-observation",
      "parts": [
        {
          "data": {
            "record_id": "observation-7",
            "resource_id": "network-resource-123",
            "metric": "utilization",
            "value": 42,
            "unit": "percent",
            "observed_at": "2026-08-11T12:00:01Z"
          }
        }
      ]
    }
  ]
}
</tt></t>
      <t>The client validates the output against <tt>output_schema</tt>, validates the record
against the schema selected by its kind, and resolves <tt>observation-7</tt> to that
record. The stable reference shows which observation supports the result
without requiring a common claim or record envelope. A missing <tt>unit</tt> in the
input, an output result outside the declared enumeration, or a record missing
<tt>observed_at</tt> fails domain-schema validation. A digest mismatch makes the
interface invalid and prevents delegation.</t>
    </section>
    <section numbered="false" anchor="contributors">
      <name>Contributors</name>
      <t>The following individuals made significant contributions to this document:</t>
      <ul spacing="normal">
        <li>
          <t>Muthumayan Madhayyan, Cisco Systems, Inc., muthu@cisco.com</t>
        </li>
        <li>
          <t>David Chuck, Cisco Systems, Inc., dachuck@cisco.com</t>
        </li>
        <li>
          <t>Nirali Vasoya, Cisco Systems, Inc., nvasoya@cisco.com</t>
        </li>
        <li>
          <t>Sun Qiong, China Telecom, sunqiong@chinatelecom.cn</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAF366GoAA829+3obyZUn+H88RS7L3+fLAJCoS5VEtXuallRjeUpVGol2
f72eWjGBTJJpAUgMEqBMq9TPss+yT7bnHiciM0HKds1ufd2uIoCMjDgRca6/
c850Og27ZresT4qjd4urelUWr9a7entRLuquuGi3xff17mO7/VC8LtflZb2q
17vi9BL/992HZrnsjkI5n2/ra3hePs5HOQqLcldfttubk6LbVSFU7WJdruCN
1ba82E2v9uX6clo263rXbrppiaNMOxpl2tgo0/v3Q7efr5qua9r17mYDz796
efZtWO9X83p7Eip4yUlYtOuuXnf77qS4KJddHWBiD0O5rUuY4A+belvu4PGu
KNeVW9FR+FDfwCqrk1AU02ItS17ZD0Y+LmiyHX3LMy7ijOlT+7PY1rttU1+X
S/qcHuRvW5zVvFk2u5twXa/3NU7istld7ecwZ/phs5jKy6fx5fdGKHUUQrnf
XbVbWgz8f1Fc7JdLJjlscrvbFb9Hmh/Rd+32slw3fyO6wPfPm27RFu9uul29
6iawjYsZ/w5e0izhB/A17di/LfCXs0W7Ohp6z7f74j/2w2+4atZlcVYva3k2
jn2xv3n06N8W+IMdfz9brAeHf1Guiz+1N/X271tEVV7jw34NYd1uVzDANdH/
9MHpCT2hl4MO9wM+4m+27a5dtMvi3aZeNBfNgt47Kf5Ub/FwFsez+7NjfuGu
3F7WO3j+arfbdCf37pUPyulGnp/BtO9d06/vdX6oe/jwH56/S6fwh3c/fF88
L9ftGn62lNXyfauLX8HPf83v7Go4aF2zvmj5+aJ4++3zk+LJN08e47AwyvTd
89+/fH06MDzf3pPitHhdVw1sE1w0YgMv6m6xbebN+pJGKF60iz2ewm5knX/p
2rWcTVom3fV7D+4/uD89fuC/nS7abT272q2WR+nspn86/e7Vi9OzVz98PzrR
4k9AiEq2/RROxKKc75fl9obm/G633S92+225dL8r2gt6yz8872sbMp39mx9e
fX/28m025/K6fAcE3OyKH+Z/qRe74vt2x/P5FT716+JNS1f44BZ+/fT+Mfx9
9ur1y3dnp6/fpO94AZeGGNtZAwcCRt5d1cyH17hE/LTblatNd/AdDx8+fBoC
fuyuw6sX36Xvwg+A4O+AEMie4DXye3jt67aql7QBfF2et6vVfi1He4TsQMhy
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
uHkUqq7tIDFWgggmF5PxLklEm9VAF2OieBBoM7uS9BQfIkF2ihAZivA19Pko
Qdm3FPVr2i/mK6pJE4J1R+aK+jdVAxI+F5FBCcDdhooiT+fLQ9L+GP60vQi3
qBl4KxlTinsok+njGJj5Bcf8BhwxOW4XmDsJGUxDEf+XhBbnODCC1Vcc/GTe
QuaH0ehZIkxAB1JQcbmLP2JIoEzbgQpFN1D4Bb42ikTlekNBL3Hhd6lAcDHC
6MNSfJsL10VnqaAqWLHeN92VzZmRqqaykr/SuLb7JoTX6KrE6fcjJZi+orga
osgiqhvKSLpC2QT6fwU3mVLVhonuZaGcoXP2CAdtOECgxwrlpyrAhFgzHZ88
mwMBvwREwwY8yW+OhwQUUIlXnsX1giOC5FMidsNbT6IDzYxyTSH1G/F2m4wL
5cUFx2HQS7Xfku5j4yOpWDwzumLRiBLap0aQ33aRAQnLJiRxrdrUTKUIn6fo
PU5y2Vx2Q870WW7ir+GWRVcy6ax4IMCKZKharery8kaM5khWNm8mDONM30ys
0KkAPcsz05DoVsa9D8neGwnIMhH7gfCYpLE4d3UP7T+qMjlNmIifzmcyaJoH
xWLYqS2vy4ZvrIBeorCXyeV0J1GUHL2MEvhiSpDqpzKkMokSZvQeO5Chmkio
6+3lowx36LQp9Fo5h7+Bswi8qwxWnCvAhpyNG8JLYvWYRTkQ79doCKIncl2U
Tgd5Mxilxtq94JTkbb0YeIQx0oZhjK+qIsY2iWAYhlYCVAn0MCK+yRVDFrWY
qwwIl8glDmRib0aQvhRY9fr0P1A/Llln2q/j2VJlViJlJMV1vrJa4xRZaMOn
WH765JIyMdRRMMnPf7GtL845l+sX1Q3oEc3iLX4CO3QeHeUzftW5KiYdpXsI
HGTbAin4BxMSPiC7aTP2czMqCOiZz9x4nK4OQXospJhhIvMfmgWF0nANGJob
HZSEecksS93knLOYMRXhwcQ5UDrO6YV18ce3r4gOv2iqc3ibE2KwXwFxHiJO
/QME1aLp419Cqo6R0YurhAo602chH8ROGENN4uky2wtOkaTDotuN1iOIZOMo
ZDEL2MFZaR6kTBt/ARoFo28jCdXCA9W/JGQd8yASfykYEMh7rRMJCGNHlkOq
gVpCQztIsFBCvCA2qwdzqUmX1fSlgZhhxiRAlzmXqA/u1MvRG+LcZnLANFqE
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
WP0/hFnij90500LF+LF0aZn4CqJAxCjPLWw2zWCDaEaKw0/Hk8KHit/FpKis
+L8mHeWV/9PjwmU8NdFI8TsUYItZWFftZpLsT57tlGdQhR4aYzSxiSEollLV
S2oKiWga7NFoe77zlQqsyogA9AJrlchMCAMqddxr4Wy+MJdoYB2nS/EAabZU
KCkJqlhh3BhToaJ2T+I2d7RwMwngLyApqinyNikLTElGBHZIS/wQ5tC8iYZc
iEg8NF8oi923Q8OByZDC7kSwmV7DVevU/PfeCIkOSvE86hbvDNZUoj2yjpIN
jQh8U7Pe1/wUrejWJuJjEqmz/hz1CqiPTtU4ralOyyoB080g98mN1mMnjLcQ
nBmmmPa+wAdM0Oo7xiRS0EtPvz/t+/UbmMFnxX2X24hY8YWz2KuNKAkahGNN
xLZR4YlxMMyktTrhLqUQFZGcu0V2RP2oqIQAG45/fPt9wA413aYkxKErkuYj
0Wo4cRabFplEJxfGy1BdwcI0GKelyEb2eh+d+/SVtuGSb6dYjFB4Ya+YmX8y
7xB6e7GLkOTwJSDQmFvac8tamAxTfS0UTKZOrbARdPh2DcjTG0o+FF57L1/a
9fEMV3cuCXex7OIv+AmsNHi12226k3v3HBlmYDnfq7awGfce3H9wf3r84J78
nrqt/qKp/IN0gZrFVJyALj4wu2x2V/v5rGnvCWYpwwR0926ZOb8QWO2Syj5+
L6GA1/GGs/6c0Z8fM6ciN9T+DoT/Hh6Die4xfdjiSrZrlGK6rr0tIv21qYzj
iTbVlp7bxqneWFFI+A31l5KutOxmsgKUruOFNvqWUpVaziT9O/uRR+7qZ0mC
oj091toujmRZ1vqROW2x5uSPNP+NX9ansRWcWFXNI/Jaau9y+vBzvj73a6Wp
lLrU1LyjDSbMbmnL/q8/l9O//Yj/c3/69P30x9/8YmjYgZn8AnglDvDVvV/A
Hezu6U+SpxN6HniYf2GBuHSQdAP+3lHGd2yAYFSLNtKrARHjfzf0bhv+LY3O
7CmtLvp54GwcWI7/WfJ8PEgHnk5OG8/gM/MW/Doet4Gtvcux+dX9n/58PH36
45/h2Pz4m1//z/85yz7JzhErV1/6lu6qfPD46xMcspxe/Pjp60efs3Fj/bqh
sR0zYcrdwlBkyIypxCF7ZWt1g3+M0+9faT+l+Im/zWwuHNl3n/svyh7NVhif
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
urAuNH48W6zD/wvMlzMnq0kBAA==

-->

</rfc>
