<?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 4.0.5) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bubblefish-naalp-01" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="N-AALP">N-AALP: The Native Agentic Application Layer Protocol</title>
    <seriesInfo name="Internet-Draft" value="draft-bubblefish-naalp-01"/>
    <author initials="S." surname="Sammartano" fullname="Shawn Sammartano">
      <organization>BubbleFish Technologies, Inc.</organization>
      <address>
        <email>naalp-editor@bubblefish.sh</email>
      </address>
    </author>
    <date year="2026"/>
    <area>ART</area>
    <keyword>agents</keyword>
    <keyword>agentic</keyword>
    <keyword>application layer</keyword>
    <keyword>post-quantum</keyword>
    <keyword>CBOR</keyword>
    <keyword>COSE</keyword>
    <abstract>

<t>The Native Agentic Application Layer Protocol (N-AALP) is an application-layer object
protocol for autonomous software agents. Every N-AALP object is a deterministically encoded
CBOR structure signed with COSE, carrying under one signature its content identity, its
originating signer, a closed effect label that is an authorization input rather than a hint,
optional approval and audit bindings, and its causal derivation. Objects are transport-
independent: the identical signed object is carried, with identical object-level guarantees,
over the N-PAMP substrate, QUIC, WebSocket, or HTTP. N-AALP defines a frozen envelope, a
post-quantum signature profile (pure ML-DSA by default, with an optional Ed25519+ML-DSA composite), a self-certifying
identity with key rotation, a single-use approval ledger, a hash-chained audit and causal-
ordering model with a federated higher tier, native streaming with a single per-stream
commitment, foreign-protocol carriage by class, and twenty tiered channel surfaces. This
document is an Independent Submission and does not represent IETF consensus.</t>
    </abstract>
  </front>
  <middle>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Autonomous agents increasingly exchange consequential messages -- tool invocations, memory
writes, capability delegations, settlements -- across trust and organizational boundaries.
Existing agent protocols secure the transport connection but leave the individual message
un-signed, its effect on the world undeclared, and its authorization implicit. N-AALP makes
the object, not the connection, the unit of security and governance.</t>
      <t>N-AALP is the application layer above the N-PAMP substrate
<xref target="NPAMP"/>: N-PAMP provides the post-quantum secure channel, channel identifiers,
and foreign-protocol Bridge; N-AALP provides the signed, effect-labeled, audited object that
rides any transport. The two compose but N-AALP does not require N-PAMP: the same object is
valid over QUIC, WebSocket, or HTTP.</t>
      <section anchor="scope">
        <name>Scope</name>
        <t>This document specifies: the object envelope and its deterministic CBOR encoding (# Object
Model); the COSE signing constructions and crypto-agile profiles (# Cryptographic
Constructions); self-certifying identity and key lifecycle (# Identity); the closed effect
vocabulary and effect-to-authorization rule (# Effects and Authorization); the approval object
and single-use consume ledger (# Approval); the audit receipt chain, causal graph, and tiered
ordering (# Audit, Causal Graph, and Ordering); delivery stages (# Delivery); native streaming
(# Streaming); the four transport bindings and the confidentiality boundary (# Transport
Bindings); foreign carriage by class (# Foreign Carriage by Class); the twenty tiered
channel surfaces (# Channel Surfaces); and the higher-tier additive object families -- rooms
membership, multi-hop delegation, MCP tool-call binding, description and directory, name bindings
and A2A task transitions, governed negotiation, advisory risk labels, flow continuations, governed-
decision records and transparency log primitives, portable egress evidence, and manufacturing
physical-hazard claims (# Additive Object Families). The document classifies these surfaces by status
(# Conformance): the spine and each channel's frozen baseline surface are normative and required for
conformance, while the higher tiers are experimental and <bcp14>OPTIONAL</bcp14>. The classification is editorial
and does not narrow implementation coverage.</t>
      </section>
      <section anchor="non-goals">
        <name>Non-Goals</name>
        <t>N-AALP does not define a transport handshake, key exchange, or record layer; those are the
substrate's (N-PAMP's, or the underlying TLS/QUIC's). It does not define agent reasoning,
planning, or model behavior. It does not replace the foreign protocols it carries; it wraps
them.</t>
      </section>
    </section>
    <section anchor="conventions-and-terminology">
      <name>Conventions and Terminology</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 <xref target="BCP14"/> (<xref target="RFC2119"/>) (<xref target="RFC8174"/>) when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The following terms are used:</t>
      <dl>
        <dt>Object:</dt>
        <dd>
          <t>a deterministically encoded CBOR map, signed with COSE, that is the unit of N-AALP security
and governance.</t>
        </dd>
        <dt>Content id:</dt>
        <dd>
          <t>the multihash of the SHA-384 of an object's canonical body excluding its own id field; it
binds the object's bytes.</t>
        </dd>
        <dt>Signer id:</dt>
        <dd>
          <t>a self-certifying identifier derived from a public signing key (# Identity); no certificate
authority is involved.</t>
        </dd>
        <dt>Effect:</dt>
        <dd>
          <t>one closed value stating what an object does to the world, aligned with the N-PAMP Bridge
SafetyLabel and used as an authorization input (# Effects and Authorization).</t>
        </dd>
        <dt>Channel:</dt>
        <dd>
          <t>one of twenty application surfaces, identified by an N-PAMP channel id (# Channel Surfaces).</t>
        </dd>
        <dt>Carriage:</dt>
        <dd>
          <t>wrapping a foreign protocol's message octet-for-octet inside a signed N-AALP object
(# Foreign Carriage by Class).</t>
        </dd>
      </dl>
    </section>
    <section anchor="architecture">
      <name>Architecture</name>
      <t>N-AALP separates three layers that <bcp14>MUST NOT</bcp14> be conflated:</t>
      <ol spacing="normal" type="1"><li>
          <t>The object (this document): self-secured, transport-independent.</t>
        </li>
        <li>
          <t>The transport: provides confidentiality, connection authentication, and framing; N-PAMP is
the reference confidential transport, but QUIC, WebSocket, and HTTP are equally valid
carriers of the identical object.</t>
        </li>
        <li>
          <t>The application: the twenty channel surfaces, each a thin body over the one object model.</t>
        </li>
      </ol>
      <t>Object-level guarantees (integrity, identity, non-repudiation, effect, audit) are always
present regardless of transport. Confidentiality, forward secrecy, and connection
authentication are transport-provided and conditional (# Transport Bindings).</t>
    </section>
    <section anchor="objmodel">
      <name>Object Model</name>
      <t>Every top-level wire structure this document defines -- the object body below, its COSE signature
wrapper, the identity, approval, audit, delivery, streaming, flow-continuation, carriage, and
additive-family records (# Additive Object Families) -- is collected as a single reachable root,
<tt>naalp-artifact</tt>, in the CDDL module (Appendix A). The union exists only so a CDDL validator sees
every production as reachable from one entry point; it carries no independent wire meaning of its
own, and a concrete instance is always validated against the specific production for its kind, not
against the union.</t>
      <section anchor="deterministic-encoding">
        <name>Deterministic encoding</name>
        <t>All N-AALP structures are encoded as deterministic CBOR per <xref target="RFC8949"/> Section 4.2.1:
shortest-form integer and length encoding, major-type map keys sorted in bytewise-lexicographic
order of their encoded form, no indefinite-length items, and no duplicate keys. A non-canonical
encoding of any structure defined here <bcp14>MUST</bcp14> be rejected.</t>
        <t><xref target="RFC8949"/> Section 4.2.2 leaves the integer/float question, and <xref target="RFC9052"/> Section 3 the empty
protected header, to the protocol; N-AALP resolves each as a <bcp14>MUST</bcp14>-reject so that one logical object
has exactly one encoding. A CBOR float (major type 7) <bcp14>MUST NOT</bcp14> appear in any object body field,
<tt>ext</tt> value, or <tt>cext</tt> value, and a decoder <bcp14>MUST</bcp14> reject a major-type-7 item as non-canonical. An
empty COSE protected header <bcp14>MUST</bcp14> be the zero-length byte string <tt>0x40</tt>; the redundant <tt>0x41A0</tt>
form (a byte string wrapping an empty map) <bcp14>MUST</bcp14> be rejected as non-canonical, before the header is
interpreted. A map with duplicate keys <bcp14>MUST</bcp14> be rejected at the decoder (<xref target="RFC8949"/> Section 5.6).</t>
      </section>
      <section anchor="the-object-body">
        <name>The object body</name>
        <t>The signed payload is the object body, a CBOR map, expressed here in CDDL <xref target="RFC8610"/>:</t>
        <sourcecode type="cddl"><![CDATA[
naalp-object = {
  1 : bstr,      ; id: multihash(0x20, SHA-384(body-without-1))
  2 : uint,      ; kind (per channel surface)
  3 : 0..19,     ; channel id
  4 : uint,      ; tier (0 = baseline)
  5 : bstr,      ; signer: self-certifying signer id
  6 : uint,      ; created: epoch ms (advisory)
  7 : effect,    ; closed effect value
  8 : [* bstr],  ; causes: content ids; may be empty
  9 : profile,   ; crypto profile
  10 : any,      ; body: kind-specific, validated by the surface
  ? 11 : { * uint => any },  ; ext: non-critical; unknown ignored
  ? 12 : { * uint => any },  ; cext: critical; unknown => reject
  ? 13 : tstr,   ; audience: consuming-authority binding;
                 ; omitted when empty (see below)
  ? 14 : uint,   ; suite: signed signature-suite selector;
                 ; present iff composite alg (see below)
}
effect = &( read_only:0, idempotent_write:1,
            non_idempotent_write:2, destructive:3 )
profile = &( public:1, enterprise:2, sovereign:3 )
]]></sourcecode>
        <t>Fields 4 (<tt>tier</tt>) and 9 (<tt>profile</tt>) are independent axes with distinct meanings and <bcp14>MUST NOT</bcp14> be
conflated. <tt>profile</tt> selects the cryptographic signature floor (# Cryptographic Constructions)
that bounds which signature strength a verifier accepts for the object. <tt>tier</tt> selects the
channel's capability depth (0 = baseline; higher values are named per channel, # Channel
Surfaces) under the one frozen envelope. The two are set independently: a higher channel tier
does not raise the signature floor, and a higher crypto profile does not unlock channel
capability.</t>
      </section>
      <section anchor="content-identity">
        <name>Content identity</name>
        <t>The id (field 1) is <tt>multihash(0x20, SHA-384(C))</tt> where C is the deterministic CBOR encoding of
the body with field 1 removed, and 0x20 is the multiformats code for SHA-384. A verifier
recomputes the content id and <bcp14>MUST</bcp14> reject a mismatch (ContentIdMismatch). Because the id binds
the exact bytes, altering any field changes the id.</t>
        <section anchor="multihash-length-octet-worked-example">
          <name>Multihash length-octet worked example</name>
          <t>A multihash is <tt>unsigned-varint(code) || unsigned-varint(digest-length) || digest</tt>, per the
multiformats multihash and unsigned-varint specifications. unsigned-varint is a base-128
(LEB128-style) encoding: a value under 128 encodes as exactly one octet equal to that value.
Both integers a content id ever carries are under 128 (32 and 48), so both octets are
single-byte:</t>
          <artwork><![CDATA[
octet 0        : 0x20  -- unsigned-varint(32); sha2-384 multicodec code
octet 1        : 0x30  -- unsigned-varint(48); a 48-octet SHA-384 digest
octets 2..49   : the 48-octet SHA-384 digest
]]></artwork>
          <t>Using the FIPS 180-4 SHA-384 known-answer digest for the ASCII input <tt>"abc"</tt> (shown below),
the 50-octet content id is:</t>
          <artwork><![CDATA[
SHA-384("abc"):
  cb00753f45a35e8bb5a03d699ac65007272c32ab0eded163
  1a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7

content id:
  2030cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1
  631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7
]]></artwork>
          <t>The two prefix octets are derived from the unsigned-varint algorithm applied to 32 and 48,
not asserted as a fixed literal; the same algorithm produces a two-octet encoding
(<tt>0xac 0x02</tt>) for a value at or above 128 (e.g. 300), which is how a future digest algorithm
with a multicodec code or digest length at or above 128 would be carried without changing
this framing. A conformance oracle and grading gate for this construction, cross-checked
against the multiformats spec and NIST FIPS 180-4 SHA-384 known-answer values independent of
any N-AALP encoder, ship with the reference implementation (<tt>tools/multihash_oracle.py</tt>,
<tt>scripts/gates/gate_multihash.py</tt>).</t>
        </section>
      </section>
      <section anchor="extensions-and-versioning">
        <name>Extensions and versioning</name>
        <t>The protected header carries <tt>naalp-version</tt>, which tracks the <strong>envelope object grammar</strong> -- the
top-level numbered fields of <tt>naalp-object</tt>. The rule is mechanical: adding or changing a
top-level envelope field moves the version; adding an <tt>ext</tt>/<tt>cext</tt> key (a key inside the
field-11 or field-12 maps) never does. <tt>naalp-version</tt> 1 was the previous version, which lacked
the <tt>audience</tt> and <tt>suite</tt> fields; this document specifies <strong><tt>naalp-version</tt> 2</strong>, anchored by two
envelope additions -- the top-level <tt>audience</tt> field (field 13) and the <tt>suite</tt> field (field 14). A
verifier <bcp14>MUST</bcp14> reject an object whose <tt>naalp-version</tt> it does not support (<tt>UnsupportedVersion</tt>).</t>
        <t><tt>audience</tt> (field 13, a text string) names the one endpoint or channel-scope identity an object
is bound to. It is omitted when empty, so a no-audience object encodes byte-identically to a
<tt>naalp-version</tt> 1 object and its content id is unchanged. A <em>consume-once</em> kind -- one whose
acceptance spends a single-use ledger resource (the consume ledger, see Approval) -- <bcp14>MUST</bcp14> carry
an <tt>audience</tt> naming its one consuming authority. The audience is checked by that consuming
authority at the moment it would spend the object, before the single-use compare-and-set and
outside core object verification, so that an in-transit relay, ordering authority, or auditor
can still verify an object addressed to someone else. An object whose <tt>audience</tt> is not the
checking authority -- or a consume-once object that omits it -- is rejected <tt>WrongAudience</tt>, with
no ledger entry and no state change (fail-closed).</t>
        <t><tt>suite</tt> (field 14, a <tt>uint</tt>) is the signed selector for the object's signature suite. It is PRESENT
if and only if the object is signed with the opt-in composite algorithm (the composite COSE alg id
in the private-use range, see Signing) and ABSENT for a pure ML-DSA object, so a pure object encodes
byte-identically to a <tt>naalp-version</tt> 1 object carrying neither field 13 nor field 14 and its content
id is unchanged. Value 1 selects the <tt>COMPSIG-MLDSA65-Ed25519-SHA512</tt> composite suite
(Public/Enterprise); value 2 is RESERVED for the ML-DSA-44 edge suite. Because <tt>suite</tt> is a signed
body field it cannot be stripped or altered without invalidating the signature; a <tt>suite</tt> value that
disagrees with the COSE algorithm is rejected (<tt>SuiteMismatch</tt>). Turning the composite on, or
changing the default suite in a later profile, is a suite-registry change, not a wire break.</t>
        <t>Field 11 (<tt>ext</tt>) carries non-critical extensions a verifier that does not recognize them <bcp14>MUST</bcp14>
ignore. Field 12 (<tt>cext</tt>) carries critical extensions a verifier that cannot honor them <bcp14>MUST</bcp14>
reject the whole object (fail-closed). Three extension keys are defined in this revision and ride
this mechanism without moving the version. Key 13 (a key inside the <tt>ext</tt>/<tt>cext</tt> maps -- a
distinct namespace from the top-level <tt>audience</tt> field 13), <tt>recheck</tt>, names by id the procedure
a verifier runs to re-check the body claim, from a closed set -- 1 recompute-content-id, 2
verify-cose-sign1, 3 walk-causes, 4 replay-consume-check; carried in <tt>ext</tt> an unrecognized id is
ignored, in <tt>cext</tt> it is rejected fail-closed (<tt>UnknownCriticalExt</tt>). Key 14, <tt>signer-counter</tt>,
is an <bcp14>OPTIONAL</bcp14> forward-only per-signer position carried only in the non-critical <tt>ext</tt> map; it is
a duplication-<em>detection</em> aid, never a verification gate, and because <tt>ext</tt> is part of the signed
payload it is covered by the signer's own signature. Key 15, <tt>producing-boundary</tt>, is an <bcp14>OPTIONAL</bcp14>
per-object disclosure of the trust boundary that produced the object and whether that boundary
observed the described event first-hand or is relaying a report of it: a small map of <tt>boundary</tt> (a
party identifier in the same <tt>bstr</tt> form as the object <tt>signer</tt>), <tt>kind</tt> (a closed enum -- 1
observed, 2 reported), and an <bcp14>OPTIONAL</bcp14> <tt>reporting-boundary</tt> (<tt>bstr</tt>) present only when <tt>kind</tt> is
reported and absent under observed. It rides the non-critical <tt>ext</tt> map, so a verifier that does not
recognize it -- or reads a malformed value (no <tt>boundary</tt>, a <tt>kind</tt> outside the enum, or a
<tt>reporting-boundary</tt> under observed) -- ignores the entry and the object still verifies; placing it
in <tt>cext</tt> is an unrecognized critical key rejected fail-closed (<tt>UnknownCriticalExt</tt>). Because <tt>ext</tt>
is part of the signed payload the disclosure is covered by the signer's own signature: it is a claim
the signer makes about itself, naming whose observational domain the object rests on and whether
first-hand or relayed, and does not by itself establish that the named boundary is honest or that
its clock is authoritative outside its own domain (# Security Considerations). Higher channel tiers
add capability by defining new <tt>kind</tt> codes and, at higher tiers, new <tt>ext</tt>/<tt>cext</tt> keys; the
envelope grammar itself changes only with the version.</t>
      </section>
    </section>
    <section anchor="crypto">
      <name>Cryptographic Constructions</name>
      <section anchor="signing">
        <name>Signing</name>
        <t>An object is signed with COSE_Sign1 <xref target="RFC9052"/> over the deterministic-CBOR object body as the
payload. The protected header carries the COSE algorithm and a pre-parse routing copy of the
signer, profile, and protocol version under a text-string label. A verifier <bcp14>MUST</bcp14> reject an
object whose header signer/profile copies disagree with body fields 5 and 9
(HeaderBodyMismatch). On the wire the object is a tagged COSE_Sign1 (CBOR tag 18). The default and
mandatory-to-implement signature is pure ML-DSA; a deployment <bcp14>MAY</bcp14> opt in to a hybrid, which is a
single COSE_Sign1 (tag 18) whose signature value is one non-separable IETF LAMPS composite of an
ML-DSA and an Ed25519 signature -- not two separate signatures -- selected by the signed suite field
(field 14, below).</t>
        <t>An N-AALP object's signature wrapper (<tt>naalp-signed-object</tt>) is therefore one of exactly two
tagged COSE structures: the <tt>COSE_Sign1</tt> (tag 18) form above, or <tt>COSE_Sign</tt> (tag 98), a
multi-signature form this revision uses for exactly two cases -- the <bcp14>OPTIONAL</bcp14> legacy two-signature
Ed25519+ML-DSA hybrid (not required by the Standard profile; (# Security Considerations) discusses
why the single-<tt>COSE_Sign1</tt> composite above is preferred to it), and
the Rotation object's co-signature (# Identity). A <tt>COSE_Sign</tt> carries the same <tt>protected</tt>,
<tt>unprotected</tt>, and <tt>payload</tt> positions as <tt>COSE_Sign1</tt> plus a <tt>signatures</tt> array of two or more
<tt>COSE_Signature</tt> elements, each an independent <tt>[protected, unprotected, signature]</tt> triple with
its own per-signer protected header <tt>{1 =&gt; cose-alg}</tt>; this per-element header is distinct from the
<tt>COSE_Sign</tt> body's own protected header. The <tt>unprotected</tt> header position in both structures is
the generic COSE header map (<xref target="RFC9052"/> Section 3); this revision defines no N-AALP-specific
unprotected-header parameter.</t>
      </section>
      <section anchor="algorithms-and-profiles">
        <name>Algorithms and profiles</name>
        <t>The mandatory-to-implement signature algorithm is pure ML-DSA <xref target="FIPS204"/> using the deterministic
variant (rnd = 0) so two implementations produce byte-identical signatures. This determinism is a
producer and cross-implementation-parity property, not a security requirement: <xref target="FIPS204"/> permits
either the deterministic or the hedged (randomized) signing variant, and a production signer <bcp14>MAY</bcp14>
use the hedged variant. A conforming verifier <bcp14>MUST</bcp14> accept any signature that is valid under the
object's declared algorithm and profile floor regardless of whether it was produced
deterministically or with per-signature randomness; the deterministic variant is required only for
generating the conformance corpus and its byte-identical cross-implementation vectors
(# Conformance). The composite's classical leg is Ed25519 <xref target="RFC8032"/> <xref target="RFC9864"/>. Within the COSE algorithm framework <xref target="RFC9053"/>,
the pure ML-DSA and Ed25519 suites reuse the code points registered for ML-DSA <xref target="RFC9964"/> and
Ed25519 <xref target="RFC9864"/>; the opt-in composite is named by a single COSE algorithm id in the COSE
private-use range (integers &lt; -65536), which N-AALP owns provisionally until IANA assigns a public
composite code point, so adopting the eventual public id is a registry swap rather than a wire
break. Three profiles select a signature floor:</t>
        <table>
          <thead>
            <tr>
              <th align="left">profile</th>
              <th align="left">value</th>
              <th align="left">signature floor</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">public</td>
              <td align="left">1</td>
              <td align="left">ML-DSA-65 (NIST level 3)</td>
            </tr>
            <tr>
              <td align="left">enterprise</td>
              <td align="left">2</td>
              <td align="left">ML-DSA-65 (NIST level 3)</td>
            </tr>
            <tr>
              <td align="left">sovereign</td>
              <td align="left">3</td>
              <td align="left">ML-DSA-87 (NIST level 5)</td>
            </tr>
          </tbody>
        </table>
        <t>The closed <tt>cose-alg</tt> identifiers this revision defines are: <tt>ml-dsa-44</tt> (-48, NIST level 2,
reserved for an optional edge/light tier and never a Public/Enterprise/Sovereign default),
<tt>ml-dsa-65</tt> (-49, NIST level 3, the Public/Enterprise floor), <tt>ml-dsa-87</tt> (-50, NIST level 5, the
Sovereign floor), <tt>ed25519</tt> (-19, classical, an opt-in composite leg only), <tt>compsig-mldsa65-ed25519</tt>
(-65537, the opt-in Public/Enterprise LAMPS composite above), and <tt>compsig-mldsa44-ed25519</tt> (-65538,
an edge composite suite that is registered but not implemented in this revision). An unrecognized
algorithm identifier is rejected <tt>UnknownAlg</tt>.</t>
        <t>A verifier for a profile <bcp14>MUST</bcp14> reject a signature below the profile's floor (ProfileDowngrade)
and an unknown algorithm (UnknownAlg). The opt-in Ed25519+ML-DSA composite is a single COSE_Sign1
whose LAMPS composite value is valid only when both components verify against the shared
message representative; because the two components are bound into one non-separable value, a
stripped-leg object has no valid signature at all (the strongest level of the LAMPS composite
non-separability spectrum: strong non-separability with simultaneous verification). A signed suite
field (field 14) that disagrees with the signature algorithm is rejected
(SuiteMismatch), and a Sovereign verifier refuses a composite object outright (CompositeRefused),
since Sovereign signs with pure ML-DSA-87 and carries no classical leg. Digests use SHA-384
<xref target="FIPS180"/>.</t>
        <t>The public and enterprise profiles carry an identical object-signature floor: both require ML-DSA-65
(NIST level 3), both permit the opt-in composite, and both use SHA-384 digests. They are not
distinguished by object cryptography. The distinction is one of deployment policy -- the confidential
transport an object composes with: an enterprise deployment mandates the higher N-PAMP transport
profile, while a public deployment <bcp14>MAY</bcp14> compose with either the Standard or the higher profile. A
verifier applies the same object-signature-floor check to both; the profile value records the
deployment posture, not a different object-crypto strength.</t>
      </section>
    </section>
    <section anchor="identity">
      <name>Identity</name>
      <t>The signer id (object field 5) is self-certifying: <tt>multibase(base32,
multihash(0x12, SHA-256(multicodec(mc, pubkey))))</tt>, identical in form to the N-PAMP PeerHandle,
where mc is the key-type code: 0xed (ed25519-pub), 0x1211 (mldsa-65-pub), 0x1212 (mldsa-87-pub).
These three values are N-AALP's own normative constants for signer-id derivation (sourced from the
multiformats table, 2026-08-19); a verifier <bcp14>MUST</bcp14> derive <tt>mc</tt> from exactly these three values,
independent of the live upstream multiformats table (# Security Considerations). A verifier
recomputes the id from the key and <bcp14>MUST</bcp14> reject a mismatch (SignerMismatch). No certificate
authority is involved.</t>
      <t>Key lifecycle records are signed with the same COSE crypto: a Rotation is co-signed by both the
old and new key -- carried as a <tt>COSE_Sign</tt> (tag 98) structure whose two <tt>COSE_Signature</tt> elements
are the old-key and new-key signatures (# Cryptographic Constructions); a Rotation encoded as a
single-signature <tt>COSE_Sign1</tt> (tag 18) is rejected <tt>RotationUnauthorized</tt>. A Revocation is signed
by the revoked key or a deployer-configured recovery key (a Revocation signed by neither is
rejected, fail-closed); a foreign-identity link is cross-signed by the foreign identity's key. Identity strings that carry human text <bcp14>MUST</bcp14>
be Unicode NFC (NonNFC otherwise). A receipt signed under a superseded key remains attributable
to the durable identity thread across rotations.</t>
    </section>
    <section anchor="effects">
      <name>Effects and Authorization</name>
      <t>Every object carries, under signature, one value from a closed four-value effect vocabulary
aligned 1:1 with the N-PAMP Bridge SafetyLabel: read_only (0), idempotent_write (1),
non_idempotent_write (2), destructive (3). The values form a lattice with destructive at the
top.</t>
      <t>An unrecognized effect value <bcp14>MUST</bcp14> be treated as destructive and <bcp14>MUST NOT</bcp14> fail open. Unlike a
SafetyLabel that "describes intent and does not replace authorization", the N-AALP effect IS an
authorization input: an endpoint grants a maximum effect (a capability) to an authenticated
signer id, and an object is authorized only if its effect does not exceed the grant
(EffectNotAuthorized otherwise). No layer <bcp14>MUST</bcp14> treat transport metadata, a foreign header, or a
client-supplied name as an authorization identity; the authorizing principal is the object's
signature-verified signer id.</t>
      <t>An object <bcp14>MAY</bcp14> carry an optional signed safety label (a non-critical ext) <tt>{ risk, scope }</tt>; it
is an accountable claim attributable to the signer, not a guarantee that the content is safe.</t>
    </section>
    <section anchor="approval">
      <name>Approval</name>
      <t>An Approval object binds, under signature, the content id of the exact canonical argument object
it approves, so approving one action cannot authorize another (ApprovalMismatch if the args are
mutated). It carries the approver signer id, the granted effect, an anti-replay nonce, and an
expiry.</t>
      <t>The consume ledger is a durable, hash-chained set keyed by approval content id. Consume is an
atomic compare-and-set: the first consumer appends a ledger entry and wins; a second consume for
the same approval id is rejected (AlreadyConsumed). Atomicity is provided by a write-ahead log
written before the acknowledgment and a single-writer-per-approval-id discipline; under
concurrency exactly one consumer succeeds. An approval past its expiry is rejected
(ApprovalExpired). An approval-required-but-not-granted outcome is a distinct signed non-success
result, never a silent success or denial.</t>
      <t>The consume ledger is on the path for a single-use approval spend only, not for every object. An
object that consumes no approval -- a read-only object, or any object that is verified but not
spent -- is checked from its own signed bytes with no ledger access, so ordinary verification stays
available under partition. Only the spend of an approval reaches the ledger; a partition that makes
the ledger unreachable denies that spend fail-closed (# Security Considerations) and denies nothing
else. Placing the ledger on every object's path would make the protocol unavailable under partition
for read-only and other non-spending objects, which this design specifically avoids.</t>
      <t>At the baseline tier, an executor that cannot reach the consume ledger <bcp14>SHALL</bcp14> deny the spend
(fail-closed): local spend-and-reconcile-later is not a baseline behavior, and a consumer that
spends locally while the ledger is unreachable is non-conforming. Federated ordering over
identical signed objects, which relaxes this at a bounded and stated cost, is a named higher
tier only (# Audit, Causal Graph, and Ordering); see (# Security Considerations) for the
exposure model that governs the higher tier.</t>
      <t>Each consume is recorded as a hash-chained ledger entry: <tt>{ seq, prev, approval_id, by }</tt>, where
<tt>prev</tt> is the SHA-384 of the previous entry (the genesis <tt>prev</tt> is 48 zero bytes) and <tt>by</tt> is the
consuming signer id; the head after an entry is SHA-384(entry), so editing any entry breaks the
next entry's linkage and is detectable on replay (LedgerCorrupt). This chaining format is what the
single-writer-per-approval-id property above rests on as a mechanism, not merely an operational
discipline: the write-ahead log persists an entry before acknowledging it, and the first-append-wins
compare-and-set is what makes exactly one consumer's entry extend the chain for a given approval id,
with every later append for that id rejected (AlreadyConsumed) rather than merely discouraged.</t>
      <t>Each consume also mints a <strong>consume receipt</strong> (<tt>naalp-consume-receipt</tt>), a wire object distinct
from the ledger entry above: <tt>{ ledger, approval_id, position }</tt>, signed by the consuming ledger's
own key over exactly those bytes, and minted by the same first-append-wins compare-and-set -- the
first consume of an approval id assigns exactly one position and mints exactly one receipt; a
second consume mints nothing (AlreadyConsumed). Because the position is under the ledger's own
signature rather than the requester's, the requester cannot forge it, and the receipt is the
normative, independently-verifiable artifact by which a third party detects a double spend without
trusting either party to the spend.</t>
      <t>At the federated tier, cross-authority single-consume is specified by issuance-time audience
binding, not by a mandated cross-authority consensus protocol: a consensus mechanism between
ordering authorities is explicitly out of scope for this specification. A consume-once object -- one
whose acceptance spends this ledger -- <bcp14>MUST</bcp14> carry a signed <tt>audience</tt> naming its one consuming
authority (# Object Model); any authority other than the named one rejects it WrongAudience before
consume logic runs, so an object addressed elsewhere can never reach this ledger's compare-and-set.
The residual case a partitioned federation still allows is the named authority's own ledger state
forking -- two ledger-signed receipts issued against one approval id from divergent state. Two such
receipts contradict on comparison by any third party holding both, since neither party to the spend
could have produced the other's ledger signature; this contradiction is ConsumeFork, the detected
double spend, bounded in exposure by the spent approval's own expiry (# Security Considerations).</t>
      <t>The delivery guarantee this ledger provides therefore has a scope boundary, stated here explicitly.
On a single reachable authority the guarantee is prevention: exactly-once, by the compare-and-set
above. Across a federation the guarantee is weaker and is stated as such: a double consume remains a
verifiable wire violation -- prevented before the fact by WrongAudience for any misdirected object,
and detected after the fact by ConsumeFork for the residual same-authority fork -- never a
consensus-based exactly-once guarantee, because this specification fixes invariants over signed
bytes and does not mandate any cross-authority consensus topology.</t>
      <t>The approval object's full state machine -- pending, approved, consumed, expired, its timer, and the
clock-skew rule governing not_after -- is specified normatively in (# Object State Machines).</t>
    </section>
    <section anchor="audit">
      <name>Audit, Causal Graph, and Ordering</name>
      <t>An ordering authority records each accepted object by appending a signed Receipt
<tt>{ prev, obj, seq, at }</tt> where prev is the SHA-384 of the previous receipt body (genesis is
zero) and obj is the object content id. The chain is tamper-evident: reordering, omission, or
substitution breaks a prev link or a seq (ChainBroken). The authority <bcp14>MUST NOT</bcp14> mutate the origin
object to order it; ordering is an outer signed layer.</t>
      <t>Every object <bcp14>MAY</bcp14> name its causes by content id (field 8). This is a signed partial order: an
edge "A causes B" is proven by B's signature over A's content id, checkable offline with no
ordering authority present. An object <bcp14>MUST NOT</bcp14> name a cause it could not have seen (a cause whose
ordering position exceeds the effect's, or a cycle), which is rejected (CausalViolation). A total
order is a policy layered over this partial order.</t>
      <t>A receiver applies the causal graph, not merely stores it: a receiver <bcp14>SHALL NOT</bcp14> apply an object's
effect before it has applied the effects of that object's already-received causes (the causes named
by content id in field 8). An object naming a cause the receiver has not yet received is held
<strong>pending</strong> -- a state distinct from CausalViolation -- for a bounded interval: the receiver neither
applies nor rejects it. It is resolved when the named cause is applied, which lifts the hold, or by
timeout once the bounded interval elapses, which rejects the object. Pending and CausalViolation
answer different questions: CausalViolation is a cause the object could not have seen -- a
future-cause or a cycle -- and is rejected outright and immediately; pending is a cause the receiver
has simply not received yet, which gives the receiver no basis to reject the object, so an object is
never rejected merely for arriving before a cause that is itself still in flight. The bound on the
hold interval is a timer value, fixed normatively by this document's per-object-kind timer
specification.</t>
      <t>An independent auditor detects equivocation -- two receipts by one authority at one seq naming
different objects -- from the signed receipts alone (Equivocation) and expresses the finding as a
non-repudiable ForkProof carrying the accused authority's own two signatures over the two
conflicting receipt bodies, plus an external counter binding the proof against replay or reorder.
A verifier accepts a ForkProof only when the signer is named, the two receipts share one seq, name
different objects, and both signatures verify under the accused key, and rejects it whole otherwise
(ForkProofInvalid, or ReceiptUnsigned for a signature that does not verify). This is a draft-01
change (it supersedes draft-00's signatureless fork proof, which an accused could repudiate). A
receipt whose signature does not verify is rejected (ReceiptUnsigned).</t>
      <t>Ordering is tiered. The baseline tier is a single authority's monotonic receipt chain. The higher
tier is federated: multiple independent authorities each order their own scope, and a signed
Reconcile object records their deterministic merge. Because both tiers order the identical signed
objects, moving to federated ordering requires no envelope change.</t>
      <t>The federated merge <bcp14>SHALL</bcp14> produce a deterministic total order: a topological linearization of the
union of the per-authority causal graphs above (the signed partial order over field 8), with ties --
pairs the causal graph does not order relative to each other -- broken by object content id in
bytewise ascending order. The tie-break is fixed by this document, not left to an implementation's
choice: because the linearization depends only on the union causal graph and this fixed tie-break,
and not on which authority reconciles first or the order the objects arrived in, two conforming
reconcilers reconciling the identical set of objects <bcp14>SHALL</bcp14> produce the identical total order.</t>
      <t>The receive-side pending-cause hold introduced above, the federated reconcile machine, and their
timers are specified normatively in (# Object State Machines).</t>
    </section>
    <section anchor="delivery">
      <name>Delivery</name>
      <t>Delivery is four distinct, monotonic, separately-observable stages, each a signed delivery update
naming the object content id and the stage reached: persisted_origin (0), accepted_relay (1),
persisted_target (2), presented (3). There is no single "sent" flag. An endpoint <bcp14>MUST</bcp14> durably
persist an object before emitting the acknowledgment that advances its stage
(persist-before-acknowledge), so a crash immediately after an acknowledgment loses nothing. A
stage earlier than the one already reached is rejected (StageOutOfOrder). A relay that holds an
object only in transit <bcp14>MAY</bcp14> write an audit trail over content ids while retaining no payload.</t>
      <t>The full delivery state machine, including the idempotent-repeat and legal-skip cases and its
stage-advance timer, is specified normatively in (# Object State Machines).</t>
    </section>
    <section anchor="streaming">
      <name>Streaming</name>
      <t>A native stream is three signed objects plus unsigned chunks. StreamOpen binds the stream
identity, effect, and (where it causes an effect) approval; a stream whose effect is not
authorized is refused before any chunk. Chunks are raw data frames; they are not individually
signed. Per-chunk authentication before StreamCommit is a property of the specific transport in
use, not of the N-AALP object: over N-PAMP, the Stream channel's AEAD authenticates every chunk to
the peer (# Transport Bindings); over a transport without an equivalent per-frame guarantee, a
chunk consumed before StreamCommit is unauthenticated at the object layer. StreamCommit carries a
single rolling SHA-384 over the chunks in absolute-offset order, making the whole stream
non-repudiable with one signature; altering any delivered byte invalidates it
(StreamDigestMismatch). This rolling digest, together with any optional signed StreamCheckpoint,
is the object-level mechanism that binds the chunk sequence, transport-independent and identical
across N-PAMP and non-N-PAMP transports. A StreamCheckpoint confirms only a contiguous prefix
through its stated offset, never the stream's end. The same three objects map onto QUIC streams,
WebSocket messages, and HTTP chunked/event streams; the commitment verifies identically across
transports.</t>
      <t>The full stream state machine, including the illegal-reuse cases after StreamCommit, is specified
normatively in (# Object State Machines).</t>
    </section>
    <section anchor="statemachines">
      <name>Object State Machines</name>
      <t>This section collects the normative event x state tables governing the four N-AALP objects whose
correct handling depends on accumulated history rather than being decidable from one signed object
in isolation: delivery (# Delivery), streaming (# Streaming), approval (# Approval), and the
reconcile record (# Audit, Causal Graph, and Ordering). Each table is total: every (state, event)
pair a conforming implementation can encounter resolves to exactly one Reaction, either a
transition to a next state (<tt>-&gt; NextState</tt>) or a rejection under a named error
(<tt>reject (ErrorName)</tt>). A (state, event) pair not listed in a table is rejected under that table's
stated default error, so no combination is left undefined. Every rejection under these machines is
fail-closed: the triggering object is refused whole, its named error is returned, and no state
change occurs. Every transition below presupposes the triggering object has already passed the
envelope-layer checks -- signature verification and content-id recomputation (# Cryptographic
Constructions, # Object Model) -- before this table is consulted; an envelope-layer failure
(BadSignature, ContentIdMismatch) is rejected there and never reaches these tables.</t>
      <section anchor="delivery-state-machine">
        <name>Delivery state machine</name>
        <t>The delivery machine (# Delivery) has states <tt>persisted_origin</tt>, <tt>accepted_relay</tt>,
<tt>persisted_target</tt>, and <tt>presented</tt>, ordered 0 through 3. Its one event is a delivery update
reporting a stage S'; relative to the machine's current state (the highest stage already reached
for the object), the update is classified <tt>advance(S')</tt> when S' is strictly greater than the
current stage, <tt>repeat(S')</tt> when S' equals it, and <tt>regress(S')</tt> when S' is strictly less than it.
<tt>advance(S')</tt> transitions directly to S', not merely to the next stage in sequence: a stage <bcp14>MAY</bcp14> be
skipped (for example a relay-less delivery path observing <tt>persisted_origin</tt> followed directly by
<tt>persisted_target</tt>, with no <tt>accepted_relay</tt> in between), because skipping a stage is not a
regression -- only <tt>regress(S')</tt> is. <tt>repeat(S')</tt> -- the same stage reported a second time, such as a
redelivered acknowledgment -- is accepted idempotently and leaves the state unchanged; it is not an
error and produces no new observable state.</t>
        <table>
          <thead>
            <tr>
              <th align="left">State</th>
              <th align="left">Event</th>
              <th align="left">Reaction</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">persisted_origin</td>
              <td align="left">advance(S')</td>
              <td align="left">-&gt; S'</td>
            </tr>
            <tr>
              <td align="left">persisted_origin</td>
              <td align="left">repeat(S')</td>
              <td align="left">-&gt; persisted_origin</td>
            </tr>
            <tr>
              <td align="left">accepted_relay</td>
              <td align="left">advance(S')</td>
              <td align="left">-&gt; S'</td>
            </tr>
            <tr>
              <td align="left">accepted_relay</td>
              <td align="left">repeat(S')</td>
              <td align="left">-&gt; accepted_relay</td>
            </tr>
            <tr>
              <td align="left">accepted_relay</td>
              <td align="left">regress(S')</td>
              <td align="left">reject (StageOutOfOrder)</td>
            </tr>
            <tr>
              <td align="left">persisted_target</td>
              <td align="left">advance(S')</td>
              <td align="left">-&gt; presented</td>
            </tr>
            <tr>
              <td align="left">persisted_target</td>
              <td align="left">repeat(S')</td>
              <td align="left">-&gt; persisted_target</td>
            </tr>
            <tr>
              <td align="left">persisted_target</td>
              <td align="left">regress(S')</td>
              <td align="left">reject (StageOutOfOrder)</td>
            </tr>
            <tr>
              <td align="left">presented</td>
              <td align="left">repeat(S')</td>
              <td align="left">-&gt; presented</td>
            </tr>
            <tr>
              <td align="left">presented</td>
              <td align="left">regress(S')</td>
              <td align="left">reject (StageOutOfOrder)</td>
            </tr>
          </tbody>
        </table>
        <t>The machine's initial state for an object is established by that object's first delivery update:
the first update records the stage it reports and cannot regress, because no earlier stage has yet
been reached for that object; the table above governs every update after the first.</t>
        <t>Any (state, event) pair not listed above is rejected with <tt>StageOutOfOrder</tt>.</t>
      </section>
      <section anchor="stream-state-machine">
        <name>Stream state machine</name>
        <t>The stream machine (# Streaming) has states <tt>idle</tt> (no stream open for this stream id), <tt>open</tt>,
<tt>committed</tt>, and <tt>abandoned</tt> (a terminal state an <tt>open</tt> stream enters when its idle/commit timer
expires; see # Timers), and events <tt>StreamOpen</tt>, <tt>chunk</tt>, <tt>StreamCheckpoint</tt>, and <tt>StreamCommit</tt>.</t>
        <table>
          <thead>
            <tr>
              <th align="left">State</th>
              <th align="left">Event</th>
              <th align="left">Reaction</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">idle</td>
              <td align="left">StreamOpen (effect authorized)</td>
              <td align="left">-&gt; open</td>
            </tr>
            <tr>
              <td align="left">idle</td>
              <td align="left">StreamOpen (effect not authorized)</td>
              <td align="left">reject (EffectNotAuthorized)</td>
            </tr>
            <tr>
              <td align="left">open</td>
              <td align="left">chunk</td>
              <td align="left">-&gt; open</td>
            </tr>
            <tr>
              <td align="left">open</td>
              <td align="left">StreamCheckpoint</td>
              <td align="left">-&gt; open</td>
            </tr>
            <tr>
              <td align="left">open</td>
              <td align="left">StreamCommit (digest matches)</td>
              <td align="left">-&gt; committed</td>
            </tr>
            <tr>
              <td align="left">open</td>
              <td align="left">StreamCommit (digest mismatch)</td>
              <td align="left">reject (StreamDigestMismatch)</td>
            </tr>
            <tr>
              <td align="left">open</td>
              <td align="left">StreamOpen</td>
              <td align="left">reject (StreamStateError)</td>
            </tr>
            <tr>
              <td align="left">committed</td>
              <td align="left">chunk</td>
              <td align="left">reject (StreamStateError)</td>
            </tr>
            <tr>
              <td align="left">committed</td>
              <td align="left">StreamCheckpoint</td>
              <td align="left">reject (StreamStateError)</td>
            </tr>
            <tr>
              <td align="left">committed</td>
              <td align="left">StreamCommit</td>
              <td align="left">reject (StreamStateError)</td>
            </tr>
            <tr>
              <td align="left">abandoned</td>
              <td align="left">StreamOpen</td>
              <td align="left">reject (StreamStateError)</td>
            </tr>
            <tr>
              <td align="left">abandoned</td>
              <td align="left">chunk</td>
              <td align="left">reject (StreamStateError)</td>
            </tr>
            <tr>
              <td align="left">abandoned</td>
              <td align="left">StreamCheckpoint</td>
              <td align="left">reject (StreamStateError)</td>
            </tr>
            <tr>
              <td align="left">abandoned</td>
              <td align="left">StreamCommit</td>
              <td align="left">reject (StreamStateError)</td>
            </tr>
          </tbody>
        </table>
        <t>Any (state, event) pair not listed above is rejected with <tt>StreamStateError</tt>, which names a
stream-state violation: an object arriving for a stream whose current state does not admit it -- a
second <tt>StreamOpen</tt> on an already-open stream, or any <tt>chunk</tt>, <tt>StreamCheckpoint</tt>, or <tt>StreamCommit</tt>
after the stream has committed or been abandoned. A <tt>committed</tt> or <tt>abandoned</tt> stream id is
terminal: it is never re-admitted, so a <tt>StreamOpen</tt> naming it is rejected <tt>StreamStateError</tt>
rather than opening a fresh stream. A chunk that exceeds its granted
flow-control credit is refused at the transport, not the object, layer (NPAMP-STREAM
<tt>FlowControlError</tt>, # Transport Bindings): that rejection is a property of the specific transport in
use and is distinct from the state-machine violations in this table, which apply uniformly across
every transport binding.</t>
      </section>
      <section anchor="approval-state-machine">
        <name>Approval state machine</name>
        <t>The approval machine (# Approval) has states <tt>pending</tt>, <tt>approved</tt>, <tt>consumed</tt>, and <tt>expired</tt>, and
events <tt>approve</tt>, <tt>consume</tt>, and <tt>expiry</tt> (the passing of <tt>not_after</tt>; see Clock skew and validity
windows, below). <tt>ApprovalHeld</tt> is not a fifth state: it is the distinct signed non-success result
an action requiring this approval receives while the machine is in <tt>pending</tt>, never a silent success
or denial. An action requiring an approval for which no Approval object naming its exact args has
ever been signed is refused <tt>ApprovalRequired</tt> at the point of use, independent of this table.</t>
        <table>
          <thead>
            <tr>
              <th align="left">State</th>
              <th align="left">Event</th>
              <th align="left">Reaction</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">pending</td>
              <td align="left">approve</td>
              <td align="left">-&gt; approved</td>
            </tr>
            <tr>
              <td align="left">approved</td>
              <td align="left">consume</td>
              <td align="left">-&gt; consumed</td>
            </tr>
            <tr>
              <td align="left">approved</td>
              <td align="left">expiry</td>
              <td align="left">-&gt; expired</td>
            </tr>
            <tr>
              <td align="left">consumed</td>
              <td align="left">consume</td>
              <td align="left">reject (AlreadyConsumed)</td>
            </tr>
            <tr>
              <td align="left">expired</td>
              <td align="left">consume</td>
              <td align="left">reject (ApprovalExpired)</td>
            </tr>
          </tbody>
        </table>
        <t>An args-content-id mismatch -- the presented args do not hash to the content id the Approval object
binds -- is rejected <tt>ApprovalMismatch</tt> regardless of state and takes precedence over every cell in
this table, because content binding is checked before any state-dependent reaction is evaluated.
Where an approval is both past <tt>not_after</tt> and already present in the consume ledger, expiry takes
precedence over consumption: a consume request <bcp14>MUST</bcp14> be checked against <tt>not_after</tt> before the
ledger is consulted, so such a request is rejected <tt>ApprovalExpired</tt>, never <tt>AlreadyConsumed</tt>, and
the ledger is left untouched by the rejected request.</t>
        <t>Any (state, event) pair not listed above is rejected with <tt>ApprovalRequired</tt>.</t>
      </section>
      <section anchor="reconcile-state-machine">
        <name>Reconcile state machine</name>
        <t>The reconcile machine (# Audit, Causal Graph, and Ordering) governs the production of one federated
Reconcile record. States: <tt>collecting</tt> (per-authority receipt chains are being gathered),
<tt>linearized</tt> (the deterministic total order has been computed), <tt>verified</tt>. Events: <tt>add-chain</tt> (a
per-authority receipt chain is added to the merge), <tt>linearize</tt> (the deterministic linearization is
computed over the accumulated chains), <tt>verify</tt> (an independent recomputation is compared against a
claimed total order).</t>
        <table>
          <thead>
            <tr>
              <th align="left">State</th>
              <th align="left">Event</th>
              <th align="left">Reaction</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">collecting</td>
              <td align="left">add-chain (valid link, no equivocation)</td>
              <td align="left">-&gt; collecting</td>
            </tr>
            <tr>
              <td align="left">collecting</td>
              <td align="left">add-chain (broken prev/seq link)</td>
              <td align="left">reject (ChainBroken)</td>
            </tr>
            <tr>
              <td align="left">collecting</td>
              <td align="left">add-chain (two receipts, one seq, different objects)</td>
              <td align="left">reject (Equivocation)</td>
            </tr>
            <tr>
              <td align="left">collecting</td>
              <td align="left">add-chain (receipt signature does not verify)</td>
              <td align="left">reject (ReceiptUnsigned)</td>
            </tr>
            <tr>
              <td align="left">collecting</td>
              <td align="left">linearize (union causal graph acyclic, no future-cause)</td>
              <td align="left">-&gt; linearized</td>
            </tr>
            <tr>
              <td align="left">collecting</td>
              <td align="left">linearize (cycle or future-cause in the merged graph)</td>
              <td align="left">reject (CausalViolation)</td>
            </tr>
            <tr>
              <td align="left">linearized</td>
              <td align="left">verify (independent recomputation agrees)</td>
              <td align="left">-&gt; verified</td>
            </tr>
            <tr>
              <td align="left">linearized</td>
              <td align="left">verify (independent recomputation disagrees)</td>
              <td align="left">reject (ReconcileMismatch)</td>
            </tr>
          </tbody>
        </table>
        <t><tt>ReconcileMismatch</tt> is the one new error name this section introduces: a verifier that
independently re-runs the deterministic linearization (# Audit, Causal Graph, and Ordering) over
the identical set of objects and obtains a total order different from the one the Reconcile record
claims has found a violation of the fixed determinism property that section states, and rejects the
record whole.</t>
        <t>Any (state, event) pair not listed above is rejected: a fault in an individual per-authority receipt
chain is rejected under its own already-registered name (<tt>ChainBroken</tt>, <tt>Equivocation</tt>, or
<tt>ReceiptUnsigned</tt>), a cycle or future-cause in the merged causal graph is rejected
<tt>CausalViolation</tt>, and a disagreeing linearization is rejected <tt>ReconcileMismatch</tt>.</t>
      </section>
      <section anchor="timers">
        <name>Timers</name>
        <t>Every timer named in this section has a name, a start condition, a clear condition, and a named
reaction on expiry. This document specifies each timer's behavior but not its duration: the
interval a timer runs for is a deployment and local-policy parameter, and no timer in this section
carries a protocol-mandated default duration. The hard numeric bounds this document does impose on
the wire -- the per-stream chunk-count limit (<tt>TooManyChunks</tt>, # Streaming) and the decoder resource
limits in the CDDL (# Collected CDDL) -- are stated where they are enforced, not here.</t>
        <dl>
          <dt>Delivery stage-advance timer:</dt>
          <dd>
            <t>starts when a delivery update advances an object's state to any stage before <tt>presented</tt>; clears
when a later update reports <tt>presented</tt> (or, per the Delivery table above, a <tt>repeat</tt> or a further
<tt>advance</tt>) for the same object; on expiry, the stalled delivery is reported to the sender as
undelivered (<tt>NotDelivered</tt>) without changing the object's last durably-recorded stage -- expiry
ends the wait, not the recorded progress.</t>
          </dd>
          <dt>Stream idle/commit timer:</dt>
          <dd>
            <t>starts when a <tt>StreamOpen</tt> transitions the stream machine to <tt>open</tt>; clears when a <tt>StreamCommit</tt>
transitions it to <tt>committed</tt>; on expiry, the stream transitions <tt>open -&gt; abandoned</tt> and is
rejected <tt>StreamStateError</tt>. <tt>abandoned</tt> is terminal (# Object State Machines): no later <tt>chunk</tt>,
<tt>StreamCheckpoint</tt>, or <tt>StreamCommit</tt> for the stream is admitted, and its stream id <bcp14>MUST NOT</bcp14> be
reopened -- a <tt>StreamOpen</tt> naming an abandoned id is rejected <tt>StreamStateError</tt>, never re-admitted
as a fresh stream. No chunk delivered without an eventual <tt>StreamCommit</tt> is non-repudiable
(# Streaming), so an abandoned stream commits nothing.</t>
          </dd>
          <dt>Approval not_after timer:</dt>
          <dd>
            <t>starts when an Approval object is signed; clears when the approval is consumed (# Approval) while
still valid; on expiry, the approval transitions <tt>approved -&gt; expired</tt> per the Approval table
above, and any further <tt>consume</tt> is rejected <tt>ApprovalExpired</tt>.</t>
          </dd>
          <dt>Pending-cause hold timer:</dt>
          <dd>
            <t>starts when an object is received naming a cause (# Audit, Causal Graph, and Ordering) the
receiver has not yet received, putting the object into the held <tt>pending</tt> state described there;
clears when the named cause is applied, which lifts the hold and allows the held object's own
effect to be applied; on expiry, the held object is rejected and its effect is never applied. This
timer is the bounded interval that section states the pending-cause hold is "resolved ... by
timeout once the bounded interval elapses."</t>
          </dd>
        </dl>
      </section>
      <section anchor="clock-skew-and-validity-windows">
        <name>Clock skew and validity windows</name>
        <t>An Approval's <tt>not_after</tt> (# Approval) is judged against the action's authoritative ordering
position -- its receipt seq/at where a receipt exists (# Audit, Causal Graph, and Ordering) -- and,
only where no receipt yet exists for the action, its advisory <tt>created</tt> timestamp stands in as the
best available position for this one purpose (# Object Model); this narrow fallback does not make
<tt>created</tt> reliable ordering evidence for any other purpose (# Security Considerations). In neither
case is validity judged against any participant's own wall clock: there is exactly one clock in
this check -- the authoritative ordering position -- so wall-clock skew between the approver, the
consumer, and any relay never enters the determination of whether <tt>not_after</tt> has passed. This
document does not define a numeric clock-skew tolerance: a validity check is a single deterministic
comparison against one authoritative position, not a comparison between two participants' clocks,
so no tolerance is required by this design, and none is introduced.</t>
      </section>
      <section anchor="cancel">
        <name>Cancel</name>
        <t>A cancel object -- <tt>TaskCancel</tt> (0x0011/2), <tt>Cancel</tt> (0x000E/3), or a channel-specific cancel object
elsewhere in (# Channel Surfaces) -- <bcp14>MUST</bcp14> propagate a real abort to the work it names: an
implementation that flips a status field to a canceled state without actually stopping the
underlying work has not canceled it, and reporting the canceled status in that condition is a false
report and is non-conforming. Once an object's status has reached a terminal canceled state, no
later transition <bcp14>MAY</bcp14> leave it: a terminal-absorbing guard <bcp14>MUST</bcp14> ensure that a status update
completing the same work after cancellation (for example a late <tt>completed</tt> transition arriving
after <tt>canceled</tt>) is dropped, not applied, so a race between an abort and an in-flight completion
can never overwrite the canceled outcome. This is the general terminal-state rule already stated
elsewhere for an imported task lifecycle -- a terminal state has no out-edge and no transition may
leave it -- applied here to cancellation specifically; it is not a new rule.</t>
      </section>
      <section anchor="deadline">
        <name>Deadline</name>
        <t>Effecting objects are time-bounded today by their required approval's <tt>not_after</tt>, judged at the
action's authoritative ordering position as stated above (# Approval). A distinct, per-object signed
deadline field is out of scope for this revision and is noted here for a future revision.</t>
      </section>
    </section>
    <section anchor="transport">
      <name>Transport Bindings</name>
      <t>A binding carries exactly one signed object as one message unit, with identical object semantics
over N-PAMP, QUIC, WebSocket, and HTTP. The object is self-secured; the binding adds only framing
and, from the transport, confidentiality and connection authentication. The media type is
<tt>application/vnd.bubblefish.naalp+cbor</tt> (one object per representation).</t>
      <t>The confidentiality boundary is normative: an object marked sensitive <bcp14>MUST NOT</bcp14> be emitted in
cleartext over a non-confidential transport; the binding refuses it
(ConfidentialTransportRequired) and directs the deployment to a confidential transport. A
transport lacking peer authentication where policy requires it is refused (PeerUnauthenticated).</t>
    </section>
    <section anchor="carriage">
      <name>Foreign Carriage by Class</name>
      <t>N-AALP carries a foreign agent protocol by wrapping its message, octet-for-octet, in a signed
carriage object interpreted by a carriage class:</t>
      <sourcecode type="cddl"><![CDATA[
naalp-carriage-body = {
  1 : uint,      ; protocol_id (N-AALP protocol registry)
  2 : carriage-class,   ; 0 JSONRPC .. 5 OPAQUE
  3 : uint,      ; content_type (foreign encoding)
  4 : bstr,      ; correlation token
  5 : tstr,      ; method (advisory routing key)
  6 : bstr,      ; foreign message, carried octet-for-octet
}
carriage-class = &( jsonrpc:0, http:1, msg:2,
                    stream:3, doc:4, opaque:5 )
]]></sourcecode>
      <t>The foreign field is carried verbatim and <bcp14>MUST NOT</bcp14> be re-serialized, canonicalized, summarized,
or rewritten. For every carriage class, N-AALP treats the foreign message as opaque octets: it
never decodes or parses the foreign payload, and it binds those octets by hash under the carriage
object's content id and signature. A verifier checks the payload by recomputing that content id
over the carried bytes, never by interpreting the foreign format, so a tampered payload is rejected
on the content-id check before any foreign parser could run. This rule is normative for every
carriage class -- each foreign binding is carriage by class, so no binding adds a foreign-format
parser to the verify path. The carriage object's signer remains the authority: a foreign protocol's identity,
header, or metadata <bcp14>MUST NOT</bcp14> become an N-AALP authorization identity. The OPAQUE class carries
any protocol, including an undefined one, on an experimental protocol id with no registration. A
below-foreign failure uses a defined structured error and <bcp14>MUST NOT</bcp14> report an undelivered message
as delivered; an N-AALP semantic a foreign protocol cannot represent surfaces a typed mapping
error, never a silent drop.</t>
    </section>
    <section anchor="channels">
      <name>Channel Surfaces</name>
      <t>N-AALP defines twenty channel surfaces (channel ids 0x0000..0x0013): Control, Memory, Capability,
Identity, Governance, Immune, Federation, Settlement, Compliance, Sensory, Telemetry, Audit,
Stream, Bridge, Commerce, Interaction, Discovery, Workflow, Knowledge, and Spatial. Each surface
adds only object kind codes and their declared effects over the one object model; it introduces
no channel-local encoding, signature, or identity. Every channel has a complete frozen baseline
surface. Higher tiers add capability under the frozen envelope through the tier field and
critical/non-critical extensions. The complete kind/effect table is the N-AALP Channel and Object
Kind registries (# IANA Considerations).</t>
    </section>
    <section anchor="additive">
      <name>Additive Object Families</name>
      <t>This section documents the higher-tier (tier 1+) object families this revision adds. None of them
introduces a new envelope field, encoding, signature form, identity mechanism, or effect value: each
family reuses the frozen <tt>naalp-object</tt> envelope (# Object Model), the closed effect lattice
(# Effects and Authorization), the content-id framing (# Object Model), and, where a family is
receipt-chained, the audit receipt chain construction unchanged (# Audit, Causal Graph, and
Ordering). A baseline verifier that has not licensed a family's tier rejects its kind as <tt>UnknownKind</tt>
(# Object Model), consistent with the tier model (# Object Model, # Channel Surfaces). Every
capability in this section carries experimental status under the tiering rule of (# Conformance): it
is <bcp14>OPTIONAL</bcp14>, and an implementation that omits it is still conforming.</t>
      <section anchor="collaboration-and-rooms-membership">
        <name>Collaboration and Rooms Membership</name>
        <t>A room's membership is a first-class signed object, not implicit connection state. A membership
change is carried as a <tt>naalp-room-op</tt> -- a <tt>naalp-object</tt> whose body (field 10) is <tt>{ room, op,
epoch, subject, role }</tt> -- on the Governance channel (0x0004). <tt>op</tt> selects one of the closed
<tt>room-op-code</tt> operations: create (0), add_member (1), remove_member (2), change_role (3), or
add_owner (4). <tt>subject</tt> (the affected member's signer id) <bcp14>MUST</bcp14> be Unicode NFC (<tt>NonNFC</tt> otherwise).
<tt>role</tt> is one of the closed <tt>member-role</tt> values: member (0), admin (1), or owner (2).</t>
        <t>A room-op object is CURSOR-OCCUPYING and RECEIPT-CHAINED: each accepted op is ordered at a cursor by
an ordering authority's <tt>naalp-receipt</tt> over the op's content id, weaving membership into the
append-only audit chain (# Audit, Causal Graph, and Ordering) the same way any other object is
ordered. It is EPOCH-BUMPING: <tt>epoch</tt> carries the membership epoch the op is built against, and each
accepted op increments the room's epoch; an op built against a superseded epoch is rejected
<tt>StaleEpoch</tt>. Ownership is multi-owner and ADD-ONLY: <tt>add_owner</tt> adds an owner, but an owner is never
removed (<tt>remove_member</tt> naming an owner is rejected <tt>OwnerImmutable</tt>) and never demoted
(<tt>change_role</tt> refusing to lower an owner's role is rejected <tt>RoleInvalid</tt>), so a room's owner count
is monotonically at least one and a room can never become ownerless. <tt>remove_member</tt> naming an
unknown member, or <tt>add_member</tt>/<tt>change_role</tt> naming an already-present or already-absent member as
the operation requires, is rejected <tt>MemberExists</tt> or <tt>MemberUnknown</tt> as appropriate; an op whose
fields do not match its declared <tt>op</tt> code is <tt>RoomOpMismatch</tt>; an <tt>op</tt> value outside the closed set
is <tt>OpUnknown</tt>.</t>
        <t>A <tt>naalp-principal-binding</tt> maps a stable semantic principal id to a durable Handle (a signer id): <tt>{
principal, handle, epoch, prev }</tt>. <tt>principal</tt> <bcp14>MUST</bcp14> be Unicode NFC. It is kept as a per-principal
SHA-384 hash chain -- <tt>prev</tt> carries the prior binding's head (48 bytes; genesis is 48 zero bytes) --
the same chaining shape as the audit receipt chain and the consume ledger, so an omitted or
substituted binding is detectable the same way. A delivery addresses the semantic principal id and
resolves it to the Handle at send time: a durable naming layer above a connection-scoped peer handle.
A rebind (a new binding for an already-bound principal) is authorized only by a verified rotation
from the current Handle to the new one; a rebind naming an unrelated key is rejected
<tt>RebindUnauthorized</tt>. Binding a principal id already bound is <tt>PrincipalExists</tt>; resolving an unbound
principal is <tt>PrincipalUnknown</tt>. The membership op-authorization, epoch guard, owner-immutability, and
rebind-continuity rules above are endpoint behaviors graded against the non-circular oracle, not wire
productions in their own right.</t>
      </section>
      <section anchor="multi-hop-delegation-grant">
        <name>Multi-Hop Delegation Grant</name>
        <t>A <tt>naalp-delegation-grant</tt> is a normal <tt>naalp-object</tt> -- an independent <tt>COSE_Sign1</tt> whose issuer is
the verified envelope signer (field 5), never a body field -- carried as Capability-channel (0x0002)
kind DelegationGrant (kind 4), tier 1. The object's own envelope effect (field 7) is
<tt>non_idempotent_write</tt> (issuing a grant); the body's <tt>effect_cap</tt> field is a SEPARATE ceiling the
grant confers on its subject, never the object's own effect. The body is <tt>{ subject, effect_cap,
max_depth, not_before, not_after, ?scope }</tt>: <tt>subject</tt> (the delegatee's signer id) <bcp14>MUST</bcp14> be Unicode
NFC; <tt>effect_cap</tt> (the closed effect lattice) <bcp14>MUST NOT</bcp14> exceed the parent grant's own ceiling, else
<tt>CapExceedsParent</tt>; <tt>max_depth</tt> bounds how many FURTHER delegation hops are permitted below this
grant (0 means the subject may act but not re-delegate); <tt>not_before</tt>/<tt>not_after</tt> bound the grant's
validity window (<tt>GrantNotYetValid</tt> / <tt>GrantExpired</tt>); the <bcp14>OPTIONAL</bcp14> <tt>scope</tt> (Unicode NFC when
present) narrows the grant to a resource scope that a child grant's scope <bcp14>MUST</bcp14> be contained within,
else <tt>CapExceedsParent</tt>.</t>
        <t>A DelegationGrant reuses the existing Capability-channel delegation substrate rather than a parallel
mechanism: its delegation parent is named by content id in the envelope's <tt>causes</tt> field (# Object
Model) as the UNIQUE cause resolving to a Capability authority object (CapIssue, CapDelegate, or
another DelegationGrant) whose subject/holder equals this grant's issuer. A root grant -- one whose
issuer is in the verifier's trust-anchor set -- names no such cause; a grant naming two or more is
rejected <tt>ChainBroken</tt>. A malformed grant body is <tt>GrantMalformed</tt>; a grant whose chain of authority
does not terminate at a trusted root is <tt>UntrustedChainRoot</tt>; a chain exceeding the accumulated
<tt>max_depth</tt> bound is <tt>DelegationDepthExceeded</tt>; a revoked grant is <tt>GrantRevoked</tt>. The invariant that
delegated authority only ever shrinks across every hop -- on effect, scope, and depth -- is stated as a
closure-sovereignty property in (# Security Considerations).</t>
      </section>
      <section anchor="mcp-tool-call-binding">
        <name>MCP Tool-Call Binding</name>
        <t>An MCP (Model Context Protocol) tool call is CARRIED, not adopted: its bytes are unchanged, and its
unenforced, untrusted annotation hints are mapped to the closed four-value effect lattice by a
published table for which the wrapping signer is accountable -- a false declaration is attributable
to that key. The wrapper (<tt>naalp-mcp-tool-call</tt>) is a Bridge-channel (0x000D) tier-1 kind McpToolCall
(kind 1), a named escalation over the frozen baseline Carriage kind (0, # Foreign Carriage by Class)
under the unchanged envelope. Its body is <tt>{ tool, args, annotations }</tt>: <tt>tool</tt> and <tt>args</tt> carry the
MCP tool definition and call-argument bytes octet-for-octet (never re-serialized); <tt>annotations</tt>
(<tt>naalp-mcp-annotations</tt>) is the wrapping signer's transcription of the tool's MCP <tt>ToolAnnotations</tt>.</t>
        <t>The object's own envelope effect (field 7) is the wrapping signer's DECLARED effect. A verifier
independently recomputes the annotation-derived effect from the carried annotations and enforces the
MORE SEVERE of the two values -- an unknown or disagreeing input collapses UP, never down. A declared
effect below the annotation-derived effect is rejected <tt>EffectUnderDeclared</tt>; an annotation set that
maps outside the closed lattice is rejected <tt>MalformedAnnotation</tt>, never defaulted to benign. Each
annotation field (<tt>readOnlyHint</tt>, <tt>destructiveHint</tt>, <tt>idempotentHint</tt>, <tt>openWorldHint</tt>) is an <bcp14>OPTIONAL</bcp14>
          <tt>mcp-hint</tt> -- the uint 1 (true) or 0 (false); a value outside <tt>{0,1}</tt> transcribes no boolean and is
rejected. MCP is boolean-typed in JSON but the N-AALP spine carries no CBOR boolean, so an ABSENT hint
takes the MCP-documented default: <tt>readOnlyHint</tt> false, <tt>destructiveHint</tt> TRUE (the fail-closed
default, matching the "absent effect on a state-changing object defaults to destructive" rule),
<tt>idempotentHint</tt> false, <tt>openWorldHint</tt> true. A present <tt>0</tt> and an absent hint therefore encode to
DIFFERENT bytes even where they resolve to the same effect. <tt>openWorldHint</tt> is carried for
accountability only -- it is an ADVISORY risk signal that never enters the effect lattice.</t>
        <t><tt>naalp-mcp-call-binding</tt> (<tt>{ tool_id, args_id }</tt>) is the value an approval binds: <tt>tool_id</tt> and
<tt>args_id</tt> are the content ids of the tool and argument bytes respectively. Because the binding names
BOTH the tool description and the arguments by content id, a changed tool description or a changed
argument set yields a different call content id, invalidating a prior approval bound to the old one.
A malformed tool-call body is <tt>ToolCallMalformed</tt>.</t>
      </section>
      <section anchor="description-and-directory">
        <name>Description and Directory</name>
        <t>A signed, OFFLINE-VERIFIABLE description and discovery layer, carried on N-AALP's own signed object:
the authority is the SIGNATURE OVER THE BYTES, never the connection or host that served them, so a
signed description re-verifies byte-identically when an unrelated host serves the same bytes (a
bearer credential, not a fetched document). A <tt>naalp-description</tt> (<tt>{ service, operations }</tt>) lists a
service's operations, each a <tt>naalp-description-operation</tt> (<tt>{ name, effect, requires_approval }</tt>)
carrying its effect (the closed lattice) and an approval declaration: <tt>requires_approval</tt>
(<tt>desc-approval-flag</tt>, the uint 1/0 -- the spine carries no CBOR boolean) outside <tt>{0,1}</tt> is rejected
<tt>MalformedApprovalFlag</tt>.</t>
        <t>A <tt>naalp-directory</tt> (<tt>{ directory, version, members }</tt>) is a signed collection whose members are
content ids (the same list-of-content-ids shape the causal partial order uses), carrying a monotonic
per-signer <tt>version</tt> so two versions can be compared. Two conflicting versions from ONE signer -- the
SAME directory and version but DIFFERENT members -- are a FORK, detected at the FIRST-DIFFERING member
position and reported <tt>DirForkProofInvalid</tt>, the same way the audit ForkProof reports the position of
an equivocation (# Audit, Causal Graph, and Ordering).</t>
        <t>A <tt>naalp-description-import</tt> (<tt>{ importer, format, foreign, operations }</tt>) carries a FOREIGN
description format -- an A2A Agent Card, an ANP Agent Description, or an AGNTCY Agent Badge, selected
from the closed <tt>naalp-description-format</tt> registry (a2a-agent-card 1, anp-agent-description 2,
agntcy-agent-badge 3; an unrecognized value is <tt>UnknownDescriptionFormat</tt>) -- octet-for-octet in
<tt>foreign</tt> (carriage, not adoption: the foreign bytes <bcp14>MUST NOT</bcp14> be re-serialized, canonicalized, or
rewritten) as a signed attestation binding the foreign bytes' content id AND an N-AALP effect mapping
(<tt>operations</tt>) for the described operations. <tt>importer</tt> is the wrapping signer id and is the SOLE
authorization identity: a verifier recomputes the self-certifying signer id from the verifying key
and requires <tt>importer</tt> to equal it (<tt>ImporterMismatch</tt> otherwise), so a foreign identity embedded in
<tt>foreign</tt> NEVER becomes an N-AALP authorization identity -- the confused-deputy rule the MCP profile
above also applies. A malformed description body is <tt>DescMalformed</tt>.</t>
      </section>
      <section anchor="name-bindings-and-a2a-task-transitions">
        <name>Name Bindings and A2A Task Transitions</name>
        <t>Two receipt-CHAINED, OFFLINE-WALKABLE surfaces reusing the audit receipt-chain construction
unchanged: the head of each object is SHA-384(body), the genesis <tt>prev</tt> is 48 zero bytes, <tt>seq</tt> is
monotonic, and the body carries the prior head in <tt>prev</tt>, so editing or omitting a record breaks the
next record's linkage.</t>
        <t>A <tt>naalp-name-binding</tt> (<tt>{ name, signer, seq, prev }</tt>) maps a durable, human-readable <tt>name</tt> to a
signer id and chains onto the prior binding for that name. A key ROTATION for a name is a NEW binding
at the next <tt>seq</tt> naming the new signer; a binding is dated by its chain position (<tt>seq</tt>), not by the
envelope's advisory <tt>created</tt> field. A name's history is walkable offline; a deleted or omitted
binding leaves a detectable HOLE at the first-broken position, reported <tt>NameChainBroken</tt>; two
bindings by ONE authority at the SAME <tt>(name, seq)</tt> naming DIFFERENT signers are a FORK, reported
<tt>NameForkProofInvalid</tt> at that <tt>seq</tt>. A malformed binding is <tt>NameMalformed</tt>; a binding signed under a
key that does not match the claimed signer is <tt>VerifierKeyMismatch</tt>.</t>
        <t>A <tt>naalp-task-transition</tt> (<tt>{ task, card, from, to, seq, prev }</tt>) is one signed, receipt-chained A2A
(Agent2Agent) task-lifecycle state transition. The <tt>task-state</tt> set -- submitted (0), working (1),
input-required (2), auth-required (3), completed (4), canceled (5), failed (6), rejected (7) -- is an
IMPORTED vocabulary (carriage, not adoption): the A2A specification Section 4.1.3 defines these eight
states and their terminal/interrupted categories NORMATIVELY (start = submitted; terminal =
{completed, canceled, failed, rejected}; interrupted = {input-required, auth-required}), and N-AALP's
legal-edge table is DERIVED from those documented category rules and enforced by the endpoint, not by
this wire production, which carries only the <tt>from</tt>/<tt>to</tt> state values. <tt>card</tt> is the content id of the
A2A Agent Card attestation (a <tt>naalp-description-import</tt> with format a2a-agent-card) binding the task
profile to an agent/operation; a transition carrying a <tt>card</tt> other than the profile's bound card is
rejected <tt>ForeignCard</tt>. An illegal edge, a non-contiguous <tt>from</tt>, a transition out of a terminal
state, or a gap or reorder in the chain is rejected fail-closed <tt>IllegalTransition</tt> or
<tt>TaskChainBroken</tt>, with the violating position reported.</t>
      </section>
      <section anchor="governed-negotiation">
        <name>Governed Negotiation</name>
        <t>Three signed surfaces reusing the closed effect lattice, the content-id framing, and the causal
partial order (<tt>causes</tt>) unchanged: offer, counter, and accept are SIGNED, CAUSALLY-LINKED messages,
each naming its predecessor(s) by content id in <tt>causes</tt> (the same shape the causal partial order
uses). Each SELECTS a profile from the CLOSED, PRE-REGISTERED <tt>negotiation-profile</tt> set -- baseline
(0), streaming (1), or batch (2) -- never a free-form capability string and never a runtime-generated
handler; an unknown profile is rejected <tt>UnknownProfile</tt>.</t>
        <t>The three productions -- <tt>naalp-negotiation-offer</tt> (<tt>{ negotiation, role, profile, causes }</tt>),
<tt>naalp-negotiation-counter</tt>, and <tt>naalp-negotiation-accept</tt> -- are distinguished by a fixed <tt>role</tt>
literal from the closed <tt>negotiation-role</tt> set (offer 0, counter 1, accept 2), so an offer body never
validates against the accept production and vice versa; a role value outside the set, or a body whose
fixed-literal field disagrees with its production, is rejected <tt>UnknownRole</tt> (<tt>NotOffer</tt>/<tt>NotAccept</tt>
name the specific offer/accept-shape mismatch). An offer is the root of the exchange and carries no
<tt>causes</tt>; a counter chains onto the offer or a prior counter; an accept <bcp14>MUST</bcp14> DESCEND from its offer
along the <tt>causes</tt> DAG, enforced by the endpoint (<tt>NotDescended</tt> otherwise). A malformed negotiation
body is <tt>NegMalformed</tt>.</t>
      </section>
      <section anchor="advisory-risk-labels">
        <name>Advisory Risk Labels</name>
        <t>A <tt>naalp-risk-label</tt> (<tt>{ code, critical }</tt>) carries one label: <tt>code</tt> (<tt>risk-code</tt>, an open uint -- a
closed standard vocabulary plus a private/experimental extensible range, enforced by the endpoint and
a registry the same way the per-signer counter's value space is open, # Object Model) and <tt>critical</tt>
(<tt>risk-critical</tt>, the per-carriage must-understand flag: 1 critical, 0 advisory -- the spine carries no
CBOR boolean). A <tt>naalp-labeled-object</tt> (<tt>{ effect, labels }</tt>) carries an object's effect together
with a set of risk labels. The critical-extension rule (# Object Model) applies to labels the same way
it applies to <tt>ext</tt>/<tt>cext</tt>: an unknown CRITICAL label is rejected <tt>UnknownCriticalRisk</tt>, and an
unknown non-critical one is ignored; a critical flag outside <tt>{0,1}</tt> is <tt>MalformedCriticalFlag</tt>.
LOAD-BEARING INVARIANT: a risk label is an ADVISORY dimension, NEVER a fifth effect -- carrying a
label never changes the object's effect class, and the closed four-value effect lattice
(# Effects and Authorization) is untouched by this family.</t>
      </section>
      <section anchor="flow-continuations">
        <name>Flow Continuations</name>
        <t>A long-running flow costs exactly two full ML-DSA signatures -- <tt>FlowOpen</tt> and <tt>FlowCommit</tt> --
regardless of the number of intermediate steps, generalizing native streaming (# Streaming) from a
byte stream to a flow of typed steps. <tt>naalp-flow-open</tt> (<tt>{ flow_id, effect_ceiling, approvals }</tt>) is
a fully signed <tt>naalp-object</tt> that fixes the flow's effect ceiling and its approval bindings; its
authority is reconstructable from its own bytes alone. Its head (SHA-384 of the body) anchors the
chain, and its content id is carried by every child object as <tt>flow_open_id</tt>; a continuation naming a
different <tt>flow_open_id</tt> than the one it chains from is rejected <tt>WrongFlow</tt>.</t>
        <t>A <tt>naalp-continuation</tt> (<tt>{ flow_open_id, seq, effect, payload_id, prev }</tt>) is a cheap, UNSIGNED
hash-chain link: its head is SHA-384(body), and <tt>prev</tt> is the previous link's head (the FlowOpen's own
head for <tt>seq</tt> 0). Its <tt>effect</tt> <bcp14>MUST NOT</bcp14> exceed the FlowOpen's <tt>effect_ceiling</tt>, else <tt>AboveCeiling</tt>.
<tt>payload_id</tt> is the content id of that step's payload, carried separately so the continuation itself
stays small. A <tt>naalp-flow-checkpoint</tt> (<tt>{ flow_open_id, through_seq, head }</tt>) confirms a contiguous
prefix of the chain through <tt>through_seq</tt>; a dropped or reordered link short of that prefix is
<tt>GapDetected</tt>. <tt>naalp-flow-commit</tt> (<tt>{ flow_open_id, final_head }</tt>) binds the FINAL chain head under
the second full signature, closing the flow; a missing or altered link relative to the committed
<tt>final_head</tt> is <tt>CommitMismatch</tt>. The four body shapes (3, 5, 3, and 2 fields respectively) are
structurally distinct, so domain separation between them needs no additional tag.</t>
      </section>
      <section anchor="governed-decision-records-and-transparency-log-primitives">
        <name>Governed-Decision Records and Transparency Log Primitives</name>
        <t>This family carries the accountability triple natively -- UNIQUE SELECTION, GOVERNED-AT-T, and
BINDING-FIXED-BY-T -- as three signed, additive sibling productions; none moves <tt>naalp-version</tt>.</t>
        <t>An <tt>ordering-disclosure</tt> (<tt>{ basis, ?boundary, ?mechanism, ?relation }</tt>) states what, if anything,
establishes a record's order relative to the event it concerns, and from which observational domain,
via the closed <tt>ordering-basis</tt> set: correspondence-only (0) -- the weakest claim, ON PURPOSE, meaning
a record that says nothing about ordering, and an existing record whose ordering field is ABSENT, are
BOTH read as correspondence-only (a verifier <bcp14>MUST</bcp14> NEVER infer a stronger ordering claim from silence);
single-boundary (1) -- one covering boundary (<tt>boundary</tt>, a signer id) attests the order; or
external-mechanism (2) -- <tt>mechanism</tt> names an external sequencing mechanism and <bcp14>OPTIONAL</bcp14> <tt>relation</tt>
binds this record under it (for example, the content id of a <tt>naalp-checkpoint-root</tt> the record is
included under). Field presence is fail-closed and native: correspondence-only requires keys 2-4
absent; single-boundary requires key 2 present and 3-4 absent; external-mechanism requires key 3
present (4 optional) and 2 absent; any other combination is <tt>OrderingDisclosureMalformed</tt>. Whether an
external mechanism's operator is genuinely distinct from both parties is a structural deployment fact
checkable in substance later, not a claim the wire itself can close. A <tt>term-disposition</tt> (<tt>{ kind,
?source }</tt>) reuses the producing-boundary kind codes (1 observed, 2 reported; # Object Model) to state
whether one term of a record was observed first-hand or is relayed from <tt>source</tt>; a <tt>code</tt> outside
<tt>{1,2}</tt> or a <tt>source</tt> present under <tt>observed</tt> is malformed. <tt>enforcement-disposition</tt> is a closed pair:
enforced (1) or advised (2).</t>
        <t>A <tt>naalp-decision-record</tt> (<tt>{ action, governing, ?consume, outcome, ordering, ?terms, ?enforcement }</tt>)
is the SIGNED record a governed decision point emits stating that it decided about <tt>action</tt> under a
CLOSED, uniquely selected condition set. <tt>governing</tt> names that set in the clear as content ids -- may
be empty when the decision is governed by standing policy alone, naming that policy object's content
id instead (UNIQUE SELECTION: identification and availability together). The <bcp14>OPTIONAL</bcp14> <tt>consume</tt> names
the <tt>naalp-consume-receipt</tt> that spent the governing authority at decision time (GOVERNED-AT-T): it is
PRESENT for an allow that consumed a single-use authority and <bcp14>MUST</bcp14> be ABSENT for deny/hold, since a
refusal consumes nothing (a deny/hold body carrying a <tt>consume</tt> reference is <tt>DecisionMalformed</tt>).
<tt>outcome</tt> reuses the closed <tt>gw-decision</tt> set (# Security Considerations). <tt>ordering</tt> is MANDATORY --
the record states its ordering basis or states correspondence-only; there is no silent default, and an
unrecognized basis value is <tt>UnknownOrderingBasis</tt>. The <bcp14>OPTIONAL</bcp14> <tt>terms</tt> map keys per-term dispositions
by THIS record's own field numbers 1..5 (a key outside that set is <tt>TermDispositionMalformed</tt>), and the
<bcp14>OPTIONAL</bcp14> <tt>enforcement</tt> states whether the producer enforces the outcome or only advises it -- the
producer's own unverifiable self-account. The record is deliberately CLOCK-FREE: it carries no claimed
time, and both time properties above are POSITIONAL, never a self-asserted timestamp; the signature
binds THE DECISION, not a retrieval of it.</t>
        <t>A <tt>naalp-checkpoint-root</tt> (<tt>{ log, size, root, prev, at }</tt>, an RFC 9162-style construction) is a log
operator's SIGNED Merkle tree head over a leaf set of record content ids -- the NEITHER-PARTY ANCHOR
PRIMITIVE (BINDING-FIXED-BY-T). Tree construction follows <xref target="RFC9162"/> Section 2.1: leaf hash =
HASH(0x00 || leaf), interior node = HASH(0x01 || left || right), instantiated with SHA-384 (48-byte
heads); the 0x00/0x01 prefixes supply leaf/node domain separation. Checkpoints chain by <tt>prev</tt>
(genesis 48 zero bytes), so a withheld or reordered checkpoint breaks a link, reported
<tt>CheckpointMalformed</tt> on a structurally invalid checkpoint. A <tt>naalp-witness-cosign</tt> (<tt>{ witness, root,
at }</tt>) COUNTERSIGNS one exact checkpoint by content id; the wire carries the cosignature, while
whether the witness's observational domain is genuinely distinct from both parties is a structural
deployment fact a later verifier checks in substance -- the wire hook for the neither-party property,
stated honestly as a hook rather than a guarantee. A cosignature naming a root that does not match the
checkpoint it purports to cover is <tt>WitnessRootMismatch</tt>.</t>
        <t>A <tt>naalp-inclusion-proof</tt> (<tt>{ root, leaf, index, path }</tt>) proves that a leaf existed in the tree a
named <tt>naalp-checkpoint-root</tt> commits to (RFC 9162 Section 2.1.3.1 path recomputation, SHA-384
profiled): recording a content id as a leaf under a witnessed checkpoint establishes
existed-no-later-than-the-checkpoint, closing the BINDING-FIXED-BY-T leg. Verification recomputes the
path bottom-up from <tt>leaf</tt> at position <tt>index</tt> using the sibling hashes in <tt>path</tt> and compares the
result against <tt>root</tt>, fail-closed <tt>InclusionProofInvalid</tt> on any mismatch.</t>
      </section>
      <section anchor="portable-egress-evidence">
        <name>Portable Egress Evidence</name>
        <t>A <tt>naalp-egress-attestation</tt> (<tt>{ binding, digest, effect, audience, at, ?ordering }</tt>) is a SIGNED
attestation a gateway or sidecar emits that an object of a given effect class, bound to a given
audience, crossed an egress boundary at a given time -- third-party re-serve, payload-free. <tt>binding</tt>
selects one of the closed <tt>egress-binding</tt> values: content-bound (0), where <tt>digest</tt> is the crossed
object's own content id, or content-free (1), where <tt>digest</tt> is a hiding commitment
SHA-384(content_id || salt), openable later only by the gateway revealing the content id and salt out
of band. <tt>effect</tt> is the crossed object's effect class and <tt>audience</tt> is its bound destination
(empty-permitted). The <bcp14>OPTIONAL</bcp14> <tt>ordering</tt> (an <tt>ordering-disclosure</tt> above) states the attestation's
ordering basis; its absence is read correspondence-only, never a stronger claim. A malformed
attestation is <tt>EgMalformed</tt>; an unrecognized <tt>binding</tt> value is <tt>UnknownEgressBinding</tt>.</t>
      </section>
      <section anchor="manufacturing-physical-hazard-claims-and-authorizations">
        <name>Manufacturing Physical-Hazard Claims and Authorizations</name>
        <t><tt>hazard</tt> is a dimension ORTHOGONAL to <tt>effect</tt>: <tt>effect</tt> (# Effects and Authorization) is DATA
reversibility (can the state change be undone); <tt>hazard</tt> is PHYSICAL danger -- a data-reversible
action may still be a high physical hazard (for example, a tool re-approaching a work envelope). The
two are never merged, and neither is derived from the other. A hazard CLAIM (<tt>naalp-hazard-claim</tt>)
rides as the critical <tt>cext</tt> key 16 on the acting object (# Object Model); a hazard AUTHORIZATION
(<tt>naalp-hazard-authorization</tt>) is a standalone Governance-channel (0x0004) kind 7 object, referenced by
the acting object's <tt>causes</tt>. All numeric bounds in this family are fixed-point integers (signed
millimeters for position, unsigned millimeters-per-second for speed) -- no floats, per the spine's
deterministic-CBOR subset (# Object Model) -- and map keys are 1-based.</t>
        <t><tt>hazard-class</tt> is a CLOSED 0..4 enum: none (0), tool-actuation (1), thermal (2), energy-release (3),
motion-in-shared-space (4). This closed set carries a DECODE-TIME rule mirroring <tt>effect</tt>'s
unknown-value handling: an absent or unrecognized raw hazard value <bcp14>MUST</bcp14> normalize to the HIGHEST class
(4), never to none or a weaker value, so a missing declaration fails safe (<tt>HazardUnknown</tt> when no
claim exists at all; else <tt>HazardNotCovered</tt> against a lower-class grant) -- a rule CDDL cannot itself
express, since it governs the absence or invalidity of a raw wire value, so it is stated here as a
<bcp14>MUST</bcp14> on the decoder. <tt>spatial-bounds</tt> (<tt>{ frame, axes }</tt>) names a coordinate frame (<tt>frame</tt>, which <bcp14>MUST</bcp14>
be Unicode NFC, <tt>NonNFC</tt> otherwise) plus a signed axis-aligned bounding region in that frame: <tt>axes</tt>
          <bcp14>MUST</bcp14> be non-empty and every <tt>[min, max]</tt> entry <bcp14>MUST</bcp14> satisfy <tt>min &lt;= max</tt>, else <tt>HazardMalformed</tt>. The
frame id is integrator-defined; N-AALP requires only that a claim's frame id equal the authorization's
for containment to be checkable. <tt>hazard-window</tt> (<tt>{ not_before, not_after }</tt>) is a validity window in
the spine's epoch-ms convention. <tt>hazard-envelope</tt> (<tt>{ spatial, speed_bound, window }</tt>) is the full
physical envelope a claim or authorization bounds itself by; all three fields are MANDATORY -- a
silently absent axis, speed, or window is a MALFORMED envelope (<tt>HazardMalformed</tt>), never treated as
"unconstrained," which would fail OPEN in a physical-safety context.</t>
        <t><tt>naalp-hazard-claim</tt> (<tt>{ class, envelope }</tt>) and <tt>naalp-hazard-authorization</tt> (<tt>{ class, envelope }</tt>)
share the identical <tt>{ hazard-class, hazard-envelope }</tt> shape; both fields are mandatory in each, else
<tt>HazardMalformed</tt>. Coverage of a claim by an authorization requires an EXACT class match AND full
containment of the claim's envelope in the authorization's: the frame id equal; the same axis count
and order; every claim axis inside the matching authorization axis; the claim's <tt>speed_bound</tt> no
greater than the authorization's; and the claim's window a sub-interval of the authorization's window.
Any single failing dimension denies the WHOLE claim (<tt>HazardNotCovered</tt>) -- there is no partial
authorization.</t>
      </section>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>Mandatory-to-implement algorithms and post-quantum rationale: N-AALP signs with ML-DSA
<xref target="FIPS204"/>, a post-quantum signature, because N-AALP objects (receipts, approvals, audit chains)
are long-lived non-repudiable records subject to store-now-verify-later forgery risk from a
future cryptographically relevant quantum computer; a classical-only signature on such records
would be a latent forgery exposure. An optional Ed25519+ML-DSA composite provides defense-in-depth
during the transition; it is a single non-separable LAMPS composite, so it is accepted only when
both components verify and a stripped object has no valid signature at all. Pure ML-DSA is SUF-CMA;
the opt-in composite is EUF-CMA but not SUF-CMA, which is not load-bearing because N-AALP never
keys a security decision off raw signature bytes.</t>
      <t>Downgrade and negotiation: algorithm agility is expressed by the COSE algorithm identifier bound
under the signature and checked against the profile floor; a signature below the floor is
rejected, so agility cannot become a downgrade.</t>
      <t>Replay and reordering: approvals bind a nonce and expiry and are single-use through the consume
ledger; the audit receipt chain binds each object into a hash chain so reordering, omission, and
substitution are detectable; delivery stages are monotonic.</t>
      <t>Identity and trust: the signer id is a pure function of the public key, so a forged id cannot
recompute; there is no certificate authority to compromise. Compromise of a signing key is
bounded by rotation and revocation, and attribution survives rotation. A non-injective or
forgeable identity function would collapse this property; the SHA-256 multihash over the
multicodec-tagged key provides collision and second-preimage resistance.</t>
      <t>External code-point stability: the key-type codes 0xed, 0x1211, and 0x1212 that signer-id
derivation uses (# Identity) originate in the external multiformats table, a registry N-AALP does
not govern. If that upstream table ever reassigned one of these three codes to a different meaning,
an implementation that resolved <tt>mc</tt> by looking the key type up in the live table would derive a
different signer id than an implementation that used the value current when it was built, silently
splitting the identity space. N-AALP closes this dependency by pinning all three values as its own
normative constants (# Identity) rather than by indirection through the upstream table, so
signer-id derivation stays fixed under this specification regardless of any later upstream
reassignment.</t>
      <t>Effect and authorization: the effect is an authorization input, not a hint; an unrecognized
effect fails closed to destructive; authorization is never derived from transport metadata or a
foreign principal. This closes the gap a pure intent label leaves open.</t>
      <t>Effect inflation as an availability risk (accepted and stated): the effect lattice has an abuse
direction. A malicious wrapping signer can mark ordinary actions destructive so that everything
demands an approval and throughput collapses, and attribution identifies who did it only after the
fact. N-AALP does not prevent this on the wire and does not pretend the lattice has no abuse
direction; it is an accepted risk, mitigated operationally by attribution -- every object binds to a
signer id -- together with per-signer rate limiting applied by the deployment. Rate limiting is a
deployment control rather than a wire field, stated here as an operational obligation, not a format
guarantee.</t>
      <t>Continuation compromise, honest limit: a node compromised inside an open flow can keep emitting
continuations up to the ceiling. The ceiling bounds the damage. It does not prevent it. The flow's
effect ceiling caps the severity any continuation can reach, so the damage is bounded to actions
within that ceiling; but until the flow is closed or the compromised key is revoked, the
compromised node keeps acting within it. This limit is stated plainly here rather than left for a
reviewer to infer.</t>
      <t>Denial of service: an object requires one signature verification and one deterministic decode;
verification is fail-closed and performed before any state change or effect. Streaming amortizes
one signature over many chunks. Implementations <bcp14>SHOULD</bcp14> bound object and stream sizes by policy.</t>
      <t>Cost-ordered verification (cheapest checks first): a verifier <bcp14>SHALL</bcp14> perform its checks in
increasing order of cost and reject on the cheapest failing check before it performs the signature
verification. The cheap checks -- deterministic decode, content-id recomputation, field-range
checks, protected-header/body agreement and version, critical-extension recognition, and
kind/channel dispatch -- all run before the ML-DSA signature verification, which is the most
expensive step and is therefore last. Because the expensive step is last, a flood of mismatched or
malformed objects is rejected on a cheap check and cannot force a signature verification on
attacker-controlled bytes; the cost of rejecting garbage is bounded by the cheap checks, not by the
post-quantum signature.</t>
      <t>Confidentiality: object-level guarantees do not include confidentiality; a sensitive object <bcp14>MUST</bcp14>
use a confidential transport (# Transport Bindings), enforced by refusal.</t>
      <t>Offline verification proves validity-at-issue, not current unspent-ness: a signature verified
offline proves an approval was well-formed and authorized when it was issued; it does NOT prove
the approval is still unspent. Spent-or-unspent is state held at the consume ledger
(# Approval), not a property of the object's bytes. A verifier that treats a syntactically valid,
unexpired approval as spendable without consulting the ledger has confused attributability at the
moment of issue with current spendability.</t>
      <t>Exposure and reconciliation cadence: a relying party that accepts a consume receipt during a
network partition, before that receipt has been compared against the receipt sets held by other
parties, is exposed to a conflicting spend it cannot yet see. Its exposure is a function of its
own reconciliation cadence -- the window between accepting a receipt and next comparing its
receipt set against the others -- multiplied by the value at risk in that window (the rate, in
value per unit time, at which double-spendable value is being accepted). N-AALP makes no liveness
promise here: the format does not bound how quickly a conflicting spend elsewhere becomes
visible, and it is the relying party, not the format, that lowers its exposure by reconciling
more often. Cadence is a parameter the exposed party sets, not a guarantee the format provides.</t>
      <t>Worked exposure example: a party reconciles on a 3,600-second (one hour) cadence and, within one
such window, accepts approvals whose combined double-spendable value arrives at a value at risk
of $5,000 per second. Its worst-case exposure across one unreconciled window is
(value at risk) x (window length) = $5,000/s x 3,600 s = $18,000,000 that could be double-spent
before the next comparison detects the conflict. Cutting the reconciliation cadence to 60 seconds
cuts the window length, and the exposure with it, by 60x, to $300,000. The exposure figure is set
entirely by the party's own cadence and value at risk; the object bytes do not change, and the
protocol computes none of it.</t>
      <t>Baseline consume under an unreachable ledger: at the baseline tier, an executor that cannot reach
the consume ledger <bcp14>SHALL</bcp14> deny the spend (this is the normative rule of (# Approval), restated
here for its security weight). Local spend-and-reconcile-later is not a baseline behavior; a
consumer that spends locally while the ledger is unreachable is non-conforming. This is the
fail-closed choice -- under partition the baseline refuses rather than risk an undetected double
spend -- and federated ordering over identical signed objects, which trades this refusal for the
bounded exposure modeled above, is a named higher tier only.</t>
      <t>Attributable versus checkable: a signature makes a statement attributable to a signer -- it binds
the bytes to a key -- but attributability is not the same as checkability. A statement is
checkable only if a stranger who trusts no one can re-derive the claim for themselves. A checkable
claim (a) says what it is about, (b) carries the evidence it rests on, directly or by content id,
and (c) names the procedure that re-checks it. N-AALP already delivers (a) and (b) for its
structural claims: the content id recomputes from the bytes, so anyone can confirm the id names
these exact bytes, and the causes field is a signed partial order a stranger can walk offline. An
object that carries a body claim without naming the procedure that re-checks it is attributable
only, and this specification says so plainly: absent (c), a relying party has the signer's word,
not an independent re-derivation.</t>
      <t>The per-signer forward-only counter is detection, not prevention: N-AALP <bcp14>MAY</bcp14> define a forward-only
per-signer counter that a signer increments on each object. Its purpose is detection, not
prevention: it exists to detect key duplication, not to stop it. A counter a signer writes about
itself proves nothing on its own, because once a key is duplicated both the legitimate holder and
the thief emit locally consistent, monotonic sequences, and neither sequence contradicts the other
in isolation. The duplication becomes provable only when two conflicting sequences bearing the same
signer id physically meet somewhere the attacker cannot suppress; until that meeting the counter
has detected nothing. The counter's value is therefore contingent on a reachability property the
wire cannot guarantee -- that the conflicting evidence reaches a common observer -- and this
specification states that dependency rather than implying the counter prevents duplication. The
sharper contradiction, authored by neither the requester nor a thief, is carried by the
ledger-signed consume receipt (# Approval), not by the self-authored
counter.</t>
      <t>Correspondence is not precedence: the causal graph (# Audit, Causal Graph, and Ordering) and
parent-by-content-id let a stranger establish record order offline -- an object that names another
as a cause existed no later than its effect, within the two-party construction that produced them.
That is not cross-trust-boundary event precedence. Each boundary's observational domain is
authoritative only within itself, so ordering two boundaries' events against each other requires an
ordering authority whose observational domain is neither party; the baseline single-authority
ordering (# Audit, Causal Graph, and Ordering) does not guarantee an authority that is neither party,
so cross-boundary precedence is a higher-tier or deployment property, not a baseline guarantee. The
<bcp14>OPTIONAL</bcp14> <tt>producing-boundary</tt> disclosure (<tt>ext</tt> key 15, # Object Model) makes the one fact an object
can honestly assert explicit -- whose domain observed the event, and whether first-hand or relayed --
and a relying party that needs precedence across a boundary composes it with an independent ordering
authority. One such construction is a Transparency Service as defined in <xref target="RFC9943"/>, whose own
Section 9.1 (Ordering of Signed Statements) states that a relying party cannot assume the
registration order matches the issuance order unless the service's registration policy advertises
it, and whose Section 9.2 (Accuracy of Statements) states that registering a statement only proves
it was produced, not that it is accurate -- the same limit, stated by an independent standard.</t>
      <t>Custody continuity and rotation dating: a valid signature proves the signer held the private seed
at signing time and nothing more; it does not prove continuous custody. draft-01 does not solve
rotation-continuity, because a successor (rotation) statement signed by an old key can be forged by
a thief who holds that old key, and the forged handoff verifies. What the design provides instead
is dating after the fact. The created timestamp (field 6) is advisory only and <bcp14>MUST NOT</bcp14> be relied
on as ordering evidence; the receipt-chain position is the record of when a statement happened
(# Audit, Causal Graph, and Ordering). A rotation statement is dated by where it lands in the
receipt chain, the same as any other object. On discovery of a theft there is a specific receipt
position to cut at -- a cut position -- before which the history is still provable from the original
signatures. Because the mandatory signatures are post-quantum (ML-DSA), the pre-cut history stays
checkable for years after the compromised keys are gone.</t>
      <t>Worked custody timeline: at receipt position 100 a key K is used legitimately. At position 140 the
key is stolen and the thief immediately signs a rotation from K to the thief's own key K'. At
position 200 the theft is discovered. The relying party sets the cut position at 140 -- the earliest
position it can attribute to the thief, or, where that is uncertain, the last position it can vouch
for. Every object at receipt position below 140 remains verifiable from its original ML-DSA
signature and its receipt-chain position, independent of K's later compromise; objects at position
140 and after, including the forged rotation, fall outside the cut and are not trusted on K's
authority. The forged handoff still verified as bytes -- dating does not prevent it -- but the
receipt-chain position gives the relying party a defined cut position and a pre-cut history it can
still stand on.</t>
      <t>The never-signs-again case: if the legitimate holder never signs again after a theft, the case is
undecidable from the signer's own bytes: as far as the signer's own signatures can prove, the
thief is that identity from the moment of theft onward, because every subsequent signature verifies
under the stolen key and there is no later legitimate signature to contradict it. Anything that
resolves this works from statements other parties make -- counterparty acknowledgments, obligations
that settled, an observer outside the thief's reach -- and N-AALP carries exactly those as checkable
signed objects. The weighing of that outside evidence is left to the relying party, to whoever
decides to transact, and is not a property the wire computes. N-AALP does not pick a trust graph:
this revision deliberately encodes no trust-weighting scheme into the object, keeping the line
between what the protocol carries -- checkable evidence, and refusal when required evidence is
missing -- and what the deployment decides -- who to believe -- where it belongs.</t>
      <t>Third-party trust statements are carriage, not adjudication: N-AALP carries third-party trust
statements -- attestations, reputation assertions, and external-registry references such as an
ERC-8004-style identity or reputation registry record -- as checkable signed objects, each naming its
subject and carrying the external record it references by content id, so a relying party re-derives
the reference for itself rather than trusting the connection that delivered it. The wire carries
these statements and weighs none of them: no wire field scores a trust statement, ranks two
conflicting attestations, or selects among registries, because the protocol takes no position on
which trust statement outranks which. A carried reputation or registry reference therefore verifies --
its content-id recomputes and its signature checks -- without the protocol computing any score from it;
which statement to believe remains a decision for the deployment, not one the wire performs.</t>
      <t>Payment import, user-interface consent, and portable gateway evidence add guarantees around imported
and human-in-the-loop actions without introducing a new effect, ledger, or policy mechanism. A payment
instruction issued in a foreign format -- an AP2 mandate, an Agentic Commerce Protocol delegated token,
an x402 payload -- is carried octet-for-octet and imported as a single-use approval: imported payment
instructions become single-use approvals bound to the amount, currency, payee, and the carried
payload's content id, so a wrong amount or payee no longer matches the approval and a replayed payment
authorization is rejected by the consume ledger. The imported format (<tt>naalp-payment-format</tt>) is one
of a closed, registered set -- an AP2 mandate, an Agentic Commerce Protocol delegated token, or an
x402 payload -- and an unrecognized format is rejected <tt>UnknownPaymentFormat</tt>; the value an approval
binds (<tt>naalp-payment-charge-binding</tt>) carries the same fields as the import (<tt>naalp-payment-import</tt>)
with the foreign payload replaced by its content id, so the binding names the exact value approved
without re-embedding the foreign bytes. A user-interface approval binds the exact action
shown by content id, with the shown tool-lifecycle events (<tt>naalp-ui-event</tt>) receipt-chained so the
shown sequence is provable and an omitted event is detected at its position; an action other than the
one shown and approved has a different content id and is refused. The shown-event stream is one of a
closed vocabulary -- shown, args-shown, approved, or rejected (<tt>ui-event-kind</tt>) -- and an event outside
that set is rejected <tt>UnknownUIEventKind</tt>; a malformed event body is <tt>UIMalformed</tt> and a broken
receipt chain is <tt>UIChainBroken</tt>. A gateway decision (<tt>naalp-gateway-decision</tt>) is portable evidence whose
authority is the signature over its bytes, not the connection that delivered it, so it re-verifies
identically when a party other than the gateway serves it; it carries the decision, the action it is
about, and the deciding policy's identity as an opaque name, and defines no policy language. The
decision is one of a closed vocabulary -- allow, deny, or hold (<tt>gw-decision</tt>); an unrecognized value
is rejected <tt>UnknownGatewayDecision</tt>, and a malformed body is <tt>GwMalformed</tt>. A gateway decision <bcp14>MAY</bcp14>
additionally carry an ordering disclosure (# Additive Object Families) and, where the decision was
made over foreign-protocol evidence, a <tt>naalp-foreign-profile-pin</tt> naming the foreign evidence
profile's identifier and the specific revision pinned at decision time, so a later revision of that
foreign profile cannot be silently substituted for the one the decision actually evaluated.</t>
      <t>Signing outside the page context (browser and WebMCP bindings): where N-AALP signing is exposed
to a web page -- for example a WebMCP-style in-browser binding -- the signing operation <bcp14>MUST</bcp14> be
performed outside the page script context, in an isolated signer (a browser-extension background
context, a distinct origin, or a platform key store) that the page cannot script. The page <bcp14>MAY</bcp14>
request a signature over a named object but never holds the signing key or the signing routine, so
a compromised or malicious page can request but never forge a signature and cannot exfiltrate the
key. A binding that signs inside the page script context is non-conforming.</t>
      <t>What N-AALP does NOT defend against: it does not provide confidentiality by itself (that is the
transport's); it cannot force an ordering authority to deliver events it chooses to withhold (a
chain reveals equivocation and omission-of-known-events but cannot compel delivery); it does not
provide cross-trust-boundary event precedence at the baseline tier (the causal graph proves record
order, not event precedence across trust boundaries -- see the correspondence-is-not-precedence
discussion above); it does not police the semantic correctness of a carried foreign message beyond
octet-exact carriage; it does
not prove an offline-verified approval is still unspent (that is consume-ledger state, bounded by
the reconciliation cadence and exposure model above); it does not make a self-authored per-signer
counter proof of anything until two conflicting sequences meet where the attacker cannot suppress
them; it does not solve rotation-continuity or the never-signs-again theft from the signer's own
bytes (it provides dating and a cut position, not prevention); and it does not defend against a
signer that is itself authorized and malicious (it makes that signer's actions attributable and
auditable, not impossible).</t>
      <section anchor="closure">
        <name>Trust-decision closure sovereignty</name>
        <t>A relying party's decision to act on an authenticated party's object is trustworthy only when that
decision depends only on inputs outside the authenticated party's influence -- transitively, so that an
input's own inputs are inputs. Where the authenticated party does influence an input, that influence
<bcp14>MUST</bcp14> take one of exactly three safe shapes: verifiable, attenuating, or committed. A verifiable
influence is a fixed function of bytes the party cannot forge and is recomputed by the relying party; an
attenuating influence can only reduce the party's own authority; a committed influence is mixed with an
independent contribution the party cannot bias. An input safe in none of the three, and not otherwise
checkable, is treated as unverified and <bcp14>MUST</bcp14> fail closed. This property is already enforced across
N-AALP's identity, encoding, conformance, delegation, approval, and negotiation requirements; the
paragraphs below close the remaining inputs.</t>
        <t>Verification <bcp14>MUST</bcp14> be deterministic: an implementation performs verification as deterministic code whose
control flow does not depend on unverified content, and no part of an object under verification reaches
a model or inference component before it is deterministically accepted. This keeps an agent-native
relying party -- one whose evaluator is itself a model -- from having its trust decision steered by the
very bytes it is judging.</t>
        <t>A refusal or deny outcome is a signed, attributable, fail-closed record, and a refusal returns only a
coarse outcome to the authenticated party -- a single value from a closed vocabulary together with the
content id of the signed record, and nothing more. Discriminating detail is carried only in the signed
record an auditor reads, so that repeated refusals cannot serve an adaptive party as an oracle. A
party-visible outcome that carries discriminating detail, or omits the record content id, is a refusal
detail leak.</t>
        <t>A standalone judgment that a credential is in force at the present moment rests on time the party cannot
supply. A credential's present-moment freshness is judged against a clock the authenticated party does
not provide, and the ordering authority is structurally distinct from the party being authenticated, so
the party whose credential would expire is never itself the source of the time against which expiry is
judged.</t>
        <t>Where a verdict or approval travels beyond the context that produced it, a portable verdict names the
context in which it is valid, and a relying party checks that named context at use, so a verdict sound
for one context cannot be replayed into another the party chose. Naming a context is optional -- an
approval that names no context is unrestricted by the issuer's choice, and a deployment <bcp14>MAY</bcp14> require one
by local policy -- but the check is mandatory when a context is present.</t>
        <t>Delegated authority only ever shrinks: derived authority is non-increasing across every hop of a
delegation chain, on effect, scope, and depth, whether the chain is read leaf-to-root or root-to-leaf; a
hop that would raise authority denies the whole chain.</t>
      </section>
    </section>
    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <t>N-AALP objects are signed and content-addressed, and are often long-lived, which creates two
privacy tensions the format addresses explicitly: correlation of identical content, and erasure of
personal data from records that are immutable by design.</t>
      <t>Salted body option: because the content id is a deterministic hash of the body, two objects with
identical logical content produce an identical content id and are trivially correlatable across
contexts. N-AALP therefore offers an optional body salt so that identical logical content does not
yield a correlatable content id; a signer that must avoid cross-context linkage includes a fresh
random salt in the body, carried under the signature like any other field.</t>
      <t>Hash-only personal data: an object that must reference a person <bcp14>SHOULD NOT</bcp14> carry the personal data
in the clear. Personal data is carried only as a salted one-way hash of the datum, so the object
binds to the person without disclosing the identifier; the plaintext and its salt are held off the
record by the party that needs them.</t>
      <t>Erasure resolution against immutable records: a signed, hash-chained record cannot have bytes
removed without breaking the chain, which appears to conflict with an erasure
(right-to-be-forgotten) obligation. N-AALP resolves this without mutating the signed record:
because personal data is present only as a salted hash, erasure is resolved by destroying the
off-chain preimage and its salt, leaving the signed record intact but its hashed personal data
unlinkable to any person. The signature and the audit chain stay valid; what is destroyed is the
ability to reverse the hash to a person, which is exactly the property erasure requires.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document is an Independent Submission. All registries requested below use registration
policies permitted on the Independent stream, requiring no IETF Review or Standards Action: the
media type registers into the existing IANA Media Types registry under <xref target="RFC6838"/> (that
registry's Expert Review), and each new registry this document creates uses RFC Required (First
Come First Served in the standards range) per <xref target="RFC8126"/> -- an ISE-permissible policy. Numeric
values shown are the values this specification defines; where IANA assignment is requested the
placeholder TBD is used.</t>
      <section anchor="media-type-applicationvndbubblefishnaalpcbor">
        <name>Media type application/vnd.bubblefish.naalp+cbor</name>
        <t>IANA is requested to register the following media type in the vendor tree (<xref target="RFC6838"/> Section 3.2),
using the +cbor structured syntax suffix defined in <xref target="RFC8949"/> and registered in the IANA
Structured Syntax Suffixes registry (whose mechanism is established by <xref target="RFC6838"/> and populated
by <xref target="RFC6839"/>). The <tt>vnd.bubblefish.</tt> facet designates BubbleFish Technologies, Inc. as the
producing organization; a vendor-tree registration is submitted directly to IANA and undergoes
Expert Review (<xref target="RFC6838"/> Section 3.2), requiring no IESG approval or IETF standards action:</t>
        <ul spacing="normal">
          <li>
            <t>Type name: application</t>
          </li>
          <li>
            <t>Subtype name: vnd.bubblefish.naalp+cbor</t>
          </li>
          <li>
            <t>Required parameters: none</t>
          </li>
          <li>
            <t>Optional parameters: none</t>
          </li>
          <li>
            <t>Encoding considerations: binary (CBOR per <xref target="RFC8949"/>)</t>
          </li>
          <li>
            <t>Security considerations: see (# Security Considerations) of this document</t>
          </li>
          <li>
            <t>Interoperability considerations: objects are deterministic CBOR; see (# Object Model)</t>
          </li>
          <li>
            <t>Published specification: this document</t>
          </li>
          <li>
            <t>Applications that use this media type: autonomous-agent application-layer messaging</t>
          </li>
          <li>
            <t>Fragment identifier considerations: as specified for application/cbor</t>
          </li>
          <li>
            <t>Additional information: Magic number(s): none; File extension(s): .naalp; Macintosh file type
code(s): none</t>
          </li>
          <li>
            <t>Person &amp; email address to contact for further information: the author (front matter)</t>
          </li>
          <li>
            <t>Intended usage: COMMON</t>
          </li>
          <li>
            <t>Restrictions on usage: none</t>
          </li>
          <li>
            <t>Author: S. Sammartano</t>
          </li>
          <li>
            <t>Change controller: the author (BubbleFish Technologies, Inc.)</t>
          </li>
        </ul>
      </section>
      <section anchor="n-aalp-channel-registry">
        <name>N-AALP Channel registry</name>
        <t>IANA is requested to create the "N-AALP Channels" registry. Registration policy: RFC Required
(First Come First Served in the standards range) -- an ISE-permissible policy; a successor RFC
provides the stable public specification and a non-colliding Channel Id.
Columns: Channel Id (uint 0..19), Name, Reference. Initial contents: the twenty channels of
(# Channel Surfaces), ids 0x0000..0x0013, this document.</t>
      </section>
      <section anchor="n-aalp-object-kind-registries">
        <name>N-AALP Object Kind registries</name>
        <t>IANA is requested to create, per channel, an "N-AALP Object Kinds (channel N)" registry.
Registration policy: RFC Required (First Come First Served in the standards range) -- an
ISE-permissible policy. Columns: Kind Code (uint), Name, Effect (one of the
four closed effect names, or "variable"), Reference. The initial contents are the sixty-five
baseline kinds below, enumerated here (channel, code, kind, effect) so an implementer building
from only this document has the complete set:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Channel</th>
              <th align="right">Code</th>
              <th align="left">Kind</th>
              <th align="left">Effect</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0x0000 Control</td>
              <td align="right">0</td>
              <td align="left">Hello</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0000 Control</td>
              <td align="right">1</td>
              <td align="left">Bye</td>
              <td align="left">idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0000 Control</td>
              <td align="right">2</td>
              <td align="left">Ack</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0000 Control</td>
              <td align="right">3</td>
              <td align="left">Error</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0001 Memory</td>
              <td align="right">0</td>
              <td align="left">MemoryOffer</td>
              <td align="left">idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0001 Memory</td>
              <td align="right">1</td>
              <td align="left">MemoryAccept</td>
              <td align="left">idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0001 Memory</td>
              <td align="right">2</td>
              <td align="left">MemoryWrite</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0001 Memory</td>
              <td align="right">3</td>
              <td align="left">MemoryRead</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0001 Memory</td>
              <td align="right">4</td>
              <td align="left">MemoryExpire</td>
              <td align="left">destructive</td>
            </tr>
            <tr>
              <td align="left">0x0001 Memory</td>
              <td align="right">5</td>
              <td align="left">MemoryRevoke</td>
              <td align="left">destructive</td>
            </tr>
            <tr>
              <td align="left">0x0002 Capability</td>
              <td align="right">0</td>
              <td align="left">CapIssue</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0002 Capability</td>
              <td align="right">1</td>
              <td align="left">CapDelegate</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0002 Capability</td>
              <td align="right">2</td>
              <td align="left">CapRevoke</td>
              <td align="left">destructive</td>
            </tr>
            <tr>
              <td align="left">0x0002 Capability</td>
              <td align="right">3</td>
              <td align="left">CapLookup</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0003 Identity</td>
              <td align="right">0</td>
              <td align="left">Rotation</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0003 Identity</td>
              <td align="right">1</td>
              <td align="left">Revocation</td>
              <td align="left">destructive</td>
            </tr>
            <tr>
              <td align="left">0x0003 Identity</td>
              <td align="right">2</td>
              <td align="left">ForeignLink</td>
              <td align="left">idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0003 Identity</td>
              <td align="right">3</td>
              <td align="left">KeyAnnounce</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0004 Governance</td>
              <td align="right">0</td>
              <td align="left">PolicyPublish</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0004 Governance</td>
              <td align="right">1</td>
              <td align="left">Approval</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0004 Governance</td>
              <td align="right">2</td>
              <td align="left">ApprovalHeld</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0004 Governance</td>
              <td align="right">3</td>
              <td align="left">Consume</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0005 Immune</td>
              <td align="right">0</td>
              <td align="left">AnomalyReport</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0005 Immune</td>
              <td align="right">1</td>
              <td align="left">Quarantine</td>
              <td align="left">destructive</td>
            </tr>
            <tr>
              <td align="left">0x0005 Immune</td>
              <td align="right">2</td>
              <td align="left">QuarantineLift</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0006 Federation</td>
              <td align="right">0</td>
              <td align="left">AuthorityAnnounce</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0006 Federation</td>
              <td align="right">1</td>
              <td align="left">ScopeReceipt</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0007 Settlement</td>
              <td align="right">0</td>
              <td align="left">SettleIntent</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0007 Settlement</td>
              <td align="right">1</td>
              <td align="left">SettleReceipt</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0007 Settlement</td>
              <td align="right">2</td>
              <td align="left">SettleReject</td>
              <td align="left">idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0008 Compliance</td>
              <td align="right">0</td>
              <td align="left">ComplianceRecord</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0008 Compliance</td>
              <td align="right">1</td>
              <td align="left">ComplianceQuery</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0008 Compliance</td>
              <td align="right">2</td>
              <td align="left">ComplianceReport</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0009 Sensory</td>
              <td align="right">0</td>
              <td align="left">Observation</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0009 Sensory</td>
              <td align="right">1</td>
              <td align="left">Subscribe</td>
              <td align="left">idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0009 Sensory</td>
              <td align="right">2</td>
              <td align="left">Unsubscribe</td>
              <td align="left">idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x000A Telemetry</td>
              <td align="right">0</td>
              <td align="left">Metric</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x000A Telemetry</td>
              <td align="right">1</td>
              <td align="left">HealthReport</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x000B Audit</td>
              <td align="right">0</td>
              <td align="left">Receipt</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x000B Audit</td>
              <td align="right">1</td>
              <td align="left">AuditQuery</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x000B Audit</td>
              <td align="right">2</td>
              <td align="left">ForkProof</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x000C Stream</td>
              <td align="right">0</td>
              <td align="left">StreamOpen</td>
              <td align="left">variable</td>
            </tr>
            <tr>
              <td align="left">0x000C Stream</td>
              <td align="right">1</td>
              <td align="left">StreamCommit</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x000C Stream</td>
              <td align="right">2</td>
              <td align="left">StreamCheckpoint</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x000D Bridge</td>
              <td align="right">0</td>
              <td align="left">Carriage</td>
              <td align="left">variable</td>
            </tr>
            <tr>
              <td align="left">0x000E Commerce</td>
              <td align="right">0</td>
              <td align="left">Offer</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x000E Commerce</td>
              <td align="right">1</td>
              <td align="left">Order</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x000E Commerce</td>
              <td align="right">2</td>
              <td align="left">Fulfil</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x000E Commerce</td>
              <td align="right">3</td>
              <td align="left">Cancel</td>
              <td align="left">destructive</td>
            </tr>
            <tr>
              <td align="left">0x000F Interaction</td>
              <td align="right">0</td>
              <td align="left">Elicit</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x000F Interaction</td>
              <td align="right">1</td>
              <td align="left">Respond</td>
              <td align="left">idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x000F Interaction</td>
              <td align="right">2</td>
              <td align="left">Confirm</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0010 Discovery</td>
              <td align="right">0</td>
              <td align="left">DiscoveryRecord</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0010 Discovery</td>
              <td align="right">1</td>
              <td align="left">DiscoveryQuery</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0011 Workflow</td>
              <td align="right">0</td>
              <td align="left">TaskCreate</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0011 Workflow</td>
              <td align="right">1</td>
              <td align="left">TaskInput</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0011 Workflow</td>
              <td align="right">2</td>
              <td align="left">TaskCancel</td>
              <td align="left">destructive</td>
            </tr>
            <tr>
              <td align="left">0x0011 Workflow</td>
              <td align="right">3</td>
              <td align="left">TaskResult</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0012 Knowledge</td>
              <td align="right">0</td>
              <td align="left">Assert</td>
              <td align="left">non_idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0012 Knowledge</td>
              <td align="right">1</td>
              <td align="left">Retract</td>
              <td align="left">destructive</td>
            </tr>
            <tr>
              <td align="left">0x0012 Knowledge</td>
              <td align="right">2</td>
              <td align="left">KnowledgeQuery</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0013 Spatial</td>
              <td align="right">0</td>
              <td align="left">FrameDefine</td>
              <td align="left">idempotent_write</td>
            </tr>
            <tr>
              <td align="left">0x0013 Spatial</td>
              <td align="right">1</td>
              <td align="left">Pose</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0013 Spatial</td>
              <td align="right">2</td>
              <td align="left">StateUpdate</td>
              <td align="left">read_only</td>
            </tr>
            <tr>
              <td align="left">0x0013 Spatial</td>
              <td align="right">3</td>
              <td align="left">SnapshotQuery</td>
              <td align="left">read_only</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="n-aalp-effect-registry">
        <name>N-AALP Effect registry</name>
        <t>IANA is requested to create the "N-AALP Effects" registry. Registration policy: RFC Required -- an
ISE-permissible policy; this closed set is not expected to grow, and any addition (via a successor
RFC) <bcp14>MUST</bcp14> preserve the fail-closed lattice. Columns: Value (0..3), Name, Reference. Initial
contents:
read_only 0, idempotent_write 1, non_idempotent_write 2, destructive 3, this document.</t>
      </section>
      <section anchor="n-aalp-carriage-protocol-id-registry">
        <name>N-AALP Carriage Protocol Id registry</name>
        <t>IANA is requested to create the "N-AALP Carriage Protocol Ids" registry, a one-octet space
partitioned: standards 0x01-0x0F (RFC Required / First Come First Served -- an ISE-permissible
policy), experimental 0x10-0x7F (no registration), private 0x80-0xFF (no registration). Columns:
Protocol Id, Name, Carriage Class,
Reference. Initial standards-range contents: 0x01 MCP (JSONRPC), 0x02 A2A (JSONRPC), 0x03 HTTP
(HTTP), 0x04 WebSocket (STREAM), this document.</t>
      </section>
      <section anchor="n-aalp-error-code-registry">
        <name>N-AALP Error Code registry</name>
        <t>A fail-closed rejection reason is carried on the wire by a <strong><tt>naalp-error</tt> object</strong> -- a
Control/Error object (channel <tt>0x0000</tt>, kind 3, effect <tt>read_only</tt>; an error report effects
nothing) whose body is the map <tt>{ 1: code (uint), 2: name (tstr), ?3: detail (tstr), ?4: subject
(bstr content id) }</tt> (Appendix A). <tt>code</tt> is the numeric error code; <tt>name</tt> is its registered name;
optional <tt>detail</tt> is a non-normative human diagnostic with no security meaning; optional <tt>subject</tt>
is the content id (Section 2.3) of the object the error is about.</t>
        <t>Two dual-carriage rules make the <tt>code</tt>/<tt>name</tt> pair unambiguous and forward-compatible:</t>
        <ul spacing="normal">
          <li>
            <t>A receiver that recognizes <tt>code</tt> <bcp14>MUST</bcp14> require <tt>name</tt> to equal the registered name for that code;
a code/name disagreement is rejected <tt>Malformed</tt>. (This is the strengthening direction: the
numeric code is authoritative and the name cannot contradict it.)</t>
          </li>
          <li>
            <t>A <tt>code</tt> outside the receiver's registry snapshot <bcp14>MUST NOT</bcp14> be fatal: it is opaque (the <tt>name</tt> is
diagnostic only and no semantics are inferred), so a receiver interoperates with a peer that
emits a later-registered code.</t>
          </li>
        </ul>
        <t>IANA is requested to create the "N-AALP Error Codes" registry. Registration policy: <strong>RFC Required</strong>
(First Come First Served in the standards range) -- an ISE-permissible policy. The value space is a
uint: <strong>1-0x7FFF</strong> is the standards range (RFC Required / FCFS), <strong>&gt;=0x8000</strong> is private-use (no
registration), and <strong>0 is reserved</strong> and <bcp14>MUST NOT</bcp14> appear on the wire. Columns: Code, Name,
Retryable, Reference. <tt>Retryable</tt> is <tt>yes</tt> only when an unmodified retry of the same object can
later succeed because of a transient or environmental change (with no object or configuration
change); every deterministic verification or decode failure is therefore non-retryable (the
fail-closed default), and the only registered transient is <tt>NotDelivered</tt>. The reference for every
initial value is this document.</t>
        <t>Initial contents (assigned sequentially in the order below; the same order is the <tt>naalp-error-code</tt>
production of Appendix A):</t>
        <table>
          <thead>
            <tr>
              <th align="right">Code</th>
              <th align="left">Name</th>
              <th align="center">Retryable</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">1</td>
              <td align="left">
                <tt>NonCanonical</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">2</td>
              <td align="left">
                <tt>DepthExceeded</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">3</td>
              <td align="left">
                <tt>Malformed</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">4</td>
              <td align="left">
                <tt>ContentIdMismatch</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">5</td>
              <td align="left">
                <tt>HeaderBodyMismatch</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">6</td>
              <td align="left">
                <tt>UnsupportedVersion</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">7</td>
              <td align="left">
                <tt>UnknownCriticalExt</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">8</td>
              <td align="left">
                <tt>UnknownKind</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">9</td>
              <td align="left">
                <tt>RangeError</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">10</td>
              <td align="left">
                <tt>NonNFC</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">11</td>
              <td align="left">
                <tt>WrongAudience</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">12</td>
              <td align="left">
                <tt>TooLarge</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">13</td>
              <td align="left">
                <tt>TooManyCauses</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">14</td>
              <td align="left">
                <tt>TooManyExtensions</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">15</td>
              <td align="left">
                <tt>TooManyChunks</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">16</td>
              <td align="left">
                <tt>UnknownAlg</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">17</td>
              <td align="left">
                <tt>KeyAlgMismatch</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">18</td>
              <td align="left">
                <tt>ProfileDowngrade</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">19</td>
              <td align="left">
                <tt>HybridIncomplete</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">20</td>
              <td align="left">
                <tt>SuiteMismatch</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">21</td>
              <td align="left">
                <tt>CompositeRefused</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">22</td>
              <td align="left">
                <tt>BadSignature</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">23</td>
              <td align="left">
                <tt>SignerMismatch</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">24</td>
              <td align="left">
                <tt>RotationUnauthorized</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">25</td>
              <td align="left">
                <tt>KeyRevoked</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">26</td>
              <td align="left">
                <tt>EffectNotAuthorized</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">27</td>
              <td align="left">
                <tt>UnauthenticatedPrincipal</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">28</td>
              <td align="left">
                <tt>MalformedSafetyLabel</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">29</td>
              <td align="left">
                <tt>ApprovalRequired</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">30</td>
              <td align="left">
                <tt>ApprovalMismatch</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">31</td>
              <td align="left">
                <tt>ApprovalExpired</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">32</td>
              <td align="left">
                <tt>AlreadyConsumed</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">33</td>
              <td align="left">
                <tt>ConsumeFork</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">34</td>
              <td align="left">
                <tt>ConsumeForkInvalid</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">35</td>
              <td align="left">
                <tt>ConsumeReceiptUnsigned</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">36</td>
              <td align="left">
                <tt>LedgerCorrupt</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">37</td>
              <td align="left">
                <tt>LedgerUnsigned</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">38</td>
              <td align="left">
                <tt>AudienceMismatch</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">39</td>
              <td align="left">
                <tt>FreshnessSelfAsserted</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">40</td>
              <td align="left">
                <tt>UnknownRefusalOutcome</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">41</td>
              <td align="left">
                <tt>RefusalDetailLeak</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">42</td>
              <td align="left">
                <tt>ChainBroken</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">43</td>
              <td align="left">
                <tt>Equivocation</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">44</td>
              <td align="left">
                <tt>CausalViolation</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">45</td>
              <td align="left">
                <tt>ReceiptUnsigned</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">46</td>
              <td align="left">
                <tt>ForkProofInvalid</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">47</td>
              <td align="left">
                <tt>StageOutOfOrder</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">48</td>
              <td align="left">
                <tt>StreamDigestMismatch</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">49</td>
              <td align="left">
                <tt>StreamStateError</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">50</td>
              <td align="left">
                <tt>ConfidentialTransportRequired</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">51</td>
              <td align="left">
                <tt>PeerUnauthenticated</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">52</td>
              <td align="left">
                <tt>NotDelivered</tt></td>
              <td align="center">yes</td>
            </tr>
            <tr>
              <td align="right">53</td>
              <td align="left">
                <tt>MappingError</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">54</td>
              <td align="left">
                <tt>EffectDeclarationMismatch</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">55</td>
              <td align="left">
                <tt>StateTransitionError</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">56</td>
              <td align="left">
                <tt>CapExceedsParent</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">57</td>
              <td align="left">
                <tt>TransformCycle</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">58</td>
              <td align="left">
                <tt>InputGateBypass</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">59</td>
              <td align="left">
                <tt>TaskStateError</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">60</td>
              <td align="left">
                <tt>ScopeOverlapConflict</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">61</td>
              <td align="left">
                <tt>ReconcileMismatch</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">62</td>
              <td align="left">
                <tt>WrongFlow</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">63</td>
              <td align="left">
                <tt>SeqGap</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">64</td>
              <td align="left">
                <tt>AboveCeiling</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">65</td>
              <td align="left">
                <tt>GapDetected</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">66</td>
              <td align="left">
                <tt>CommitMismatch</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">67</td>
              <td align="left">
                <tt>ContMalformed</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">68</td>
              <td align="left">
                <tt>GrantExpired</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">69</td>
              <td align="left">
                <tt>GrantNotYetValid</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">70</td>
              <td align="left">
                <tt>GrantRevoked</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">71</td>
              <td align="left">
                <tt>UntrustedChainRoot</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">72</td>
              <td align="left">
                <tt>DelegationDepthExceeded</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">73</td>
              <td align="left">
                <tt>GrantMalformed</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">74</td>
              <td align="left">
                <tt>NameMalformed</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">75</td>
              <td align="left">
                <tt>NameChainBroken</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">76</td>
              <td align="left">
                <tt>NameForkProofInvalid</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">77</td>
              <td align="left">
                <tt>IllegalTransition</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">78</td>
              <td align="left">
                <tt>TaskChainBroken</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">79</td>
              <td align="left">
                <tt>ForeignCard</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">80</td>
              <td align="left">
                <tt>DescMalformed</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">81</td>
              <td align="left">
                <tt>MalformedApprovalFlag</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">82</td>
              <td align="left">
                <tt>DirForkProofInvalid</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">83</td>
              <td align="left">
                <tt>ImporterMismatch</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">84</td>
              <td align="left">
                <tt>UnknownDescriptionFormat</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">85</td>
              <td align="left">
                <tt>VerifierKeyMismatch</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">86</td>
              <td align="left">
                <tt>NegMalformed</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">87</td>
              <td align="left">
                <tt>UnknownRole</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">88</td>
              <td align="left">
                <tt>UnknownProfile</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">89</td>
              <td align="left">
                <tt>NotDescended</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">90</td>
              <td align="left">
                <tt>NotOffer</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">91</td>
              <td align="left">
                <tt>NotAccept</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">92</td>
              <td align="left">
                <tt>MalformedCriticalFlag</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">93</td>
              <td align="left">
                <tt>UnknownCriticalRisk</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">94</td>
              <td align="left">
                <tt>ReferenceMismatch</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">95</td>
              <td align="left">
                <tt>MalformedAnnotation</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">96</td>
              <td align="left">
                <tt>EffectUnderDeclared</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">97</td>
              <td align="left">
                <tt>EffectOutsideLattice</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">98</td>
              <td align="left">
                <tt>ToolCallMalformed</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">99</td>
              <td align="left">
                <tt>PayMalformed</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">100</td>
              <td align="left">
                <tt>UnknownPaymentFormat</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">101</td>
              <td align="left">
                <tt>GwMalformed</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">102</td>
              <td align="left">
                <tt>UnknownGatewayDecision</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">103</td>
              <td align="left">
                <tt>UIMalformed</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">104</td>
              <td align="left">
                <tt>UIChainBroken</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">105</td>
              <td align="left">
                <tt>UnknownUIEventKind</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">106</td>
              <td align="left">
                <tt>ActionSubstituted</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">107</td>
              <td align="left">
                <tt>UINoConsent</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">108</td>
              <td align="left">
                <tt>StaleEpoch</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">109</td>
              <td align="left">
                <tt>Unauthorized</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">110</td>
              <td align="left">
                <tt>OwnerImmutable</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">111</td>
              <td align="left">
                <tt>MemberExists</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">112</td>
              <td align="left">
                <tt>MemberUnknown</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">113</td>
              <td align="left">
                <tt>OwnerExists</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">114</td>
              <td align="left">
                <tt>RoleInvalid</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">115</td>
              <td align="left">
                <tt>RoomOpMismatch</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">116</td>
              <td align="left">
                <tt>OpUnknown</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">117</td>
              <td align="left">
                <tt>PrincipalUnknown</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">118</td>
              <td align="left">
                <tt>PrincipalExists</tt></td>
              <td align="center">no</td>
            </tr>
            <tr>
              <td align="right">119</td>
              <td align="left">
                <tt>RebindUnauthorized</tt></td>
              <td align="center">no</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="n-aalp-extension-key-registry">
        <name>N-AALP Extension Key registry</name>
        <t>IANA is requested to create the "N-AALP Extension Keys" registry, the shared key namespace for the
non-critical <tt>ext</tt> (object field 11) and critical <tt>cext</tt> (field 12) maps, so two independent
extensions cannot collide on a key. Registration policy: RFC Required (First Come First Served in
the standards range) -- an ISE-permissible policy. Columns: Key (uint), Name, Maps (<tt>ext</tt> or
<tt>ext|cext</tt>), Reference. Initial contents:</t>
        <table>
          <thead>
            <tr>
              <th align="right">Key</th>
              <th align="left">Name</th>
              <th align="left">Maps</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">1</td>
              <td align="left">
                <tt>safety-label</tt></td>
              <td align="left">
                <tt>ext</tt></td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="right">13</td>
              <td align="left">
                <tt>recheck</tt></td>
              <td align="left">
                <tt>ext\|cext</tt></td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="right">14</td>
              <td align="left">
                <tt>signer-counter</tt></td>
              <td align="left">
                <tt>ext</tt></td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="right">15</td>
              <td align="left">
                <tt>producing-boundary</tt></td>
              <td align="left">
                <tt>ext</tt></td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="right">16</td>
              <td align="left">
                <tt>naalp-hazard-claim</tt></td>
              <td align="left">
                <tt>cext</tt></td>
              <td align="left">this document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="n-aalp-carriage-content-type-registry">
        <name>N-AALP Carriage Content Type registry</name>
        <t>IANA is requested to create the "N-AALP Carriage Content Types" registry for the <tt>content_type</tt>
field (naalp-carriage-body field 3), the foreign encoding an OPAQUE-class object carries. It is a
one-octet space partitioned: standards 0x00-0x0F (RFC Required / First Come First Served -- an
ISE-permissible policy), experimental 0x10-0x7F (no registration), private 0x80-0xFF (no
registration). Columns: Content Type (uint), Name, Reference. Initial standards-range contents:</t>
        <table>
          <thead>
            <tr>
              <th align="right">Content Type</th>
              <th align="left">Name</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">0</td>
              <td align="left">
                <tt>json</tt></td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="right">1</td>
              <td align="left">
                <tt>octet-stream</tt></td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="right">2</td>
              <td align="left">
                <tt>text</tt></td>
              <td align="left">this document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="n-aalp-trust-decision-input-class-registry">
        <name>N-AALP Trust-Decision Input Class registry</name>
        <t>IANA is requested to create the "N-AALP Trust-Decision Input Classes" registry, the closed set of
input classes a relying party's decision to act may key on, each classified by the safe shape its
influence must take -- verifiable, attenuating, or committed -- so that a party cannot influence a
decision except through one of those shapes, or the decision fails closed (see the
trust-decision-closure-sovereignty subsection of the Security Considerations). Registration policy:
RFC Required (First Come First Served in the standards range) -- an ISE-permissible policy. Columns:
Class (uint), Name, Safe shape, Reference. Initial contents:</t>
        <table>
          <thead>
            <tr>
              <th align="right">Class</th>
              <th align="left">Name</th>
              <th align="left">Safe shape</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">1</td>
              <td align="left">
                <tt>identifier</tt></td>
              <td align="left">verifiable</td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="right">2</td>
              <td align="left">
                <tt>object-parse</tt></td>
              <td align="left">verifiable</td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="right">3</td>
              <td align="left">
                <tt>object-identity</tt></td>
              <td align="left">verifiable</td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="right">4</td>
              <td align="left">
                <tt>conformance-expectation</tt></td>
              <td align="left">verifiable</td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="right">5</td>
              <td align="left">
                <tt>verification-procedure</tt></td>
              <td align="left">verifiable</td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="right">6</td>
              <td align="left">
                <tt>delegated-authority</tt></td>
              <td align="left">attenuating</td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="right">7</td>
              <td align="left">
                <tt>approved-action</tt></td>
              <td align="left">committed</td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="right">8</td>
              <td align="left">
                <tt>negotiated-parameters</tt></td>
              <td align="left">committed</td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="right">9</td>
              <td align="left">
                <tt>validity-clock</tt></td>
              <td align="left">committed</td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="right">10</td>
              <td align="left">
                <tt>use-context</tt></td>
              <td align="left">committed</td>
              <td align="left">this document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="cose-algorithms">
        <name>COSE algorithms</name>
        <t>N-AALP reuses the existing IANA COSE Algorithms registry for ML-DSA <xref target="RFC9964"/> and Ed25519
<xref target="RFC9864"/> and requests no new COSE code points.</t>
      </section>
      <section anchor="registration-criteria-for-the-rfc-required-registries">
        <name>Registration criteria for the RFC-Required registries</name>
        <t>The Independent stream appoints no Designated Expert, so the RFC-Required registries above are
self-administered: a registration is made by a successor RFC (or by First Come First Served in the
standards range) and <bcp14>MUST</bcp14> satisfy the same four criteria a reviewer would otherwise confirm: (1) a
stable, publicly available specification documents the value; (2) the value does not collide with
an existing entry; (3) the name is protocol-neutral and carries no vendor product name; and (4)
for object kinds, the declared effect is one of the closed set and preserves the fail-closed model.</t>
      </section>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>RFC-Editor: please remove this section and the reference to <xref target="RFC7942"/> before publication.</t>
      <t>This section records the status of known implementations at the time of posting, per
<xref target="RFC7942"/>. Listing here does not imply endorsement.</t>
      <t>Two independent reference implementations exist, in Go and in Rust, from a single codebase but
separate language runtimes. For every construction carrying a security or interoperability claim
(deterministic CBOR and content id; COSE_Sign1 and the ML-DSA/Ed25519 profiles; the object
envelope; signer id; effect authorization; approval and the consume ledger; audit chain, causal
graph, and federated reconcile; delivery; streaming; transport bindings; foreign carriage; and
the twenty channel surfaces), the two implementations produce byte-identical output and are
cross-validated against an independent oracle whose expected values come from the relevant RFC,
FIPS, or NIST vector or a from-scratch constructor, never from the implementation under test. A
runnable conformance harness grades every construction and validates the CDDL module against the
committed vectors. Coverage and known gaps are tracked in the project's parity ledger.</t>
    </section>
    <section anchor="conformance">
      <name>Conformance</name>
      <t>A conforming implementation <bcp14>MUST</bcp14> implement the object model, the signing constructions, identity,
effects and authorization, and the baseline surfaces of every channel, and <bcp14>MUST</bcp14> reject a
non-conforming object whole with its named error and no state change (fail-closed). Conformance
is demonstrated against the machine-gradable vector corpus and the CDDL module (Appendix A). This
specification recommends, but does not require for Independent-stream publication, two independent
interoperating implementations; two exist (# Implementation Status).</t>
      <t>This specification tiers its surfaces by editorial status, so a first conforming implementation is
not asked to build the whole surface at once. The normative surface required for conformance is the
spine -- the object model, the signing constructions, identity, effects and authorization, approval
and the single-use consume ledger, the baseline audit receipt chain, delivery, the per-stream
commitment, the transport bindings, and the carriage-never-decodes rule -- together with the frozen
baseline surface (tier 0) of every channel. Every capability an object gains above tier 0, including
the federated higher tier of ordering and any higher channel tier carried through the tier field and
critical or non-critical extensions, has experimental status: it is <bcp14>OPTIONAL</bcp14>, it <bcp14>MAY</bcp14> change in a
later revision, and an implementation that omits it is still conforming. An implementation that does
provide such a capability <bcp14>MUST</bcp14> provide it exactly as specified, and a verifier that does not
recognize a critical extension <bcp14>MUST</bcp14> reject the object fail-closed (# Object Model). This tiering is
editorial: it bounds what conformance requires, not what the reference implementations provide, which
is the full surface across all ten reference languages (# Implementation Status).</t>
    </section>
    <section anchor="specification-license">
      <name>Specification License</name>
      <t>This specification may be implemented by anyone, royalty-free. This right to implement is granted
independently of the license of any reference implementation (the reference code is licensed
separately). Contributions to this document are subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents.</t>
    </section>
  </middle>
  <back>
<references anchor="sec-normative-references">
        <name>Normative References</name>
        <referencegroup anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
          <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="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="RFC8032">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="RFC9964">
          <front>
            <title>ML-DSA for JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="M. Prorock" initials="M." surname="Prorock"/>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <date month="May" year="2026"/>
            <abstract>
              <t>This document specifies JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE) serializations for the Module-Lattice-Based Digital Signature Standard (ML-DSA), a Post-Quantum Cryptography (PQC) digital signature scheme defined in US NIST FIPS 204.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9964"/>
          <seriesInfo name="DOI" value="10.17487/RFC9964"/>
        </reference>
        <reference anchor="RFC9864">
          <front>
            <title>Fully-Specified Algorithms for JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="M.B. Jones" initials="M.B." surname="Jones"/>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <date month="October" year="2025"/>
            <abstract>
              <t>This specification refers to cryptographic algorithm identifiers that fully specify the cryptographic operations to be performed, including any curve, key derivation function (KDF), and hash functions, as being "fully specified". It refers to cryptographic algorithm identifiers that require additional information beyond the algorithm identifier to determine the cryptographic operations to be performed as being "polymorphic". This specification creates fully-specified algorithm identifiers for registered JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE) polymorphic algorithm identifiers, enabling applications to use only fully-specified algorithm identifiers. It deprecates those polymorphic algorithm identifiers.</t>
              <t>This specification updates RFCs 7518, 8037, and 9053. It deprecates polymorphic algorithms defined by RFCs 8037 and 9053 and provides fully-specified replacements for them. It adds to the instructions to designated experts in RFCs 7518 and 9053.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9864"/>
          <seriesInfo name="DOI" value="10.17487/RFC9864"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="FIPS204">
          <front>
            <title>Module-Lattice-Based Digital Signature Standard (FIPS 204)</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="FIPS180">
          <front>
            <title>Secure Hash Standard (SHS) (FIPS 180-4)</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2015"/>
          </front>
        </reference>
      </references>
    <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC6839">
          <front>
            <title>Additional Media Type Structured Syntax Suffixes</title>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>A content media type name sometimes includes partitioned meta- information distinguished by a structured syntax to permit noting an attribute of the media as a suffix to the name. This document defines several structured syntax suffixes for use with media type registrations. In particular, it defines and registers the "+json", "+ber", "+der", "+fastinfoset", "+wbxml" and "+zip" structured syntax suffixes, and provides a media type structured syntax suffix registration form for the "+xml" structured syntax suffix. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6839"/>
          <seriesInfo name="DOI" value="10.17487/RFC6839"/>
        </reference>
        <reference anchor="RFC9943">
          <front>
            <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
            <author fullname="C. Fournet" initials="C." surname="Fournet"/>
            <author fullname="Y. Deshpande" initials="Y." surname="Deshpande"/>
            <author fullname="S. Lasker" initials="S." surname="Lasker"/>
            <date month="June" year="2026"/>
            <abstract>
              <t>Traceability in supply chains is a growing security concern. While Verifiable Data Structures (VDSs) have addressed specific issues, such as equivocation over digital certificates, they lack a universal architecture for all supply chains. This document defines such an architecture for single-issuer signed statement transparency. It ensures extensibility and interoperability between different transparency services as well as compliance with various auditing procedures and regulatory requirements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9943"/>
          <seriesInfo name="DOI" value="10.17487/RFC9943"/>
        </reference>
        <reference anchor="RFC9162">
          <front>
            <title>Certificate Transparency Version 2.0</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="E. Messeri" initials="E." surname="Messeri"/>
            <author fullname="R. Stradling" initials="R." surname="Stradling"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9162"/>
          <seriesInfo name="DOI" value="10.17487/RFC9162"/>
        </reference>
        <reference anchor="NPAMP">
          <front>
            <title>N-PAMP: Native Post-Quantum Agent Messaging Protocol</title>
            <author initials="S." surname="Sammartano" fullname="Shawn Sammartano">
              <organization>BubbleFish Technologies, Inc.</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bubblefish-npamp (work in progress)"/>
        </reference>
      </references>

<section anchor="cddl">
      <name>Collected CDDL</name>
      <t>This appendix is the complete and normative CDDL module for the N-AALP byte-level wire format.
It defines the object body, effect, and profile productions of (# Object Model) and the
carriage body of (# Foreign Carriage by Class), together with the COSE wrapper, protected
header, identity records, safety label, approval and consume records, receipt, delivery update,
stream objects, and the federated reconcile record. A byte-identical copy is maintained with
the reference implementation and machine-validated against the conformance vectors. Where a
CDDL excerpt elsewhere in this document differs from this appendix, this appendix is
authoritative.</t>
      <sourcecode type="cddl"><![CDATA[
; draft-bubblefish-naalp-01 -- Native Agentic Application Layer
; Protocol: the complete CDDL wire-format module (RFC 8610). The copy
; in Appendix A of the Internet-Draft is normative; the copy
; maintained with the reference implementation is a byte-identical
; mirror, machine-validated for well-formedness and against the
; conformance vector corpus.
;
; This module is complete: the object body, the effect, profile, and
; channel vocabularies, the COSE_Sign1 / COSE_Sign wrapper (RFC 9052
; Section 4), the protected header, the identity records, the safety
; label, the approval and consume records, the receipt and ForkProof,
; the delivery update, the stream objects, the carriage body, the
; channel-registry note, the federated reconcile record, and the
; collaboration/rooms membership records (room op + principal
; binding) -- all reachable from the `naalp-artifact` root.
;
; All instances are deterministic CBOR per RFC 8949 Section 4.2.1
; (shortest heads, map keys ascending by encoded bytes, no indefinite
; lengths, no duplicate keys). A non-canonical encoding of any
; production here is rejected.

; ---- Collected root -----------------------------------------------
; The set of top-level N-AALP artifacts this module defines, as a
; single reachable root so a CDDL tool sees no unreferenced rule.
; Each concrete instance is validated against the specific production
; for its kind (the conformance harness targets the rule per
; construction), not against this union; the union exists only for
; reachability.
naalp-artifact = naalp-object
  / naalp-signed-object / naalp-protected-header
  / naalp-rotation / naalp-revocation / naalp-foreign-link
  / naalp-safety-label
  / naalp-approval / naalp-approval-held / naalp-consume-entry
  / naalp-consume-receipt
  / naalp-receipt / naalp-fork-proof / naalp-delivery-update
  / naalp-stream-open / naalp-stream-commit / naalp-stream-checkpoint
  / naalp-carriage-body / naalp-reconcile
  / naalp-room-op / naalp-principal-binding
  / naalp-delegation-grant
  / recheck-procedure / signer-counter
  / naalp-mcp-tool-call / naalp-mcp-annotations
  / naalp-mcp-call-binding / mcp-hint
  / naalp-flow-open / naalp-continuation / naalp-flow-checkpoint
  / naalp-flow-commit
  / naalp-description / naalp-directory / naalp-description-import
  / naalp-name-binding / naalp-task-transition
  / naalp-negotiation-offer / naalp-negotiation-counter
  / naalp-negotiation-accept
  / negotiation-role
  / naalp-risk-label / naalp-labeled-object / naalp-trust-ref
  / naalp-payment-import / naalp-payment-charge-binding
  / naalp-payment-format
  / naalp-ui-event / ui-event-kind
  / naalp-gateway-decision / gw-decision
  / naalp-refusal / refusal-outcome
  / naalp-error / naalp-error-code
  / trust-decision-input-class
  / naalp-decision-record / ordering-basis
  / naalp-checkpoint-root / naalp-witness-cosign / naalp-inclusion-proof
  / naalp-egress-attestation / egress-binding
  / naalp-foreign-profile-pin
  / naalp-hazard-claim / naalp-hazard-authorization
  / hazard-class / hazard-envelope / spatial-bounds / hazard-window

; Decoder resource bounds -- CDDL cannot express element counts,
; nesting depth, or octet size (RFC 8610 restricts none of these), so
; these are MUST-level limits every decoder enforces fail-closed, not
; this schema: object octet size <= 1 MiB (TooLarge, on raw bytes
; before parse); |causes| (field 8) <= 1024 (TooManyCauses); |ext|
; (11) and |cext| (12) <= 64 each (TooManyExtensions); CBOR nesting
; depth <= 16 with the outermost item at depth 1 (DepthExceeded);
; stream chunk count <= 2^20 (TooManyChunks, native streaming below).
; The maxima are wire constants, projected identically into all ten
; ports so one port cannot accept what another refuses. The object
; body -- the map that is signed as the COSE_Sign1 payload.
naalp-object = {
  1 : bstr,
  ; id -- content id: multihash(0x20, SHA-384(body-without-1))
  2 : uint,
  ; kind -- object kind code (per channel surface)
  3 : channel-id,
  ; channel -- N-PAMP channel id
  4 : uint,
  ; tier -- channel capability tier (0 = baseline)
  5 : bstr,
  ; signer -- self-certifying signer id
  6 : uint,
  ; created -- signer's claimed creation time, epoch ms (advisory)
  7 : effect,
  ; effect -- closed effect value
  8 : [* bstr],
  ; causes -- content ids of causing objects; may be empty
  9 : profile,
  ; profile -- crypto profile
  10 : any,
  ; body -- kind-specific body, validated by the channel surface
  ? 11 : { * uint => any },
  ; ext -- non-critical extensions; unknown keys ignored
  ? 12 : { * uint => any },
  ; cext -- critical extensions; any unknown key => reject
  ? 13 : tstr,
  ; audience -- endpoint/channel-scope id the object is bound to.
  ; OMITTED when empty -- a no-audience object encodes byte-
  ; identically to a draft-00 object. MANDATORY for consume-once
  ; kinds (enforced by channel-surface validation, not this
  ; cardinality). A verifier rejects an object whose audience is not
  ; itself: WrongAudience. This is object-map FIELD 13 (a top-level
  ; envelope field) -- the genuine draft-01 envelope addition that
  ; anchors naalp-version 2. DISTINCT namespace from ext/cext KEY 13
  ; (recheck) below, which is a key INSIDE the field-11/12 maps, not
  ; a top-level object field.
  ? 14 : uint,
  ; suite -- signed suite declaration: PRESENT iff the object's alg
  ; is the composite id -65537; ABSENT (byte-identical to a pure
  ; object) for a pure ML-DSA object. Value 1 = COMPSIG-MLDSA65-
  ; Ed25519-SHA512. Top-level object FIELD 14 -- DISTINCT namespace
  ; from ext key 14 (signer-counter) INSIDE the field-11/12 maps
  ; below.
  ; The ext (11) / cext (12) extension-KEY namespace is a single
  ; registry (RFC Required / FCFS) so two implementers assigning keys
  ; cannot COLLIDE -- a critical-ext collision is a denial; the
  ; registry_drift gate asserts key uniqueness + agreement with the
  ; per-capability registries. The currently-registered keys are 1
  ; safety-label (ext), 13 recheck (ext/cext), 14 signer-counter
  ; (ext), 15 producing-boundary (ext), 16 naalp-hazard-claim
  ; (cext): ext/cext key 13 = recheck: it
  ; names the body claim's re-check procedure by id
  ; (recheck-procedure below). In ext (11) it is may-ignore (an
  ; unknown id ignored); in cext (12) it is must-understand (an
  ; unknown id => UnknownCriticalExt, the same rule).
  ; ext key 14 = signer-counter: an OPTIONAL forward-only per-signer
  ; position (signer-counter below). It rides the NON-CRITICAL ext
  ; map (11)
  ; ONLY -- a detection aid, not a verification gate -- so it is
  ; may-ignore; placing it in cext (12) is an unrecognized critical
  ; key => UnknownCriticalExt (the same rule). It is covered by the
  ; SIGNER's own COSE_Sign1 signature (ext is part of the signed
  ; body). Detection, not prevention (# Security Considerations). ext
  ; key 15 = producing-boundary: an OPTIONAL per-object disclosure
  ; (naalp-producing-boundary below). of the trust boundary that
  ; emitted the object and whether that boundary OBSERVED the event
  ; first-hand or RELAYED a report of it. It rides the NON-CRITICAL
  ; ext map (11) ONLY -- a disclosure, not a verification gate -- so
  ; it is may-ignore (a verifier that does not understand it, or
  ; reads a malformed value, ignores the entry and the object still
  ; verifies); placing it in cext (12) is an unrecognized critical
  ; key => UnknownCriticalExt (the same rule). It is covered by the
  ; SIGNER's own COSE_Sign1 signature (ext is part of the signed
  ; body), so it is SELF-ASSERTED; it establishes record-order /
  ; observational domain, NOT cross-boundary event precedence (#
  ; Security Considerations).
  ; cext key 16 = naalp-hazard-claim: an OPTIONAL critical
  ; must-understand physical-hazard claim (naalp-hazard-claim below) --
  ; the hazard dimension orthogonal to effect (physical danger, not
  ; data reversibility). It rides the CRITICAL cext map (12) ONLY: a
  ; safety gate, so a verifier that has not implemented Component F
  ; rejects the WHOLE object (UnknownCriticalExt) rather than letting a
  ; hazardous action through unchecked -- the fail-closed direction,
  ; the OPPOSITE of producing-boundary's may-ignore ext placement. It
  ; is covered by the SIGNER's own COSE_Sign1 signature (cext is part
  ; of the signed body).
}

; Closed effect vocabulary, aligned 1:1 with the N-PAMP Bridge
; SafetyLabel. An unrecognized effect is treated as destructive,
; never fail-open.
effect = &(
  read_only:            0,
  idempotent_write:     1,
  non_idempotent_write: 2,
  destructive:          3,
)

; Crypto profiles -- one wire, per-profile row.
profile = &(
  public:     1,
  enterprise: 2,
  sovereign:  3,
)

; N-PAMP channel ids 0x0000..0x0013 -- the twenty channels.
channel-id = 0..19

; ---- COSE signing wrapper (RFC 9052) ------------------------------
; On the wire, an N-AALP object is a tagged COSE structure whose
; payload is the deterministic-CBOR `naalp-object` body above. A
; single signature uses COSE_Sign1 (tag 18) -- either a pure ML-DSA
; signature (per profile) or the opt-in classical-bridge signature: a
; single COSE_Sign1 under the private-use composite alg id -65537
; whose signature value is the IETF LAMPS composite mldsaSig(3309) ||
; tradSig(64). COSE_Sign (tag 98, multiple signatures) carries two
; roles: the legacy two-signature Ed25519+ML-DSA hybrid (OPTIONAL;
; not required by the Standard profile), and the Rotation object
; co-signature (channel 3 / kind 0; old-key then new-key legs, both
; required); a channel-3/kind-0 object MUST be tag 98, and a tag-18
; single-signature rotation is rejected RotationUnauthorized. Signing
; is the FIPS 204 deterministic variant (rnd = 0) so two
; implementations produce byte-identical signatures.
;

naalp-signed-object = COSE_Sign1_Tagged / COSE_Sign_Tagged

COSE_Sign1_Tagged = #6.18(COSE_Sign1)
COSE_Sign1 = [
  protected   : bstr,
  ; serialized protected header {1 => cose-alg}; empty => zero-length
  ; bstr 0x40 (reject the 0x41A0 bstr-wrapped-empty-map form)
  unprotected : cose-header,
  payload     : bstr,
  ; the deterministic-CBOR naalp-object body (the signed payload)
  signature   : bstr,
]

COSE_Sign_Tagged = #6.98(COSE_Sign)
; optional hybrid (Ed25519 + ML-DSA)
COSE_Sign = [
  protected   : bstr,
  ; body protected header: empty for the legacy hybrid; for a
  ; Rotation object (channel 3/kind 0) the enriched naalp header {1:
  ; newKeyAlg, "naalp": {...}}
  unprotected : cose-header,
  payload     : bstr,
  signatures  : [+ COSE_Signature],
]
COSE_Signature = [
  protected   : bstr,
  ; serialized per-signer header {1 => cose-alg}
  unprotected : cose-header,
  signature   : bstr,
]

cose-header = { * (int / tstr) => any }

; COSE algorithm ids. ML-DSA from RFC 9964; Ed25519 from RFC 9864.
; SLH-DSA (FIPS 205) is reserved, addable with no envelope change
; once its COSE code point is assigned.
cose-alg = &(
  ml-dsa-44: -48,
  ; NIST level 2 -- optional edge/light tier only, never a
  ; Public/Enterprise/Sovereign default
  ml-dsa-65: -49,
  ; NIST level 3 -- Public / Enterprise default (MTI)
  ml-dsa-87: -50,
  ; NIST level 5 -- Sovereign default / mandate
  ed25519:   -19,
  ; classical, opt-in composite leg only
  compsig-mldsa65-ed25519: -65537,
  ; opt-in LAMPS composite (Public/Enterprise) -- COSE private-use,
  ; N-AALP provisional
  compsig-mldsa44-ed25519: -65538,
  ; edge composite suite -- RESERVED (registered, not implemented
  ; this wave)
)

; ---- object envelope protected header -----------------------------
; A COSE_Sign1 over an N-AALP object uses this protected header: the
; COSE `alg` plus a pre-parse routing copy of the signer, profile,
; and naalp-version, carried under a text-string label ("naalp"). A
; tstr label cannot collide with any integer-labeled standard COSE
; header parameter (RFC 9052 Section 3.1). A verifier MUST reject an
; object whose header signer/profile copies disagree with the body's
; field 5 / field 9 (HeaderBodyMismatch). An empty protected header
; is a zero-length bstr (RFC 9052 Section 3); the N-AALP object
; header is never empty (it always carries alg + "naalp"). Per this
; disposition, the redundant 0x41A0 encoding of an empty protected
; header (a bstr wrapping an empty map) MUST be rejected as
; NonCanonical, at every protected-header parse site, before the
; header is interpreted.
naalp-protected-header = {
  1 : cose-alg,
  ; COSE algorithm id
  "naalp" : naalp-header-meta,
}
naalp-header-meta = {
  1 : bstr,
  ; signer -- copy of object body field 5
  2 : profile,
  ; profile -- copy of object body field 9
  3 : uint,
  ; naalp-version (draft-01: 2; draft-00 was 1 -- anchored by the
  ; audience envelope field)
}

; ---- identity + key lifecycle -------------------------------------
; The signer id (envelope field 5) is a self-certifying multibase
; string, identical in form to the N-PAMP PeerHandle: signer =
; multibase(base32, multihash(0x12, SHA-256(multicodec(mc, pubkey))))
; mc is a multiformats key-type code: 0xed (ed25519-pub), 0x1211
; (mldsa-65-pub), 0x1212 (mldsa-87-pub) -- all draft status; 0x12
; (sha2-256) is permanent. base32 is RFC 4648 lowercase without
; padding (multibase prefix "b"). A verifier recomputes the id from
; the key and rejects a mismatch (SignerMismatch); no CA.
;
; Identity-channel (0x0003) lifecycle record bodies (carried in
; envelope field 10 by the channel surface):
naalp-rotation = {
; co-signed by BOTH the old and new key
  1 : tstr,
  ; old -- prior signer id
  2 : tstr,
  ; new -- successor signer id
  3 : uint,
  ; not_before (epoch ms)
}
naalp-revocation = {
; signed by the key it revokes (or a recovery key)
  1 : tstr,
  ; key -- the signer id being revoked
  2 : uint,
  ; not_after (epoch ms)
}
naalp-foreign-link = {
; cross-signed by the FOREIGN identity's key
  1 : tstr,
  ; controls -- the N-AALP signer id
  2 : tstr,
  ; foreign_id -- foreign identifier; MUST be NFC (else NonNFC)
  3 : uint,
  ; not_after (epoch ms)
}

; ---- effect authorization + safety label --------------------------
; The effect (object body field 7) is the closed four-value set
; defined above
; (read_only/idempotent_write/non_idempotent_write/destructive),
; aligned 1:1 with the N-PAMP Bridge SafetyLabel u8 (NPAMP draft-01
; 10_bridge_framework Section 7): 0x00..0x03, an identity map, so
; carriage over the Bridge is loss-free. The values form a LATTICE
; with destructive at the top.
;
; The effect is an AUTHORIZATION INPUT, not a hint -- closing the gap
; N-PAMP names and leaves open ("describes intent and does not
; replace authorization"). An endpoint grants a maximum effect (a
; capability) to an AUTHENTICATED signer id, and an object is
; authorized iff effect <= granted (the lattice); otherwise it is
; denied (EffectNotAuthorized). An effect value the evaluator does
; not recognize is treated as destructive and MUST NOT fail open. No
; layer authorizes from transport metadata, a foreign header, or a
; client-supplied name (UnauthenticatedPrincipal). This is endpoint
; policy, not a wire production: the wire carries only the effect
; value (field 7).
;
; The OPTIONAL safety label is a signed, non-critical ext entry under
; ext key 1 (object body field 11). It is attributable to the
; object's signer and auditable; it is an ACCOUNTABLE CLAIM, NOT a
; guarantee that the content is safe.
naalp-safety-label = {
; ext[1]
  1 : tstr,
  ; risk -- an accountable risk claim (e.g. "elevated")
  2 : tstr,
  ; scope -- what the object affects (e.g. "billing-records")
}

; ---- approval + single-use consume ledger -------------------------
; An Approval binds, UNDER SIGNATURE, the content id of the exact
; canonical argument object it approves. Because the args are named
; by content id, mutating any argument changes that id and the
; approval no longer matches (ApprovalMismatch). The approval is not
; valid across sessions/contexts (it carries a nonce) nor after
; not_after (ApprovalExpired), and once consumed it is dead. These
; record bodies are signed with the crypto over deterministic CBOR;
; wrapping them as Governance-channel (0x0004) objects.
naalp-approval = {
  1 : bstr,
  ; approves -- content id of the exact args object
  2 : tstr,
  ; approver -- approver signer id
  3 : effect,
  ; grant -- the granted effect class
  4 : bstr,
  ; nonce -- anti-replay nonce
  5 : uint,
  ; not_after -- expiry, epoch ms
  ? 6 : tstr,
  ; audience -- OPTIONAL valid-context; field omitted = unrestricted
  ; by the issuer's explicit choice; when present, a relying party
  ; checks it at use and rejects AudienceMismatch on mismatch. An
  ; empty string is not a distinct value -- omit field 6 to mean
  ; absent.
}
; A held outcome -- approval required but not yet granted -- is a
; DISTINCT signed non-success result, never a silent success or
; denial.
naalp-approval-held = {
  1 : bstr,
  ; approves -- content id of the args whose approval is pending
  2 : tstr,
  ; reason -- accountable explanation
}
; PARTY-VISIBLE COARSE REFUSAL. A refusal returned to the
; authenticated party carries ONLY a single value from a closed
; vocabulary and the content id of the full signed record -- a
; reference, not the reason. Every discriminating detail lives only
; in that full signed record (a naalp-approval-held, a
; naalp-gateway-decision, or an audit event), resolvable by a party
; authorized to read it, so repeated refusals cannot serve an
; adaptive party as an oracle. A party-visible refusal that carries
; discriminating detail, or omits the record content id, is a
; RefusalDetailLeak. An outcome outside the closed set is
; UnknownRefusalOutcome.
refusal-outcome = &(
  denied:       0,
  ; the action is refused
  held:         1,
  ; the action requires a further step not yet taken
  unverifiable: 2,
  ; required evidence did not verify
)
naalp-refusal = {
  1 : refusal-outcome,
  ; outcome -- the coarse, party-visible outcome (closed set)
  2 : bstr,
  ; record -- content id of the full signed record carrying the
  ; detail
}
; N-AALP ERROR OBJECT (Control/Error surface: channel 0x0000, kind
; 3). The body of a Control/Error object. It reports one fail-closed
; rejection reason as BOTH a numeric `code` (field 1) and its
; registered `name` (field 2), plus an OPTIONAL free-text `detail`
; (field 3) and an OPTIONAL `subject` content id (field 4, the object
; the error is about). The Control/Error kind has effect read_only
; (kind table) -- an error report effects nothing. Field 1 is `code :
; uint`, deliberately NOT the naalp-error-code enum below, so a code
; from a LATER-registered or private-use point still validates
; against this grammar (the open, RFC-Required registry).
; DUAL-CARRIAGE: a receiver that KNOWS `code` MUST find `name` equal
; to the registered name for that code, else it rejects `Malformed`
; (the strengthening direction); a `code` it does NOT know is opaque
; and non-fatal (name diagnostic only, no semantics inferred), for
; forward compatibility. The authoritative name<->code taxonomy is
; the naalp-error-code enum below.
naalp-error = {
  1 : uint,
  ; code -- registered error code (standards 1..0x7FFF; private
  ; >=0x8000)
  2 : tstr,
  ; name -- the registered name for `code` (MUST agree; else
  ; Malformed)
  ? 3 : tstr,
  ; detail -- OPTIONAL non-normative human diagnostic (no security
  ; meaning)
  ? 4 : bstr,
  ; subject -- OPTIONAL content id of the object the error is about
}
; N-AALP ERROR CODES registry (# IANA). Registration policy RFC
; Required / FCFS in the standards range 1..0x7FFF; >=0x8000 is
; private-use, no registration; 0 is reserved and MUST NOT appear on
; the wire. The naalp-error body above binds `code` as a bare uint,
; NOT this enum, so the registry can grow without breaking CDDL
; validation of a future or private code. This enum is the
; authoritative error-code taxonomy.
;
naalp-error-code = &(
  NonCanonical: 1,
  DepthExceeded: 2,
  Malformed: 3,
  ContentIdMismatch: 4,
  HeaderBodyMismatch: 5,
  UnsupportedVersion: 6,
  UnknownCriticalExt: 7,
  UnknownKind: 8,
  RangeError: 9,
  NonNFC: 10,
  WrongAudience: 11,
  TooLarge: 12,
  TooManyCauses: 13,
  TooManyExtensions: 14,
  TooManyChunks: 15,
  UnknownAlg: 16,
  KeyAlgMismatch: 17,
  ProfileDowngrade: 18,
  HybridIncomplete: 19,
  SuiteMismatch: 20,
  CompositeRefused: 21,
  BadSignature: 22,
  SignerMismatch: 23,
  RotationUnauthorized: 24,
  KeyRevoked: 25,
  EffectNotAuthorized: 26,
  UnauthenticatedPrincipal: 27,
  MalformedSafetyLabel: 28,
  ApprovalRequired: 29,
  ApprovalMismatch: 30,
  ApprovalExpired: 31,
  AlreadyConsumed: 32,
  ConsumeFork: 33,
  ConsumeForkInvalid: 34,
  ConsumeReceiptUnsigned: 35,
  LedgerCorrupt: 36,
  LedgerUnsigned: 37,
  AudienceMismatch: 38,
  FreshnessSelfAsserted: 39,
  UnknownRefusalOutcome: 40,
  RefusalDetailLeak: 41,
  ChainBroken: 42,
  Equivocation: 43,
  CausalViolation: 44,
  ReceiptUnsigned: 45,
  ForkProofInvalid: 46,
  StageOutOfOrder: 47,
  StreamDigestMismatch: 48,
  StreamStateError: 49,
  ConfidentialTransportRequired: 50,
  PeerUnauthenticated: 51,
  NotDelivered: 52,
  MappingError: 53,
  EffectDeclarationMismatch: 54,
  StateTransitionError: 55,
  CapExceedsParent: 56,
  TransformCycle: 57,
  InputGateBypass: 58,
  TaskStateError: 59,
  ScopeOverlapConflict: 60,
  ReconcileMismatch: 61,
  WrongFlow: 62,
  SeqGap: 63,
  AboveCeiling: 64,
  GapDetected: 65,
  CommitMismatch: 66,
  ContMalformed: 67,
  GrantExpired: 68,
  GrantNotYetValid: 69,
  GrantRevoked: 70,
  UntrustedChainRoot: 71,
  DelegationDepthExceeded: 72,
  GrantMalformed: 73,
  NameMalformed: 74,
  NameChainBroken: 75,
  NameForkProofInvalid: 76,
  IllegalTransition: 77,
  TaskChainBroken: 78,
  ForeignCard: 79,
  DescMalformed: 80,
  MalformedApprovalFlag: 81,
  DirForkProofInvalid: 82,
  ImporterMismatch: 83,
  UnknownDescriptionFormat: 84,
  VerifierKeyMismatch: 85,
  NegMalformed: 86,
  UnknownRole: 87,
  UnknownProfile: 88,
  NotDescended: 89,
  NotOffer: 90,
  NotAccept: 91,
  MalformedCriticalFlag: 92,
  UnknownCriticalRisk: 93,
  ReferenceMismatch: 94,
  MalformedAnnotation: 95,
  EffectUnderDeclared: 96,
  EffectOutsideLattice: 97,
  ToolCallMalformed: 98,
  PayMalformed: 99,
  UnknownPaymentFormat: 100,
  GwMalformed: 101,
  UnknownGatewayDecision: 102,
  UIMalformed: 103,
  UIChainBroken: 104,
  UnknownUIEventKind: 105,
  ActionSubstituted: 106,
  UINoConsent: 107,
  StaleEpoch: 108,
  Unauthorized: 109,
  OwnerImmutable: 110,
  MemberExists: 111,
  MemberUnknown: 112,
  OwnerExists: 113,
  RoleInvalid: 114,
  RoomOpMismatch: 115,
  OpUnknown: 116,
  PrincipalUnknown: 117,
  PrincipalExists: 118,
  RebindUnauthorized: 119,
  EgMalformed: 120,
  UnknownEgressBinding: 121,
  DecisionMalformed: 122,
  UnknownOrderingBasis: 123,
  OrderingDisclosureMalformed: 124,
  TermDispositionMalformed: 125,
  CheckpointMalformed: 126,
  WitnessRootMismatch: 127,
  InclusionProofInvalid: 128,
  ForeignProfileMalformed: 129,
  HazardMalformed: 130,
  HazardNotCovered: 131,
  HazardUnknown: 132,
)
; TRUST-DECISION INPUT-CLASS REGISTRY. The open,
; RFC Required / FCFS registry of the decision inputs the closure
; property governs, each classified by its safe shape (verifiable /
; attenuating / committed). It grows input-by-input as new
; architectures mint new inputs, without reopening the property.
;
trust-decision-input-class = &(
  identifier:               1,
  ; the identifier a decision keys on (verifiable)
  object-parse:             2,
  ; the object bytes and their parse (verifiable)
  object-identity:          3,
  ; the object content id (verifiable)
  conformance-expectation:  4,
  ; the expected conformance value (verifiable)
  verification-procedure:   5,
  ; the evaluator's own procedure (verifiable)
  delegated-authority:      6,
  ; authority derived across a delegation hop (attenuating)
  approved-action:          7,
  ; which action an approval authorizes (committed)
  negotiated-parameters:    8,
  ; the negotiated profile and parameters (committed)
  validity-clock:           9,
  ; when a credential's validity is judged (committed)
  use-context:              10,
  ; the context a portable verdict is valid in (committed)
)
; The consume ledger is a durable, hash-chained set keyed by the
; approval content id. Consume is an atomic compare-and-set: the
; first append for an approval id wins; a second is rejected
; (AlreadyConsumed). The head after an entry is SHA-384(entry); the
; entry carries the prior head in field 2, so editing any entry
; breaks the next entry's linkage (LedgerCorrupt on replay). The
; genesis head is 48 zero bytes. Atomicity = the store's write-ahead
; log (persist-before-acknowledge) + a single-writer-per-approval-id
; discipline.
naalp-consume-entry = {
  1 : uint,
  ; seq -- ledger sequence position
  2 : bstr,
  ; prev -- prior chain head (48 bytes; genesis = zero)
  3 : bstr,
  ; approval_id -- the approval content id being consumed
  4 : tstr,
  ; by -- consumer signer id
}

; The ledger-signed consume receipt -- draft-01 addition. It moves
; the anti-double-spend counter OFF the requester and ONTO the
; consuming ledger (the ordering authority): the receipt binds the
; approval content id to the LEDGER's own forward-only position and
; is SIGNED BY THE LEDGER KEY over these exact bytes. The requester
; cannot forge the ledger's position or signature, so a partition
; that spends one approval twice leaves TWO ledger-signed receipts
; against ONE approval id, each carrying a position drawn from forked
; state -- a contradiction authored by neither the requester nor a
; thief, provable on comparison (ConsumeFork; the surfaced evidence
; carries both receipts and both ledger signatures). It does not
; PREVENT the second spend; it makes the double-spend detectable in
; bytes neither party could repudiate, and the approval's expiry
; bounds the exposure window. Keyed by approval content id,
; first-append-wins: on one reachable ledger the first consume
; assigns exactly one position and one receipt; a byte-identical
; re-emission is a benign duplicate, and a second receipt with a
; DIFFERENT position (or a DIFFERENT ledger) is a detected fork.
; Wrapping receipts as Audit-channel (0x000B) objects. This does not
; alter naalp-consume-entry (the ledger's internal hash-chained
; entry, above).
naalp-consume-receipt = {
  1 : bstr,
  ; ledger -- the consuming ledger's signer id (the ordering
  ; authority)
  2 : bstr,
  ; approval_id -- the approval content id consumed (the
  ; compare-and-set key)
  3 : uint,
  ; position -- the ledger's forward-only position bound to this
  ; consume
}

; ---- audit chain + causal graph + tiered ordering -----------------
; An ordering authority records each accepted object by appending a
; signed Receipt, signed by the authority with the crypto over the
; deterministic-CBOR body. The chain is tamper-evident: the head
; after a receipt is SHA-384(receipt body), the genesis prev is 48
; zero bytes, and the body carries the prior head in field 1 -- so
; any reorder, omission, or substitution breaks a `prev` link
; (ChainBroken) or duplicates a `seq`. The authority NEVER mutates
; the origin object to order it; ordering is an outer signed layer
; and the object's own signature stays valid. `at` is the authority's
; time anchor, evidence a verifier checks independently of the
; signer's clock. An independent auditor detects equivocation -- two
; receipts by one authority at one `seq` naming different objects --
; from the signed receipts alone and mints a non-repudiable
; naalp-fork-proof (below, draft-01) carrying both of the accused's
; signatures. Wrapping receipts as Audit-channel (0x000B) objects;
; the federation (higher) tier that reconciles multiple authorities
; over the shared causal graph -- both tiers order the identical
; signed objects, so federation needs no wire change.
naalp-receipt = {
  1 : bstr,
  ; prev -- hash of the previous receipt body (48 bytes; genesis =
  ; zero)
  2 : bstr,
  ; obj -- content id of the accepted object (never the object
  ; itself)
  3 : uint,
  ; seq -- monotonic sequence position within this authority's chain
  4 : uint,
  ; at -- authority time anchor, epoch ms
}

; ForkProof -- the auditor's NON-REPUDIABLE equivocation proof.
; CHANGED IN draft-01 (SUPERSEDES draft-00's ForkProof): draft-00's
; fork proof named the two conflicting receipts but carried NEITHER
; conflicting signature, so an accused signer could deny the fork.
; draft-01's ForkProof carries the accused authority's OWN two
; signatures -- sig-a over body-a and sig-b over body-b, two
; validly-signed receipts by ONE authority at ONE seq naming
; DIFFERENT objects -- making the proof self-contained and
; non-repudiable: any third party verifies both signatures against
; the accused key with no further evidence. `ext-counter` is an
; external monotonic counter bound into the proof so a replayed or
; reordered proof is detectable. The two embedded bodies are
; naalp-receipt encodings (the exact bytes each signature covers).
; Verify accepts iff signer is present, the two bodies share one seq,
; name different objects, and BOTH signatures verify under the
; accused key; it is rejected whole (fail-closed) otherwise.
naalp-fork-proof = {
  1 : bstr,
  ; signer -- accused authority signer id (envelope field-5 form)
  2 : uint,
  ; ext-counter -- external monotonic counter bound into the proof
  3 : bstr,
  ; body-a -- receipt A body (naalp-receipt det-CBOR); sig-a's input
  4 : bstr,
  ; sig-a -- the accused authority's signature over body-a
  5 : bstr,
  ; body-b -- receipt B body (naalp-receipt det-CBOR); obj !=
  ; body-a's
  6 : bstr,
  ; sig-b -- the accused authority's signature over body-b
}

; The causal graph is not a distinct wire object: an edge "A causes
; B" is carried by B's object body field 8 (`causes`, an array of
; content ids) and proven by B's own signature. It is a signed
; partial order, checkable offline with no ordering authority
; present; a total order is a policy layered over it. A cause an
; effect could not have seen -- a present cause at a later ordering
; position, or a cycle -- is rejected (CausalViolation).

; ---- delivery stages + persist-before-ack + switchboard -----------
; Delivery is four distinct, monotonic, separately-observable stages
; -- there is no single "sent" boolean. Each stage is a signed
; delivery.update naming the target object's content id and the stage
; reached. Stages advance in order; observing a stage earlier than
; the one already reached is StageOutOfOrder. An endpoint MUST
; durably persist an object (write-ahead log fsync) BEFORE emitting
; the acknowledgment that advances its stage, so a crash immediately
; after an acknowledgment loses nothing (persist-before-ack). The
; live switchboard (two connections held open, objects passed through
; both directions concurrently) and the content-free relay (a relay
; holding objects only in transit still writes a valid audit trail
; over content ids) are behavioural properties of an endpoint/relay,
; not additional wire objects. Wrapping delivery.update as a
; Delivery-channel object.
delivery-stage = &(
  persisted_origin: 0,
  ; object durably persisted at the origin
  accepted_relay:   1,
  ; accepted by a relay in transit
  persisted_target: 2,
  ; durably persisted at the target
  presented:        3,
  ; presented to the target application
)
naalp-delivery-update = {
  1 : bstr,
  ; obj -- content id of the object whose delivery this reports
  2 : delivery-stage,
  ; stage -- the stage reached (0..3)
  3 : uint,
  ; at -- observer time, epoch ms
}

; ---- native streaming + per-stream commitment ---------------------
; A native stream runs on the N-PAMP Stream channel 0x000C, distinct
; from foreign streamed carriage (0x000D) -- N-AALP never carries a
; foreign protocol on 0x000C. The chunks are raw data frames the
; transport AEAD already authenticates; they are NOT signed
; individually (per-chunk ML-DSA would be ruinous). Instead three
; signed objects govern the stream. StreamOpen binds the stream's
; identity, effect, and -- where it causes an effect -- its approval;
; a stream whose effect is not authorized is refused BEFORE any
; chunk. StreamCommit carries a single rolling SHA-384 over the
; chunks in absolute-offset order (a bare 48-octet digest), making
; the whole stream non-repudiable with one signature, not N; altering
; any delivered byte invalidates it (StreamDigestMismatch). Optional
; StreamCheckpoints let a verifier confirm a prefix (digest_so_far =
; SHA-384 of the prefix through that offset) without waiting for the
; end. The same three objects map onto QUIC / WS / HTTP native
; streaming and the commitment verifies identically. Full-duplex is
; inherent Wrapping these as Stream-channel objects.
naalp-stream-open = {
  1 : bstr,
  ; stream_id
  2 : effect,
  ; effect -- the stream's effect class
  ? 3 : bstr,
  ; approval -- content id of the approval binding (present iff
  ; effecting)
  4 : uint,
  ; substream -- NPAMP-STREAM sub-stream id
}
naalp-stream-commit = {
  1 : bstr,
  ; stream_id
  2 : bstr,
  ; digest -- rolling SHA-384 over the complete ordered stream (48
  ; octets)
}
naalp-stream-checkpoint = {
  1 : bstr,
  ; stream_id
  2 : uint,
  ; through_offset -- absolute offset the prefix ends at
  3 : bstr,
  ; digest_so_far -- SHA-384 over the prefix through_offset (48
  ; octets)
}

; ---- N-AALP-CONT flow continuation --------------------------------
; A long-running flow costs two full ML-DSA signatures (FlowOpen +
; FlowCommit) regardless of the number of continuations, generalizing
; native streaming from a byte stream to a flow of typed steps.
; FlowOpen fixes the effect ceiling + approval bindings and is a
; signed N-AALP object whose authority is reconstructable from its
; bytes alone; its head = SHA-384(body) anchors the chain and its
; content-id (multihash(0x20, SHA-384(body))) is carried by every
; child object. A Continuation is a cheap UNSIGNED hash-chain link
; (head = SHA-384(body); prev = the previous head, the FlowOpen head
; for seq 0) whose effect MUST be <= the ceiling (AboveCeiling
; otherwise). A Checkpoint confirms a contiguous prefix (a
; dropped/reordered link is GapDetected). FlowCommit binds the final
; chain head under the second full signature (CommitMismatch on a
; missing/altered link). Domain separation is structural: the four
; body shapes (3 / 5 / 3 / 2 fields) are distinct.
naalp-flow-open = {
  1 : bstr,
  ; flow_id
  2 : effect,
  ; effect_ceiling -- the max effect any continuation may cause
  3 : [* bstr],
  ; approvals -- content-ids of the approvals authorizing the flow
}
naalp-continuation = {
  1 : bstr,
  ; flow_open_id -- content-id of the FlowOpen (WrongFlow if
  ; mismatched)
  2 : uint,
  ; seq -- 0-based position in the chain
  3 : effect,
  ; effect -- this step's effect; MUST be <= the FlowOpen ceiling
  4 : bstr,
  ; payload_id -- content-id of this step's payload
  5 : bstr,
  ; prev -- the previous link head (FlowOpen head for seq 0) (48
  ; octets)
}
naalp-flow-checkpoint = {
  1 : bstr,
  ; flow_open_id
  2 : uint,
  ; through_seq -- the contiguous prefix ends at this seq
  3 : bstr,
  ; head -- chain head after the prefix (48 octets)
}
naalp-flow-commit = {
  1 : bstr,
  ; flow_open_id
  2 : bstr,
  ; final_head -- chain head over the whole ordered sequence (48
  ; octets)
}

; ---- transport bindings -------------------------------------------
; A transport binding adds NO new wire object: it carries exactly one
; signed N-AALP object (any production above) as one message unit,
; byte-for-byte, over N-PAMP / QUIC / WebSocket / HTTP, with
; identical object semantics. The media type is
; `application/vnd.bubblefish.naalp+cbor` (one object per
; representation), registered in the IANA Considerations. The object
; is self-secured; the binding adds only framing and, from the
; transport, confidentiality and connection authentication. The
; confidentiality boundary is NORMATIVE: an object marked sensitive
; MUST NOT be emitted in cleartext over a non-confidential transport
; -- the binding refuses it (ConfidentialTransportRequired) and
; directs the deployment to a confidential transport (N-PAMP is the
; reference confidential transport). A transport lacking peer
; authentication where policy requires it is refused
; (PeerUnauthenticated). These are endpoint behaviours, not wire
; productions.

; ---- foreign carriage by class ------------------------------------
; N-AALP carries a foreign protocol by wrapping its message,
; octet-for-octet, in a signed N-AALP carriage object interpreted by
; a carriage CLASS. The carriage body is a normal N-AALP object body
; (envelope field 10): signed, effect-labeled, identity-bound,
; audited. The `foreign` field is carried VERBATIM and MUST NOT be
; re-serialized, canonicalized, summarized, or rewritten; N-AALP
; metadata is carried around it, never inside it. The carriage
; object's signer remains the authority -- a foreign identity NEVER
; becomes an N-AALP authorization identity. The OPAQUE class carries
; any protocol, including an undefined one, on an experimental
; protocol id with no registration. protocol_id ranges: standards
; 0x01-0x0F (RFC Required / FCFS), experimental 0x10-0x7F (no
; registration), private 0x80-0xFF. content_type (field 3) is the
; foreign ENCODING, an OPEN registry ("N-AALP Carriage Content
; Types"): standard encodings 0x00-0x0F (RFC Required / FCFS),
; experimental 0x10-0x7F and private 0x80-0xFF take no registration
; (0 json, 1 octet-stream, 2 text). Over N-PAMP the raw `foreign`
; octets ride an N-PAMP Bridge frame of the matching class
; byte-exact.
naalp-carriage-class = &(
  jsonrpc: 0,
  ; any JSON-RPC 2.0 protocol (MCP, A2A core)
  http:    1,
  ; any HTTP-semantics protocol
  msg:     2,
  ; any message-passing / performative protocol
  stream:  3,
  ; any event/streaming foreign reply
  doc:     4,
  ; capability/schema documents (agent cards, tool catalogs)
  opaque:  5,
  ; any declared-content-type payload, incl. undefined protocols
)
naalp-carriage-body = {
  1 : uint,
  ; protocol_id -- N-AALP registry
  2 : naalp-carriage-class,
  ; class -- 0 JSONRPC .. 5 OPAQUE
  3 : uint,
  ; content_type -- foreign encoding (open registry)
  4 : bstr,
  ; correlation -- exchange correlation token
  5 : tstr,
  ; method -- advisory routing key (foreign op name)
  6 : bstr,
  ; foreign -- the foreign message, carried octet-for-octet
}

; ---- the twenty channel surfaces, baseline tier -------------------
; A channel surface adds NO new encoding, signature, or identity: it
; only assigns `kind` codes (object body field 2), each scoped by the
; `channel` id (field 3), and binds each kind to a declared `effect`
; (field 7). All twenty channels (0x0000..0x0013) and their baseline
; kinds are enumerated in the machine-readable registry (65 kinds). A
; fixed-effect kind's object MUST carry exactly its declared effect
; (EffectDeclarationMismatch otherwise); a variable-effect kind
; (Stream StreamOpen, Bridge Carriage) takes the carried/stream
; action's effect, authorized at run time by the effect lattice. An
; object on an unregistered (channel, kind) is rejected
; (UnknownKind). Each channel's baseline body is a spine production
; already defined above -- Identity rotation/
; revocation/foreign-link, Governance approval/held/consume, Audit
; receipt/fork-proof, delivery-update, Stream open/commit/checkpoint,
; Bridge carriage -- or a thin channel-specific body carried in
; object body field 10; the surface introduces no new wire
; production, only the kind/effect/state vocabulary. Higher tiers
; (tier 1+) are the higher-tier surfaces below.

; ---- Higher tiers: federated ordering + the tier model ------------
; The channel tier is envelope field 4; tier = 0 is the frozen
; baseline (all twenty channels). A higher tier (tier 1+) adds
; capability WITHOUT changing the baseline envelope, effect
; vocabulary, identity model, or audit chain: a baseline-tier
; verifier accepts a higher-tier object's spine and IGNORES an
; unknown higher-tier NON-critical extension (field 11), while an
; unknown CRITICAL extension (field 12) it cannot honor is rejected
; fail-closed (UnknownCriticalExt) -- the same field-11/field-12
; mechanism defined in the protected header. No new wire field is
; introduced for tiering.
;
; Federated ordering (the Federation channel higher tier, tier 1):
; multiple independent authorities each issue baseline receipts over
; their own scope, and a signed Reconcile object records a
; DETERMINISTIC merge of their receipt chains over the shared causal
; graph -- a topological linearization of the union causal DAG
; tie-broken by object content id (bytewise ascending). Because the
; order depends only on the causal graph, any split of the same
; objects across authorities reconciles to the same order, so moving
; from single-authority to federated ordering requires NO envelope or
; object change. ScopeOverlapConflict (an object claimed by two
; authorities) is an operator error at baseline and is resolved by
; the merge at tier 1 (the object is ordered once).
naalp-reconcile = {
  1 : [+ tstr],
  ; authorities -- the ordering authorities' signer ids reconciled
  2 : [+ bstr],
  ; order -- the deterministic total order, object content ids
}

; ---- Collaboration / rooms membership (higher tier, tier 1) -------
; A Phase-3 ADDITIVE higher-tier surface over the frozen baseline
; envelope, effect vocabulary, identity model, and audit chain -- it
; introduces NO new wire mechanism, only tier-1 kinds on the
; Governance channel (0x0004; membership ops) and the Identity
; channel (0x0003; the principal registry), so it reuses the
; naalp-object envelope, the naalp-receipt chain, and the identity
; records unchanged. A baseline verifier that has not licensed the
; tier rejects a room kind as UnknownKind (fail-closed), consistent
; with the tier model above. It builds three recorded decisions: #4a
; Membership carriage -- a membership change is a first-class SIGNED
; naalp-object whose body (field 10) is a naalp-room-op. It is
; CURSOR-OCCUPYING and RECEIPT-CHAINED: each accepted op is ordered
; at a cursor by an ordering authority's naalp-receipt over the op's
; content id (multihash(0x20, SHA-384(op body))), weaving membership
; into the append-only audit chain. It is EPOCH-BUMPING: the op
; carries the membership epoch it is built against (field 3); each
; accepted op increments the room's epoch, so a superseded-epoch op
; is rejected (StaleEpoch). Ops:
; create/add_member/remove_member/change_role/add_owner. #4b O2
; ownership -- multi-owner, ADD-ONLY: add_owner adds an owner; an
; owner is never removed (remove_member refuses an owner) nor demoted
; (change_role refuses to lower an owner), so the owner count is
; monotonically >= 1 (a room can never become ownerless). #3 Delivery
; Model B -- a naalp-principal-binding maps a stable semantic
; principal id to a durable Handle (a signer id), kept as a
; per-principal SHA-384 chain (head = SHA-384(body), prior head in
; field 4, genesis = 48 zero bytes). A delivery addresses the
; semantic id and resolves it to the Handle at send time -- a durable
; naming layer above the connection-scoped N-PAMP PeerHandle. A
; rebind is authorised only by a verified rotation from the current
; handle to the new handle; a rebind to an unrelated key is refused.
; The membership op-authorisation, epoch guard, owner-immutability,
; and rebind continuity are endpoint behaviours (graded by two
; implementations against the non-circular oracle), not wire
; productions.
naalp-room-op = {
  1 : bstr,
  ; room -- room id
  2 : room-op-code,
  ; op -- membership operation
  3 : uint,
  ; epoch -- membership epoch this op is built against (bumps on
  ; accept)
  4 : tstr,
  ; subject -- affected member signer id (the creator, for create);
  ; NFC
  5 : member-role,
  ; role -- the role assigned to the subject
}
room-op-code = &(
  create:        0,
  add_member:    1,
  remove_member: 2,
  change_role:   3,
  add_owner:     4,
)
member-role = &(
  member: 0,
  admin:  1,
  owner:  2,
)
naalp-principal-binding = {
  1 : tstr,
  ; principal -- the stable semantic principal id (MUST be NFC)
  2 : tstr,
  ; handle -- the current durable Handle (a signer id) it resolves to
  3 : uint,
  ; epoch -- monotonic per-principal binding epoch (0 for first bind)
  4 : bstr,
  ; prev -- prior per-principal chain head (48 bytes; genesis = zero)
}

; ---- multi-hop agent-delegation grant -- draft-01 addition --------
; A DelegationGrant is a NORMAL N-AALP object (envelope): an
; independent COSE_Sign1 whose ISSUER is the verified envelope signer
; (field 5), NEVER a body field. It is a Capability-channel (0x0002)
; kind DelegationGrant (kind 4), tier 1 -- a named escalation adding
; MULTI-HOP capability under the frozen baseline envelope; a verifier
; that has not licensed the tier rejects the kind as UnknownKind
; (fail-closed). The object's OWN effect (envelope field 7) is
; non_idempotent_write (issuing a grant); effect_cap below is the
; SEPARATE ceiling it confers on the subject. It REUSES the
; CapDelegate substrate -- parent-by-content-id in `causes` and
; CapExceedsParent attenuation -- rather than a parallel mechanism
; (D5). The delegation PARENT (the grant or CapIssue that authorised
; THIS grant's issuer) is named by content id in envelope field 8
; (`causes`): the UNIQUE cause resolving to a Capability authority
; object (CapIssue kind 0, CapDelegate kind 1, DelegationGrant kind
; 4) whose subject/holder == this grant's issuer; a root grant
; (issuer in the verifier's trust-anchor set) has none, two-or-more
; is ChainBroken. scope is OPTIONAL: an absent field 6 is
; unconstrained (an empty scope is not a distinct value).
naalp-delegation-grant = {
  1 : tstr,
  ; subject -- delegatee agent id (agent B), signer-id form; MUST be
  ; NFC
  2 : effect,
  ; effect_cap -- MAX effect conveyed (the lattice); child <= parent
  ; else CapExceedsParent
  3 : uint,
  ; max_depth -- max FURTHER delegation hops below this grant (0 =
  ; act, not re-delegate)
  4 : uint,
  ; not_before -- validity-window start, epoch ms (GrantNotYetValid
  ; before)
  5 : uint,
  ; not_after -- validity-window end, epoch ms (GrantExpired after)
  ? 6 : tstr,
  ; scope -- OPTIONAL NFC resource scope; child scope MUST be
  ; contained else CapExceedsParent
}

; ---- The checkable minimum: recheck procedure (draft-01 addition) -
; A signature makes a body claim ATTRIBUTABLE; a claim is CHECKABLE
; only if a stranger can re-derive it without trusting the speaker,
; which requires the object to NAME the procedure a verifier runs to
; re-check it. That naming is carried as extension key 13 (see
; naalp-object above): the VALUE is a recheck-procedure id into this
; CLOSED registry. In the non-critical ext map (field 11) it is
; may-ignore (an unknown id ignored); in the critical cext map (field
; 12) it is must-understand and an unknown id is rejected
; (UnknownCriticalExt, the critical-extension rule reaching the
; procedure it names). A known id verifies in either map. There is no
; boolean on the wire -- placement (ext vs cext) is the criticality
; signal (the N-AALP spine carries no CBOR booleans). recheck is an
; ext-key (key 13) and does NOT move naalp-version -- the version is
; anchored by the top-level audience envelope field.
;
recheck-procedure = &(
  recompute-content-id: 1,
  ; recompute the content id from the body and compare
  verify-cose-sign1:    2,
  ; verify the COSE_Sign1 signature under the signer key
  walk-causes:          3,
  ; walk the signed causal partial order offline
  replay-consume-check: 4,
  ; replay the single-use consume ledger for the approval
)

; ---- The per-signer forward-only counter (draft-01 addition) ------
; A signer MAY carry a forward-only counter it increments on each
; object, to DETECT key duplication -- NOT to prevent it. It is
; carried as extension key 14 in the object's NON-CRITICAL ext map
; (field 11, may-ignore), covered by the SIGNER's own COSE_Sign1
; signature -- the deliberate contrast with the LEDGER-signed
; naalp-consume-receipt position. The value is a bare forward-only
; position; ANY 64-bit uint is valid (a large value is not an error,
; it must decode as a 64-bit unsigned position without rounding). The
; field is OPTIONAL: an absent counter is valid. It is
; DETECTION-only: a single self-authored sequence proves nothing;
; duplication is flagged only when two conflicting sequences bearing
; ONE signer id physically meet where the attacker cannot suppress
; one (# Security Considerations). Placing the counter in the
; critical cext map is an unrecognized critical key
; (UnknownCriticalExt). No wire-version bump: this reuses the ext
; mechanism (a new ext-key assignment, not a change to an existing
; object body), so naalp-version stays at 2.
signer-counter = uint

; ---- The NAALP-MCP binding profile (draft-01 addition) ------------
; An MCP tool call is CARRIED (its bytes unchanged -- carriage, not
; adoption), its unenforced, untrusted annotation hints are mapped to
; the closed four-effect lattice by a PUBLISHED table, and the
; WRAPPING SIGNER is accountable for that mapping (a false
; declaration is attributable to that key). The wrapper is a
; Bridge-channel (0x000D) tier-1 kind McpToolCall (kind 1) -- a named
; escalation over the frozen baseline Carriage kind (0), under the
; frozen envelope; a baseline verifier that has not licensed the tier
; rejects it as UnknownKind (fail-closed). Its OWN envelope effect
; (field 7) is the wrapping signer's DECLARED effect; a verifier
; independently recomputes the annotation-derived effect from the
; carried annotations and enforces the MORE SEVERE of the two (the
; good-regulator attenuator -- an unknown or disagreeing input
; collapses UP, never down). A declared effect BELOW the
; annotation-derived effect is rejected (EffectUnderDeclared); an
; annotation set that maps outside the lattice is rejected
; (MalformedAnnotation), never defaulted to benign.
;
;
; The MCP ToolAnnotations are booleans in JSON, but the N-AALP spine
; carries NO CBOR boolean Each hint is transcribed as the uint 1
; (true) / 0 (false); an ABSENT hint is the MCP documented default,
; applied by the mapping (readOnlyHint default false, destructiveHint
; default true, idempotentHint default false, openWorldHint default
; true). destructiveHint's default of TRUE is why an un-annotated
; write maps to destructive -- the same fail-closed rule as N-AALP's
; "absent effect on a state-changing object => destructive". A
; present 0 and an absent hint encode to DIFFERENT bytes (empty !=
; absent) though they may resolve to the same effect. A hint value
; outside {0,1} is rejected (it transcribes no boolean).
; openWorldHint (key 4) is carried for accountability but is an
; ADVISORY risk signal ONLY -- it never enters the effect lattice
; (risk dimensions ride as advisory labels, not effects).
mcp-hint = 0..1
; a JSON boolean hint transcribed to the spine: 1 = true, 0 = false
naalp-mcp-annotations = {
; the wrapping signer's transcription of the tool's MCP annotations
  ? 1 : mcp-hint,
  ; readOnlyHint (absent => MCP default false)
  ? 2 : mcp-hint,
  ; destructiveHint (absent => MCP default true; the fail-closed
  ; default)
  ? 3 : mcp-hint,
  ; idempotentHint (absent => MCP default false)
  ? 4 : mcp-hint,
  ; openWorldHint (absent => MCP default true; ADVISORY, not an
  ; effect)
}
naalp-mcp-tool-call = {
; the wrapper body (envelope field 10); its OWN effect is field 7
  1 : bstr,
  ; tool -- the MCP tool definition bytes, carried octet-for-octet
  2 : bstr,
  ; args -- the MCP tool-call argument bytes, carried octet-for-octet
  3 : naalp-mcp-annotations,
  ; annotations -- the signer's transcription; the mapping is over
  ; these
}
; The approval binds the content id of this call binding. Because it
; names BOTH the tool id and the args id by content id, a changed
; tool DESCRIPTION (new tool_id) OR changed ARGUMENTS (new args_id)
; yields a new call content id, invalidating a prior approval bound
; to the old one.
naalp-mcp-call-binding = {
  1 : bstr,
  ; tool_id -- content id of the tool bytes: multihash(0x20,
  ; SHA-384(tool))
  2 : bstr,
  ; args_id -- content id of the args bytes: multihash(0x20,
  ; SHA-384(args))
}

; ---- signed description / directory primitive (draft-01 addition) -
; A signed, OFFLINE-VERIFIABLE description and discovery layer
; carried on N-AALP's own signed object: the authority is the
; SIGNATURE OVER THE BYTES, never the connection or host that served
; them, so a signed description re-verifies byte-identically when an
; unrelated host serves the same bytes (a bearer credential, not a
; fetched document). It introduces NO new envelope, encoding,
; signature, identity, or audit mechanism: each object below is an
; ordinary COSE_Sign1 over a deterministic-CBOR body, reusing the
; closed effect lattice and the content-id framing. The head of each
; object is SHA-384(body); its content-id is multihash(0x20,
; SHA-384(body)).
;
; A naalp-description lists a service's operations, each a
; naalp-description-operation carrying its effect (lattice) and an
; approval declaration. requires_approval is the uint 1/0 -- the
; N-AALP spine carries no CBOR boolean; a value outside {0,1} is
; rejected (MalformedApprovalFlag), never defaulted. A
; naalp-directory is a signed collection whose members are
; content-ids (the same list-of-content-ids shape the causal partial
; order uses); it carries a monotonic per-signer version so two
; versions can be compared. Two conflicting versions from ONE signer
; -- the SAME directory and version but DIFFERENT members -- are a
; FORK, detected at the FIRST-DIFFERING member position, the same way
; the audit fork proof reports the position of an equivocation.
;
; A naalp-description-import carries a FOREIGN description format (an
; A2A Agent Card, an ANP Agent Description, an AGNTCY Agent Badge)
; octet-for-octet in `foreign` (carriage, not adoption -- the foreign
; bytes MUST NOT be re-serialized, canonicalized, or rewritten) as a
; signed attestation that binds the foreign bytes' content-id
; (multihash(0x20, SHA-384(foreign))) AND an N-AALP effect mapping
; (`operations`) for the described operations. The `importer` is the
; wrapping signer id and is the SOLE authorization identity: a
; verifier recomputes the self-certifying signer id from the
; verifying key and requires `importer` to equal it (ImporterMismatch
; otherwise), so a foreign identity embedded in `foreign` NEVER
; becomes an N-AALP authorization identity -- the confused-deputy
; rule of the MCP profile and foreign carriage.
;
naalp-description-operation = {
  1 : tstr,
  ; name -- operation name (advisory routing key)
  2 : effect,
  ; effect -- the operation's effect class (lattice)
  3 : desc-approval-flag,
  ; requires_approval -- 1 requires an approval, 0 otherwise (no CBOR
  ; bool)
}
desc-approval-flag = 0..1
; a boolean transcribed to the spine: 1 = requires approval, 0 = not
naalp-description = {
  1 : bstr,
  ; service -- opaque service id
  2 : [* naalp-description-operation],
  ; operations -- the listed operations
}
naalp-description-format = &(
  a2a-agent-card:        1,
  ; A2A Agent Card
  anp-agent-description: 2,
  ; ANP Agent Description
  agntcy-agent-badge:    3,
  ; AGNTCY Agent Badge
)
naalp-directory = {
  1 : bstr,
  ; directory -- opaque directory id
  2 : uint,
  ; version -- monotonic per-signer version
  3 : [* bstr],
  ; members -- content-ids of the member objects (the causal-order
  ; shape)
}
naalp-description-import = {
  1 : bstr,
  ; importer -- the wrapping signer id; the SOLE authorization
  ; identity
  2 : naalp-description-format,
  ; format -- the foreign description format code
  3 : bstr,
  ; foreign -- the foreign description bytes, carried octet-for-octet
  4 : [* naalp-description-operation],
  ; operations -- the N-AALP effect mapping the importer attests
}

; ---- name bindings + the signed A2A task-state profile (draft-01 ad
; Two receipt-CHAINED, OFFLINE-WALKABLE surfaces reusing the audit
; receipt chain unchanged: the head of each object is SHA-384(body),
; the genesis prev is 48 zero bytes, seq is monotonic, and the body
; carries the prior head in `prev`, so editing or omitting a record
; breaks the next record's linkage. They add NO new envelope,
; encoding, signature, identity, or audit mechanism: each object is
; an ordinary COSE_Sign1 over a deterministic-CBOR body, reusing the
; content-id framing.
;
; A naalp-name-binding maps a name to a signer id and CHAINS onto the
; prior binding for that name. A key ROTATION is a NEW binding at the
; next seq naming the new signer. A binding is DATED BY ITS CHAIN
; POSITION (seq); the envelope's `created` field (naalp-object field
; 6) is advisory only. A name's history is WALKABLE offline (the
; signer succession); a deleted/omitted binding leaves a detectable
; HOLE at the first-broken position (gap-evident, as the audit chain
; / directory fork report position); two bindings by ONE authority at
; the SAME (name, seq) naming DIFFERENT signers are a FORK, reported
; at that seq (the same way the audit fork proof reports an
; equivocation position).
naalp-name-binding = {
  1 : tstr,
  ; name -- the name being bound (a durable, human-readable name)
  2 : bstr,
  ; signer -- the signer id the name maps to at this position
  ; (signer-id form)
  3 : uint,
  ; seq -- monotonic per-name chain position; seq 0 is the genesis
  ; binding
  4 : bstr,
  ; prev -- the prior binding's head (48 bytes; genesis = 48 zero
  ; bytes)
}

; A naalp-task-transition is one signed, receipt-CHAINED A2A
; (Agent2Agent) task-lifecycle state transition. The A2A TaskState
; set is an IMPORTED vocabulary (carriage, not adoption): the A2A
; specification (Section 4.1.3) defines the eight states and the
; terminal/interrupted categories NORMATIVELY (start = submitted;
; terminal = {completed, canceled, failed, rejected}; interrupted =
; {input- required, auth-required}) and leaves the exact legal edges
; to implementations; N-AALP's legal-edge table is DERIVED from those
; documented category rules and is enforced by the endpoint, not by
; this wire production (the wire carries only the from/to state
; values). `card` is the content-id of the A2A Agent Card attestation
; (a naalp-description-import with format a2a-agent-card) that binds
; the task profile to an agent/operation; a transition carrying a
; card other than the profile's bound card is rejected (ForeignCard).
; An illegal edge, a non-contiguous `from`, a transition out of a
; terminal state, or a gap/reorder in the chain is detected
; fail-closed (IllegalTransition / TaskChainBroken), position
; reported.
;
task-state = &(
  submitted:      0,
  ; acknowledged, not yet started (the start state)
  working:        1,
  ; actively processed
  input-required: 2,
  ; interrupted, awaiting client input
  auth-required:  3,
  ; interrupted, awaiting authentication
  completed:      4,
  ; terminal success
  canceled:       5,
  ; terminal, canceled before completion
  failed:         6,
  ; terminal, finished with an error
  rejected:       7,
  ; terminal, the agent declined the task
)
naalp-task-transition = {
  1 : bstr,
  ; task -- the task id (opaque)
  2 : bstr,
  ; card -- content-id of the bound A2A Agent Card attestation
  3 : task-state,
  ; from -- the source state
  4 : task-state,
  ; to -- the target state
  5 : uint,
  ; seq -- monotonic per-task chain position; seq 0's from =
  ; submitted
  6 : bstr,
  ; prev -- the prior transition's head (48 bytes; genesis = zero)
}

; ---- governed negotiation, advisory risk labels, and trust (draft-0
; Three signed surfaces reusing the closed effect lattice, the
; content-id framing, and the causal partial order (`causes`)
; UNCHANGED: each object is an ordinary COSE_Sign1 over a
; deterministic-CBOR body. head = SHA-384(body); content-id =
; multihash(0x20, SHA-384(body)).
;
; GOVERNED NEGOTIATION. offer / counter / accept are SIGNED,
; CAUSALLY-LINKED messages: each names its predecessor(s) by
; content-id in `causes` (the same list-of-content-ids shape the
; causal partial order uses). Each SELECTS a profile from the CLOSED,
; PRE-REGISTERED negotiation-profile set -- the negotiation selects a
; pre-registered profile, never a free-form capability string and
; never a runtime-generated handler. The three productions are
; distinguished by a fixed `role` literal (0/1/2), so an offer body
; never validates against the accept production and vice-versa. An
; accept MUST DESCEND from its offer along the `causes` DAG (enforced
; by the endpoint, NotDescended otherwise); an unknown profile
; (UnknownProfile) or role is rejected fail-closed. The
; machine-readable role/profile source is the negotiation-role /
; negotiation-profile enums below.
negotiation-role = &(
  offer:   0,
  ; the initiating offer (the root; no causes)
  counter: 1,
  ; a counter chaining onto the offer or a prior counter
  accept:  2,
  ; the accept; it MUST descend from its offer
)
negotiation-profile = &(
  baseline:  0,
  ; the baseline capability profile
  streaming: 1,
  ; the native-streaming capability profile
  batch:     2,
  ; the batched-delivery capability profile
)
naalp-negotiation-offer = {
  1 : bstr,
  ; negotiation -- opaque negotiation id (ties the exchange together)
  2 : 0,
  ; role -- offer (fixed literal 0)
  3 : negotiation-profile,
  ; profile -- the selected pre-registered profile (closed set)
  4 : [* bstr],
  ; causes -- content-ids of predecessors (empty for an offer)
}
naalp-negotiation-counter = {
  1 : bstr,
  ; negotiation
  2 : 1,
  ; role -- counter (fixed literal 1)
  3 : negotiation-profile,
  ; profile
  4 : [* bstr],
  ; causes -- names the offer or a prior counter
}
naalp-negotiation-accept = {
  1 : bstr,
  ; negotiation
  2 : 2,
  ; role -- accept (fixed literal 2)
  3 : negotiation-profile,
  ; profile -- the AGREED pre-registered profile
  4 : [* bstr],
  ; causes -- descends from the offer along this chain
}

; ADVISORY RISK LABELS. A naalp-risk-label is one carried label
; {code, critical}; a naalp-labeled-object carries an effect (the
; lattice) together with a set of risk labels. The vocabulary is a
; closed standard set -- sensitive/egress (gating), reversible
; (informing) -- plus a private/experimental extensible range, so
; `code` is an open uint and the known set is enforced by the
; endpoint + registry (as the signer-counter is an open uint).
; `critical` is the per-carriage must-understand flag (uint 1/0 --
; the spine carries no CBOR boolean); the critical-extension rule
; rejects an unknown CRITICAL label (UnknownCriticalRisk) and ignores
; an unknown non-critical one. LOAD-BEARING INVARIANT: a risk label
; is an ADVISORY dimension, NEVER a fifth effect -- carrying a label
; does not change the object's effect class (the closed effect
; lattice is untouched).
risk-code = uint
; a risk-label code (standard set + private/experimental extensible
; range)
risk-critical = 0..1
; per-carriage must-understand flag: 1 = critical, 0 = advisory (no
; CBOR bool)
naalp-risk-label = {
  1 : risk-code,
  ; code -- the risk-label code
  2 : risk-critical,
  ; critical -- the must-understand flag
}
naalp-labeled-object = {
  1 : effect,
  ; effect -- the effect class (field 7); the effect class derives
  ; from this ALONE -- risk labels never alter it
  2 : [* naalp-risk-label],
  ; labels -- the advisory risk labels carried on the object
}

; TRUST. A naalp-trust-ref carries a THIRD-PARTY trust statement as a
; CHECKABLE signed object: `reference` is the content-id of an
; EXTERNAL registry record (an ERC-8004-style reputation/identity
; registry record). A verifier CONFIRMS the reference by recomputing
; that content-id over the external bytes; the signature checks. But
; NO wire field WEIGHS the statement -- there is no score, rank, or
; ordering on the wire; the protocol carries trust statements and
; does not weigh them, and which to believe is left to the relying
; party.
naalp-trust-ref = {
  1 : bstr,
  ; registry -- opaque external-registry identifier (e.g.
  ; "erc-8004:reputation")
  2 : bstr,
  ; reference -- content-id of the referenced external record
  3 : bstr,
  ; subject -- the subject the statement is about (opaque id)
}

; ---- payment import, UI consent, and portable gateway evidence (dra
; Three signed surfaces reusing the closed effect lattice, the
; content-id framing, the approval + single-use consume ledger, and
; the receipt chain UNCHANGED: each object is an ordinary COSE_Sign1
; over a deterministic-CBOR body. head = SHA-384(body); content-id =
; multihash(0x20, SHA-384(body)). These are NEW productions, not
; changes to an existing object body, so naalp-version stays at 2.
;
; PAYMENT IMPORT. A naalp-payment-import carries a foreign payment
; payload -- an AP2 mandate, an Agentic Commerce Protocol delegated
; token, an x402 payload -- octet-for-octet in `foreign` (carriage,
; not adoption; the foreign bytes MUST NOT be re-serialized,
; canonicalized, or rewritten), and turns it into a value-bearing
; charge N-AALP governs with its OWN added guarantees. `format`
; selects the imported FORMAT from the closed naalp-payment-format
; registry; an unknown format is rejected (UnknownPaymentFormat). The
; naalp-payment-charge-binding names the exact value an approval
; binds by content-id -- including the foreign payload's content-id
; (`foreign_id`, the carriage binding) -- so a wrong
; amount/payee/currency OR a substituted foreign payload yields a
; different content-id and no longer matches the approval
; (ApprovalMismatch). A payment spend is a non_idempotent_write spent
; SINGLE-USE through the consume ledger (AlreadyConsumed on replay).
; There is NO fifth effect and NO payment-specific ledger. There is
; no boolean on the wire.
naalp-payment-format = &(
  ap2-mandate:         1,
  ; AP2 mandate
  acp-delegated-token: 2,
  ; Agentic Commerce Protocol delegated token
  x402-payload:        3,
  ; x402 payload
)
naalp-payment-import = {
  1 : naalp-payment-format,
  ; format -- the imported payment format (closed registry)
  2 : uint,
  ; amount -- the charge amount in minor units
  3 : tstr,
  ; currency -- the charge currency code (e.g. "USD")
  4 : bstr,
  ; payee -- the payee id (opaque)
  5 : uint,
  ; not_after -- the charge expiry, epoch ms
  6 : bstr,
  ; foreign -- the imported payment payload, carried octet-for-octet
}
; The charge-binding is the payment-import's fields with `foreign`
; replaced by its content-id (`foreign_id`); it shares the import's
; 6-field shape by design and is distinguished by position and
; semantics (the value an approval binds), not by CDDL structure. It
; is a hashing input, not itself an on-wire signed object (only
; naalp-payment-import is signed as an envelope body).
naalp-payment-charge-binding = {
; the exact value an approval binds by content-id
  1 : naalp-payment-format,
  ; format
  2 : uint,
  ; amount
  3 : tstr,
  ; currency
  4 : bstr,
  ; payee
  5 : uint,
  ; not_after
  6 : bstr,
  ; foreign_id -- content-id of the foreign payload: multihash(0x20,
  ; SHA-384(foreign))
}

; UI CONSENT BINDING. A naalp-ui-event is one shown tool-lifecycle
; event (AG-UI style) in a user- interface event stream,
; receipt-CHAINED by the chain construction: head = SHA-384(body),
; genesis prev = 48 zero bytes, monotonic seq, prior head carried in
; `prev`, so editing or omitting an event breaks the next event's
; linkage (a detectable hole with position). `kind` is the closed
; ui-event-kind set; `action` is the content-id of the exact action
; bytes shown to the user. A human approval (a naalp-approval) binds
; the shown-and-approved action's content-id, and the action actually
; executed MUST hash to that same content-id -- a SUBSTITUTED action
; has a different content-id and is rejected (ActionSubstituted).
; There is no boolean on the wire.
ui-event-kind = &(
  shown:      0,
  ; the action / tool call was shown (rendered) to the user
  args-shown: 1,
  ; the arguments were shown to the user
  approved:   2,
  ; the user approved the shown action
  rejected:   3,
  ; the user rejected the shown action
)
naalp-ui-event = {
  1 : bstr,
  ; session -- UI session id (ties the stream together)
  2 : ui-event-kind,
  ; kind -- the event kind (closed set)
  3 : bstr,
  ; action -- content-id of the exact action bytes shown at this step
  4 : uint,
  ; seq -- monotonic per-session chain position; seq 0 is the genesis
  ; event
  5 : bstr,
  ; prev -- the prior event's head (48 bytes; genesis = zero)
}

; PORTABLE GATEWAY EVIDENCE. A naalp-gateway-decision is a SIGNED
; decision object an enforcement gateway of ANY vendor emits as
; portable evidence. Its authority is the SIGNATURE OVER THE BYTES,
; never the connection or host that served them, so it verifies
; offline and RE-VERIFIES IDENTICALLY when served by a party OTHER
; than the gateway (the third-party re-serve property). This is the
; EVIDENCE FORMAT ONLY -- it defines NO policy language. `decision`
; is the closed gw-decision set; `action` is the content-id of the
; action decided about; `policy` is the opaque identity of the
; deciding policy (a name, not a program); `effect` is the effect
; class of the action. An unknown decision code is rejected
; (UnknownGatewayDecision). The gateway is the SIGNER (envelope field
; 5); a verifier resolves its key offline from the self-certifying
; signer id and checks the signature over the bytes.
gw-decision = &(
  allow: 0,
  ; the gateway allows the action
  deny:  1,
  ; the gateway denies the action
  hold:  2,
  ; the gateway holds the action pending a further step
)
naalp-gateway-decision = {
  1 : gw-decision,
  ; decision -- the decision outcome (closed set)
  2 : bstr,
  ; action -- content-id of the action decided about
  3 : bstr,
  ; policy -- the deciding policy's opaque identity (NOT a policy
  ; language)
  4 : effect,
  ; effect -- the effect class of the action
  ? 5 : ordering-disclosure,
  ; ordering (R1) -- OPTIONAL. ABSENT is read correspondence-only,
  ; never a stronger claim. The mandatory fields 1-4 are validated
  ; FIRST: a body failing a mandatory-field check is GwMalformed
  ; regardless of any optional 5/6, so a look-alike whose field 1 is
  ; not the gw-decision uint stays GwMalformed.
  ? 6 : naalp-foreign-profile-pin,
  ; foreign-profile (R8) -- OPTIONAL; present iff the decision was over
  ; foreign-protocol evidence. Pins the foreign evidence profile's
  ; identifier AND revision at decision time (bind the reference, not
  ; just the class).
}
naalp-foreign-profile-pin = {
  1 : tstr,
  ; id -- the foreign evidence profile identifier, an ABSOLUTE URI
  ; (opaque per-protocol ids drift at the mapping)
  2 : tstr,
  ; revision -- the profile revision pinned at decision time
}

; ===== EVIDENCE-RECORD FAMILY (R1 ordering + S1 DecisionRecord +
; S3 CheckpointRoot). All additive sibling productions; naalp-version
; stays 2. The accountability triple, carried natively:
; unique-selection + governed-at-T + binding-fixed-by-T. =====

; ORDERING BASIS (R1): what, if anything, establishes
; decision->effect / record->event ORDER, and from which
; observational domain. The weakest claim is the ZERO value ON
; PURPOSE: a record that says nothing, and an existing record whose
; optional ordering field is ABSENT, are both read as
; correspondence-only -- a verifier MUST NEVER infer a stronger
; ordering claim from silence (fail-closed reading direction).
; external-mechanism NAMES the mechanism; whether its operator is
; genuinely distinct from both parties is a structural deployment fact
; checkable in substance at T+n, not a claim the wire can close.
ordering-basis = &(
  correspondence-only: 0,
  single-boundary:     1,
  external-mechanism:  2,
)
ordering-disclosure = {
  1 : ordering-basis,
  ? 2 : bstr,
  ; boundary -- the single covering boundary (signer-id form); present
  ; iff basis = single-boundary
  ? 3 : bstr,
  ; mechanism -- the external sequencing mechanism's identity; present
  ; iff basis = external-mechanism
  ? 4 : bstr,
  ; relation -- the log relation binding this record under the
  ; mechanism (e.g. the content id of the naalp-checkpoint-root the
  ; record is included under); present only when basis =
  ; external-mechanism
}
; Well-formedness (fail-closed, native): correspondence-only -> keys
; 2/3/4 absent; single-boundary -> key 2 present, 3/4 absent;
; external-mechanism -> key 3 present (4 optional), 2 absent. Any
; violation is OrderingDisclosureMalformed on the whole record.

term-disposition = {
  1 : uint,
  ; kind -- 1 observed / 2 reported (reuses the producing-boundary
  ; kind codes)
  ? 2 : bstr,
  ; source -- the boundary the term was received from; present iff
  ; kind = reported
}

enforcement-disposition = &(
  enforced: 1,
  advised:  2,
)

; THE GOVERNED-DECISION RECORD (S1). A naalp-decision-record is the
; SIGNED record a governed decision point emits that it decided about
; an action under a CLOSED, uniquely-selected condition set. It is the
; carrier for the T/T+n accountability triple: UNIQUE SELECTION (field
; 2, the governing set in the clear as content ids -- identification
; AND availability); GOVERNED-AT-T (field 3, the consume-receipt spent
; at decision time -- decision-time consumption, not
; identity-to-the-act); BINDING-FIXED-BY-T (established off-record by
; inclusion under a witnessed naalp-checkpoint-root). The record is
; deliberately CLOCK-FREE: it carries no claimed time; both time
; properties are POSITIONAL, never a self-asserted timestamp. The
; signature binds THE DECISION, not a retrieval of it.
naalp-decision-record = {
  1 : bstr,
  ; action -- content id of the action decided about
  2 : [* bstr],
  ; governing -- the CLOSED governing condition set, content ids, in
  ; the clear; may be empty (a decision governed by standing policy
  ; alone names that policy object's cid here)
  ? 3 : bstr,
  ; consume -- content id of the naalp-consume-receipt that spent the
  ; governing authority at decision time. PRESENT for an allow that
  ; consumed a single-use authority; ABSENT for deny/hold (a refusal
  ; consumes nothing). A deny/hold body carrying a consume ref is
  ; rejected DecisionMalformed -- nothing was consumed.
  4 : gw-decision,
  ; outcome -- allow / deny / hold (reuses the closed gw-decision set)
  5 : ordering-disclosure,
  ; ordering -- MANDATORY (R1 folded in from the start): the record
  ; states its ordering basis or states correspondence-only; there is
  ; no silent default
  ? 6 : { * uint => term-disposition },
  ; terms -- OPTIONAL per-term observed-vs-reported dispositions, keyed
  ; by THIS record's own field numbers (1..5). A key outside the field
  ; set is TermDispositionMalformed (fail-closed).
  ? 7 : enforcement-disposition,
  ; enforcement -- OPTIONAL: whether the producer ENFORCES the outcome
  ; or only ADVISES it (the producer's own unverifiable self-account).
}

; THE NEITHER-PARTY ANCHOR PRIMITIVE (S3, RFC 9162-style). A
; naalp-checkpoint-root is a log operator's SIGNED Merkle tree head
; over a leaf set of record content ids. Tree construction follows RFC
; 9162 Section 2.1: leaf hash = HASH(0x00 || leaf), interior node =
; HASH(0x01 || left || right), instantiated with the profile hash
; SHA-384 (48-byte heads), the 0x00/0x01 prefixes supplying leaf/node
; domain separation. Checkpoints chain by prev (genesis = 48 zero
; bytes) so a withheld or reordered checkpoint breaks a link.
naalp-checkpoint-root = {
  1 : bstr,
  ; log -- the log operator's signer id
  2 : uint,
  ; size -- leaf count at this checkpoint
  3 : bstr,
  ; root -- the Merkle tree head over the leaf set (48 bytes)
  4 : bstr,
  ; prev -- the prior checkpoint root value (48 bytes; genesis zero)
  5 : uint,
  ; at -- the log's time anchor, epoch ms (advisory)
}

; A witness COUNTERSIGNS one exact checkpoint by content id. The wire
; carries the cosignature; whether the witness's observational domain
; is genuinely distinct from both parties is a structural deployment
; fact a T+n verifier checks in substance -- the wire hook for the
; neither-party property, stated honestly as a hook.
naalp-witness-cosign = {
  1 : bstr,
  ; witness -- the witness's signer id
  2 : bstr,
  ; root -- content id of the exact naalp-checkpoint-root cosigned
  3 : uint,
  ; at -- the witness's own time anchor, epoch ms (advisory)
}

; Inclusion proof: a leaf existed in the tree the root commits to (RFC
; 9162 Section 2.1.3.1 path recomputation, SHA-384-profiled). Record
; cid as a leaf under a witnessed checkpoint = existed-no-later-than
; the checkpoint (the binding-fixed-by-T leg). Verification recomputes
; the path bottom-up and compares against the named root, fail-closed
; (InclusionProofInvalid).
naalp-inclusion-proof = {
  1 : bstr,
  ; root -- content id of the naalp-checkpoint-root proven against
  2 : bstr,
  ; leaf -- the included record's content id (the leaf value)
  3 : uint,
  ; index -- the leaf's 0-based position in the tree
  4 : [* bstr],
  ; path -- the audit path, leaf-to-root sibling hashes (48 bytes each)
}

; PORTABLE EGRESS EVIDENCE (E6.3). A naalp-egress-attestation is a
; SIGNED attestation a gateway/sidecar emits that an object of a given
; effect class, bound to a given audience, crossed an egress boundary
; at a given time -- third-party re-serve, payload-free. content_bound:
; digest is the crossed object's T1 content id. content_free: digest is
; a hiding commitment SHA-384(content_id || salt), openable later by
; the gateway revealing (content_id, salt).
egress-binding = &(
  content-bound: 0,
  content-free:  1,
)
naalp-egress-attestation = {
  1 : egress-binding,
  ; binding -- content_bound vs content_free (closed set)
  2 : bstr,
  ; digest -- content id (content-bound) or commitment (content-free)
  3 : effect,
  ; effect -- the effect class of the crossed object
  4 : bstr,
  ; audience -- the bound destination (empty-permitted)
  5 : uint,
  ; at -- the gateway's egress timestamp, epoch ms
  ? 6 : ordering-disclosure,
  ; ordering -- OPTIONAL (R1); ABSENT is read correspondence-only
}

; MANUFACTURING PHYSICAL-HAZARD (Mfg-F). `hazard` is a dimension
; ORTHOGONAL to `effect`: effect (field 7) is DATA reversibility (can
; the state change be undone); hazard is PHYSICAL danger -- a
; data-reversible action may still be a high physical hazard (e.g. a
; tool re-approaching a work envelope). The two are never merged and
; neither is derived from the other. A hazard CLAIM rides as the
; critical cext key 16 (naalp-hazard-claim) on the acting object; a
; hazard AUTHORIZATION is a standalone Governance (0x0004) kind 7
; object (naalp-hazard-authorization), referenced by the acting
; object's `causes`. Coverage: EXACT class match AND full containment
; of the claim envelope in the grant envelope (frame id equal; same
; axis count and order; every claim axis inside the matching grant
; axis; claim speed_bound <= grant speed_bound; claim window a
; sub-interval of the grant window); any single failing dimension
; denies the whole claim (HazardNotCovered). All numeric bounds are
; fixed-point integers (signed mm; unsigned mm/s) -- no floats, per the
; spine's deterministic-CBOR subset. Map keys are 1-based.
;
; hazard-class is a CLOSED 0..4 enum. A DECODE-TIME rule (like effect's
; unknown->destructive): an absent or unrecognized raw hazard value
; MUST normalize to the HIGHEST class (4, motion-in-shared-space) --
; never to none(0) or a weaker value -- so a missing declaration fails
; safe (HazardUnknown when no claim exists; else HazardNotCovered
; against a lower-class grant). CDDL cannot see the absence or
; invalidity of a raw wire value, so this is a MUST on the decoder, not
; this grammar.
hazard-class = &(
  none:                   0,
  tool-actuation:         1,
  thermal:                2,
  energy-release:         3,
  motion-in-shared-space: 4,
)

; A named coordinate frame plus a signed axis-aligned bounding region
; in that frame, integer millimeters. `axes` MUST be non-empty and
; every entry MUST satisfy min <= max (HazardMalformed otherwise). The
; frame id is integrator-defined; N-AALP requires only that a claim's
; frame id equal the grant's for containment to be checkable.
spatial-bounds = {
  1 : tstr,                        ; frame -- MUST be Unicode NFC
                                    ; (NonNFC else)
  2 : [ + [min: int, max: int] ],  ; axes -- per-axis [min,max], mm,
                                    ; signed
}

; A validity window in the epoch-ms convention of the spine.
hazard-window = {
  1 : uint,   ; not_before -- epoch ms
  2 : uint,   ; not_after  -- epoch ms
}

; The full physical envelope a hazard claim or authorization bounds
; itself by. All three fields MANDATORY: a silently-absent axis, speed,
; or window is a MALFORMED envelope (HazardMalformed), never
; "unconstrained" (which would fail OPEN in a physical-safety context).
hazard-envelope = {
  1 : spatial-bounds,   ; spatial
  2 : uint,             ; speed_bound -- max instantaneous speed, mm/s
  3 : hazard-window,    ; window
}

; A signed physical-hazard claim, carried as cext key 16 on the acting
; object. `class` and `envelope` are BOTH mandatory (HazardMalformed
; otherwise).
naalp-hazard-claim = {
  1 : hazard-class,     ; class    -- the declared hazard class
  2 : hazard-envelope,  ; envelope -- the bounds this claim asserts
}

; A signed physical-hazard authorization (a grant): a standalone
; Governance (0x0004) kind 7 object. Same {class, envelope} shape as
; the claim; coverage is the exact-class-match + full-containment rule
; above (any failing dimension => HazardNotCovered).
naalp-hazard-authorization = {
  1 : hazard-class,     ; class    -- the class this authorization covers
  2 : hazard-envelope,  ; envelope -- the bounds this authorization covers
}
]]></sourcecode>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>N-AALP builds on the N-PAMP substrate.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7S9e3PbSJIv+n99CtzuiGOyl5Al+dFuamfn0JLc1h1b8kry
zO27sWFAJCRhTBIcALSscXs++838ZWZVAaTc3XvibsROWwRQj6ysfD/SNHVt
2c6LcfLdaTqZvHk3Ti5vi+Q0b8tPRTK5KZZtOU0mq9W8nNJv1TJ5k98XdfKu
rtpqWs2/c/nVVV18GifyuZtV02W+oPFmdX7dplfrq6t5cV02t+kyz+erdHfP
0UDFTVXfj5NyeV25clWPk7ZeN+3+7u5Pu/uuWV8tyqahyS7vVwW/NStWBf3P
snV5XeTjZHJ+6WY0yjjZ391/7tzH4v6uqmdjlyRpkvOim/DPcir/jvYw5z3g
11XVtOk/1vmyXS/ww+HLs3P5x9nFsXNNmy9nH/J5taTJ7ovGrcpx8l+09VHS
VHVbF9cN/et+wf/4b+fydXtb1VgH/X9CS2/GycVOcpEvFnlNY1X4WSB0cZvf
LfuPqvpmnLwE1F4R1JLLYnq7rObVTVnQTCfL6Q5e+z45P/7P9yfnx0fjJE9o
8x/L5c0oeXt2enJ5Rr8mxSIv5zvJycVxMq3qumhWFUNwWoySlg745PjiZ3qw
vCaYtDoiHWNZ3I0S2nEyeX/5+umLJJ/Pk5squS3qYic5pNfLekHfl02Sz2Y0
aJNcFddVXSThzGR9mH6cyJkXs7Kt6v8dcGGnuXVuWdULoBmD6+Xhu72n/I/z
V4cvfnr60xgr4sNIBheXR8lPT4cHyaxoi3pRLsuGkZI2U81o1wfY0L9Nr6o6
aQiPpu26Lma0ouvr8rOM+NPus30dkU41vNUkA/7hw0V5s9wbJf7fQ//Zk+gz
mrgt8zkBhbC3bG8Xja5394mOfjw7upgkj+m/+8+e7f2ko/z0/Kk8fvsm5efl
UsYb+IGSkpG7vC6LurG5X9hXOlj0WZOsG9oh/cA7v72/qstZMi9u9NMXz/d2
ddlHR2/kt+cvnrzQRdBp5ElLN4sO/IZAWcudWNXVtJgJUOg0kr0nNtze/nP5
9GRyOmGkaWi58lWT3Kzpj3m5tM/2n/Nnr07eXezv4kCTxAjM22q2nhfpm7yl
4yvSlzlv4qi8KVsCKoM95zNJLvjK5fUsGfAodMOfDr/DOOFy8f+lclVOsQ4a
4GRJWNGu2yKprv0YDZDZ36F7fOspx1Nd6d6L3e5KL4opr+R1ThcwLOfi9cVQ
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
yrOhhjGGw2M06P38xUtLN1HqvzQoAK+Vb2x+nI02LleXVNvrcXO7AQfv91eX
80VR4Hv5R+Y+oKrqsOscJ+VUunbZR5pG84VwxPbiUFru36ONnf6gSJyn+Kof
s9j1yMh0n8tmdX09/ryWHvns+e5zKk1ijT2kSj/OVS/OUlFnUtQZioozrSfn
MY/Xwwp2nlhItFh3CTO8W8E3WoSbVBWlmrxo9egF56bVS9XLMP9e4O4rzvA+
pw/P5qyfcMTG8exqQ8OkCk+5pXV2Q3WTELV9nI64Z4fo2SzrcgzGEl3RjqdC
gyYzZ6baxg2ffLP184UBai//sx/TSZKGC/IgrQ5xAewVxRBLGgepvTjf6AZJ
rmW69/D8G6bl6ahnjZDg0b0T0/s67h2pjVMAKly47rHrla1CPTD1pSWMmdTn
qhkqU/tFdtn1HuTE6YvKE0QNlXXMXid44nULaZcZjyS57s3V27dvZqnUVO67
lc3NTFjsrVXgIPW6nhVWRq2QVuseH7Tms/l0vmJPFBCL0ntDPl0v1GfIGc7D
8tWiEqNPiORot6xyQaaBFlHg6NgeeFALm04FQ4tb8YY+dMXUj5f1osehEzym
+ySUJxKijoMWbshc2ac3rnhvaZjVivUAalVRwhrs73O3ia75P0u2Sk/sdGbJ
LqxocEWvVwuo3FmVzILEebF0AJuBmZvGq6+jDF/mir2qe+XhyZs3J28xd8VY
gN4H6wPua22EBnWvPNsoz6rplHTUajan64eCleyQsIv8618UHH2IedUDDxV0
1wTdA9JcdkR845v8zeYbf3eDGrOW272XbaCFbKDl799Av7Rh7me5yPSdwv2e
WhaeFZqUfMusjFNmCNoPSAHri2PaCQ9J2Z/yHE0Xy96KeT62Nja2n5O8e4sI
s1M7Pm1Q345hqNNjoSJELT/VM1iYpLf4qE6L1Uo9WyFelEFtxyNmCdlibL0N
/v/2o0G+VDfiuOlq52DEoNJ9cfSEllQrgujhb9YLaxjlWur2th+Gtvjq0Jb/
2NAWD+lCPgJo4yE7bTAA3vXKudBLPrTier5amHVfgeFhooMt+5uP1QKOyG/6
2bjxZjxujZ0rXc348/J+eM0eFo/5+IB+gs48AOOq4tBB+ep5BwuyNj9sDOd9
QQJLfisOzVqNJzz7CphslCcyKqOGhsXuokkNBIAlbZy/+hz6VTrnV+moX61f
fi1+Hdo/8tfer/EX/0GlyJTjjQqeMLpA//5Uk75G/2ez3C+oU+ej2/Tvi3v+
NK256d0cdOCAnOp+fof+Pbj68PWCH3EzmD22+9FtUlKnbPeU2sqPEzb1fLEq
4bVtf+0AzrXf+96Ov/ezPMMi5Jff9eojf/WUjZ1fa9iuP34kJv9fMw6Prlce
hy8wz8BDr+yUh9WdaRvShXThGPDKX2tQ691teddszH/09R15/Q9V95G883o+
/7C66+7GR06ho807taz3r9Uve5Mbd+p0Vg9VL3uFG/RKIqhej2cfvjitshe5
VX+u7w9mszlntXe3azewaGvL3kFaqq731ea1CuAGGubVH313J7z7E5vVfk+N
MXaaKPO17z0uj6fT1cwaekC6ZzWhmY2kkM6PhTe4Zf8miVzj2YMzK7ywk73w
eny9/GoFn5SvalNmrZLmjPjyOLbe5MqesZ/kVNMDvvblp7Szcsoz9gf5slw4
FoP0H3x/29//ByuwEwqAJvGlaf8MzHKTcZjE6cKpmPS+9v1WGdtZGf+2qiEO
Ozq+9d5O69sPT63n1L5Zk7ackwQA9vUX0L+rS/axX355s4xvceXez5rf9d4B
qfk8GsuwJ/Kportu+dPb2O+ryfL2Sx3wQpBoTJ7+znmS3oKo4b+/MDrpaRWj
H94hFrPz4UNlh7H5jx8nzEX0a2mKXufT2/70IWK8vlr8TnqBPa/C9tf50svy
xWI8uvFprXGynTU6Sjl7OqVUf+koN3uW6w/wn6/2fvYaunQ1oaPvH3tPtlta
HpOHpOgrMWFo1o405khg2Tpb035etlnEN39xkrffk9UrWLpfadL2FoJzBL1I
aui/XeSsV7X12nZ87eF5vL1dMvAPYsrkW+dV8+FQTtBfq2j27ra+e4ygwT/0
6o599ktDl7/ySF+hsVhNvv65nfLPisvhW7SA8v2xF2X0lzysD9Uyf4Fb5r+/
MAqPyjPhp9favWLz30vB9P3CNMve48q9Y7vvV78gQoJG+P3dSMb5Ky9wb5/N
qrvmdt4pE8NZXw90f9xEIy/+MQvNF0/l+3I21RO2JkpKBsud5LZRRW4WoHJA
fiVD+4n9rux9HFfRXlPQV/sS3AkP4kKBxGNAoHL9BWPAXxDH19va2Hj0BRtM
4TaYIvXp1mB91LcH3ZN1Z5BNxS+aYlzMe+718egfGKyuYsLQcYgVe88lGR8s
pIWD6tejvWBeobm2PaT/vCp72chulg9ZaDqNbOL+u2e+JfYBjBFoO2He2i0q
/SmVPjM3j8yn/sBRCrc+P+OHXnU8lAazCC21sfReOGSa80HRYV/zhgorWbC3
ccNLzqjr/evZydvTd4d9ptylA+TBzkHr2qPyp/Pzd0WP/ytXdjl77mx+9YG6
t3d2fnp08Kb/pWEX+wRML2mwD1rxrH9TFwlHUInjJYVGSKTSWEhdqvK77zRr
suaCL9Ts/913GJxCbSOb8lWN4nBT3YVYUC7E3MTTVa1fFz79L/YlUmAhMDGs
6MkzCG68BcSs+Lgs6ZSrN63uyou/l9t7EjVtBridPdjVyt6Smk2//+XRnoW7
+qXdvVIxZIreJV0L4TL98reLsnfAKIej8efygObEBZd/4VwZ4gfV6oJZkHNK
p/KEQKy5K4+v7xce33MhFblQsob5bJiYNwDeUY5ogs3m8KAggoJmqNNsKIXx
fooXutBWXBRjp16x+KSeucB2SBzljFriwkb9jeGAgYc+zcvRqqIZYvOcyUAU
+YrfkH7Y1MbeVWNGUa2ml+MbIHeC+ELh6MEMs+SVCj/ageAAfLQYJE9Bbqxz
IWstyFC/QLKILlQTjfHNOlVzX0FVw9yOJQKgRvUmbo7GTWL8y9KbY6pyLxCE
IFKAuWbqmeQjK2erBAOUPuqYatxpGcSzhWbg457ZF/HH+ugFbWzMvLGO+TY4
dBvdezNYz+tqCQwTjfxEJjmS+3zyUTXD9HFsUEwhSa2zzBySW9SRfcdA0rEZ
u7uPPbwSwVPe1TpqVHyNkGtNXx6GIeF2bfyBzd/l09cVgO++ixvFd9/9n3XT
iIldIvCxcWFwC5Yl/Olt7CavXpGo83mSlb6+jR2+OqOO/e67f/6BN5qtLXlV
Nx/AytC2U7T2Jh6n777b0kAkNIfey5BdJcgqyuagehzCno9tqmCN9V4SGMIO
deGXIX0u7uvmImSMARlgOh+Jv3OB87flFvCkVsHBgIaSuw5dCeE5SssA3FXk
iNUCaVPPPo4X85luzcqg2jOppgVChM5A0SS+dXmuv6+RvLlTOeefXChFKPY1
DeNK4ZUsXRfWZqyUjARoVF9XdJToh5B5yb/yOZ0aw/31dr58aZgTF4YrGuHB
UN/CnDWBISHfpNueuLLnVPaKhyjBpDqZBawa/pz9MBq4qjMybs1DCBiNu7AA
3bCZiXNGXDI8W/SAc+/nf3bFlPgf/XdPfhVy2KAumNGRjfkxKtrC+CiFe3y8
uHjJAdRHn3lKMLKI3+SjRBC66Qb7EC4OpROOR2+UsjQ8wB6Di5/A4fqCdv2O
J57wE2yGuhMoo78IrWt44qk8geTrQ+V6PWKUd3/iWXgC6Cnp1nO+dcqz8Ui0
Hr+zvaXd8fbVYbyMXvqZkZ3YWMQzI95FP53P568ZaijeeKQ33tCZ5BCEOvHu
brh7ZMED2ROP4/ugGo53n4QWHkxu4i10D1v2Jzcd3buNvnknUBQv6e0bZqeK
D6CHfrq/XIxHxzPzAcaZgX46W9GppaP8nW2ZAlOk/dangrkTH0CPvahGZxYD
GW+i1wAav+gqHN1mvpX3s5QIHB96rB0gTp7sFrpNDqm09A86X9fplaXKvFuM
Z1fju3yFPMtWwVl1XS/vX1e0quND6E1zW9iOEpfSVnygo82PtuMD4prLCkB/
Hkiepbo6svuPdE3yDTZxxnu7rXvHM4Sdxkceh0fUCkurE7ItPoaefY1keqYp
Wd3F9fjoabrb9TJ60lZXVx+gF19ZTtVZPbkW008ufLbCojiVLLETyT6LT6E/
9fZLaO6v6yr2yi56NKIkhXvozaMAChFvSncCluEvY6UMivcfy6cf6sRddKKb
odcHYxf9eLYkNZ4adnINq2y8/0zus+n45fiGlLWOztx9nh6CAaktCB9v6ZA7
GodzIndM4Mfoz3c1j2y2ZuIzOyJaw2ZLF0hZkbu6ndwxyOtaZXbTkn1ZX00q
0Si6tpbH2jnL+lyz2uezteKeyBDdya7WvAPrTXwAXYwCeF0fMhJavI0ehnmU
wZRe3N/RRh/vo3PZqNnZtU9EdrLr7YT6YVLdHWpofXxIZ6iyLHbtkTu+J70i
HSLeEQFa/+eP1V28jF48YJCKwxpErvEmOu5HdqoLGFu890TFOZ0Ruiry1Db8
Lm3gCTrrR3ZxrsutJ8/9Jk2Mv9bLv7Qm+9Mtf2Bdkj/dlrWuwOJYrKfzeezG
p6rCWK7YQ8rM00f+na5GPEXXsVrVefex3e2WF0+f2P0vLOun6MXjCdd0kuZu
fOKZTasHPvNcJQfHARzSQSYqQ1vSD81VVwOebWe7mO0zryZVnCLPpC/Hiy+0
4hn68VgQKLt272e7QT5zfRhKiNqp2I7hQXTqX5QVnHbyrsKkY+ubzkZFFfF0
nq3gZ1E5VD0o3n7uoqq5QgBlVB5VRVzCdRZvqCq9lOCeeGcn61/TV1v9+/xR
qJQ9czpu4rb0fFc3LjmedPTJ88f5WLLFor0HPQ8q0HuOuRahmjfzaXrmRKwa
r8UuHh+SKTmfTw7paNM1Cs/Rle+q+66bTD4RxiFD+YxPoWMjGF28uROKaGPb
xeekd4+7C5FZedy9sLa3HodvvA+AjPEZ9KnkmZwlJLfsEZmRx2/nhwIMnN3U
bbua1Ed381xd33peujq6pqtuy5nl5BOpy8eWG5bdl9XNUKKLI9A7Znd30l1t
YXb7kRfe8a6q4hwC0pYE23J4IXk8PbnrOoPI8eXkruuj6CjXt7ueeJY90VE1
OePVnNHX2XHRpu6QcSRm/hGHV3w/c57gWH/LKwv4bogKhSnKqH8RCqxLvRSa
sp7aTwQTfHtbWGHTQ1fylN7eYf6yO0Vu+DSPZB+FB6Q3yXLJUce18DgC8O2/
FWBb/ANGuRRgSx2Sh9aS9tcYWdt8UfAfv6K1/S9HPLPlg0tzwwcK+jW9w1Oi
IxQ1RapKUCrWSYMj3HBiZzipzq+t8Nh0ul/UyIy3R/9fqXH3C1gukrE7VOCv
r3wCa6iL3u6Lb2Flie3otvovWO2ZaxdvPVS9LteiGnEkWea/4VuM5YT14SiX
FzqUv3B2xEUhU7snDTCXxRAOIrn1SJmTHMnTMmpo3p28O/i390fc4KZJtk0g
jjAVrhiBWy7N8mGX5tY/4NJ8wI3933dpFg+4NPOByhfVH3FligkxFBVMia2l
5P+shXdbhDdPtr81sgl3zFG+LfB+ksnZ/Rg2p+XXp6xgtNm+X0roCpy5/8C8
fbiwek26h6CE+bUAppVX8mgbXqQDCW5a3Qvw50ypMPCqWOqNB9bxz0CQkXDB
kEe/VO6a3wWMBnRHQ3fLkcICTltCl6s/I0h9ebuYr25uS894YHetILINDDEw
MShU44mHavQUS7JYZhB6QwXLG0YIPbAGuWGby3wona170yr+D2SFfHXTKmRK
5SvszEfo69uUvO/LKr3avca6Flf3tpXy3XilBAKxB1eVyEamkGnq3/HOo/CO
4bX9jtew5QUst6HE7PiJ5CuvY/+LvqGhk8P/jrexDzolQSLB5VcjWl/Xu1BB
Ddl9KOF//F5aTV1vQS01TLoaBD2a/vn1d6GxQo2mKg4BD/X1l0T5XzW1gX18
7RUWmocnZ0dlNbnhzridNg5Ds6iRe76eBo8XDvyFfAcXQjpjhX2yq4nIR6Od
x4+3nxdy/ZlfV+kLACPOhkfZcPYhxrWRcJdsibPySyNducJAJQ59rcdEtPNO
lAD2sKJs/uZLy3QeaZa+g4A8UKrgurJ/vRAY15F4LdmEuQchnyc5A60cwTVZ
liAp9gu+/GXJVKxJJncVN/SF5tp2BQRKcN6Z9Q1XhLOlGU4OSEWO5Sh+2MV0
r+zxaaJoFARPUhQ5luAjSW3hZ8oz/HXaNAkJYL/s7fTTzwRfaEcLYO9wzI9N
IHp/cU+vPeqnQAoBiEQU1nBWM7fQxCmfxoJtpQn66u+UcBs809vtC+aW6HZI
ixvYJgQrhoUhJWj91k6NPHn1xjdr4X+AKBQIjBzpka25K5pkPE+OAJu3V9ID
FQAsGFFFURJ0GzPvc6BCmssqefp8d4dWgwIwyjAIUIoiazQewGVYSsIntQJs
Mk7DLRjKxoDsgMBGDzHhKDQAmuJF+OpG+VoHBomDPn5cHEN0Uqc3tXq0z/MD
ZWhJ++MYbaCz/zgXCJVZebriSwp+qICIvM45o5FxU2g1sXhc1k6NUC4Y9HjK
mvor87vnFNXOCVal4Kl5DG+xbHY+7xS99cT1iKsFCCUWP7+ws3HbB0wE2qYK
MIPsF0hRQwqqZx/rCX1x3xCYuCyddxlrz35O8qOhXIG0Zz/CvgwU0Lu4SZy7
15K1o9AzcAfsO6z4voo4RI85KrqD++/7GSnBZzPm8XqOMAkrTwqWu/O1UTbg
LEYRGib8qvlqeZe4PgvBnsJGJgBwBnnY5iVnrEgDC7VIXoUbAVqkoxeSGl1/
rOgdmsWD4tXxuzMonm+PSSp+pPfmC0Hx5xeGzdWCTU1p3jCDq8LhW4EtCFdF
uaJdiaEraRLODGnL1JbytloAyRGe8qZranLzrdGyYg9fvnzN0mQ1SZiISwAT
2vYslW9YwaQCDX5I1vcNGzEEhoyBvV11pUHgGchwkxXmv3I/scA6DDX++59C
/YFLnRD62x2A/cWvxXhCCMOB4x8ZbIVzaw0SeG+hkZ0yEeIaSJE4ns1ssw2A
z9KZKUV8ZEGDwgVY5PQCVjWB20PUEceuCWCjxD5acBy73zw+Kch4nJ29c0DZ
TQJ8hl08zFiJRb26ZVx5HngFmsSEI8F8p6GR7bHOY0xZoBf5vgo06WmNjYsB
pFwIW5gk729BjdEjctwpBmvWvhDitz7CLLzoeYhphu3o3Nn6vv1ktWWyAQl/
9UEjNabGBqjmBHpZIw6vodI8PNPGgmpaNR/k+I1EdIl7w3DqJ3g3m3uefAql
tdtO2XmtYWY26xUYq7njSabEI398KpdfmsrGN+YMMYlWLpfsg3zKi5hv8Z+b
HFcqcIbdx1irkBAKQsjjNdneYqVjG5kA90vsXIMgX/RBG2aYBeF/1bOivRrL
Hogltvprq9JorK9STnSC9bsRGkVoyVJAIIvGVpO2sNvxDWA4+TEmPHAwW03c
0Pu2KeE5C143Q4SoOQY9iP3MzeM0HTKberKBAxwvt8DJzLXI25N358cnbw9e
D/g3I6Oq4GDKmSKn9bFEk/bsFk5ehNJKmUI8EahRgMbe8RLwfo0URGhXY2dr
worcHi8dxi1i2Ri+q4KHL1LBLFsKj8wGFnK7ezKJGxZNVIzbcD+KDM5DIYRB
hQsF9Cms1Y2g18U1ajBzwrfgzLoPa5eOgQwYO4uIv15NJkleCEgsc5AvQelr
ZZlu2XxR7P2pPMtk3uvxFfVL3SkP2Wh3GSoptjqavHPm6lnM76sJg3cs6lo7
CPiILOzSDjuGJsHvRjj/iUfmTuT7SgjyYNdImHi6azHs+vrIVezJvWx5Thag
KJfRNgDwWeXfpZsvDt9xyIHJGEBpwTJKmsdrDlLgRBpZDg0d1ycK4aggfC/t
6EidyyGnTMYkGspkIpoedkxSUkajiQEKVrZvjlvgI7Kf2yYQ91qzCKgFA5op
KYskOj7pRkovbRTHS2dkC5NbsE4NNFhOhULPlcJsoaG0Z771SuEJFYJjiyc1
AiO5P2h2wO7HmvWaKIb549OCm74Y4FSM7iluER+b9iQ7Cw5K8VCV8FAN8tOF
7T/+rO42aZ8pV8gUHBSqUjgTs41zx2lDiwM7VK75X83v7sXkwXCYAMDD+f9L
y1npWkSrWj8l6AHJhYWryAoaXmD02TS9oF20njS1Mm3PWtNZWCAbU/rD9Brk
P8H3F5M+aMr+r//1v0qemQWdtBbV9XKYQOCG4pfa2uat9a3MSCNEDaBm5WsG
J6P3Ld1sL5/SaAbPUeVjdeWRTUXPnmxvKWAfdzGVQs1LWqVJCWQmz+rl8CXX
UbIidZHs69fwcmt4vihtJYEpH2cuYsyK9aBj4HgFfqonk6GEVeCUVM2yAaX3
14dUNeiNYp9uY/lrD4CYSXppb321wjipK1ZXKyYvf0OVBmdYAPiYLTI95G+m
H7bspM+fbz3eoUIst2pXz8G+IktbkThArq1K89UsucN1bfK1L69PzxO6k/Oz
h1YNin21aeXr1jOa4tqNOmDqptQjidudNlwt4+F17rIAwzahtszFuLlJFZsy
PB/HijS34zu3T/X4Tjm/K79nx6XEZNDbqqn2lcayBDEJDlF+Elc3NftfaR9f
XgB+XeYE48byDKpAd9WNQwhwMayY57vP09ht7GxsUwm95pbj0GgS3gq9BScW
fqjvmeyX47p4w+KjDLuPsYsrMSnOVdec8MF9MEH2mNwYrWSB1yimzyIR6qYl
TyRXtOzc9HrI2BBBlZLWSNDsc0LGMGyLgKEf/rF/sIBqdULSHnOnW6Buita5
mrKiy0z3wwHAk4t9s9ClMUJNcKiDrGJiYEZ9hHWW6QZUfoxwzqAhK48qMbtc
LVjA2dA558KamHdqzdRFBQxWOGwip7TX3g7MDrPkVAsjCeHm3EHYxgNdX/TL
9EXQJMAkx2/hTzkRK8sLfYSK0A6A3r1R5NOz/KGUC2oFLEmcyAWJ49brftWF
x1CER3jB6NfShYT5ZJeMyZRRpOO3QohKuOySpn1hCAByu2qkd7DLh9ftuoqj
WFUVUKFaH4ZCWGeXTEwNRUzFykJWDeeMkdK6JkfctasOdxIrl0WBhIqJ5Mr6
dc5fC0Og8sgowMOziUNiCG0ctzSgJzka6VoesxNKmF7dDcGYzZxJ2dXKAy+b
1vP8qFWGbvCl27y1DI2R95hy9LWmBz/W2V1yB92bNdfDbdM1pMMy9k/HU8p6
HopgI1uou1xcVs2H4dJDluPjiZ1rCFKEzjvr3RrvCg+V3AyXF/N82MdUB6wI
v4Rf62tSYhFIfIW3c5b3tcs5h3zHe6LChRtG/U0XMhbw8EibWJtuBE7nbPkJ
IxVPTfw1VDql8IyYPbNfSBjEI63oCwSpSIBUNjn0tuLbb7ptZnhZNeP4aJpy
Qppi10m3ZNlMH+b14pdhCmrUdz+P3V7fMMrtkF3xjUtDvbje2R28zuFuDHRr
X8wseHgnPU17if80pw6veIFMGaoNwx/5RNWaf+J9+yWsbGwTUgokfZR3c94v
nWUXNJxlrSd/TPaG1TvqKyW+AkMNOzEkJI1tNH4MKI3XB7w45s1saqR4i5LY
wDkNC45u/JMxbFCWaCsVVfq9Jtp0sEUWCrDS0MBOqz1P4E21+acfyu3yzfhF
2bMsR9DtLKpPyiix785MDifp75e/Ine4+dUCVZ/1UcjWzi7KSAmR/CwHerK6
ZsGuiKGkVzm6ld56sivBUb21XEl6GVqgdiWf1rgz8akn6axD64X0xjmTZyzr
qTB382PbZS9LCOmz2qnK9RWnW8pocXE7/9/OVqo5UjGp79QobR44yebtb6g+
Nq0+j6cVxgbGCCgnFY++OXHYqxPo7IUnSkxYrDmSLGpYA+Nxh2DSOSUiUSxn
RisF2cCe0/PkpNwXs4SawVn5NRJVIxlq2scjkmiTeTUyxUenwg/l32nZbJd7
JWNqDOjvfQaioIKTK3WvnK4myzFzT/S2Pu9sDcqznw6Gj57t9rgSQyX7GG73
+/T6DhXFQVRSFFQ9Jg9MLn1F/gjYwWbq49cf0et2thmPpBB7jE/lw3cHb975
lTGL3d3sizAfc/X1kWBqFW7lLWqzmcf5i4+ztqvPF2zJk+vhVc36IfzS7g2m
555kn7xSCk1+yThpIa0YZIHvjZ1IvuYEgHLKGeSjj2NG5uMqPKXi9OSLAtXb
zK3IsIfhQqUnntHz//4dav0fWgWsuHzYYN/iG8mz1uybjbOe3i1ZR3xORdlh
GyWZnYyLWtzf0bTVKzxNtkom/bmXJ20G8qAOXeOXQ2o6FmiwY2uoqYB/4dzr
vfLv5XfoyvKHf4ZB9Dftgs9o/wMW/33S8cWXijMfdTqzL0uhOw8XeqWldpbI
z4VS+VU5zUmxPDGXPk0qzWbl0ui4iS1z0+YtOMp4FQUTB61M7CJ02NpACSdv
js/Pj14KkgNGQ/glZ/OhF67vyim2EdONrtAkWsAGI6asrS19ZaN8c/D25cH5
yelfzY+GEwA73nxd0iR03tZL9wcNze6uQzg2amfeSHSuLWj/Bol7PzHyQlAp
scAsOHKbOnWWgHtJC8AzuFdmmfdqVR9bePeQBdur46PXL7n/e1U6AMscsU0d
G1HfpOFNPVux60v7ZDs959hhCo3Cg35F+kOjSsVHASModzbKl8dn58dvD89j
ZgdbNmjGbGIa/fnor1QpFNLTg0XfMLydkwepGOXx27Pjl0dim+GaDre3N2ma
SnaHdUhoXBnzRDZk+uVCruH0fJc3I/09Sgm0e+W706Ozo7fn5fg6oggxW/bk
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
tx4If+nvFa1YcV6tfhCXJfDi5PwnMYpIKiwwdahluqpTMArfp1Eh/WO+SBNZ
l3F6jF9nr4ZD18RHW+t2vvxF5VrPQpb6LmVCPLtUO9XZOh/p0Izq3AAcB3w1
QnvI83WtBfyK2tTSQryseSpIMdaavIo0A1nSr9cwhtdb18I7kNf01cnp0fGP
b12CfNt09u+VcGU1VkXd+B7uaf38LxJIZzgdCchr37eft4wexKlupTBT9DuH
oqOdJvy6gElIEMZMwi/IQRV+5k5YF+lP+x4nIlZpRiYaKvVOvURY5jXSz2An
LOAZV/vwZtveu9llBN4M5t8+dLuvGrmjibtcPSt7b3HTdhcqY3vrFzEc/nLN
qtmn+eKDqy9P+yB2E2PuI5hSfQch1UCDbz3pav5R7Yr6bc7B5ZlkWcC1AZtA
3Fd0Yjg/Pz5k7RCVj6x/huMzv7PUuDoY5KkeB+/Pfzo5Pf5/Dti2Vx6/fff+
3ByUnEdgAYHIxuVAp+ouWaslioHFxKSuGPwIWQa9byTo/7IWjWQmjlhPHWe7
HTwc+Qz6RlVFjWyTjGZxYX4eT1dTnzEVusriRPqIEJJ2HL1l9xJHuPk68dx6
t1nzcLsND6FKWvA//WBZ1GL0UeJGktYJ+2qsJXD8Cz/XQfyhzQjRk+pkpj8r
zlREcr5ZUC2L/kHvSE7uxB4S9PIGLV6kBt7zycM+bvmpju7AWhn75Zh50WSC
ZR7CCsQn2DFAQVacbWqsab2H2Er6KV7ORgqxxYxsaPMG4ckpC2vPfQiujSPG
I+VeUgnSUT2TAGmyut8zEy8aBcWLdrAWsKl+bZzKihCB0iVstrfd9UzDjXx2
mE5Eh/Kj0reNTSnB8BiN8Zg56nn+HR6evH97fvDi9VF5+Prg+I04iLmHb4ST
HeiVleckLzVzn9tl2noWvyR7CNX+37f/Y21/4AwVhZmsrhANI1l2fFmdvvXG
zUb5DcCOaAS/6a9tGRIzSoU4aILFTSheiRZBC435HTSXo/km7gWeJvb9w8gl
D28GfLxHKrKUcSnoa+/fvjw6hYPz4Pz96dEg77GRndGBWgFZYOmS1eJGsrVt
sS+1fhxD9kIJyJBGu7iRsDHA/HBk+334AKvCSwEgAPurlSrWs0bD3kchsdV7
gfS6yZzd4iU0PVZF2kQ8montr4xNKiL41aAnGlKX2CGwqUCMDQ61fprlOU+i
iTO0S+zURbZrt7h91BEzF1AH4fPRmTsiYYAK4UyR65mAcJCN0TdFjc/GDrWe
QMuL1g+/9PiUhdmP/PAMcJ25irvbtxBxz4y0Tuk6SNpQ5hHn2WyQgfV0yny6
6/s4ivrfbX00hsRjN/AIX90aVLBbwtNuVkWMiizL5XiIbe5eLhYS9N+lY7FG
xeN0n0L1C46/ffJg9LfLREwZw+o0i8xcA6F+gBte0n0sEkak7rhpVsgYoO8K
yTkdgmmr25fIcIAZMlJQC3JYFFOOfAAgTQXDW3bmaRMucVqPnYJ4W9RALbaI
qJlMZr/ER9GK8y2TLYeczilNesLymGlNpSsuGyAK/gbrINJRNYetjBIpuSdX
S3zkvl76MPIZXjKVPchXpzrvJnpeYZM6HQrdak2PTIADqreR4SuhsO0ZLFmy
f3waYwJrCHuQEHe15a/lc1o5ebnZYRfgYa1mkp/GnfTu4PT8r8O/HJ8dY3c6
OTg9OypPj169Pzt4vQHSVckJXNTL1WImUFoq2KIS4CDPIoQQ2+ZYjDJsis8o
ijvLNI8kiXiFrTYL9I70vkog8AXvJ1gJSweotcWGIMVRdYsxyaBKk9/A38vZ
w6JkCNYFBHbHV3pVV27zAJ/uTqsUrWmm6FsI9+oPkLQ3+YiuB1KrrJZMz1zO
EcSCEL2G/76rFS4BXe+cCsIhDiMtKW530ACl2ytJcgDOIQ8arg7Zyo+NX4dQ
qG5lhMS2ud4/kh2InD5FjODOiPufLo01SjOotrbWIjttxqZOb3ZSpm0UrZRT
8yuJNr0Xw3rEpqJxV3BugfWP7vAQpZid7bWHDQ+KNd7VAgEhzbK+cwnAIOcz
uPkS3rMG5qSIAhrasUTwjcYjvIqH74u+2yOkv9MKb7VNzSRJLsncZyPuoDV2
9lAv9aIpa5dhpdvC+F0LyKFNzagpQw9xYEQjp6cnp+XJi389IuHXy8m51Wbk
eXEajCTc3FTEI9ViDKioKrvIvSX8r5bMQ46gCnFyhcXpjRO1OE1xGKAqp1FW
ImTjJ5GETkaut5QDhMQps7E+tcOEB3DyxOhyOjoPeZd0bm22GxgBhB0S/XEn
zM6YsuXx3UHQldX4l5Nka+fkXQKHOkDjRINwmwVXBDchvA08vovlvFSW843y
lfQHGGfhvd2jUli5uBBwpstacLpwBuEKtlO56Yy0mlruEOIskeC9bxL8NR2j
T2OmBdCTU5STnNEFkM5xSlloRXwM2myn02ohx2k+tQ46UbHvkeP68v3B6+Hh
wenp8cGPR3uRbhoy7c9vT34+y1jAr7nPdOjB/81jMVeR9gUS8AFwnsRcKGpL
IJ7lwVjePkjzjUgj43nXIGzuYpZ2iW/bvIWkSYCNmwNwwTaekW4DAiYxbge2
bYEO0YSI0jjSBUNEDg8ZqzgX/k/Df8awLqvP89l8ei9i+Csjb0qLzLUkykKa
Kb9AEzJ0aOKzL3sJXnybTVvMgL1v0wTvG7n1+uETPaJisWu4bOVjqOGC3Me4
4WUfrz405TxPUpWAqCfzSCTEt9sV9XkcjR4GQkK0JayaVE2GGkLpuYpvmHax
+HWJrAfQddGwLoAPT14enYU0rj8BJL+bl4KXD/blLMvrARqKOCY2DjItYtRA
2WKL2S8zdvEHuMV1bgm7+Hk+y0IMp5zobSwrYIHxqVIm2L5KJ9iSVlNHzve+
IJ2IZAitLPXWlJckND/wgmRMBDsyV0bzwRs+QnOSrBLCeTFZYd4rout+awmF
5WEriE1Qa2tHFZbos90THSRL/Vd9wqfpHsf5lsaGk2is92gzoevrbvO98jHf
WCet3iufyI12IPte+TTcYD65vRKRHYmZeq9E0IpY/anaULSyZFi6iMYYLgP9
3tHfCWOBLj4KFxN+At3YjU8D14AuPg4VO5jc0BW0ISeUpqtoQJtHmq6jGW36
aLqO1mSs0dTvW9LROVk0XUe7Ikc0XUPbct8cXUXjugI+6d6uVlzpQ+kKGtdh
BqZbOlLdhlS6/zSbI8HBQPfQ5jbJM11/Hq+nSj/aitfV7EOX0eoWkzNd3tHZ
aCTNdOlR65Jy8NGd3XCnxTRMd9H+jKWZLj5JF8OjaG/bREDX0dZOKma6+TxM
nvw4QYsHrV47pdANtDvwL9IltDnSLNM1aXTOrkyXd6XYVlN30dQ2XSldR2tb
FMp0+alcXmdOpnvP0r3E6kvXn2tfP8yTTJIBre6gR6Zb27LAEysyXVNRlLiQ
6dqjNGs7KJDpgV1t0xrzMd17LL2WEx7TdfRDznNMV9ENLXpjuoweyFmN6aos
6Q4yY5J7OtgtDmO6se1yjKmL6YKsazAW0y+0NRIV0zU0L/AT06XHKjgCLTFd
fWJyO8jyJ2hSJCGma8/8WuAepuvP/brLjKdbMqfbTMN0R7eSToJhur3jhYXq
PEUDMzphurhrF7NV8PSxXV6fx0/R1jXOYLrx1MYqL+uZrgdjCKZLz6X+gRiY
dqGtTM5FPmC6KS1epwGmW2htm/2Xrj8KImGN9Jfuo+kdXL90S5ofKH7pWtxQ
mX2ULsWtVDckuvrMF5fy+NI13VGFvpc22C39Lay9dGE7a3wk66WbOx17OXP0
0q1HKtpyal66sZv3pgPD0a2wF2VEvHTrSbqV8+/Svae6aee0u3ucLcGCJrDt
0rUojzOOXVYo0PpArcvXtsMLLUZdvi1dcJy9IgN8nM227a3dUND7RJvLt9Dw
NbZcviODm0hy+ZoKZuPG5UvP0lZt2/f2FpqaM+GygiTTORDg8sXtdFGryFd3
vIT0pKoXznLL12TDmUdyW76MZjmnLV95IipSTmXLN55mN9LXRAVcI67lW2je
UVwK2ztboY+PAJ32QpDT+KYKJxm77LU4j08U6O0F47zxTTTYrr70NOisANEb
6wXtlB6MmT0g0tmh4rJ76JSfBS6O5Wjowh3dfRQzLhcw2ztRguk6z0pGF/2E
NNB4XbQtuU5r/XCuW+226FtyIw0Oq1scLHd+yphqL48Oj8881mJ4+Prg7Kw8
Pfrx+Oz89K8KuMWmEj7nrSN6pMORnjQd8A9AfCluhvPqEUPJpGT35Q2ccE0n
MSTIOBJ3YC/w4G3ySSlw220mNjjxm/PxrJFvDy/vBQ2QD3qz+hO/uri6HfMO
i2yOKZuMOCJMqjrwY92i5hZbiInVmQ9gD4MN2lEsRThluaG5aTg9BMgH7TGA
h3CMaGown/gjlWFe5k4q0SIJGK/OXBtjC9LtLtAifvKE01aB0dyYl/IA7SGV
tptKceajDCFbYivy4rppELluj0NxFrSiecYJeaRVWgctojbziZTml0uWAzAs
KMdCmXBTy9v5XdkL842LbrEmht7TtAlBPqqMNylgZKewmF6atvROJ6UiCn6W
2p4e8khkZNj7C61Cc67FOHGeWz3rGWB1atXtv238JbZL/G014oyxvNTAxdia
39vBT6JPsOuJlCUlFlqMxhLlJYEF41lWdF/ja1qhGoLus1oIpx9HAw/BLaPO
HVoyKVY6xD2kabthR0WNi6HZMx1fiRFzUQ8rxm2rl5aXIQQ/gp0veWlh/MYc
dwCYNLbOzWejmJLJhtrWwVbN7hzfJEERsKMjFohRHxQ/EBcknQDRs2Jo0vRY
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

-->

</rfc>
