<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-morrison-agent-channel-fan-out-03" category="info" submissionType="independent" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="Agent-Channel Fan-Out">An Agent-Channel Frame for Identity-Keyed Fan-Out Delivery to Concurrent Sessions</title>
    <seriesInfo name="Internet-Draft" value="draft-morrison-agent-channel-fan-out-03"/>
    <author fullname="Blake Morrison">
      <organization>Alter Meridian Pty Ltd</organization>
      <address>
        <email>blake@truealter.com</email>
        <uri>alter:~blake</uri>
      </address>
    </author>
    <date year="2026" month="October" day="21"/>
    <abstract>
      

<t>This memo specifies an application-layer frame format and a delivery
model by which the several concurrent agentic sessions of a single
identity-bound principal, and the recognised members of an
organisational identity substrate, exchange short structured
messages.  The frame, termed the agent-channel frame, is a transport
envelope: it carries a closed-catalogue kind discriminator, a
structured per-kind payload, an identity attribution pair, and an
inline provenance block.  Delivery is fan-out: a sender names a
recipient scope rather than a single endpoint, and the scope is
expanded at delivery time against the recipient's subscriptions.
Recipients receive frames over a per-handle Server-Sent Events
stream and can narrow what they receive with a subscribe-time filter
expression.  Frames are ephemeral routing units; the memo specifies
only the wire envelope, the scope-expansion grammar, the subscribe
filter grammar, and the delivery semantics.  Frame persistence,
where an implementation chooses to retain frames for replay, is out
of scope and is not specified.  The memo composes with the handle
namespace and discovery surface of draft-morrison-mcp-dns-discovery
and the cross-organisational ceremony of
draft-morrison-identity-accord; no new transport and no new handle
category is introduced.</t>
    </abstract>
  </front>
  <middle>
    

<section anchor="introduction">
      <name>Introduction</name>
      <t>A single human principal increasingly operates several
artificial-intelligence agent runtimes at once: multiple concurrent
sessions of one coding assistant, a separate assistant in an
integrated development environment, a command-line agent, and a
background runtime daemon.  Those surfaces need to exchange short
messages with one another: to advise a sibling that a file is being
edited, to hand work over when one session ends, to ask a question
and collect answers, to announce that a branch was merged.</t>
      <t>In current practice such messages have no shared transport.  Where
two sessions of the same principal must coordinate, the prevailing
fallback is a file written to a shared temporary directory and a
manual instruction to a second session to read it.  That fallback
has no addressing, no delivery guarantee, no attribution, and no
filtering; it does not reach a session on a second host, and it does
not reach the principal's runtimes operating under a second
organisational context.</t>
      <t>This memo specifies a frame format and a delivery model that
replace the file fallback.  The companion memo <xref target="SUBSTRATE"/> argues
that coordination (the deconfliction of conflicting action) should
not be standardised as an envelope protocol, because envelope
coordination re-centralises an inherently distributed problem.
The present memo does not
contradict that argument.  It specifies a delivery frame for
messages a session has chosen to send: an advisory, a handover, a
question.  It is a transport, not a coordination protocol.  No frame
in this memo's catalogue compels a recipient to any action; no frame
carries a lock a recipient must honour; the lock-shaped frames of
Section 4.3 are advisory announcements, and a recipient that ignores
one remains conformant.  Reconciliation of conflicting action,
where it occurs, occurs through the substrate-observation cascade of
<xref target="SUBSTRATE"/>, not through this memo's frames.</t>
      <t>The frame is identity-keyed.  A sender names a recipient scope:
"all my sessions", "all sessions of one tool", "one named session",
or "all members of an organisation"; the scope is expanded against
recipients' live subscriptions at delivery time.  A sender addresses
a set, not an endpoint, and the delivery substrate resolves the set
from identity rather than from a registry of endpoints the sender
maintains.</t>
      <t>The frame is ephemeral.  A delivered frame is a routing unit with a
time-to-live; once delivered, the delivery substrate is under no
obligation specified by this memo to retain it.  Where an
implementation retains delivered frames so that a late-joining
session can replay recent traffic, the retention mechanism, its
ordering properties, and its retention horizon are implementation
matters outside the scope of this specification.  This memo
specifies the wire envelope and the delivery semantics; it does not
specify a store.</t>
    </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="BCP14"/> when, and only when, they
appear in all capitals, as shown here.</t>
      

<t>The following terms are defined for the purposes of this document.
Terms previously defined by the companion memos cited here
retain their established meaning and are reproduced here only when
operative for the present specification.</t>
      <dl>
        <dt>~handle</dt>
        <dd>
          <t>A principal identity handle as defined by <xref target="MCPDNS"/>, in the
Sovereign and Instrument tiers of <xref target="IDCOMMITS"/>.  A Sovereign-tier handle is
human-controlled (e.g. <tt>~alice</tt>); an
Instrument-tier handle is agent-runtime-vendor-controlled and
conventionally prefixed <tt>~cc-</tt> (e.g. <tt>~cc-example-model</tt>).  A
<tt>~handle</tt> carried in a frame field or a recipient scope is the
handle of the <tt>alter:</tt> URI defined in <xref target="ALTER-URI"/>: <tt>~alice</tt>
corresponds to <tt>alter:~alice</tt>.  The fields and scopes of this memo
carry the handle without the scheme name.</t>
        </dd>
        <dt>Agent-channel frame</dt>
        <dd>
          <t>The application-layer message unit specified by this memo.  A
single JSON object <xref target="RFC8259"/> comprising an envelope, a kind
discriminator, a structured payload, an identity attribution
pair, and a provenance block.</t>
        </dd>
        <dt>Kind</dt>
        <dd>
          <t>The closed-catalogue discriminator naming the frame's purpose.
Section 4 enumerates the catalogue.  An implementation that
receives a kind outside the catalogue <bcp14>MUST</bcp14> reject the frame.</t>
        </dd>
        <dt>Payload</dt>
        <dd>
          <t>The kind-specific structured body of a frame.  Each kind has
exactly one payload shape; a frame whose payload shape does not
match its kind is malformed.</t>
        </dd>
        <dt>Recipient scope</dt>
        <dd>
          <t>A string naming the set of recipients a frame is to be delivered
to.  Section 6 specifies the scope grammar.  A recipient scope is
not an endpoint; it is expanded against live subscriptions at
delivery time.</t>
        </dd>
        <dt>Delivery substrate</dt>
        <dd>
          <t>The network-addressable system that accepts a submitted frame,
expands its recipient scope, and emits the frame to the
subscriptions the scope names.  The delivery substrate is
addressed per the discovery mechanism of <xref target="MCPDNS"/>.</t>
        </dd>
        <dt>Per-handle stream</dt>
        <dd>
          <t>A single Server-Sent Events <xref target="HTML-SSE"/> stream
associated with one <tt>~handle</tt>, over which the delivery substrate
emits the frames whose expanded recipient scope includes a
session of that handle.</t>
        </dd>
        <dt>Subscribe filter</dt>
        <dd>
          <t>An expression supplied by a subscriber at the time it opens its
per-handle stream, narrowing the frames the delivery substrate
emits to that subscriber.  Section 8 specifies the filter
grammar.</t>
        </dd>
        <dt>Time-to-live</dt>
        <dd>
          <t>A per-frame integer, in milliseconds, after which a sender
declares the frame's content no longer operative.  The
time-to-live is advisory to recipients; it is not a retention
directive to the delivery substrate.</t>
        </dd>
      </dl>
    </section>
    <section anchor="the-agent-channel-frame">
      <name>The Agent-Channel Frame</name>
      <t>An agent-channel frame is a single JSON object <xref target="RFC8259"/>.  Its
fields are specified below.  An implementation receiving a frame
<bcp14>MUST</bcp14> reject it if a <bcp14>REQUIRED</bcp14> field is absent, if any field carries
a value outside the constraints below, or if an unrecognised field
is present (the frame object does not admit extension fields; see
Section 12).</t>
      <section anchor="envelope-fields">
        <name>Envelope Fields</name>
        <dl>
          <dt><tt>envelope_version</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>The wire-contract version.  This memo specifies version <tt>"1.0"</tt>.
A receiver that does not implement the stated version <bcp14>MUST</bcp14> reject
the frame rather than attempt a partial parse.</t>
          </dd>
          <dt><tt>frame_id</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>A version-4 UUID generated by the sender, unique to this frame.
Receivers <bcp14>MAY</bcp14> use <tt>frame_id</tt> to discard a duplicate delivery of
the same frame.</t>
          </dd>
          <dt><tt>kind</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>One of the fifteen catalogue values of Section 4.  A <tt>kind</tt>
outside the catalogue <bcp14>MUST</bcp14> cause rejection (Section 9).</t>
          </dd>
          <dt><tt>sender_handle</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>The <tt>~handle</tt> of the sending principal, as an absolute handle
as <xref target="IDPRONOUNS"/> defines it.  The delivery substrate <bcp14>MUST</bcp14> verify that
<tt>sender_handle</tt> matches the authenticated identity of the
submitting session and <bcp14>MUST</bcp14> reject a frame whose <tt>sender_handle</tt>
does not.</t>
          </dd>
          <dt><tt>recipient_handle</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>The <tt>~handle</tt> of the target principal, as an absolute handle.
For a frame addressed to the sender's own sessions, <tt>sender_handle</tt>
and <tt>recipient_handle</tt> are identical.  The recipient <em>scope</em>
(Section 6) further qualifies which sessions of <tt>recipient_handle</tt>
receive the frame; <tt>recipient_handle</tt> alone identifies the target
principal.</t>
          </dd>
          <dt><tt>created_at</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>An RFC 3339 <xref target="RFC3339"/> timestamp, with time zone, at which the sender emitted
the frame.  The delivery substrate <bcp14>MAY</bcp14> reject a frame whose
<tt>created_at</tt> lies implausibly far in the future or the past
relative to substrate time.</t>
          </dd>
          <dt><tt>ttl_ms</tt> (integer, <bcp14>OPTIONAL</bcp14>)</dt>
          <dd>
            <t>The frame's advisory time-to-live in milliseconds.  When absent,
the recipient applies an implementation-default horizon.  The
field is advisory to the recipient (it indicates when the
sender considers the content stale); it places no retention
obligation on the delivery substrate.</t>
          </dd>
          <dt><tt>payload</tt> (object, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>The kind-specific body, with the shape specified for the frame's
<tt>kind</tt> in Section 5.</t>
          </dd>
        </dl>
      </section>
      <section anchor="attribution-fields">
        <name>Attribution Fields</name>
        <t>Every frame carries the tier-structured attribution pair that
<xref target="IDCOMMITS"/> defines for commit trailers.</t>
        <dl>
          <dt><tt>acted_by</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>The Sovereign-tier <tt>~handle</tt> of the human principal on whose
behalf the frame is sent.</t>
          </dd>
          <dt><tt>drafted_with</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>The Instrument-tier <tt>~handle</tt> of the agent runtime that composed
the frame.</t>
          </dd>
        </dl>
        <t>The attribution pair lets a receiver distinguish a frame a human
authored directly from a frame an agent runtime composed, without a
side-channel lookup.  An agent-channel frame and an <tt>Acted-By:</tt> /
<tt>Drafted-With:</tt> commit trailer block carry the same attribution
shape: one at message time, one at commit time.</t>
      </section>
      <section anchor="provenance-block">
        <name>Provenance Block</name>
        <t>Every frame carries an inline provenance block so a receiver can
assess the frame's basis without an out-of-band query.  The block
comprises five fields.</t>
        <dl>
          <dt><tt>provenance_compute_location</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>Where the inference behind the frame's content was computed.  One
of <tt>"server-active"</tt>, <tt>"server-aggregate"</tt>, or
<tt>"local-only"</tt>.  The value <tt>"local-only"</tt> asserts that the
frame's content derives from inference that did not leave the
principal's device.</t>
          </dd>
          <dt><tt>provenance_method</tt> (array of strings, <bcp14>REQUIRED</bcp14>, non-empty)</dt>
          <dd>
            <t>One or more derivation-method tags identifying how the frame's
content was produced (for example, a session-context snapshot, a
pre-compaction snapshot).  At least one tag is <bcp14>REQUIRED</bcp14>.</t>
          </dd>
          <dt><tt>provenance_return_ref</tt> (string, <bcp14>OPTIONAL</bcp14>)</dt>
          <dd>
            <t>A reference to a return record, where the frame's content is
derived from a recipient's data and the implementation maintains
a return-accounting surface.  Absent where inapplicable.</t>
          </dd>
          <dt><tt>provenance_context_check</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>One of <tt>"passed"</tt> or <tt>"skipped"</tt>.  The value <tt>"passed"</tt> asserts
that the sender confirmed the frame is not emitted in a context
in which the inference behind its content is categorically
prohibited.  The prohibition is categorical and not a matter of
sender policy: it applies regardless of any consent the principal
has given.  The value <tt>"skipped"</tt> asserts that the frame carries
no inference-derived content and that the prohibition therefore
cannot apply.</t>
          </dd>
          <dt><tt>provenance_basis</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>A short tag naming the stream the frame belongs to and the basis
under which that stream emits.</t>
          </dd>
        </dl>
        <t>The provenance block is descriptive metadata carried for the
receiver's benefit.  This memo does not specify a conformance
behaviour keyed to any provenance field; an implementation <bcp14>MAY</bcp14> use
the block to inform its own acceptance policy.</t>
      </section>
    </section>
    <section anchor="the-frame-kind-catalogue">
      <name>The Frame-Kind Catalogue</name>
      <t>The <tt>kind</tt> field takes one of exactly fifteen values defined by this
memo.  Within this memo the catalogue is closed: a sixteenth value
is an error (Section 9), not an
extension point.  The catalogue is grouped below by function; the
grouping is descriptive and is not encoded on the wire.</t>
      <section anchor="advisory-and-broadcast-kinds">
        <name>Advisory and Broadcast Kinds</name>
        <dl>
          <dt><tt>agent_advisory</tt></dt>
          <dd>
            <t>A session announces what it is doing, for example that it is
about to edit a named file, or that it is operating in a named
working tree on a named branch.  Default recipient scope is the
sender's own sessions.</t>
          </dd>
          <dt><tt>agent_broadcast</tt></dt>
          <dd>
            <t>A session announces a completed event other sessions should know
of, for example that a branch was merged, or that a sibling's
working tree is now stale.  Carries a coarse event class so a
subscriber may filter without parsing the body.</t>
          </dd>
        </dl>
      </section>
      <section anchor="handover-kind">
        <name>Handover Kind</name>
        <dl>
          <dt><tt>agent_handover</tt></dt>
          <dd>
            <t>A session passes work to another session, carrying the prose
content a principal would otherwise place in a shared temporary
file and a list of pointer references (file paths, change-request
references, working-tree paths).  This kind replaces the
temporary-file fallback described in Section 1.</t>
          </dd>
        </dl>
      </section>
      <section anchor="lock-shaped-kinds">
        <name>Lock-Shaped Kinds</name>
        <t>The following three kinds are advisory announcements.  They
announce a session's intent regarding a named resource.  They do
not, and cannot, compel a recipient.  A recipient that receives an
<tt>agent_lock_request</tt> and proceeds to act on the named resource
anyway is conformant; the announcement is information, not
authority.  Enforcement of mutual exclusion, where an
implementation requires it, is performed locally by the operating
environment (for example, a filesystem advisory lock), not by this
memo's frames.</t>
        <dl>
          <dt><tt>agent_lock_request</tt></dt>
          <dd>
            <t>Announces that the sender claims a named resource for an advisory
lease, carrying a lease identifier and a lease lifetime.</t>
          </dd>
          <dt><tt>agent_lock_release</tt></dt>
          <dd>
            <t>Announces that the sender has released an advisory lease,
carrying the lease identifier.</t>
          </dd>
          <dt><tt>agent_lease_extend</tt></dt>
          <dd>
            <t>Announces that the sender extends the lifetime of an advisory
lease, carrying the lease identifier and the additional
lifetime.</t>
          </dd>
        </dl>
        <t>The lease identifier is a correlation value only.  The delivery
substrate <bcp14>MUST NOT</bcp14> treat it as a key into any lock table, <bcp14>MUST NOT</bcp14>
enforce uniqueness of an outstanding lease, and <bcp14>MUST NOT</bcp14> reject an
<tt>agent_lock_release</tt> whose lease identifier does not match a prior
<tt>agent_lock_request</tt>.  Correlation of the three kinds is performed
by recipients; the delivery substrate validates only their shape.</t>
      </section>
      <section anchor="question-and-answer-kinds">
        <name>Question-and-Answer Kinds</name>
        <dl>
          <dt><tt>agent_query</tt></dt>
          <dd>
            <t>Asks a question and names a scope to which answers should be
delivered, carrying a query identifier and a caller-side
collection window.</t>
          </dd>
          <dt><tt>agent_response</tt></dt>
          <dd>
            <t>Answers an <tt>agent_query</tt>, carrying the query identifier it
answers and the responding session's identifier.</t>
          </dd>
          <dt><tt>agent_return_event</tt></dt>
          <dd>
            <t>Records the closure of a question-and-answer exchange against a
return-accounting surface, where the implementation maintains
one, carrying a return reference and an optional query
identifier.</t>
          </dd>
        </dl>
      </section>
      <section anchor="decision-request-kind">
        <name>Decision-Request Kind</name>
        <dl>
          <dt><tt>agent_binding_moment</tt></dt>
          <dd>
            <t>Carries a structured decision request from one session to
another.  Its payload is the eight-slot grammar of Section 5.10.</t>
          </dd>
        </dl>
      </section>
      <section anchor="diagnostic-kinds">
        <name>Diagnostic Kinds</name>
        <dl>
          <dt><tt>peer_diagnostic_request</tt></dt>
          <dd>
            <t>Reports an observed symptom to a peer for troubleshooting,
carrying a diagnostic identifier and a coarse severity.</t>
          </dd>
          <dt><tt>peer_diagnostic_response</tt></dt>
          <dd>
            <t>Answers a <tt>peer_diagnostic_request</tt>, carrying the diagnostic
identifier and a finding.</t>
          </dd>
        </dl>
      </section>
      <section anchor="convergence-kinds">
        <name>Convergence Kinds</name>
        <dl>
          <dt><tt>intent_declare</tt></dt>
          <dd>
            <t>Announces a session's intent to incur a class of costly external
effect, carrying a namespaced class identifier, a pointer to the
intended effect, and a decay horizon.</t>
          </dd>
          <dt><tt>intent_withdraw</tt></dt>
          <dd>
            <t>Withdraws a previously declared intent before its effect is
executed, carrying the class identifier and a pointer to the
declared intent.</t>
          </dd>
          <dt><tt>flush_executed</tt></dt>
          <dd>
            <t>Announces that a session has executed a batched effect on behalf
of a set of declared intents, carrying a pointer to the result
and the pointers of the included intents.</t>
          </dd>
        </dl>
        <t>The three convergence kinds let a set of sessions batch a costly
effect (for example, opening a single change request for several
related changes) without electing a coordinator: each session
announces its intent, observes the others' announcements, and one
session executes the batched effect.  As with the lock-shaped
kinds, the announcements carry no authority; a session that
declares an intent and a session that executes a flush each act on
their own observation of the announced traffic.</t>
      </section>
    </section>
    <section anchor="payload-schemas">
      <name>Payload Schemas</name>
      <t>Each kind has exactly one payload shape.  A frame whose <tt>payload</tt>
does not satisfy the shape for its <tt>kind</tt> is malformed and <bcp14>MUST</bcp14> be
rejected.  The schemas below give the <bcp14>REQUIRED</bcp14> and <bcp14>OPTIONAL</bcp14> fields
of each payload; string-length and numeric bounds are stated where
an implementation is expected to enforce them.</t>
      <section anchor="agentadvisory">
        <name>agent_advisory</name>
        <dl>
          <dt><tt>advisory_text</tt> (string, <bcp14>REQUIRED</bcp14>, 1 to 2048 octets)</dt>
          <dd>
            <t>What the sender is doing.</t>
          </dd>
          <dt><tt>file_refs</tt> (array of strings, <bcp14>OPTIONAL</bcp14>)</dt>
          <dd>
            <t>Files the advisory concerns.</t>
          </dd>
          <dt><tt>worktree</tt> (string, <bcp14>OPTIONAL</bcp14>, up to 512 octets)</dt>
          <dd>
            <t>The working-tree path the sender operates in.</t>
          </dd>
          <dt><tt>branch</tt> (string, <bcp14>OPTIONAL</bcp14>, up to 256 octets)</dt>
          <dd>
            <t>The branch the sender is on.</t>
          </dd>
        </dl>
      </section>
      <section anchor="agentbroadcast">
        <name>agent_broadcast</name>
        <dl>
          <dt><tt>broadcast_text</tt> (string, <bcp14>REQUIRED</bcp14>, 1 to 2048 octets)</dt>
          <dd>
            <t>The announcement body.</t>
          </dd>
          <dt><tt>event_class</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>One of <tt>"merged"</tt>, <tt>"stale"</tt>, <tt>"released"</tt>, <tt>"other"</tt>.  A coarse
class permitting subscriber-side filtering without body parsing.</t>
          </dd>
          <dt><tt>refs</tt> (array of strings, <bcp14>OPTIONAL</bcp14>)</dt>
          <dd>
            <t>Branch, change-request, or commit references the broadcast
concerns.</t>
          </dd>
        </dl>
      </section>
      <section anchor="agenthandover">
        <name>agent_handover</name>
        <dl>
          <dt><tt>previous_session_id</tt> (string, <bcp14>REQUIRED</bcp14>, 1 to 128 octets)</dt>
          <dd>
            <t>An opaque identifier for the handing-over session.</t>
          </dd>
          <dt><tt>next_session_id</tt> (string, <bcp14>OPTIONAL</bcp14>, up to 128 octets)</dt>
          <dd>
            <t>An identifier for the session that claims the handover.  Absent
at emission; a claiming session populates it by a subsequent
frame.</t>
          </dd>
          <dt><tt>handover_body</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>The handover content.</t>
          </dd>
          <dt><tt>pointer_refs</tt> (array of strings, <bcp14>OPTIONAL</bcp14>)</dt>
          <dd>
            <t>File paths, change-request references, decision identifiers, and
working-tree paths the handover points at.</t>
          </dd>
        </dl>
      </section>
      <section anchor="agentlockrequest">
        <name>agent_lock_request</name>
        <dl>
          <dt><tt>resource</tt> (string, <bcp14>REQUIRED</bcp14>, 1 to 512 octets)</dt>
          <dd>
            <t>The resource the sender claims an advisory lease over.</t>
          </dd>
          <dt><tt>lease_id</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>A version-4 UUID correlating this announcement with later
<tt>agent_lock_release</tt> and <tt>agent_lease_extend</tt> frames.</t>
          </dd>
          <dt><tt>ttl_ms</tt> (integer, <bcp14>REQUIRED</bcp14>, greater than 0, at most 3 600 000)</dt>
          <dd>
            <t>The advisory lease lifetime in milliseconds.</t>
          </dd>
          <dt><tt>intent</tt> (string, <bcp14>OPTIONAL</bcp14>, up to 2048 octets)</dt>
          <dd>
            <t>A human-readable reason for the claim.</t>
          </dd>
        </dl>
      </section>
      <section anchor="agentlockrelease">
        <name>agent_lock_release</name>
        <dl>
          <dt><tt>lease_id</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>The lease the announcement releases.</t>
          </dd>
          <dt><tt>resource</tt> (string, <bcp14>REQUIRED</bcp14>, 1 to 512 octets)</dt>
          <dd>
            <t>The resource the released lease covered.</t>
          </dd>
        </dl>
      </section>
      <section anchor="agentleaseextend">
        <name>agent_lease_extend</name>
        <dl>
          <dt><tt>lease_id</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>The lease whose lifetime is extended.</t>
          </dd>
          <dt><tt>additional_ttl_ms</tt> (integer, <bcp14>REQUIRED</bcp14>, greater than 0, at most</dt>
          <dd>
            <t/>
          </dd>
          <dt>3 600 000)</dt>
          <dd>
            <t>The additional lifetime in milliseconds.</t>
          </dd>
        </dl>
      </section>
      <section anchor="agentquery">
        <name>agent_query</name>
        <dl>
          <dt><tt>query_text</tt> (string, <bcp14>REQUIRED</bcp14>, 1 to 2048 octets)</dt>
          <dd>
            <t>The question.</t>
          </dd>
          <dt><tt>query_id</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>A version-4 UUID correlating the query with its responses and
return event.</t>
          </dd>
          <dt><tt>response_scope</tt> (string, <bcp14>REQUIRED</bcp14>, 1 to 512 octets)</dt>
          <dd>
            <t>The recipient scope (Section 6) to which responses are to be
delivered.</t>
          </dd>
          <dt><tt>timeout_ms</tt> (integer, <bcp14>REQUIRED</bcp14>, greater than 0)</dt>
          <dd>
            <t>The caller-side window, in milliseconds, over which the caller
collects responses.</t>
          </dd>
        </dl>
      </section>
      <section anchor="agentresponse">
        <name>agent_response</name>
        <dl>
          <dt><tt>query_id</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>The query this frame answers.</t>
          </dd>
          <dt><tt>response_text</tt> (string, <bcp14>REQUIRED</bcp14>, 1 to 2048 octets)</dt>
          <dd>
            <t>The answer.</t>
          </dd>
          <dt><tt>responder</tt> (string, <bcp14>REQUIRED</bcp14>, 1 to 128 octets)</dt>
          <dd>
            <t>An identifier for the responding session.</t>
          </dd>
        </dl>
      </section>
      <section anchor="agentreturnevent">
        <name>agent_return_event</name>
        <dl>
          <dt><tt>return_event_ref</tt> (string, <bcp14>REQUIRED</bcp14>, 1 to 256 octets)</dt>
          <dd>
            <t>A reference to a return record on the implementation's
return-accounting surface.</t>
          </dd>
          <dt><tt>query_id</tt> (string, <bcp14>OPTIONAL</bcp14>)</dt>
          <dd>
            <t>The query this return event closes, where the return is paired
with an <tt>agent_query</tt>.</t>
          </dd>
          <dt><tt>summary</tt> (string, <bcp14>REQUIRED</bcp14>, 1 to 2048 octets)</dt>
          <dd>
            <t>A human-readable summary of what was returned.</t>
          </dd>
        </dl>
      </section>
      <section anchor="agentbindingmoment">
        <name>agent_binding_moment</name>
        <t>The <tt>agent_binding_moment</tt> payload carries an eight-slot decision
request.  The eight slots are: a one-sentence <tt>synopsis</tt>; an array
of <tt>findings</tt>; an array of <tt>recommendations</tt>; a one-line <tt>offer</tt>;
and a <tt>question</tt> object comprising a one-sentence <tt>stem</tt>, an array
of two to four <tt>options</tt> (each an object carrying a short <tt>label</tt>
and a one-line <tt>reasoning</tt>), a <tt>recommended_idx</tt> integer naming
exactly one option, and a <tt>hatches</tt> object carrying two booleans,
<tt>free_text</tt> and <tt>dialogue</tt>, each defaulting to true.</t>
        <t>The two hatches mark what the recipient may do besides choosing an
option: <tt>free_text</tt> indicates the recipient may answer outside the option
set, and <tt>dialogue</tt> indicates the recipient may revise the question
itself.  A decision-request frame in which both hatches are false
is malformed; a recipient <bcp14>MUST</bcp14> be left a path that is not one of
the enumerated options.</t>
      </section>
      <section anchor="peerdiagnosticrequest">
        <name>peer_diagnostic_request</name>
        <dl>
          <dt><tt>symptom</tt> (string, <bcp14>REQUIRED</bcp14>, 1 to 2048 octets)</dt>
          <dd>
            <t>A description of the observed symptom.</t>
          </dd>
          <dt><tt>diagnostic_id</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>A version-4 UUID correlating the request with its response.</t>
          </dd>
          <dt><tt>substrate_refs</tt> (array of strings, <bcp14>OPTIONAL</bcp14>)</dt>
          <dd>
            <t>Observation references supporting the report.</t>
          </dd>
          <dt><tt>severity</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>One of <tt>"info"</tt>, <tt>"degraded"</tt>, <tt>"blocked"</tt>.</t>
          </dd>
        </dl>
      </section>
      <section anchor="peerdiagnosticresponse">
        <name>peer_diagnostic_response</name>
        <dl>
          <dt><tt>diagnostic_id</tt> (string, <bcp14>REQUIRED</bcp14>)</dt>
          <dd>
            <t>The request this frame answers.</t>
          </dd>
          <dt><tt>finding</tt> (string, <bcp14>REQUIRED</bcp14>, 1 to 2048 octets)</dt>
          <dd>
            <t>The diagnostic finding.</t>
          </dd>
          <dt><tt>remediation</tt> (string, <bcp14>OPTIONAL</bcp14>, up to 2048 octets)</dt>
          <dd>
            <t>A suggested remediation, where one is known.</t>
          </dd>
        </dl>
      </section>
      <section anchor="intentdeclare-intentwithdraw-flushexecuted">
        <name>intent_declare, intent_withdraw, flush_executed</name>
        <t><tt>intent_declare</tt> carries a <tt>convergence_class</tt> namespaced
identifier, a <tt>payload_ref</tt> pointer to the intended effect, an
<tt>acted_by</tt> and <tt>drafted_with</tt> attribution pair, a <tt>declared_at</tt>
timestamp, a <tt>ttl</tt> decay horizon in milliseconds, a <tt>withdrawable</tt>
boolean, and an <bcp14>OPTIONAL</bcp14> <tt>urgency</tt> of <tt>"normal"</tt> or <tt>"urgent"</tt>.</t>
        <t><tt>intent_withdraw</tt> carries the <tt>convergence_class</tt>, an <tt>intent_ref</tt>
pointing at the declared intent, and a <tt>withdrawn_at</tt> timestamp.</t>
        <t><tt>flush_executed</tt> carries the <tt>convergence_class</tt>, a <tt>result_ref</tt>
pointing at the result of the executed effect, an <bcp14>OPTIONAL</bcp14>
          <tt>batch_refs</tt> array of the included intent pointers, and an
<tt>executed_at</tt> timestamp.</t>
        <t>The pointer fields (<tt>payload_ref</tt>, <tt>intent_ref</tt>, <tt>result_ref</tt>,
<tt>batch_refs</tt>) carry references (change-request identifiers,
ticket identifiers, build identifiers) and not the referenced
objects themselves.  Carrying references keeps frames small and
keeps the delivery substrate free of the referenced content.</t>
      </section>
    </section>
    <section anchor="recipient-scope-grammar">
      <name>Recipient Scope Grammar</name>
      <t>A frame is submitted with a recipient scope: a string naming the
set of sessions the frame is to reach.  The delivery substrate
expands the scope at delivery time against the live subscriptions
(Section 7) of <tt>recipient_handle</tt>.  A scope is not a list of
endpoints; the sender names a set by its identity shape, and the
substrate resolves the membership.</t>
      <t>The following scope forms are specified.</t>
      <dl>
        <dt><tt>~handle</tt></dt>
        <dd>
          <t>Every session of the named handle.  Equivalent to <tt>~handle/*</tt>.</t>
        </dd>
        <dt><tt>~handle/*</tt></dt>
        <dd>
          <t>All sessions of the named handle.  When <tt>~handle</tt> is the
sender's own handle, this is the same-principal fan-out that
reaches all the sender's concurrent sessions.</t>
        </dd>
        <dt><tt>~handle/&lt;prefix&gt;*</tt></dt>
        <dd>
          <t>All sessions of the named handle whose instrument identifier
begins with <tt>&lt;prefix&gt;</tt>.  For example, <tt>~alice/cc-*</tt> reaches all
of <tt>~alice</tt>'s sessions whose instrument identifier begins
<tt>cc-</tt>.</t>
        </dd>
        <dt><tt>~handle/&lt;instrument&gt;@&lt;session-id&gt;</tt></dt>
        <dd>
          <t>A single named session, identified by instrument and session
identifier.</t>
        </dd>
        <dt><tt>org:&lt;org-handle&gt;/members/*</tt></dt>
        <dd>
          <t>All sessions of all recognised members of the named
organisational identity substrate.</t>
        </dd>
        <dt><tt>org:&lt;org-handle&gt;/members/&lt;role&gt;/*</tt></dt>
        <dd>
          <t>All sessions of recognised members holding the named role.</t>
        </dd>
        <dt><tt>accord:&lt;peer-org-handle&gt;/grant:&lt;grant-scope&gt;</tt></dt>
        <dd>
          <t>All sessions of the named peer organisation reachable under an
Identity Accord <xref target="IDACCORD"/> grant of the named grant scope.</t>
        </dd>
      </dl>
      <t>A delivery substrate <bcp14>MUST</bcp14> refuse a scope the submitting session is
not authorised to address.  In particular, a session <bcp14>MUST NOT</bcp14>
submit a frame to a scope naming a handle other than
<tt>recipient_handle</tt>, <bcp14>MUST NOT</bcp14> submit a frame to an <tt>org:</tt> scope of
an organisation that does not recognise the sender as a member,
and <bcp14>MUST NOT</bcp14> submit a frame to an <tt>accord:</tt> scope absent a
corresponding Accord grant.  Cross-organisational delivery is
always grant-mediated through the peer-protocol ceremony of
<xref target="IDACCORD"/>; it is never effected by an administrative assignment.</t>
      <t>A delivery substrate <bcp14>MAY</bcp14> decline to implement the <tt>org:</tt> and
<tt>accord:</tt> scope forms in an initial deployment, in which case it
<bcp14>MUST</bcp14> reject a frame carrying an unimplemented scope with the
<tt>scope-unimplemented</tt> error of Section 9 rather than silently
dropping it.</t>
    </section>
    <section anchor="delivery-over-the-per-handle-stream">
      <name>Delivery over the Per-Handle Stream</name>
      <t>Each <tt>~handle</tt> is associated with one per-handle Server-Sent Events
stream <xref target="HTML-SSE"/>.  A session of the handle opens the
stream by an authenticated request to the delivery substrate
resolved per <xref target="MCPDNS"/>.  The stream is unidirectional from the
substrate to the subscriber; a session sends a frame by a separate
authenticated submission, not over the stream it subscribes on.</t>
      <section anchor="submission-and-expansion">
        <name>Submission and Expansion</name>
        <t>A session submits a frame to the delivery substrate.  The substrate:</t>
        <ol spacing="normal" type="1"><li>
            <t>validates the frame against Sections 3, 4, and 5, rejecting a
malformed frame per Section 9;</t>
          </li>
          <li>
            <t>verifies that <tt>sender_handle</tt> matches the submitting session's
authenticated identity, and that the submitting session is
authorised to address the supplied recipient scope (Section 6);</t>
          </li>
          <li>
            <t>expands the recipient scope against the live subscriptions of
<tt>recipient_handle</tt>; and</t>
          </li>
          <li>
            <t>emits the frame as a Server-Sent Events event on the per-handle
stream of each subscription the expansion names, subject to that
subscription's filter (Section 8).</t>
          </li>
        </ol>
        <t>A frame whose expanded scope names no live subscription is
delivered to no subscriber.  This is not an error: the sender
addressed a set, and the set was, at delivery time, empty.  The
submission result reports the count of subscriptions the frame was
emitted to so a sender may observe an empty fan-out.</t>
      </section>
      <section anchor="stream-maintenance">
        <name>Stream Maintenance</name>
        <t>The per-handle stream is a long-lived HTTP response.  The delivery
substrate <bcp14>SHOULD</bcp14> emit a periodic keepalive comment so that
intermediaries do not close an idle stream, and a subscriber
<bcp14>SHOULD</bcp14> treat a prolonged absence of both frames and keepalives as
a dropped stream and re-open it.</t>
        <t>Each emitted event carries the Server-Sent Events <tt>id</tt> field.  A
subscriber that re-opens a dropped stream <bcp14>MAY</bcp14> supply the <tt>id</tt> of
the last event it received in the <tt>Last-Event-ID</tt> request header.
A delivery substrate <bcp14>MAY</bcp14> honour <tt>Last-Event-ID</tt> by resuming
emission after the named event, where the substrate retains
recent events; a substrate that does not retain events, or for
which the named event has aged past retention, resumes emission
from the current stream position.  Whether, and for how long, a
substrate retains delivered frames for resumption is an
implementation matter and is not specified by this memo (Section
1).  A subscriber <bcp14>MUST NOT</bcp14> assume gap-free resumption.</t>
      </section>
      <section anchor="ephemerality">
        <name>Ephemerality</name>
        <t>A delivered frame is a routing unit.  Once the delivery substrate
has emitted a frame to the subscriptions its scope named, this memo
places no further obligation on the substrate with respect to that
frame.  The frame's <tt>ttl_ms</tt> is advisory to recipients and is not
a directive to the substrate.  An implementation that retains
delivered frames does so under its own retention policy; the
retention policy, the order in which retained frames are presented,
and any durability property of the retention store are outside the
scope of this specification.</t>
      </section>
    </section>
    <section anchor="subscribe-filter-grammar">
      <name>Subscribe Filter Grammar</name>
      <t>A subscriber <bcp14>MAY</bcp14> narrow the frames it receives on its per-handle
stream by supplying a filter expression when it opens the stream.
The filter is carried as a query-string parameter on the
stream-open request; this memo names the parameter <tt>filter</tt> for
the reference deployment, and an implementation <bcp14>MAY</bcp14> use any name
consistent with its addressing convention.</t>
      <t>A filter expression is a comma-separated list of <tt>key:value</tt>
clauses.  A frame is emitted to a filtered subscription only if it
satisfies every clause.  An empty filter, or an absent filter
parameter, matches every frame.</t>
      <t>The following filter axes are specified.</t>
      <dl>
        <dt><tt>kind:&lt;kind&gt;</tt></dt>
        <dd>
          <t>Matches frames whose <tt>kind</tt> equals the named catalogue value.  A
value outside the catalogue <bcp14>MUST</bcp14> cause the stream-open request to
be rejected, as a misspelled <tt>kind</tt> would otherwise silently match
nothing.</t>
        </dd>
        <dt><tt>sender:&lt;~handle&gt;</tt></dt>
        <dd>
          <t>Matches frames whose <tt>sender_handle</tt> equals the named handle.
A value that is not an absolute handle <bcp14>MUST</bcp14> cause the
stream-open request to be rejected.</t>
        </dd>
        <dt><tt>content_type:&lt;value&gt;</tt></dt>
        <dd>
          <t>Matches frames whose payload carries a content-type field equal
to the named value.  A frame whose payload carries no
content-type field does not match a <tt>content_type</tt> clause; the
axis is an opt-in field filter, not a default-pass.</t>
        </dd>
        <dt><tt>tool:&lt;tool-class&gt;</tt></dt>
        <dd>
          <t>Matches frames emitted by a session of the named tool class.</t>
        </dd>
        <dt><tt>org:&lt;org-handle&gt;</tt></dt>
        <dd>
          <t>Matches frames scoped to the named organisation.</t>
        </dd>
      </dl>
      <t><tt>tool</tt> and <tt>org</tt> are forward-compatibility axes: a deployment that
has not yet implemented the <tt>org:</tt> recipient scope of Section 6
accepts and parses an <tt>org</tt> filter clause so that subscribers may
write their filter strings ahead of substrate support, but the
clause matches no frame until the corresponding scope form is
implemented.  A parsed-but-not-yet-effective clause <bcp14>MUST NOT</bcp14> widen
the stream; the subscriber asked for a narrowing and receives, at
worst, a valid no-op.</t>
      <t>An unrecognised filter axis <bcp14>MUST</bcp14> cause the stream-open request to
be rejected with the <tt>filter-axis-unknown</tt> error of Section 9.  A
filter is a narrowing instruction the subscriber relies on; a
typo that silently disabled the narrowing would be a privacy
failure.</t>
      <t>Filtering is performed by the delivery substrate, not by the
subscriber.  A subscriber that supplies a filter receives only the
frames the filter admits; the substrate does not emit and then
expect the subscriber to discard.  Substrate-side filtering keeps
the volume on a constrained subscriber link proportional to what
the subscriber asked for, rather than proportional to the
handle's total fan-out traffic.</t>
    </section>
    <section anchor="error-handling">
      <name>Error Handling</name>
      <t>A delivery substrate that rejects a submitted frame, or a
stream-open request, <bcp14>MUST</bcp14> return a machine-readable error.  An
error is a JSON object carrying a stable <tt>code</tt> string, a
<tt>field</tt> naming the offending field where one applies, and a
human-readable <tt>message</tt>.  The following codes are specified.</t>
      <dl>
        <dt><tt>envelope-version-unsupported</tt></dt>
        <dd>
          <t>The frame's <tt>envelope_version</tt> is not implemented.</t>
        </dd>
        <dt><tt>kind-unknown</tt></dt>
        <dd>
          <t>The frame's <tt>kind</tt> is outside the fifteen-value catalogue.</t>
        </dd>
        <dt><tt>payload-kind-mismatch</tt></dt>
        <dd>
          <t>The frame's <tt>payload</tt> shape does not match its <tt>kind</tt>.</t>
        </dd>
        <dt><tt>field-missing</tt></dt>
        <dd>
          <t>A <bcp14>REQUIRED</bcp14> field is absent.  <tt>field</tt> names it.</t>
        </dd>
        <dt><tt>field-invalid</tt></dt>
        <dd>
          <t>A field carries a value outside the constraints of Section 3, 4,
or 5.  <tt>field</tt> names it.</t>
        </dd>
        <dt><tt>field-unknown</tt></dt>
        <dd>
          <t>The frame carries a field outside the specified set (Section 12).
<tt>field</tt> names it.</t>
        </dd>
        <dt><tt>sender-identity-mismatch</tt></dt>
        <dd>
          <t>An identity the frame asserts does not match the submitting
session's authenticated identity.  <tt>field</tt> names which one:
<tt>sender_handle</tt>, <tt>acted_by</tt>, or <tt>drafted_with</tt> at the envelope
(Section 3.1, Section 3.2), or an <tt>intent_declare</tt> payload's own
<tt>acted_by</tt> or <tt>drafted_with</tt> where it disagrees with the envelope
pair.  Section 14.1 states the verification each requires.</t>
        </dd>
        <dt><tt>scope-unauthorised</tt></dt>
        <dd>
          <t>The submitting session is not authorised to address the supplied
recipient scope.</t>
        </dd>
        <dt><tt>scope-unimplemented</tt></dt>
        <dd>
          <t>The supplied recipient scope is well-formed but the delivery
substrate does not implement that scope form.</t>
        </dd>
        <dt><tt>filter-axis-unknown</tt></dt>
        <dd>
          <t>A stream-open filter clause names an unrecognised axis.</t>
        </dd>
        <dt><tt>filter-value-invalid</tt></dt>
        <dd>
          <t>A stream-open filter clause carries a value invalid for its
axis.</t>
        </dd>
      </dl>
      <t>A rejection <bcp14>MUST NOT</bcp14> result in a partial delivery: either a frame
is fully validated and entered into scope expansion, or it is
rejected and emitted to no subscriber.</t>
    </section>
    <section anchor="a-reference-tool-surface">
      <name>A Reference Tool Surface</name>
      <t>This section describes, non-normatively, the agent-runtime-facing
verb surface of the reference deployment.  The verbs are exposed as
Model Context Protocol <xref target="MCP"/> tools; an implementation <bcp14>MAY</bcp14> expose
the same operations under any addressing convention.  The verbs are
named here so that the wire elements of Sections 3 through 8 can be
related to the operations an agent runtime performs.</t>
      <t>A verb name and a frame kind are separate namespaces.  Some verbs
carry the name of the frame they submit, as <tt>agent_broadcast</tt> does.
Others do not, either because the operation submits no frame at all,
as with <tt>agent_subscribe</tt> and <tt>agent_roster</tt>, or because the verb
names the act while the kind names the announcement, as with
<tt>agent_advise</tt> submitting an <tt>agent_advisory</tt> frame and
<tt>agent_lock_acquire</tt> submitting an <tt>agent_lock_request</tt> frame.  A
name that appears in this section and nowhere else in this memo is
therefore a verb, not an undefined kind.</t>
      <dl>
        <dt><tt>agent_send</tt></dt>
        <dd>
          <t>Submits a single frame to a recipient scope.</t>
        </dd>
        <dt><tt>agent_advise</tt></dt>
        <dd>
          <t>Submits an <tt>agent_advisory</tt> frame; a distinct verb from
<tt>agent_send</tt> so a runtime hook can emit an advisory without
selecting a kind.</t>
        </dd>
        <dt><tt>agent_broadcast</tt></dt>
        <dd>
          <t>Submits an <tt>agent_broadcast</tt> frame to a fan-out scope.</t>
        </dd>
        <dt><tt>agent_handover</tt></dt>
        <dd>
          <t>Submits an <tt>agent_handover</tt> frame, retiring the temporary-file
fallback of Section 1.</t>
        </dd>
        <dt><tt>agent_lock_acquire</tt>, <tt>agent_lock_release</tt>, <tt>agent_lease_extend</tt></dt>
        <dd>
          <t>Submit the three advisory lock-shaped frames of Section 4.3.</t>
        </dd>
        <dt><tt>agent_query</tt></dt>
        <dd>
          <t>Submits an <tt>agent_query</tt> frame and returns the query identifier
for the caller to correlate responses against.</t>
        </dd>
        <dt><tt>agent_roster</tt></dt>
        <dd>
          <t>Returns the set of the handle's sessions currently subscribed to
the per-handle stream, i.e. the live membership against which a
recipient scope would expand.</t>
        </dd>
        <dt><tt>agent_subscribe</tt></dt>
        <dd>
          <t>Opens the per-handle stream with an <bcp14>OPTIONAL</bcp14> filter expression
(Section 8).</t>
        </dd>
      </dl>
      <t>The reference deployment exposes these verbs alongside, and
distinct from, the verb surface by which human-readable messages
are exchanged.  The agent-channel frame and the human-message
surface share a delivery substrate and a per-handle stream; they
are distinguished by the structured-versus-prose shape of their
payloads and by the kind catalogue, since only the agent-channel
frame carries a kind.</t>
    </section>
    <section anchor="composition-with-companion-memos">
      <name>Composition with Companion Memos</name>
      <t>This memo composes with five companion Internet-Drafts and
does not introduce a transport, a handle category, or an
attribution slot beyond them.</t>
      <t><xref target="IDPRONOUNS"/> supplies the absolute handle form required of the
<tt>sender_handle</tt> and <tt>recipient_handle</tt> fields (Section 3.1).</t>
      <t><xref target="MCPDNS"/> supplies the <tt>~handle</tt> namespace used by the
<tt>sender_handle</tt>, <tt>recipient_handle</tt>, <tt>acted_by</tt>, and <tt>drafted_with</tt>
fields and by the scope grammar of Section 6, and the discovery
mechanism by which an agent runtime resolves the delivery substrate
for a <tt>~handle</tt> and opens the per-handle stream against it.</t>
      <t><xref target="IDCOMMITS"/> supplies the Sovereign/Instrument trust-tier taxonomy of
those fields, and the tier-structured attribution grammar that
the <tt>acted_by</tt> / <tt>drafted_with</tt> pair of Section 3.2 carries at wire
time.  A frame's attribution pair and a commit's trailer block are
the same shape applied at two points in a workflow.</t>
      <t><xref target="IDACCORD"/> supplies the peer-protocol ceremony that mediates the
<tt>accord:</tt> recipient scope of Section 6.  Cross-organisational
delivery is grant-bounded through that ceremony; no meta-federation
authority is introduced.</t>
      <t><xref target="SUBSTRATE"/> describes the coordination approach this memo does not
duplicate.  The present memo is a delivery
frame for messages a session chooses to send; it is not a
coordination protocol.  Where concurrent sessions of a principal
must deconflict conflicting action, they do so through the
substrate-observation cascade of <xref target="SUBSTRATE"/>.  The lock-shaped
kinds of Section 4.3 are announcements within the present memo's
delivery model and are not the enforcement mechanism;
<xref target="SUBSTRATE"/> specifies how conflicting action is reconciled.</t>
    </section>
    <section anchor="extensibility">
      <name>Extensibility</name>
      <t>The agent-channel frame object does not admit extension fields.  An
implementation that receives a frame carrying a field outside the
set specified in Sections 3, 4, and 5 <bcp14>MUST</bcp14> reject it with the
<tt>field-unknown</tt> error of Section 9.  A frame is a small routing
unit on a constrained stream, and a silently accepted unknown field is more likely a
sender bug than a forward-compatible extension.</t>
      <t>Extension of the protocol proceeds by revision of this memo.  A new
frame kind, a new payload field, or a new scope or filter form is
introduced by a new <tt>envelope_version</tt>, and a receiver that does
not implement the new version rejects frames carrying it
(Section 3.1) rather than parsing them partially.  The fifteen-value
kind catalogue of Section 4 is exhaustive within this memo.  Deployed implementations may carry further frame kinds
and envelope fields that this memo does not define; a receiver that
implements only this memo rejects them.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This memo requests no IANA action.</t>
      <t>The frame format of this memo is an application-layer JSON object
<xref target="RFC8259"/> carried over the existing Server-Sent Events transport
<xref target="HTML-SSE"/>; it introduces no new media type, no new URI
scheme, no new port, and no new DNS resource record.  The
per-handle stream is discovered and addressed by the mechanism of
<xref target="MCPDNS"/> and requires no separate allocation here.</t>
      <t>The fifteen kind values of Section 4, the recipient-scope forms of
Section 6, the filter axes of Section 8, and the error codes of
Section 9 are protocol constants of this specification.  This memo
does not request an IANA registry for them.  Should a future
revision, or a companion specification, propose a registry for the
kind catalogue or the error codes (for example to permit
third-party kind allocation), that revision will request the
corresponding IANA action and specify the registration policy.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="sender-spoofing">
        <name>Sender Spoofing</name>
        <t>A frame asserts a <tt>sender_handle</tt> and an <tt>acted_by</tt> /
<tt>drafted_with</tt> attribution pair.  An unauthenticated submission
path would let any party assert any handle.  The delivery
substrate <bcp14>MUST</bcp14> authenticate the submitting session and <bcp14>MUST</bcp14> verify
that <tt>sender_handle</tt> matches the authenticated identity before the
frame enters scope expansion; a frame failing the check is rejected
with <tt>sender-identity-mismatch</tt> (Section 9).  The substrate <bcp14>MUST</bcp14>
additionally verify that the <tt>acted_by</tt> handle is the
Sovereign-tier handle the authenticated session is bound to, so
that an Instrument-tier session cannot assert a Sovereign-tier
<tt>acted_by</tt> other than its own principal's, and <bcp14>MUST</bcp14> verify that
<tt>drafted_with</tt> matches the authenticated session's own
Instrument-tier handle.  A frame failing either check is rejected
with <tt>sender-identity-mismatch</tt> (Section 9).</t>
        <t>These checks bind the envelope-level pair of Section 3.2.  An
<tt>intent_declare</tt> payload (Section 5.13) carries its own <tt>acted_by</tt> and
<tt>drafted_with</tt> pair, and verifying the envelope says nothing about
the copy inside the payload.  The substrate <bcp14>MUST</bcp14> verify that an
<tt>intent_declare</tt> payload's <tt>acted_by</tt> and <tt>drafted_with</tt> are
identical to the envelope pair of the frame carrying it, and <bcp14>MUST</bcp14>
reject a frame whose two copies disagree with
<tt>sender-identity-mismatch</tt> (Section 9).  Without this a party who
correctly authenticates as itself at the envelope may still attribute
the declared intent to another principal, which is the same forgery
the envelope check closes, one field further in.</t>
      </section>
      <section anchor="scope-authorisation-bypass">
        <name>Scope-Authorisation Bypass</name>
        <t>The recipient-scope grammar of Section 6 lets a sender address a
set rather than an endpoint.  A sender that could address an
arbitrary scope could deliver unsolicited frames to any handle or
any organisation's members.  The delivery substrate <bcp14>MUST</bcp14> refuse a
scope the submitting session is not authorised to address: a scope
naming a foreign handle, an <tt>org:</tt> scope of an organisation that
does not recognise the sender, or an <tt>accord:</tt> scope absent a
grant.  Authorisation is checked at submission time, before scope
expansion; a frame failing the check is rejected with
<tt>scope-unauthorised</tt> and reaches no subscriber.</t>
      </section>
      <section anchor="fan-out-amplification">
        <name>Fan-Out Amplification</name>
        <t>A single submitted frame to a broad scope (<tt>org:&lt;org-handle&gt;/members/*</tt>)
expands to many emitted events.  An attacker in possession of a
member credential could submit frames at a high rate to amplify
load across an organisation's subscribers.  Delivery substrates
<bcp14>SHOULD</bcp14> rate-limit submissions per authenticated sender, <bcp14>SHOULD</bcp14> cap
the cardinality a single scope expansion may produce, and <bcp14>SHOULD</bcp14>
apply the per-frame size bounds of Section 5 so that an amplified
frame is at least small.  The convergence kinds of Section 4.7 are
themselves a load-reduction mechanism (they let a set of sessions
collapse many intended effects into one), and a substrate <bcp14>MAY</bcp14>
treat a high rate of <tt>intent_declare</tt> frames without corresponding
<tt>flush_executed</tt> frames as an abuse signal.</t>
      </section>
      <section anchor="lock-shaped-frames-are-not-authority">
        <name>Lock-Shaped Frames Are Not Authority</name>
        <t>The <tt>agent_lock_request</tt>, <tt>agent_lock_release</tt>, and
<tt>agent_lease_extend</tt> kinds are advisory announcements (Section 4.3).
A reader, or an implementer, who treats them as an enforcement
mechanism introduces a security defect: a recipient that
relies on a received <tt>agent_lock_request</tt> to guarantee
exclusive access has trusted an unenforceable announcement, and an
attacker who suppresses or forges such a frame can induce a
recipient to act, or to refrain from acting, incorrectly.  Mutual
exclusion, where an implementation requires it, <bcp14>MUST</bcp14> be enforced by
a local mechanism (a filesystem advisory lock, an operating-system
lease) that does not depend on frame delivery.  The lease
identifier carried by these frames is a correlation value and <bcp14>MUST
NOT</bcp14> be treated by the delivery substrate as a key into a lock
table.</t>
      </section>
      <section anchor="replay-and-duplication">
        <name>Replay and Duplication</name>
        <t>A frame carries a sender-generated <tt>frame_id</tt>.  An attacker
positioned on the transport could re-deliver an aged frame to
refresh a recipient's view of stale state, for example by replaying
an <tt>agent_advisory</tt> to make a long-departed session appear active.
The per-frame <tt>ttl_ms</tt> bounds the window in which a recipient
treats a frame's content as operative, and a recipient <bcp14>SHOULD</bcp14>
discard a frame whose <tt>created_at</tt> plus <tt>ttl_ms</tt> lies in the past.
A recipient <bcp14>SHOULD</bcp14> additionally de-duplicate by <tt>frame_id</tt> so a
duplicated delivery of the same frame is processed once.  Because
the lock-shaped frames are not authority (above), a replayed
lock-shaped frame cannot, by itself, grant or revoke access; its
worst effect is a stale advisory, bounded by <tt>ttl_ms</tt>.</t>
      </section>
      <section anchor="diagnostic-frame-information-disclosure">
        <name>Diagnostic-Frame Information Disclosure</name>
        <t>A <tt>peer_diagnostic_request</tt> carries a symptom description and
observation references; a <tt>peer_diagnostic_response</tt> carries a
finding and a remediation.  These may disclose configuration,
file paths, or operational detail a sender did not intend to
expose beyond its own sessions.  A sender <bcp14>SHOULD</bcp14> scope diagnostic
frames no more broadly than the troubleshooting requires,
preferring point-to-point or its own sessions over an <tt>org:</tt>
scope, and <bcp14>SHOULD</bcp14> redact secret material from a symptom
description before submission.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <section anchor="recipient-scope-membership-inference">
        <name>Recipient-Scope Membership Inference</name>
        <t>The submission result of Section 7.1 reports the count of
subscriptions a frame was emitted to.  A sender that submits frames
to successively narrower scopes can, from the reported counts,
infer how many of a handle's sessions, or an organisation's
members' sessions, are currently online.  A delivery substrate
<bcp14>SHOULD</bcp14> consider whether to report an exact count or a coarsened
one, and <bcp14>SHOULD</bcp14> restrict the <tt>agent_roster</tt> operation of Section 10,
which enumerates a handle's live sessions, to the handle's own
sessions and to parties the handle has authorised.</t>
      </section>
      <section anchor="attribution-exposure">
        <name>Attribution Exposure</name>
        <t>Every frame carries an <tt>acted_by</tt> Sovereign-tier handle and a
<tt>drafted_with</tt> Instrument-tier handle.  Within a fan-out, every
recipient of a frame learns the sending principal's identity and
the runtime that composed the frame.  The attribution pair is the
basis on which a recipient assesses a
frame.  A sender should be aware that an <tt>org:</tt> or <tt>accord:</tt>
scope discloses the attribution pair to every member of the
addressed set.  A sender that wishes to limit attribution exposure
<bcp14>SHOULD</bcp14> prefer the narrowest scope that reaches the intended
recipients.</t>
      </section>
      <section anchor="provenance-block-content">
        <name>Provenance-Block Content</name>
        <t>The provenance block of Section 3.3 carries a compute-location, a
set of derivation-method tags, and a stream-basis tag.  These
describe how the frame's content was produced and may, in
aggregate across many frames, characterise a sender's working
pattern.  The block is carried for the recipient's benefit; a
sender <bcp14>SHOULD</bcp14> populate <tt>provenance_method</tt> and <tt>provenance_basis</tt>
with tags no more specific than a recipient needs to assess the
frame, and an implementation <bcp14>SHOULD NOT</bcp14> require the block to carry
identifying detail beyond the derivation method.</t>
      </section>
      <section anchor="ephemerality-as-a-privacy-property">
        <name>Ephemerality as a Privacy Property</name>
        <t>This memo specifies delivery, not storage (Section 1, Section 7.3).
A frame delivered and not retained leaves no standing record on the
delivery substrate beyond the substrate's transient processing of
it.  Where an implementation chooses to retain delivered frames for
stream resumption, that retention is a privacy-relevant decision
the implementation makes outside this specification: a retained
frame is a record of who said what to whom, and the retention
horizon, access controls, and deletion behaviour of any such store
<bcp14>SHOULD</bcp14> be specified by the implementation and surfaced to the
principals whose frames it retains.  The convergence kinds of
Section 4.7 carry a decay horizon (<tt>ttl</tt> on <tt>intent_declare</tt>) so
that the announcement of an intended effect is forgotten once the
window for the effect has closed.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
        <name>Normative References</name>
        <referencegroup anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14" xml:base="https://bib.ietf.org/public/rfc/bibxml-rfcsubseries/reference.BCP.0014.xml">
          <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
            <front>
              <title>Key words for use in RFCs to Indicate Requirement Levels</title>
              <author fullname="S. Bradner" 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" target="https://www.rfc-editor.org/info/rfc8174">
            <front>
              <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
              <author fullname="B. Leiba" 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>
        </referencegroup>
        <reference anchor="RFC3339" target="https://www.rfc-editor.org/info/rfc3339" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3339.xml">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3339"/>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
        </reference>
        <reference anchor="RFC8259" target="https://www.rfc-editor.org/info/rfc8259" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8259.xml">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="MCPDNS" target="https://datatracker.ietf.org/doc/draft-morrison-mcp-dns-discovery/">
          <front>
            <title>Discovery of Model Context Protocol Servers via DNS TXT Records</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-morrison-mcp-dns-discovery-09"/>
        </reference>
        <reference anchor="IDPRONOUNS" target="https://datatracker.ietf.org/doc/draft-morrison-identity-pronouns/">
          <front>
            <title>Identity Pronouns: A Reference-Axis Extension to ~handle Identity Systems</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-morrison-identity-pronouns-05"/>
        </reference>
        <reference anchor="IDACCORD" target="https://datatracker.ietf.org/doc/draft-morrison-identity-accord/">
          <front>
            <title>Identity Accord Protocol: A Peer Ceremony for Bilateral Agreements Between Identity-Substrate-Bound Principals</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-morrison-identity-accord-03"/>
        </reference>
        <reference anchor="IDCOMMITS" target="https://datatracker.ietf.org/doc/draft-morrison-identity-attributed-commits/">
          <front>
            <title>Identity-Attributed Git Commits via Tier-Structured Trailers</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-morrison-identity-attributed-commits-04"/>
        </reference>
        <reference anchor="HTML-SSE" target="https://html.spec.whatwg.org/multipage/server-sent-events.html">
          <front>
            <title>HTML Living Standard, Section 9.2: Server-Sent Events</title>
            <author>
              <organization>WHATWG</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="SUBSTRATE" target="https://datatracker.ietf.org/doc/draft-morrison-substrate-observation/">
          <front>
            <title>Substrate-Observation as an Alternative to Envelope Coordination for Concurrent Sessions</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-morrison-substrate-observation-04"/>
        </reference>
        <reference anchor="MCP" target="https://modelcontextprotocol.io/specification/2026-07-28">
          <front>
            <title>Model Context Protocol Specification</title>
            <author>
              <organization>Agentic AI Foundation</organization>
            </author>
            <date year="2026" month="July" day="28"/>
          </front>
        </reference>
        <reference anchor="ALTER-URI" target="https://datatracker.ietf.org/doc/draft-morrison-alter-uri-scheme/">
          <front>
            <title>The 'alter' URI Scheme for Dispatchable ~handle References</title>
            <author fullname="Blake Morrison">
              <organization>Alter Meridian Pty Ltd</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-morrison-alter-uri-scheme-05"/>
        </reference>
      </references>
    

<section numbered="false" anchor="document-history">
      <name>Document History</name>
      <t>draft-morrison-agent-channel-fan-out-03 (October 2026):</t>
      <ul spacing="normal">
        <li>
          <t>Prose rewritten against the drafting rules: sentence-final "so"
and "which" tails joined or split.  No change to any field, kind,
scope form, filter axis, error code or procedure.</t>
        </li>
        <li>
          <t>References to other drafts pin their current posted revisions.</t>
        </li>
        <li>
          <t>An editorial pass before upload updates the pinned revisions to those
uploaded with this one, dates the <xref target="MCP"/> reference to the 2026-07-28
revision, and calls a handle "absolute", the term <xref target="IDPRONOUNS"/> defines,
where the text said "canonical".</t>
        </li>
      </ul>
      <t>draft-morrison-agent-channel-fan-out-02 (October 2026):</t>
      <t>Editorial, with one tightening.  No change to any field, kind,
scope form, filter axis, error code or procedure; the context
check of Section 3.3 is made categorical.</t>
      <ul spacing="normal">
        <li>
          <t>Cites BCP 14 as a single reference, replacing the separate
citations of RFC 2119 and RFC 8174.</t>
        </li>
        <li>
          <t>Replaces two examples, one in the convergence kinds and one in the
pointer-fields paragraph, with neutral ones.  The organisation-members scope form is unchanged.</t>
        </li>
        <li>
          <t>Rewords the Abstract so it carries no requirement keyword.</t>
        </li>
        <li>
          <t>Makes the context check of Section 3.3 categorical: the
prohibition no longer depends on sender policy.</t>
        </li>
        <li>
          <t>States that the fifteen-kind catalogue and the closed frame object
are closed within this memo, not a claim about every deployed
implementation (Section 4 and Section 12).</t>
        </li>
        <li>
          <t>Corrects the sources cited for the <tt>~handle</tt> namespace and the
Sovereign and Instrument tiers in Section 2 and Section 11.  They
are defined in <xref target="MCPDNS"/> and <xref target="IDCOMMITS"/>, not <xref target="IDPRONOUNS"/>.
Section 11 now counts five companion memos, not four.</t>
        </li>
        <li>
          <t>Replaces the citation of RFC 8441, which specifies WebSockets over
HTTP/2, with <xref target="HTML-SSE"/> for Server-Sent Events in Section 2,
Section 7 and Section 13, and makes <xref target="HTML-SSE"/> a normative
reference.</t>
        </li>
        <li>
          <t>Adds a reference for RFC 3339 in Section 3.1.  Moves <xref target="SUBSTRATE"/>
and <xref target="MCP"/> to the informative references, since neither is needed
to implement this memo.  Updates the title of <xref target="IDACCORD"/>.</t>
        </li>
        <li>
          <t>Removes the citations from the Abstract.</t>
        </li>
        <li>
          <t>Removes a sentence describing the memo's own scope from the
Introduction, and removes the Acknowledgements section as it
restated the Introduction.</t>
        </li>
        <li>
          <t>States in Section 2 how a <tt>~handle</tt> corresponds to an <tt>alter:</tt> URI
<xref target="ALTER-URI"/>, and removes self-description and padding from the
prose.  No field, kind, scope form or requirement changes.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8192XbcRpbge3xFDP0g0ydBiZK8kRp3U1tZ05alFunj6ePj
o4xMIJMoIYEsAEkqq0/Xt8y3zJfNXWMBkJTsnod6qDKFBGK5cePuS5Zlpi/7
qjizRxe1vVgXdZ89u3Z1XVT2Zes2hV01rX2Vw/Oy32f/VuyL3L50dfZm19vn
RVXeFO3e9o191tTLXdvCe/ay6Lqyqbsj4xaLtrjBsdOB+fsjkzfLGuY4s3nr
Vn22adq27Jo6c/T6kl/PVvB6s+uzB4/M0vXFumn3Z7asV43pdotNSZNd7bcF
PsyLbVHjak25bc9s3+66/uGDB98/eGiM2/XXTXtmrM3gf9audlXF0z+t3IfC
vpbp6cemXbu6/LvrYfAze1H1RWtfF22Zl662b/u9/anP6cVi48rqzC5wiH+F
+QqH754smw39vGvLM0uPzv5B7xhTN+0Gxr0pcClPn709fYx/vHv57NGjR9/L
n989/Jr+fP3s7fOfL89oKD2o52W3bAjuzQoWnQNEAfp98bG3b9umb5ZNBWfQ
whudvSmdhQHs1f++su+KZdPmcCw4WADGJ0HxB4DRu3Zd9Gf2uu+33dn9+7nr
Xd+65QeASFn0qxMY6T6c+v3BgW+W2yyvuyzXrd2n4TqYo+jwqHWhr2CfbV30
2XMcYIQ4o3GyB9/Tl7AQ2NzDBw+/gX++ev723Zuf3/wyBKyiOYKxbnZ1B3sF
qK0KQOtlkV18LDv74mNf1IhxiPT/AAzNq8LfD3u57/pi808J4lLv8FY29ydB
PBone/D1FIgvnj178+75AQBfLBEVPboinN8WsONnAOpNU++J6jwtKxiydRXQ
pbYoNvBtZ58W/W1R1IEkXe4WHey/L7KnsBocs6yX5dZV/9yn4AgC/90z4FGQ
Mk6cwLM3r1+/ujqA49lF37flYtcDPf9L2QMF2WzKngnGVVm02SXQsmW/a+H3
qxZIHFCTf26A+v1kS97Lfxu4oxGzB4/HgP7x6vVP2eXlixTO+NT+VN6U9dpe
9kAmXJvPgCwvERL2+5OHZ0Kjs0vkmS9uELunAAz7PrO//nhx9etfJgF13W+q
k25bLE9ur11/uyZAbXZVD3dgXdzveJIOGWpBk5zgF8NtGARQxJYuf3l6efXu
4mqwq3DZ3ixwZDpX6zoLp0mHW9MISBtf1DdF1WwLwCxA0bLmV/FeT4oK/3yY
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
ffbq+dxzpevC5agiHBQ0uND86HvKVeh27M3whH/VC6tg2ZdWEzvKYi2ZY9ul
/jX3izuXsxN2NpARqeouv0jBTVjyP/hhoxkpotGtqcYoRcNIuZYZLxkG1BUb
5aK+ZYfAedt0pRTABnUY5RPGLfR8YmEBRCJq0TTc0LgWOLfRgXmVuEzkW0ky
eJSYeqAwuRI4c3rMcknAHC8eg8wDm7Rrt83IIhQml0JuWnYd2FIkYR4uvE4l
KCQWY0J8ofhRwf4BZ08pFDKOQHzzWdiXCcV1tP7TuLBOgDWJckhpYqYQl07S
qgg+QudgJcII5njTh9UHY4lkugKsx+TRwRPqAhFj1VHTtUOZds7W5lTl4VOO
LaZ670Es55nCBGg1kip/AE12SoLmke9atyjxdLVO/D5YBXUaKr9OI0SeOXNX
KXiUwkP5zJfMcCP7YYyKQDek15bnSl1ElVBqJIBEckGQoJm+sS4qfD0q0EmV
m3wBziCWclcReb/sfA6/6zQnKROjJQq9m4KKL9SR8M4EXejieXTnal+8M3w5
54nmRIQSe2uiUYnXYDqrnw6rpmYfWHuq631cGsnIvm1OVAibhZoRTCTfDk4i
U5k+99m/8w/F/owS8OZmiQXByOYc2XsjUUEBzlpA5G/ETLNyhTohB3sjbyuI
DvCQfD1EnKAhiEQ7LfKl9Uo9BGdeli5CpZ+RjVS26j4WEzZSjC0/e4L/T3ad
1zJeUi5WAtALrCbXRXxiUPhQil1PlN2cqnQYkC7BGc56WmglRCRwbMMAXrMt
qLC5LGeY0a1aL8OEaxpfi1OQBbezJ6LV3rHVga4y2nMo+nchO4292ePygIMt
G3tg0/GWqW4e+xve99go/QnNdHjVo9ATdVdk+LlUqKCtULnoaDv+4CarW+t4
dROy6uMhR1mcybLngtbnsnH3kSV+TrHLSimV6lGdnQkScpFh5j8FoTVNdfYE
/z8jv9oUFPTyiUI+YeTH7zmWfMqeOjEkEfE8BVZs4dKliVcVfuJKjUDKbl2b
c32jvhQWgnfvjDanZI3ZLXf36u2+iKqwSskdsUENdc/I6vON8dWyqallK52j
eDVy7fkMfDOVwGAwZGNvsJ8ZYWbZ6hcSgGAdirWqIrHMIPEG6KzjGlcyupIh
7bxkMVasEkUrthwGGxoqiNGWCQdpC3kGg2cAlQygkrGZjzQanspLaLdoFTCB
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
//hfJfwnMd8+SnK3N9sd6uaNupqc8S0NkTiSk3MDl7OBo3TrzmuXnMPBpwY/
KPsyGkdDdMUffiRKIYnbqvscBwOGhyqDces1dvtG6ZcNDkSVmNRRx6QWLwPe
JM/l7nXaEgmdNRgNKFjG246qSoQOGEE4XQApWZX9eQhE0COS1lHA0j0k3zMQ
xAwcPScQzNnyjhDy7FF9eBraEBC69g3FCbODs+ZQAQpZFye5EE+lzfAuMTwY
7cqqoJCBWcSBEMQYnaflrYyLy7DaoUzxrdQiiR3nIZZGiTpHymN1EqC6UeLb
LGKBrG4nqpWcfSgUVFC3oBsxs2kX6KRniJlQlKIN+of3xJtOsBZBFwcDrku1
cX49oH5GMVhSvGiqNpAWPglVery3VGu1sL2dwZih6eIGJV7floNu9rCe0Ici
ztIcupzZjsBwisxRHj4r1uldmUt3CEwHbjbB8e0XZ6SW+kztCHgv26aSmw07
LkRgunbYSa5lK++ebQNUhUYp2aIYVj0a7Yu8wRzKrJk5xjMRLSkRl5uh0jx3
GNZMbFjjcJNBS1r7JVeOb8Z5hsfeNdgP0ljElD2wqiGM0TLSAGmpSVGiDYgG
qSRF3kVeT4wFL1aWZRaTFagSZrPk6NIfSwTf3vznGYgcC0Sr/3lEPS2O/ssY
4uAZEA4gcNigOg43y4RdZw8e2S/fLPsGGdPDBw+/OT4z5iu8qB2eMNZXwIXG
JQNpWLpJuwrrQmiTlWyF9lR71DVH0on2iBjvkUW60dm/NnQlsQEsaJR4a35u
tD2seC0kWooCqTClxIdmzOICBrMoFgGHo/uYc7r/VyE3jm4de45yjubesmIM
LFmjG7eNNE3gqISORsAqNqAgN6QAoBNIRX3QhNF4vduGCpQwZB0PwBjZUPNH
fj2UTyBhBAhy+JpT4pLeRvgYzyF78G328DvKedCADkdhGVUVpEp7pKHiRxyu
glXybBJYzpFPHYIz1GCjxDy62kcg0Dc1+hqPTj4XYx6OMeaFwmsWaqz22ByI
ugF/8qj/6EGfi+JDGYaGnS8DgYR6uuQ+KB93SIf7rETgP3321p4+ZuYktn9/
CjM2PizVt+NLpFq7LDU0DWZ79/KZfXh6+j2dC/7ju9NvHwsKSi0z9LiKWUr8
j2KaGdMhx02J5QVMNubeBplEtuEa1q3bXguE62IHHKnCb5S4xfpUpkWzk5Il
FoiTZI/wOm99U/sL4nRLKrlYhuKFdaPiAdGbD8UeP6GvXxODiQ7CTh5EdABn
urW2uS4XnK6B1TexGmMrFlMS2EV28rE9X9lLTbMWSqvhh4NYJeVNTDWTmFqk
Sa3/ZRiGqPV7qB0ixwCI0J5LdCLWU085UbD+s94YJ+gjprHBWtQdipHrrPhq
hc5P5VvIFowN6hk9i3MKsL9EFK5rH6YLOGWE2MuWNd0QPkiC6qJEBt5+TDiw
xkAYEFMdRckfpswg9Dr+HltpDS4AnoVcGr0z3z1+fKoe/CD8/VosLrFpT8+2
Gpgda4nefyjoHiIYCXgT0Y4xOGbR4r9NYfNoJhoCIm80qrM+QZqIrhADZgh5
zpKR0mlcAm7l0aNH38cTPzpB0L9uUOaM4sWFHWoCtOhhK50vMvppAlQt4ThU
L7zICfsGZb5D/OwvET8C9bniGHqfZSEnsmluBgfSBUOO3v7kXedZu6YyKEnk
QHq2sDF90UrUWH+efVe951ltNPfFEqO3qyJfiwvN59OitEaQl77c+HY8VkwG
EtRHrTBO5gkuxs7XhUeWAro7xrRa+9vFT1cv3mXwj9/TBaIxORtYZ4Hw5lzJ
JWyRstuYqcVsLKa1ZIsOdFNa3J+Y/wcLj3JxA8sAAA==

-->

</rfc>
