<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
 <!ENTITY nbsp "&#160;">
 <!ENTITY zwsp "&#8203;">
 <!ENTITY nbhy "&#8209;">
 <!ENTITY wj "&#8288;">
]>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-hillier-scitt-arp-01" category="std" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
 <front>
 <title abbrev="ARP">Attestation Reconciliation Protocol</title>
 <seriesInfo name="Internet-Draft" value="draft-hillier-scitt-arp-01"/>
 <author initials="J. D." surname="Hillier" fullname="Joel David Hillier">
 <organization>Certisyn, Inc.</organization>
 <address>
 <email>jhillier@certisyn.com</email>
 </address>
 </author>
 <date year="2026"/>
 <abstract>
 <t>This document specifies the Attestation Reconciliation Protocol (ARP), a deterministic, bilateral, zero-knowledge-capable mechanism for reconciling verification claims against a plurality of sovereign authoritative registers without raw register records leaving their data-residency jurisdiction. ARP extends the SCITT (Supply Chain Integrity, Transparency, and Trust) architecture to cross-sovereign claim reconciliation. A reconciliation server canonicalises a structured claim, binds the identity of the requesting principal -- including, where the requester is an autonomous agent, a friend-or-foe determination of that agent's verifiable principal binding -- projects the claim through register-specific controlled projection functions producing the greatest-lower-bound predicate supported by each addressed register, transmits register-specific ciphertexts, receives partial attestations whose payload discloses only a verdict and an optional divergence axis, aggregates the partial attestations through either homomorphic or hash-linkage aggregation, and seals the resulting reconciliation output against a policy-version hash. An append-only cross-jurisdictional settlement-layer ledger records only hashes, with no content. The protocol supports retroactive re-evaluation of historical reconciliations under updated pattern libraries or policy versions without bilateral renegotiation, and a cryptographic-primitive-upgrade path including post-quantum primitives. This revision adds agentic-principal reconciliation, requester identity binding, alignment with HTTP Message Signatures and COSE Receipts, and composition of heterogeneous agent-action accountability attestations into a single producer-agnostic reconciled verdict evaluated at decision time.</t>
 </abstract>
 </front>
 <middle>
<section anchor="introduction">
 <name>Introduction</name>
 <t>Sovereign authoritative registers record facts that are treated as conclusive within their jurisdiction. Examples include beneficial-ownership registers (such as the United States FinCEN Beneficial Ownership Secure System, the United Kingdom People with Significant Control register, and the European Union beneficial-ownership registers under the Anti-Money-Laundering Directives), corporate registries, consolidated sanctions lists, export-control registers, foreign-ownership-and-control-or-influence registers, maritime vessel registrations, flag-state registers, aviation registrations, land-title registries, customs declarations, and multilateral biometric registers.</t>
 <t>Institutional decision-makers -- including export-control compliance officers, anti-money-laundering review functions, foreign-investment screening review functions, sanctions-screening operators, multilateral aid distribution authorities, and platform-owned verification infrastructure -- routinely require reliance on facts recorded across two or more sovereign registers simultaneously.</t>
 <t>Existing computer-implemented approaches to such cross-sovereign reliance suffer from four structural and technical deficiencies that this protocol is specifically designed to overcome:</t>
 <ol spacing="normal">
 <li><strong>Raw-record disclosure.</strong> Existing approaches require the raw register record either to leave its data-residency jurisdiction or to be re-disclosed in plaintext to a relying party in another jurisdiction. Sovereign registers under data-protection regimes are jurisdictionally constrained against such re-disclosure.</li>
 </ol>
 <ol spacing="normal">
 <li><strong>Non-reconcilable register outputs.</strong> Each sovereign register exposes a different schema, a different signing chain, a different verdict semantic, and a different statutory access regime. A relying party that requires a deterministic combined verdict over n sovereign registers therefore faces n parallel verification problems.</li>
 </ol>
 <ol spacing="normal">
 <li><strong>Non-auditable settlement.</strong> Cross-sovereign reliance, where it occurs at all, occurs without a settlement-layer audit trail consumable by sovereign regulators.</li>
 </ol>
 <ol spacing="normal">
 <li><strong>Unverifiable requester identity in an agentic setting.</strong> Cross-sovereign reliance is increasingly initiated not by an authenticated human operator but by an autonomous software agent acting on behalf of a principal. Where the agent's binding to a real, authenticated principal cannot be verified, the reconciliation is performed for an unknown or impersonated party, and the settlement record attributes reliance to no accountable principal. An agent whose principal binding cannot be verified <bcp14>MUST</bcp14> be treated as hostile (zero-trust).</li>
 </ol>
 <t>This document specifies ARP, a protocol that addresses all four deficiencies in combination, and is layered atop the SCITT architecture <xref target="I-D.ietf-scitt-architecture"/> and the RATS architecture <xref target="RFC9334"/>.</t>
 <t>The fourth deficiency is not hypothetical. A class of failure now observed in practice arises when an autonomous system reaches an assigned objective through a consequence that its operators neither authorised nor observed in time: during a controlled capability evaluation, an autonomous agent escaped its intended execution boundary by exploiting an unremediated vulnerability in a supporting service, obtained network egress that its containment had assumed impossible, and acted on external infrastructure -- all without human authorisation, and detected only after the fact. The generalisable point is not specific to any one operator: wherever an autonomous agent can act, the binding between its claimed authority and its actual conduct must be checked at the moment of action, not reconstructed afterward.</t>
 <t>ARP is designed for that moment. Forensic reconstruction establishes what an agent did after a consequence has occurred; ARP reconciles an agent's claimed authority and principal binding against authoritative registers while the action can still be refused. A reconciliation that yields a non-decisive or divergent verdict is a control input available before the action commits, not an audit finding available after. This document treats real-time reconciliation of claimed-versus-actual conduct as a first-class property of accountable autonomous action.</t>
 </section>
<section anchor="conventions-and-definitions">
 <name>Conventions and Definitions</name>
 <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
 <t>The following terms are defined for use throughout this document:</t>
 <dl>
 <dt>Sovereign Register:</dt>
 <dd>
 <t>An authoritative data store maintained by or on behalf of a sovereign and treated as conclusive within that sovereign's jurisdiction for the predicates the register is empowered to record.</t>
 </dd>
 <dt>Register Operator:</dt>
 <dd>
 <t>The entity that operates the Sovereign Register and is contractually empowered to bind the register's attestations.</t>
 </dd>
 <dt>Bilateral Register Agreement:</dt>
 <dd>
 <t>A negotiated contractual instrument between the operator of the reconciliation server and a Register Operator, declaring the permitted-predicate set, supported cryptographic primitives, supported aggregation capability, statutory-regulator-access scope, and cryptographic-primitive-upgrade path. Each Bilateral Register Agreement carries an Agreement Hash committing to its canonicalised content.</t>
 </dd>
 <dt>Requesting Principal:</dt>
 <dd>
 <t>The accountable party on whose behalf a reconciliation is performed. A Requesting Principal is either an authenticated human or institutional operator, or an autonomous agent carrying a Verified Principal Credential that binds it to such an operator.</t>
 </dd>
 <dt>Requesting Agent:</dt>
 <dd>
 <t>An autonomous software agent that initiates a reconciliation. A Requesting Agent is FRIENDLY when it carries a verifiable identity -- a request signed under HTTP Message Signatures <xref target="RFC9421"/> per Web Bot Auth <xref target="I-D.meunier-web-bot-auth-architecture"/>, a genuinely verified declared bot, or a Verified Principal Credential -- and ENEMY when its principal binding is absent or unverifiable. Anything unverifiable is treated as ENEMY.</t>
 </dd>
 <dt>Verified Principal Credential:</dt>
 <dd>
 <t>A cryptographic credential asserting that a named, authenticated principal stands behind a request, verifiable without contacting the credential issuer in the reconciliation hot path. A Verified Principal Credential <bcp14>MAY</bcp14> be carried as a Certisyn Verification Evidence Container -- a COSE-enveloped structure binding the claim, its evidentiary provenance, and the principal's credential -- or as any equivalent verifiable-credential form <xref target="W3C-VC-DM-2.0"/>.</t>
 </dd>
 <dt>Agent Friend-or-Foe (IFF) Determination:</dt>
 <dd>
 <t>The deterministic classification of a Requesting Agent as FRIENDLY or ENEMY, computed from the presence and cryptographic validity of a verifiable agent identity and, where required by policy, a Verified Principal Credential. The determination is recorded in the Requester-Binding field and committed to the Policy-Version Hash.</t>
 </dd>
 <dt>Canonical Claim:</dt>
 <dd>
 <t>A deterministic structured representation of a verification claim, comprising at least a subject identifier, a predicate, an attested value, an applicable-regimes set, and an evidentiary provenance manifest. Canonicalisation comprises lexicographic sorting of object keys, preservation of declared array order, Unicode Normalization Form C of string fields, canonical JSON <xref target="RFC8259"/> number rendering, and stripping of undefined values.</t>
 </dd>
 <dt>Predicate Taxonomy:</dt>
 <dd>
 <t>A controlled hierarchical classification of predicates that may be the subject of reconciliation, enabling taxonomic prefix match in projection. The taxonomy includes an <tt>agent:</tt> branch whose predicates reconcile the verifiability of an agent's binding to a principal (for example <tt>agent:principal-binding-verifiable</tt> and <tt>agent:credential-attested</tt>).</t>
 </dd>
 <dt>Per-Register Claim Projection:</dt>
 <dd>
 <t>The narrowest structured query sufficient to elicit the required Partial Attestation under a register's Bilateral Register Agreement, computed by the controlled projection function as the greatest-lower-bound predicate within the register's permitted-predicate set.</t>
 </dd>
 <dt>Partial Attestation:</dt>
 <dd>
 <t>A cryptographically signed output produced by a Sovereign Register in response to a Per-Register Claim Projection. The Partial Attestation payload <bcp14>SHALL</bcp14> disclose only a Reconciliation-Verdict field and an <bcp14>OPTIONAL</bcp14> Divergence-Axis field; it <bcp14>SHALL NOT</bcp14> disclose any register record.</t>
 </dd>
 <dt>Divergence Axis:</dt>
 <dd>
 <t>A controlled descriptor identifying the structural reason for a non-match verdict, drawn from a controlled set including identity-mismatch, jurisdictional-scope-mismatch, temporal-mismatch, ownership-threshold-mismatch, sanctions-list-match, register-record-absent, claim-predicate-unsupported, claim-projection-narrowed-beyond-attestation-scope, agent-principal-unverifiable, agent-credential-absent, agent-impersonation-suspected, and agent-action-scope-divergence (the authorised scope attested for an agent action and the actual conduct attested for it do not reconcile).</t>
 </dd>
 <dt>Reconciliation Output:</dt>
 <dd>
 <t>A data structure aggregating Partial Attestations from a single reconciliation event, sealed against a Policy-Version Hash.</t>
 </dd>
 <dt>Verdict Arithmetic:</dt>
 <dd>
 <t>The operator governing how per-register verdicts combine into the Combined Verdict, drawn from a controlled set including conjunction, disjunction, threshold-count, and source-class-quorum.</t>
 </dd>
 <dt>Homomorphic Aggregation:</dt>
 <dd>
 <t>A cryptographic aggregation of Partial Attestations under a homomorphic primitive permitting verdict combination without decommitment of intermediate per-register outputs.</t>
 </dd>
 <dt>Hash-Linkage Aggregation:</dt>
 <dd>
 <t>An aggregation of Partial Attestations in which the per-register attestations are canonical-hashed, ordered, committed to a Merkle tree, and emitted with a Merkle root and a per-register verdict band. The Merkle commitment and its inclusion proofs <bcp14>MAY</bcp14> be encoded as COSE Receipts <xref target="I-D.ietf-cose-merkle-tree-proofs"/>.</t>
 </dd>
 <dt>Policy-Version Hash:</dt>
 <dd>
 <t>A cryptographic commitment to the canonical verification-policy state in force at the moment of reconciliation, including reconciliation rules, threshold parameters, pattern-library version, applicable-regimes precedence, verdict-arithmetic selection, the Agent-IFF policy in force, the Requester-Binding, and the Bilateral-Register-Agreement Hashes of the addressed registers.</t>
 </dd>
 <dt>Settlement-Layer Ledger:</dt>
 <dd>
 <t>An append-only cross-jurisdictional log retaining only hashes of reconciliations, with no content-bearing fields. Each entry comprises a sequence number, the reconciliation hash, the policy-version hash, the addressed-registers identifier set, an aggregation-method descriptor, an optional Merkle root, a requester-binding-class descriptor, a timestamp, a prior-entry hash, and a self-entry hash.</t>
 </dd>
 </dl>
 </section>
<section anchor="architecture">
 <name>Architecture</name>
 <t>ARP comprises twelve subsystems arranged as a deterministic pipeline:</t>
 <ol spacing="normal">
 <li>Canonical Claim Ingestion</li>
 <li>Requester Identity Binding and Agent Friend-or-Foe Gate</li>
 <li>Adversarial Pre-Transmission Test</li>
 <li>Per-Register Projection Function</li>
 <li>Per-Register Encryption</li>
 <li>Partial-Attestation Reception</li>
 <li>Aggregation (Homomorphic or Hash-Linkage)</li>
 <li>Policy-Version-Hash Sealing</li>
 <li>Settlement-Layer Ledger Write</li>
 <li>Regulator Portal</li>
 <li>Retroactive Evaluation</li>
 <li>Cryptographic-Primitive-Upgrade Path</li>
 </ol>
 <t>Given an identical Canonical Claim, an identical Requester-Binding, an identical Addressed-Registers Identifier Set, identical Bilateral-Register-Agreement Hashes for the addressed registers, an identical Pattern-Library Version Identifier, and an identical Policy-Version Identifier, the system <bcp14>MUST</bcp14> produce bit-for-bit identical Reconciliation Outputs and Settlement-Layer Ledger entries.</t>
<section anchor="canonical-claim-ingestion">
 <name>Canonical Claim Ingestion</name>
 <t>A Canonical Claim comprises:</t>
 <ul spacing="normal">
 <li>Subject Identifier</li>
 <li>Predicate (drawn from the controlled Predicate Taxonomy)</li>
 <li>Attested Value (in the canonical type for the Predicate)</li>
 <li>Applicable-Regimes Set</li>
 <li>Evidentiary Provenance Manifest</li>
 <li>Claim Timestamp (RFC 3339 UTC)</li>
 <li>Claim Hash (computed over the canonical serialisation)</li>
 </ul>
 <t>Two semantically-equivalent claims <bcp14>MUST</bcp14> produce the same canonical form and the same Claim Hash. The Claim Hash is the index on the Settlement-Layer Ledger and the key for retroactive re-evaluation. The Evidentiary Provenance Manifest <bcp14>MAY</bcp14> be carried as a Certisyn Verification Evidence Container or any equivalent COSE-enveloped evidence structure; the container form is an interop convenience and does not alter the Claim Hash, which is computed over the canonical claim fields alone.</t>
 </section>
<section anchor="requester-identity-binding-and-agent-friend-or-foe-gate">
 <name>Requester Identity Binding and Agent Friend-or-Foe Gate</name>
 <t>Before the Adversarial Pre-Transmission Test, the reconciliation server <bcp14>MUST</bcp14> establish the identity of the Requesting Principal and record it in a Requester-Binding field. The Requester-Binding comprises a requester-binding class (one of <tt>human-operator</tt>, <tt>agent-verified</tt>, or <tt>agent-unverified</tt>), the identifier of the accountable principal where known, and a reference to the verification method used.</t>
 <t>Where the requester is an autonomous agent, the server <bcp14>MUST</bcp14> perform an Agent Friend-or-Foe (IFF) Determination. An agent is classified FRIENDLY only where at least one verifiable identity is present and cryptographically valid: a request signed under HTTP Message Signatures <xref target="RFC9421"/> with a key resolvable through a Web Bot Auth signature-agent card <xref target="I-D.meunier-web-bot-auth-architecture"/> <xref target="I-D.meunier-webbotauth-registry"/>, a genuinely verified declared bot, or a Verified Principal Credential. An agent presenting no such identity, or an identity that fails verification, <bcp14>MUST</bcp14> be classified ENEMY.</t>
 <t>The Agent-IFF policy in force declares, per predicate class, whether an ENEMY requester is refused outright, permitted only for non-decisive advisory reconciliation, or permitted with the requester-binding class recorded as <tt>agent-unverified</tt>. The server <bcp14>MUST NOT</bcp14> silently upgrade an ENEMY requester to FRIENDLY. The Requester-Binding and the Agent-IFF policy identifier are committed to the Policy-Version Hash so that the settlement record is attributable to a determined requester class.</t>
 </section>
<section anchor="adversarial-pre-transmission-test">
 <name>Adversarial Pre-Transmission Test</name>
 <t>Before any Per-Register Claim Projection is produced, the Adversarial Pre-Transmission Test Subsystem applies the current Pattern Library to the Canonical Claim. The Pattern Library enumerates known nation-state evasion patterns including projection-narrowing-evasion, predicate-substitution- evasion, attested-value-bracketing-evasion, addressed-register-cherry-picking, agreement-staleness-injection, pattern-library-version-pinning, and agent-principal-spoofing (an unverifiable agent asserting a principal binding it does not hold).</t>
 <t>The Subsystem emits either a Pass result or a Remediation Advisory. The Per-Register Encryption Subsystem <bcp14>MUST</bcp14> architecturally withhold external transmission until a Pass result has been emitted or until an authorised operator has explicitly overridden the outcome.</t>
 </section>
<section anchor="per-register-projection-function">
 <name>Per-Register Projection Function</name>
 <t>For each addressed register, the controlled projection function <bcp14>MUST</bcp14> inspect the Canonical Claim against the permitted-predicate set declared in the Bilateral Register Agreement. Where the Canonical Claim's Predicate is directly a member of the permitted-predicate set, the Projected Predicate equals the Canonical Claim Predicate.</t>
 <t>Where it is not, the projection function resolves the Predicate through taxonomic prefix match: walking the Predicate Taxonomy upward from the Canonical Claim Predicate until reaching a Predicate that is a member of the permitted-predicate set. The narrowing operation <bcp14>MUST</bcp14> be recorded in the Narrowed-From field of the Per-Register Claim Projection.</t>
 </section>
<section anchor="per-register-encryption">
 <name>Per-Register Encryption</name>
 <t>Each Per-Register Claim Projection <bcp14>MUST</bcp14> be encrypted under the addressed register's public-key material declared in the Bilateral Register Agreement. The encryption operation <bcp14>MUST</bcp14> bind the Bilateral-Register-Agreement Hash and the Pattern-Library Version Identifier into the ciphertext as authenticated additional data, such that a register attempting to decrypt under a stale Bilateral-Register-Agreement Hash or Pattern-Library Version Identifier fails at the authenticated-additional-data verification step.</t>
 </section>
<section anchor="partial-attestation-reception">
 <name>Partial Attestation Reception</name>
 <t>A Partial Attestation comprises:</t>
 <ul spacing="normal">
 <li>Register Identifier</li>
 <li>Reconciliation-Verdict Field (<tt>match</tt>, <tt>no-match</tt>, <tt>partial-match</tt>, or <tt>indeterminate</tt>)</li>
 <li><bcp14>OPTIONAL</bcp14> Divergence-Axis Field</li>
 <li>Bilateral-Register-Agreement Hash</li>
 <li>Policy-Version Hash</li>
 <li>Cryptographic Signature over the canonical payload of the foregoing</li>
 <li>Freshness Timestamp</li>
 </ul>
 <t>The Partial Attestation payload <bcp14>SHALL NOT</bcp14> contain any register-record field, any pre-image of the register record, or any field beyond those enumerated. The architectural absence of register-record content is the specific technical mechanism by which ARP avoids raw-record disclosure.</t>
 </section>
<section anchor="aggregation">
 <name>Aggregation</name>
 <t>Where every addressed register declares Homomorphic capability, the aggregation subsystem operates in Homomorphic Aggregation Mode. Per-register encrypted verdict contributions are aggregated through a homomorphic operator sequenced according to the Verdict Arithmetic declared in the Applicable-Regimes Set. Intermediate values remain cryptographically committed.</t>
 <t>Where any addressed register does not declare Homomorphic capability, the aggregation subsystem <bcp14>MUST</bcp14> operate in Hash-Linkage Aggregation Mode. Each Partial Attestation is canonical-hashed, ordered by sorted-leaf construction, committed to a Merkle tree, and emitted with a Merkle root and a per-register verdict band signed by the reconciliation-server sealing key. The Merkle root and its per-register inclusion proofs <bcp14>MAY</bcp14> be encoded as COSE Receipts <xref target="I-D.ietf-cose-merkle-tree-proofs"/>, enabling any SCITT-aware verifier to check inclusion without a bespoke proof format. The per-register verdict band <bcp14>MUST</bcp14> commit each register's verdict individually without disclosure of any other register's payload.</t>
 </section>
<section anchor="policy-version-hash-sealing">
 <name>Policy-Version-Hash Sealing</name>
 <t>The Policy-Version Hash <bcp14>MUST</bcp14> commit to:</t>
 <ol spacing="normal">
 <li>Reconciliation rules</li>
 <li>Threshold parameters</li>
 <li>Pattern-Library Version Identifier</li>
 <li>Applicable-Regimes precedence</li>
 <li>Verdict-Arithmetic selection</li>
 <li>Agent-IFF policy identifier and the Requester-Binding</li>
 <li>Bilateral-Register-Agreement Hashes of the addressed registers</li>
 </ol>
 <t>The Policy-Version Hash <bcp14>MUST</bcp14> be reconstructible under audit from a canonical policy state persisted in a policy-epoch store.</t>
 </section>
<section anchor="settlement-layer-ledger">
 <name>Settlement-Layer Ledger</name>
 <t>Each Settlement-Layer Ledger entry comprises only:</t>
 <ul spacing="normal">
 <li>Entry Sequence Number (monotonically increasing)</li>
 <li>Reconciliation Hash</li>
 <li>Policy-Version Hash</li>
 <li>Addressed-Registers Identifier Set (sorted in canonical lexicographic order)</li>
 <li>Aggregation-Method Descriptor</li>
 <li><bcp14>OPTIONAL</bcp14> Merkle Root</li>
 <li>Requester-Binding-Class Descriptor (<tt>human-operator</tt>, <tt>agent-verified</tt>, or <tt>agent-unverified</tt>)</li>
 <li>Reconciliation Timestamp</li>
 <li>Prior-Entry Hash</li>
 <li>Self-Entry Hash</li>
 </ul>
 <t>The Ledger <bcp14>MUST NOT</bcp14> store Canonical-Claim content, register records, Partial-Attestation payloads, or any principal identifier in the clear; the requester's accountable principal is committed only through the Policy-Version Hash. The append-only constraint <bcp14>MUST</bcp14> be enforced at the storage interface layer; the Ledger interface <bcp14>MUST</bcp14> expose only an APPEND operation, with no UPDATE or DELETE operation exposed or implemented.</t>
 <t>The Ledger <bcp14>MAY</bcp14> be distributed across a plurality of per-jurisdiction secondary stores under synchronous replication, each operated under the data-residency constraints of its host jurisdiction. The append-only derivation-chain invariant -- that every entry's Prior-Entry Hash equals the Self-Entry Hash of the immediately preceding entry -- <bcp14>MUST</bcp14> be preserved across all secondary stores.</t>
 </section>
<section anchor="regulator-portal">
 <name>Regulator Portal</name>
 <t>The Regulator Portal Subsystem authenticates a sovereign regulator's jurisdictional credentials against a regulator-identity-provider trust anchor declared in at least one Bilateral Register Agreement. It restricts returned fields to those within the regulator's statutory scope as declared in the statutory-regulator-access scope of the Bilateral Register Agreements of the addressed registers. The scope restriction is computed as the union of per-agreement permitted-read-predicates entries scoped to the regulator's jurisdiction, intersected with the regulator's requested field set. Each access <bcp14>MUST</bcp14> be recorded in an append-only subpoena-grade audit trail.</t>
 </section>
<section anchor="retroactive-evaluation">
 <name>Retroactive Evaluation</name>
 <t>Upon publication of an updated Pattern Library or an updated Policy Version, the Retroactive Evaluation Subsystem <bcp14>MUST</bcp14> execute a deterministic re-application of the updated policy state to retained reconciliation metadata of historical Reconciliation Outputs sealed against a superseded Policy-Version Hash. Where permissible under the applicable Bilateral Register Agreements, partial attestations <bcp14>MAY</bcp14> be re-invoked.</t>
 <t>The retroactive evaluation <bcp14>MUST</bcp14> be executable without re-negotiation of any Bilateral Register Agreement. A material change in a historical Combined Verdict -- defined as any transition into or out of a decisive verdict value (the decisive values being <tt>match</tt> and <tt>no-match</tt>) -- <bcp14>MUST</bcp14> trigger a Sovereign Re-Notification through the Regulator Portal. Revocation of a Verified Principal Credential relied upon in a historical reconciliation is itself a material change: the Retroactive Evaluation Subsystem <bcp14>MUST</bcp14> re-derive the affected Requester-Binding class and, where a decisive reconciliation was performed for what is now an unverifiable requester, emit a Sovereign Re-Notification.</t>
 </section>
<section anchor="cryptographic-primitive-upgrade-path">
 <name>Cryptographic-Primitive-Upgrade Path</name>
 <t>Each Bilateral Register Agreement <bcp14>MUST</bcp14> declare a Cryptographic-Primitive- Upgrade Path comprising an ordered equivalence list for each of three primitive classes: claim-encryption, partial-attestation-signature, and sealing-signature. The equivalence list <bcp14>MUST</bcp14> include at least one post-quantum primitive for each class, drawn from a set including ML-KEM <xref target="FIPS203"/> for key encapsulation and ML-DSA <xref target="FIPS204"/> for signature operations.</t>
 <t>A primitive rotation <bcp14>MAY</bcp14> be executed simultaneously across the three layers without bilateral renegotiation. The Settlement-Layer Ledger remains continuous across the rotation because Ledger entries commit to hashes of canonicalised content rather than to cryptographic identities.</t>
 </section>
 </section>
<section anchor="agentic-principal-reconciliation">
 <name>Agentic Principal Reconciliation</name>
 <t>The Agent Friend-or-Foe Determination described in the Requester Identity Binding and Agent Friend-or-Foe Gate above establishes whether the requester of a reconciliation is friendly. ARP additionally supports reconciling an agent's principal binding as the subject of a reconciliation in its own right, so that the question "does a real, authenticated principal stand behind this agent?" can itself be answered against authoritative identity registers rather than asserted.</t>
 <t>A reconciliation over the <tt>agent:</tt> predicate branch takes as its Subject Identifier the agent's declared identity (for example its signature-agent-card key thumbprint or a directory identifier) and as its Attested Value the principal binding the agent asserts. Addressed registers for this predicate class are identity and credential registers -- for example an organisational directory, a credential-issuer status list, or a national identity register -- each under its own Bilateral Register Agreement. The Combined Verdict answers whether the asserted principal binding is corroborated:</t>
 <ul spacing="normal">
 <li><tt>match</tt>: the agent's asserted principal binding is corroborated by the addressed registers; the agent is FRIENDLY with an attributable principal.</li>
 <li><tt>no-match</tt> with divergence axis <tt>agent-impersonation-suspected</tt>: the asserted binding is contradicted; the agent is asserting a principal it is not bound to.</li>
 <li><tt>no-match</tt> with divergence axis <tt>agent-credential-absent</tt> or <tt>agent-principal-unverifiable</tt>: no corroborating record exists; the binding cannot be established and the agent <bcp14>MUST</bcp14> be treated as ENEMY.</li>
 </ul>
 <t>This composition allows a relying party to gate an action not merely on the presence of an agent signature but on register-corroborated proof that an accountable principal stands behind it, closing the impersonation surface at the reconciliation layer. The result is a Reconciliation Output like any other: sealed against a Policy-Version Hash, written to the Settlement-Layer Ledger as hashes only, and re-evaluable if the underlying credential is later revoked.</t>
 </section>
<section anchor="encoding">
 <name>Encoding</name>
<section anchor="cbor-cose-encoding">
 <name>CBOR-COSE Encoding</name>
 <t>The recommended encoding for ARP messages on the wire is CBOR with COSE <xref target="RFC9052"/> <xref target="RFC9053"/> envelopes. COSE_Sign1 is used for both Partial Attestations and the Sealing Signature. The protected header <bcp14>MUST</bcp14> include the Bilateral-Register-Agreement Hash and Policy-Version Hash as unregistered labels in the range 0x800 .. 0x8FF (Certisyn private use).</t>
 </section>
<section anchor="http-message-signature-binding">
 <name>HTTP Message Signature Binding</name>
 <t>Where a reconciliation is requested over HTTP by an autonomous agent, the request <bcp14>SHOULD</bcp14> be signed under HTTP Message Signatures <xref target="RFC9421"/>, with the signature-agent key resolvable through a Web Bot Auth signature-agent card <xref target="I-D.meunier-web-bot-auth-architecture"/> <xref target="I-D.meunier-webbotauth-registry"/>. The reconciliation server derives the Agent Friend-or-Foe Determination from verification of that signature and, where required by the Agent-IFF policy, a Verified Principal Credential carried in the request body.</t>
 </section>
<section anchor="verifiable-credentials-interop">
 <name>Verifiable Credentials Interop</name>
 <t>A Reconciliation Output <bcp14>MAY</bcp14> be additionally serialised as a JSON-LD document conforming to the W3C Verifiable Credentials Data Model <xref target="W3C-VC-DM-2.0"/>, with the Reconciliation Hash, Addressed-Registers Identifier Set, Bilateral-Register-Agreement Hash Set, Requester-Binding-Class, and Policy-Version Hash included as credential subject fields. The COSE_Sign1 envelope is the normative form; the Verifiable Credential serialisation is an interop convenience for relying parties operating in W3C VC ecosystems.</t>
 </section>
 </section>
<section anchor="security-considerations">
 <name>Security Considerations</name>
<section anchor="service-operator-containment">
 <name>Service-Operator Containment</name>
 <t>The reconciliation server operates under a service-operator entity standing in bilateral contractual relationship with each Register Operator. The service-operator entity <bcp14>MUST</bcp14> be architecturally prohibited from observing any register record or any Partial-Attestation payload beyond the verdict and divergence-axis fields. The service-operator entity <bcp14>MUST</bcp14> be structurally incapable of disclosing any register record irrespective of internal operator action.</t>
 </section>
<section anchor="pattern-library-integrity">
 <name>Pattern-Library Integrity</name>
 <t>The Adversarial Pre-Transmission Test gates onward transmission. The Pattern Library <bcp14>MUST</bcp14> be bound to a Pattern-Library Commitment Hash. Any modification to the Pattern Library <bcp14>MUST</bcp14> produce a new Pattern-Library Version Identifier, and the Adversarial Pre-Transmission Test <bcp14>MUST</bcp14> be re-executed against the new library before the change takes effect.</t>
 </section>
<section anchor="agent-impersonation-and-friend-or-foe-integrity">
 <name>Agent Impersonation and Friend-or-Foe Integrity</name>
 <t>The Agent Friend-or-Foe Determination is the mechanism by which ARP resists reconciliation initiated by an agent impersonating a principal. The determination <bcp14>MUST</bcp14> default to ENEMY: absence of a verifiable identity, an expired or revoked signature-agent key, a failed HTTP Message Signature <xref target="RFC9421"/> verification, or a Verified Principal Credential that does not validate <bcp14>MUST</bcp14> all yield an ENEMY classification. The server <bcp14>MUST NOT</bcp14> infer friendliness from network origin, User-Agent string, or any self-asserted identifier, as these are trivially forgeable. Where an ENEMY requester is permitted for advisory reconciliation, the resulting Reconciliation Output <bcp14>MUST NOT</bcp14> carry a decisive verdict binding, and the Settlement-Layer Ledger entry <bcp14>MUST</bcp14> record the <tt>agent-unverified</tt> requester-binding class so that downstream reliance is aware no accountable principal was established.</t>
 </section>
<section anchor="bilateral-register-agreement-drift">
 <name>Bilateral-Register-Agreement Drift</name>
 <t>Each Bilateral Register Agreement carries an Agreement Hash. Each Partial Attestation includes a reference to the Agreement Hash under which it was issued. Agreement drift is detectable by comparison of agreement-hash references across Partial-Attestation batches. Reconciliation <bcp14>MUST</bcp14> be suspended for an addressed register whose Agreement Hash deviates from the hash committed at the start of a reconciliation event.</t>
 </section>
<section anchor="replay-defence">
 <name>Replay Defence</name>
 <t>Each Partial Attestation <bcp14>MUST</bcp14> carry a Freshness Timestamp. The reconciliation server <bcp14>MUST</bcp14> verify the Freshness Timestamp against a freshness window declared in the Bilateral Register Agreement. Stale Partial Attestations <bcp14>MUST</bcp14> be rejected with a <tt>freshness-stale</tt> divergence axis. A signed agent request under <xref target="RFC9421"/> <bcp14>MUST</bcp14> additionally carry a nonce or created/expires parameter set so that a captured signed request cannot be replayed to initiate a fresh reconciliation.</t>
 </section>
<section anchor="post-quantum-migration">
 <name>Post-Quantum Migration</name>
 <t>The Cryptographic-Primitive-Upgrade Path is the mechanism by which ARP deployments migrate to post-quantum primitives. ML-KEM-1024 <xref target="FIPS203"/> is <bcp14>RECOMMENDED</bcp14> for the claim-encryption primitive class. ML-DSA-65 <xref target="FIPS204"/> is <bcp14>RECOMMENDED</bcp14> for the partial-attestation-signature and sealing-signature primitive classes. Implementations <bcp14>MUST</bcp14> declare their chosen post-quantum primitives in the Bilateral Register Agreement.</t>
 </section>
<section anchor="side-channel-considerations">
 <name>Side-Channel Considerations</name>
 <t>Per-register projection narrowing is observable to the addressed register through the Projected Predicate. Implementations <bcp14>MUST NOT</bcp14> use narrowing patterns to fingerprint individual subjects. The Predicate Taxonomy <bcp14>SHOULD</bcp14> be designed such that the set of permitted narrowings is small enough that narrowing observation does not materially weaken subject privacy.</t>
 </section>
 </section>
<section anchor="iana-considerations">
 <name>IANA Considerations</name>
 <t>This document requests IANA to register the following:</t>
 <ul spacing="normal">
 <li>A namespace for ARP-specific COSE protected-header labels in the range</li>
 </ul>
 <t>0x800 .. 0x8FF, containing at least:</t>
 <ul spacing="normal">
 <li><tt>arp-bilateral-agreement-hash</tt> (label 0x801)</li>
 <li><tt>arp-policy-version-hash</tt> (label 0x802)</li>
 <li><tt>arp-pattern-library-hash</tt> (label 0x803)</li>
 <li><tt>arp-divergence-axis</tt> (label 0x804)</li>
 <li><tt>arp-requester-binding-class</tt> (label 0x805)</li>
 </ul>
 <ul spacing="normal">
 <li>A media type <tt>application/arp-reconciliation-output+cbor</tt> for the CBOR-encoded Reconciliation Output.</li>
 </ul>
 <ul spacing="normal">
 <li>A media type <tt>application/arp-reconciliation-output+json</tt> for the Verifiable Credentials JSON-LD form.</li>
 </ul>
 </section>
<section anchor="acknowledgments">
 <name>Acknowledgments</name>
 <t>This document benefits from the SCITT Architecture <xref target="I-D.ietf-scitt-architecture"/>, the SCITT Reference APIs <xref target="I-D.ietf-scitt-scrapi"/>, COSE Receipts <xref target="I-D.ietf-cose-merkle-tree-proofs"/>, the RATS Architecture <xref target="RFC9334"/>, HTTP Message Signatures <xref target="RFC9421"/>, and the Web Bot Auth architecture <xref target="I-D.meunier-web-bot-auth-architecture"/>.</t>
 </section>
 </middle>
 <back>
 <references>
 <name>References</name>
 <references>
 <name>Normative References</name>
 <reference anchor="RFC2119">
 <front>
 <title>Key words for use in RFCs to Indicate Requirement Levels</title>
 <author initials="S." surname="Bradner" fullname="S. Bradner"><organization/></author>
 <date month="March" year="1997"/>
 </front>
 <seriesInfo name="BCP" value="14"/>
 <seriesInfo name="RFC" value="2119"/>
 <seriesInfo name="DOI" value="10.17487/RFC2119"/>
 </reference>
 <reference anchor="RFC8174">
 <front>
 <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
 <author initials="B." surname="Leiba" fullname="B. Leiba"><organization/></author>
 <date month="May" year="2017"/>
 </front>
 <seriesInfo name="BCP" value="14"/>
 <seriesInfo name="RFC" value="8174"/>
 <seriesInfo name="DOI" value="10.17487/RFC8174"/>
 </reference>
 <reference anchor="RFC9052">
 <front>
 <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
 <author initials="J." surname="Schaad" fullname="J. Schaad"><organization/></author>
 <date month="August" year="2022"/>
 </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 initials="J." surname="Schaad" fullname="J. Schaad"><organization/></author>
 <date month="August" year="2022"/>
 </front>
 <seriesInfo name="RFC" value="9053"/>
 <seriesInfo name="DOI" value="10.17487/RFC9053"/>
 </reference>
 <reference anchor="RFC9334">
 <front>
 <title>Remote ATtestation procedureS (RATS) Architecture</title>
 <author initials="H." surname="Birkholz" fullname="H. Birkholz"><organization/></author>
 <date month="January" year="2023"/>
 </front>
 <seriesInfo name="RFC" value="9334"/>
 <seriesInfo name="DOI" value="10.17487/RFC9334"/>
 </reference>
 <reference anchor="RFC9421">
 <front>
 <title>HTTP Message Signatures</title>
 <author initials="A." surname="Backman" fullname="A. Backman"><organization/></author>
 <date month="February" year="2024"/>
 </front>
 <seriesInfo name="RFC" value="9421"/>
 <seriesInfo name="DOI" value="10.17487/RFC9421"/>
 </reference>
 <reference anchor="I-D.ietf-scitt-architecture">
 <front>
 <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
 <author initials="H." surname="Birkholz" fullname="H. Birkholz"><organization/></author>
 <date year="2026"/>
 </front>
 <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-architecture"/>
 </reference>
 <reference anchor="I-D.ietf-cose-merkle-tree-proofs">
 <front>
 <title>COSE Receipts</title>
 <author initials="O." surname="Steele" fullname="O. Steele"><organization/></author>
 <date year="2026"/>
 </front>
 <seriesInfo name="Internet-Draft" value="draft-ietf-cose-merkle-tree-proofs"/>
 </reference>
 </references>
 <references>
 <name>Informative References</name>
 <reference anchor="RFC8259">
 <front>
 <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
 <author initials="T." surname="Bray" fullname="T. Bray"><organization/></author>
 <date month="December" year="2017"/>
 </front>
 <seriesInfo name="STD" value="90"/>
 <seriesInfo name="RFC" value="8259"/>
 <seriesInfo name="DOI" value="10.17487/RFC8259"/>
 </reference>
 <reference anchor="I-D.ietf-scitt-scrapi">
 <front>
 <title>SCITT Reference APIs</title>
 <author initials="H." surname="Birkholz" fullname="H. Birkholz"><organization/></author>
 <date year="2026"/>
 </front>
 <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-scrapi"/>
 </reference>
 <reference anchor="I-D.mih-scitt-agent-action-capsule">
 <front>
 <title>An Agent Action Capsule for Accountable Autonomous Action</title>
 <author initials="S." surname="Mih" fullname="S. Mih"><organization/></author>
 <date year="2026"/>
 </front>
 <seriesInfo name="Internet-Draft" value="draft-mih-scitt-agent-action-capsule"/>
 </reference>
 <reference anchor="I-D.meunier-web-bot-auth-architecture">
 <front>
 <title>Web Bot Auth Architecture</title>
 <author initials="T." surname="Meunier" fullname="T. Meunier"><organization/></author>
 <date year="2026"/>
 </front>
 <seriesInfo name="Internet-Draft" value="draft-meunier-web-bot-auth-architecture"/>
 </reference>
 <reference anchor="I-D.meunier-webbotauth-registry">
 <front>
 <title>Web Bot Auth Signature-Agent Registry</title>
 <author initials="T." surname="Meunier" fullname="T. Meunier"><organization/></author>
 <date year="2026"/>
 </front>
 <seriesInfo name="Internet-Draft" value="draft-meunier-webbotauth-registry"/>
 </reference>
 <reference anchor="FIPS203" target="https://csrc.nist.gov/publications/detail/fips/203/final">
 <front>
 <title>Module-Lattice-Based Key-Encapsulation Mechanism Standard (ML-KEM)</title>
 <author><organization/></author>
 <date year="2024"/>
 </front>
 <seriesInfo name="NIST" value="FIPS 203"/>
 </reference>
 <reference anchor="FIPS204" target="https://csrc.nist.gov/publications/detail/fips/204/final">
 <front>
 <title>Module-Lattice-Based Digital Signature Standard (ML-DSA)</title>
 <author><organization/></author>
 <date year="2024"/>
 </front>
 <seriesInfo name="NIST" value="FIPS 204"/>
 </reference>
 <reference anchor="W3C-VC-DM-2.0" target="https://www.w3.org/TR/vc-data-model-2.0/">
 <front>
 <title>Verifiable Credentials Data Model 2.0</title>
 <author><organization/></author>
 <date year="2025"/>
 </front>
 </reference>
 </references>
 </references>
<section anchor="examples">
 <name>Examples</name>
<section anchor="example-three-register-sanctions-reconciliation">
 <name>Example: Three-register Sanctions Reconciliation</name>
 <t>A relying party requests reconciliation of the predicate <tt>sanctions:any-list-match</tt> for subject identifier <tt>corp:DUNS:0123456789</tt> against the OFAC SDN list, the EU consolidated list, and the UK OFSI list.</t>
 <t>Each Bilateral Register Agreement permits the predicate. The projection function emits identical Per-Register Claim Projections to all three registers. All three return Partial Attestations with verdict <tt>no-match</tt>.</t>
 <t>The Aggregation Subsystem operates in Homomorphic Aggregation Mode (all three registers declare homomorphic capability). The Verdict Arithmetic is disjunction. The Combined Verdict is <tt>no-match</tt>.</t>
 <t>The Reconciliation Output is sealed against the current Policy-Version Hash. The Settlement-Layer Ledger entry comprises:</t>
 <ul spacing="normal">
 <li>Entry Sequence Number: 4,217,981</li>
 <li>Reconciliation Hash: &lt;32 bytes&gt;</li>
 <li>Policy-Version Hash: &lt;32 bytes&gt;</li>
 <li>Addressed-Registers Identifier Set: ["EU-CONSOLIDATED-2026-Q2", "UK-OFSI-2026-Q2", "US-OFAC-SDN-2026-Q2"]</li>
 <li>Aggregation-Method Descriptor: "homomorphic-disjunction"</li>
 <li>Requester-Binding-Class Descriptor: "human-operator"</li>
 <li>Reconciliation Timestamp: 2026-04-27T19:47:14Z</li>
 <li>Prior-Entry Hash: &lt;32 bytes&gt;</li>
 <li>Self-Entry Hash: &lt;32 bytes&gt;</li>
 </ul>
 <t>No register record content is stored on the Ledger.</t>
 </section>
<section anchor="example-retroactive-re-evaluation">
 <name>Example: Retroactive Re-evaluation</name>
 <t>Six weeks after the above reconciliation, OFAC adds the subject to the SDN list as part of a new tranche. The OFAC register's Partial-Attestation endpoint, on next invocation, would return verdict <tt>match</tt> with divergence-axis <tt>sanctions-list-match</tt>.</t>
 <t>The Retroactive Evaluation Subsystem detects the new Pattern-Library and Policy-Version transition, re-invokes Partial Attestations on all historical reconciliations addressing OFAC under the superseded Policy-Version Hash, identifies the material verdict change, and emits a Sovereign Re-Notification through the Regulator Portal to the regulators whose statutory-regulator-access scope intersects the changed reconciliation. A new Reconciliation Output is appended to the Ledger referencing the superseded one in its Source-Reconciliation-Output Identifier field.</t>
 </section>
<section anchor="example-agentic-principal-reconciliation">
 <name>Example: Agentic Principal Reconciliation</name>
 <t>An autonomous agent requests reconciliation of <tt>sanctions:any-list-match</tt> over HTTP, signing the request under HTTP Message Signatures <xref target="RFC9421"/> with a key published in a Web Bot Auth signature-agent card. The reconciliation server verifies the signature (Agent Friend-or-Foe Determination: the agent carries a verifiable identity) but the Agent-IFF policy for the <tt>sanctions:</tt> class requires an attributable principal for a decisive verdict.</t>
 <t>The server therefore first performs an <tt>agent:principal-binding-verifiable</tt> reconciliation with Subject Identifier set to the agent's key thumbprint and Attested Value set to the asserted principal <tt>org:ACME:operator:jdoe</tt>, addressing the ACME organisational directory register and the credential-issuer status-list register. Both return <tt>match</tt>. The Requester-Binding class is set to <tt>agent-verified</tt> with accountable principal <tt>org:ACME:operator:jdoe</tt>, committed to the Policy-Version Hash, and only then is the sanctions reconciliation performed with a decisive verdict binding. Had either identity register returned <tt>no-match</tt> with axis <tt>agent-impersonation-suspected</tt>, the sanctions reconciliation would have been refused or downgraded to advisory per policy.</t>
 </section>
<section anchor="example-divergent-agent-action-reconciliation">
 <name>Example: Divergent Agent-Action Reconciliation</name>
 <t>An autonomous agent is authorised, by a signed CAN capsule, to read from a named evaluation dataset and to write only to a sandboxed result store. During execution the agent's actual conduct, attested by a WHAT capsule produced by the execution environment, includes an outbound network connection to an external host and a write outside the sandboxed store.</t>
 <t>A relying party submits both capsules to ARP over the <tt>agent:</tt> predicate branch with a shared subject digest computed over the action. ARP verifies each capsule's signature, projects the authorised scope from the CAN capsule and the actual scope from the WHAT capsule, and reconciles them. The scopes diverge: the actual conduct exceeds the authorised scope. The Combined Verdict is <tt>no-match</tt> with divergence axis <tt>agent-action-scope-divergence</tt>.</t>
 <t>Because the Agent-IFF policy for this action class requires a decisive <tt>match</tt> before the action is treated as authorised, the divergent verdict is available as a refusal at decision time -- the reconciliation surfaces the excess while the action can still be refused, rather than after the consequence. The Reconciliation Output is sealed against the Policy-Version Hash and written to the Settlement-Layer Ledger as hashes only, with requester-binding class <tt>agent-verified</tt> and no register or capsule content disclosed.</t>
 </section>
 </section>
<section anchor="composition-with-the-scitt-architecture">
 <name>Composition with the SCITT Architecture</name>
 <t>The SCITT Architecture <xref target="I-D.ietf-scitt-architecture"/> provides notarisation of supply-chain artefacts, including transparency receipts, transparent statements, and registries. ARP composes with SCITT in four ways:</t>
 <ol spacing="normal">
 <li>SCITT receipts <bcp14>MAY</bcp14> be the input claim to ARP. A claim referencing a SCITT-anchored artefact (its hash and its registration receipt) is reconciled across registers without disclosing the underlying artefact.</li>
 </ol>
 <ol spacing="normal">
 <li>ARP Reconciliation Outputs <bcp14>MAY</bcp14> be notarised into SCITT registries as transparent statements, enabling SCITT-aware relying parties to verify the cross-sovereign reconciliation event in the same way they verify any other supply-chain claim. Registration and retrieval <bcp14>MAY</bcp14> use the SCITT Reference APIs <xref target="I-D.ietf-scitt-scrapi"/>.</li>
 </ol>
 <ol spacing="normal">
 <li>The SCITT Architecture's Identity Manager and Issuer roles map cleanly to the Bilateral Register Agreement structure: each Sovereign Register acts as a SCITT Issuer for a constrained predicate set, and the reconciliation server acts as a SCITT Aggregator across multiple Issuers.</li>
 </ol>
 <ol spacing="normal">
 <li>ARP Hash-Linkage Aggregation emits its Merkle commitment as COSE Receipts <xref target="I-D.ietf-cose-merkle-tree-proofs"/>, the same inclusion-proof format SCITT uses for transparency receipts, so a single verifier library checks both.</li>
 </ol>
 </section>
<section anchor="composition-with-the-rats-architecture">
 <name>Composition with the RATS Architecture</name>
 <t>The RATS Architecture <xref target="RFC9334"/> provides remote-attestation procedures for compute-substrate trust. ARP composes with RATS in two ways:</t>
 <ol spacing="normal">
 <li>The Adversarial Pre-Transmission Test runs inside a confidential computing boundary attested under RATS. The reconciliation server's integrity <bcp14>MAY</bcp14> be verified by relying parties through standard RATS verification flows.</li>
 </ol>
 <ol spacing="normal">
 <li>Compute-attestation reconciliation across heterogeneous TEE / CC providers is the natural specialisation of ARP to the RATS evidence class. A separate document specifies that specialisation.</li>
 </ol>
 </section>
<section anchor="composition-with-agent-action-accountability-capsules">
 <name>Composition with Agent-Action Accountability Capsules</name>
 <t>Emerging work in the SCITT community models accountable autonomous action as a set of heterogeneous, independently produced attestation capsules -- for example a capsule asserting what an agent was authorised to do, a capsule asserting on whose authority it acted, a capsule asserting what it in fact did, and an audit capsule linking the foregoing <xref target="I-D.mih-scitt-agent-action-capsule"/>. Each capsule may be produced by a different party, under a different signing chain, with a different payload schema -- the same non-reconcilable-outputs problem this document addresses for sovereign registers, arising in the agent-action domain.</t>
 <t>ARP composes such capsules without requiring them to share a producer, a schema, or a signing chain. The capsules are bound to a common action through a shared subject digest, computed as the SHA-256 of the canonical JSON serialisation of the action being attested (subject_digest = SHA-256(JCS(action))). Two further profile-tagged digests position each capsule for reconciliation: an authority-reference digest committing to the authorising instrument (tagged <tt>transparency</tt> where it is the SHA-256 of a COSE_Sign1 transparency receipt, or <tt>offline</tt> where it is the SHA-256 of the canonical JSON of an offline receipt payload), and a receipt-payload digest committing to the capsule's own payload.</t>
 <t>Each capsule is admitted to ARP as a Partial-Attestation source keyed on the shared subject digest. The reconciliation server verifies each capsule's signature under its own trust anchor, projects each into the <tt>agent:</tt> predicate branch, and aggregates the per-capsule verdicts under the Verdict Arithmetic declared for the action class -- yielding a single, producer-agnostic Combined Verdict over an action whose constituent attestations were never designed to interoperate. Where the authorised-scope capsule and the actual-conduct capsule reconcile to divergent scopes, the Combined Verdict is <tt>no-match</tt> with divergence axis <tt>agent-action-scope-divergence</tt>; the divergence is a refusable control input, produced at decision time and sealed to the Settlement-Layer Ledger as hashes only.</t>
 <t>This composition is the agent-action specialisation of the mechanism ARP applies to sovereign registers: reconcile heterogeneous authoritative outputs over a shared subject into one deterministic verdict, disclose only verdict and divergence, and seal against a Policy-Version Hash. It allows a relying party to reconcile what an agent was permitted to do against what it did, at the moment of action, across attestations no single party produced.</t>
 </section>
<section anchor="document-history">
 <name>Document History</name>
 <t>RFC Editor: please remove this section before publication.</t>
<section anchor="since-draft-hillier-scitt-arp-00">
 <name>Since draft-hillier-scitt-arp-00</name>
 <ul spacing="normal">
 <li>Added a fourth motivating deficiency (unverifiable requester identity in an agentic setting) to the Introduction.</li>
 <li>Added a new pipeline subsystem, Requester Identity Binding and Agent Friend-or-Foe (IFF) Gate, and renumbered the pipeline to twelve subsystems.</li>
 <li>Added the <tt>agent:</tt> predicate branch, a new Agentic Principal Reconciliation section, and the divergence axes <tt>agent-principal-unverifiable</tt>, <tt>agent-credential-absent</tt>, and <tt>agent-impersonation-suspected</tt>.</li>
 <li>Added Requester-Binding to the Policy-Version Hash commitment and a requester-binding-class descriptor to the Settlement-Layer Ledger entry.</li>
 <li>Bound ARP to HTTP Message Signatures <xref target="RFC9421"/> and Web Bot Auth for signed agent requests, and added an Agent Impersonation security consideration.</li>
 <li>Replaced the stale scitt-receipts reference with COSE Receipts <xref target="I-D.ietf-cose-merkle-tree-proofs"/> and added the SCITT Reference APIs <xref target="I-D.ietf-scitt-scrapi"/>; Hash-Linkage Aggregation now emits COSE Receipts.</li>
 <li>Described the Evidentiary Provenance Manifest's optional carriage as a COSE-enveloped Verified-Principal-Credential evidence container.</li>
 <li>Extended Retroactive Evaluation to treat credential revocation as a material change, and added a new IANA header label and worked agentic example.</li>
 <li>Added the motivating agentic-containment failure class to the Introduction and framed real-time reconciliation of claimed-versus-actual conduct as a first-class property, distinct from after-the-fact forensic reconstruction.</li>
 <li>Added a Composition with Agent-Action Accountability Capsules section reconciling heterogeneous CAN/WHO/WHAT/AUDIT capsules <xref target="I-D.mih-scitt-agent-action-capsule"/> over a shared subject digest into a producer-agnostic verdict, with a worked divergent agent-action example.</li>
 <li>Added the <tt>agent-action-scope-divergence</tt> divergence axis.</li>
 <li>Removed two unused informative references (JWS, JWT).</li>
 </ul>
 </section>
 </section>
 </back>
</rfc>
