<?xml version="1.0" encoding="utf-8"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     docName="draft-schrock-action-evidence-boundary-06"
     category="info" ipr="trust200902"
     version="3" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Action Evidence Boundary">The Action Evidence Boundary for Consequential Agent Effects</title>
    <seriesInfo name="Internet-Draft" value="draft-schrock-action-evidence-boundary-06"/>
    <author fullname="Iman Schrock">
      <organization>EMILIA Protocol, Inc.</organization>
      <address>
        <postal>
          <country>US</country>
        </postal>
        <email>team@emiliaprotocol.ai</email>
      </address>
    </author>
    <date year="2026" month="September" day="24"/>
    <area>sec</area>
    <keyword>AI agents</keyword>
    <keyword>authorization evidence</keyword>
    <keyword>effect boundary</keyword>
    <keyword>replay prevention</keyword>
    <keyword>reconciliation</keyword>
    <abstract>
      <t>Consequential agent actions can cross identity, transport,
      authorization, policy, and execution systems. Each system can produce a
      valid artifact while the executor still lacks a safe rule for joining
      the artifacts to the exact effect, consuming one-time authority, and
      handling an uncertain outcome. This document defines the Action
      Evidence Boundary (AEB), an executor-side processing model for that
      lifecycle.</t>
      <t>AEB requires native artifact verification, exact-action binding,
      a relying-party authorization decision, stable replay identity, durable
      atomic consumption or reservation, provider entry, closed effect
      outcomes, and authenticated reconciliation. CAID matching is used when
      independently encoded native representations must be joined. AEC is
      used when local policy requires multiple evidence legs. A native
      authorization decision accepted and enforced by the effect-owning PEP
      does not require a second PDP. AEB defines no receipt or token format,
      no policy language, no universal evidence taxonomy, and no new
      registry. Native workload credentials, OAuth artifacts, AuthZEN
      decisions, AP2 mandates, message signatures, permits, authorization
      receipts, and status mechanisms retain their own semantics and
      verifiers.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro">
      <name>Introduction</name>
      <t>A remote executor can receive several independently useful inputs:
      a workload credential and protected request, a delegation or capability,
      a pre-execution permit, a human-authorization artifact, and a policy
      decision. None of those inputs alone answers every question the
      consequence-owning system has to answer before changing its system of
      record.</t>
      <t>The missing contract is at the effect boundary after authorization.
      The executor must determine what exact material action it is about to
      perform; verify each native artifact; preserve the authorization result
      produced by the selected native path; correlate independently encoded
      representations without guessing when such a join is required; derive a
      stable replay identity; consume or reserve any one-time or bounded
      authority; enter the provider once; and preserve uncertainty when the
      effect cannot be observed conclusively.</t>
      <t>This document defines that contract. Its required order is:</t>
      <artwork type="ascii-art"><![CDATA[
 native verification
        |
        v
 exact-action correspondence
 (native binding, or CAID for a cross-format join)
        |
        v
 additional evidence SATISFIED when required
 (AEC for a multi-leg requirement)
        |
        v
 native PEP or local AUTHORIZED
        |
        v
 stable native replay identity
        |
        v
 atomic CONSUMED / RESERVED
        |
        v
 durable DISPATCH_PENDING at provider entry
        |
        v
 INVOKED
        |
        +--> EXECUTED
        +--> FAILED
        +--> INDETERMINATE --> authenticated reconciliation
]]></artwork>
      <t>The CAID and AEC stages are conditional. A native authorization path
      can bind one operation directly and satisfy the relying party without a
      cross-format join or a multi-leg requirement. A signature is not
      authority. Native verification is not action correlation. Action
      correlation is not evidence satisfaction. Evidence satisfaction is not
      authorization. Authorization is not provider entry or execution. An
      invocation error is not proof that no effect occurred.</t>
      <section anchor="scope">
        <name>Scope and Non-Goals</name>
        <t>AEB specifies processing requirements for a boundary that controls
        a consequential effect. It can be implemented at a protocol gateway,
        service mesh component, application middleware, execution adapter, or
        system-of-record write path, provided the deployment states which
        effect paths the boundary actually mediates.</t>
        <t>AEB does not define:</t>
        <ul spacing="normal">
          <li>a new authorization receipt, access token, attestation token,
          permit, credential, or execution-evidence format;</li>
          <li>a native signature, credential, revocation, status, or
          transparency verification algorithm;</li>
          <li>a policy language, universal authorization decision, or
          universal human-approval inference;</li>
          <li>a second policy decision point, a replacement for an existing
          protocol-to-authorization mapping, or a requirement that an
          authorization result be re-decided under AEB;</li>
          <li>general semantic equivalence between actions;</li>
          <li>provider truth, physical truth, legality, safety, wisdom, or
          complete mediation merely because an AEB implementation is
          present; or</li>
          <li>a registry for evidence types, states, action mappings, or
          verifier names.</li>
        </ul>
      </section>
    </section>

    <section anchor="conventions">
      <name>Conventions and Terminology</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
      NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
      "MAY", and "OPTIONAL" 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>BCP 14 is indexed by the RFC Editor at <xref target="BCP14"/>.</t>
      <dl newline="false" spacing="normal">
        <dt>Effect boundary:</dt>
        <dd>The last control point that can withhold the protected mutation
        before it is submitted to the effecting system.</dd>
        <dt>Relying party:</dt>
        <dd>The party that selects trust inputs, action definitions, mapping
        profiles, evidence requirements, freshness rules, and local
        authorization policy, and that relies on the resulting decision.</dd>
        <dt>Native artifact:</dt>
        <dd>An evidence, credential, permit, token, receipt, status, or
        message-protection object defined outside AEB and verified under its
        own specification.</dd>
        <dt>Native authorization result:</dt>
        <dd>A permit or refusal produced under the selected authorization
        protocol and enforced by its policy enforcement point. The native
        protocol remains authoritative for the mapping, decision, and
        enforcement semantics it defines.</dd>
        <dt>Field-origin assertion:</dt>
        <dd>A native artifact in which an issuer asserts how exact fields of
        an action representation were sourced or transformed, and optionally
        the point-in-time snapshot on which that assertion rests. Verification
        establishes the issuer's signed assertion under pinned trust inputs;
        it does not independently establish where the bytes truly originated.</dd>
        <dt>Observed action:</dt>
        <dd>The immutable material action constructed by the effect boundary
        from executor-controlled parsing and system-of-record facts.</dd>
        <dt>Material field:</dt>
        <dd>A field whose change can alter the protected consequence, as
        declared by the selected CAID action-type definition.</dd>
        <dt>Invocation:</dt>
        <dd>The first dispatch of the frozen authorized action to a component
        that can cause the protected effect.</dd>
        <dt>Authoritative reconciliation:</dt>
        <dd>An authenticated, audience-bound observation from the effecting
        provider or system of record that is matched to the original action
        and operation identifier.</dd>
      </dl>
    </section>

    <section anchor="vocabulary">
      <name>Non-Collapsing Decision and Lifecycle Vocabulary</name>
      <t>AEB uses the following decisions with the meanings established by
      the EMILIA architecture and its component drafts:</t>
      <dl newline="false" spacing="normal">
        <dt>VERIFIED:</dt>
        <dd>One native artifact passed its native verifier under
        relying-party-selected trust inputs.</dd>
        <dt>MATCH:</dt>
        <dd>Independently verified artifacts denote the same material action
        directly or under exact relying-party-pinned CAID mapping
        profiles. This state is needed when the boundary joins independently
        encoded representations; it is not an extra requirement for a single
        native representation whose exact-action binding is preserved through
        provider entry.</dd>
        <dt>SATISFIED:</dt>
        <dd>Verified and matched evidence fills every slot in the relying
        party's AEC requirement. This state applies when local policy selects
        a multi-leg AEC requirement.</dd>
        <dt>AUTHORIZED:</dt>
        <dd>The effect-owning PEP accepts a native authorization result, or the
        consequence-owning relying party's local policy permits, this exact
        action at this time. AEB records this result; it does not require a
        second PDP.</dd>
        <dt>EXECUTED:</dt>
        <dd>The executor records, or an accepted native artifact attests,
        that the exact effect occurred. This meaning remains bounded by the
        native source and its trust assumptions.</dd>
      </dl>
      <t>AEB also names operational lifecycle states:</t>
      <dl newline="false" spacing="normal">
        <dt>CONSUMED:</dt>
        <dd>A one-time authorization, challenge, operation key, or equivalent
        native replay unit has been durably made unavailable for another
        invocation.</dd>
        <dt>RESERVED:</dt>
        <dd>Bounded state, such as a capability budget, has been durably
        fenced for the exact operation before invocation.</dd>
        <dt>DISPATCH_PENDING:</dt>
        <dd>A durable intent record binds the frozen action, operation
        identifier, provider environment, and reservation before any
        effecting dispatch can occur. Recovery treats a stranded intent as
        uncertain, not as unused authority.</dd>
        <dt>INVOKED:</dt>
        <dd>The protected effect was dispatched using the frozen authorized
        action and operation identifier.</dd>
        <dt>FAILED:</dt>
        <dd>Authoritative executor or reconciliation evidence establishes
        that the invoked operation did not cause the protected effect. A
        local exception or timeout alone is not sufficient.</dd>
        <dt>INDETERMINATE:</dt>
        <dd>Invocation began, but available authoritative evidence does not
        establish whether the protected effect occurred.</dd>
      </dl>
      <t>CONSUMED, RESERVED, DISPATCH_PENDING, INVOKED, FAILED, and
      INDETERMINATE are lifecycle terms, not new evidence types or IANA
      registry values. A deployment MAY use different local labels if their
      semantics are at least as strict.</t>
    </section>

    <section anchor="pins">
      <name>Relying-Party Inputs and Pins</name>
      <t>The requester, presenter, agent, and mutable intermediary context are
      untrusted inputs. They MAY propose an action and present native
      artifacts. They MUST NOT select or weaken the controls used to accept
      that request.</t>
      <t>Before evaluating an action, the relying party MUST configure or pin,
      as applicable:</t>
      <ul spacing="normal">
        <li>the supported native artifact revisions, verifier adapters,
        algorithms, trust anchors, issuers, audiences, and status sources;</li>
        <li>when field-origin evidence is required, the accepted assertion
        profile and digest, trusted issuers and keys, allowed origin classes
        and transformations for each exact field, snapshot policy, maximum
        snapshot age, and unavailable-state behavior;</li>
        <li>when independently encoded representations require a cross-format
        join, the CAID suite, action-type definition source, exact source
        descriptors, and mapping-profile digests;</li>
        <li>when local policy requires multiple evidence legs, the AEC
        requirement and the admissible native evidence roles for each slot;</li>
        <li>local policy identifiers, policy epochs, tenant and organization
        boundaries, and any separation-of-duty rule;</li>
        <li>the trusted clock, maximum ages, validity windows, allowed skew,
        and revocation or status freshness requirements;</li>
        <li>the durable replay, consumption, reservation, and operation-key
        namespaces; and</li>
        <li>the protected executor, provider environment, reconciliation
        endpoint, and authenticated provider or system-of-record identities.</li>
      </ul>
      <t>A label, key, profile identifier, requirement, status assertion, or
      policy identifier carried only in presenter-controlled data MUST NOT
      become its own trust anchor. Missing, conflicting, unsupported, or
      ambiguous required configuration MUST fail closed.</t>
    </section>

    <section anchor="processing">
      <name>Required Processing Model</name>
      <section anchor="observe-action">
        <name>Construct the Observed Material Action</name>
        <t>The effect boundary MUST construct an immutable observed action
        from effect-relevant facts it controls. Depending on the application,
        those facts can include the protocol operation, tool or method,
        target resource, tenant, account, amount, currency, destination,
        environment, input digest, and unique operation identifier.</t>
        <t>The boundary MUST resolve the exact native operation profile used
        for authorization and include every field that profile makes material
        to the protected consequence. When a cross-format join is required, it
        MUST also resolve a relying-party-pinned CAID action-type definition
        and include every field that definition declares material. It MUST NOT
        copy a requester-supplied action digest, CAID, amount, destination, or
        resource reference without deriving or checking the corresponding
        fact at the protected boundary. If the boundary cannot determine all
        material fields required by the selected native or cross-format
        profile, it MUST refuse before invocation.</t>
        <t>The observed action MUST be frozen for the remainder of the
        lifecycle. A later adapter MUST NOT reconstruct a different action
        from mutable request state after authorization.</t>
        <t>When emitting or comparing a CAID, the boundary MUST validate the
        constructed action against the complete pinned action-type definition.
        A source representation is construction-compatible only when a pinned
        mapping can derive every material target field without guessing.
        Construction compatibility is distinct from content equivalence:
        compatible inputs can still map to different actions, while a missing,
        ambiguous, or unverified material field yields INDETERMINATE. A
        boundary that does not perform a cross-format join still MUST preserve
        the native protocol's exact-operation binding through provider entry.</t>
      </section>

      <section anchor="native-verification">
        <name>Verify Each Native Artifact</name>
        <t>Each required native artifact MUST be verified independently under
        its own specification and relying-party-selected trust inputs before
        CAID mapping or AEC evaluation. The AEB implementation MUST use the
        integrity-protected payload returned by the native verifier, or a
        projection for which the adapter establishes integrity coverage of
        every projected field.</t>
        <t>A successful signature check is only one possible step of native
        verification. Schema, algorithm, issuer, audience, key status,
        validity, proof-of-possession, freshness, replay, and native policy
        checks remain those of the selected native profile. A verifier
        exception, unavailable required status source, unsupported critical
        field, or ambiguous result MUST become a bounded refusal, never an
        allow path.</t>
        <t>The output of this stage is VERIFIED for each accepted artifact.
        An artifact that has not reached VERIFIED MUST NOT participate in a
        selected action mapping or fill a selected AEC requirement slot.</t>
      </section>

      <section anchor="caid-match">
        <name>Establish Exact-Action Correspondence</name>
        <t>The boundary MUST establish that the exact operation authorized by
        the selected native path is the operation that will enter the
        provider. When both are expressed in one native representation, the
        boundary MAY use the exact native identifier, digest, or protected
        operation fields defined by that protocol.</t>
        <t>When the boundary joins independently encoded representations, it
        MUST recompute the CAID of the observed action under the selected suite
        and definition source. It MUST compare every action-bound required
        artifact to that observed action using direct CAID equality or the
        Action-Mapping Profile defined by <xref target="CAID"/>.</t>
        <t>Cross-format mapping MUST occur only after native verification and
        MUST use the exact source media type, schema version, target action
        type, definition source, and mapping-profile digest pinned by the
        relying party. Every target material field MUST be covered. Missing,
        lossy, unknown, unpinned, conflicting, or ambiguous mappings yield
        INDETERMINATE under CAID and MUST fail a required MATCH. AEB MUST NOT
        guess equivalence from names, natural-language descriptions, trace
        identifiers, or presenter assertions.</t>
        <t>CAID is conditional machinery for a cross-format join, not a second
        authorization protocol. MATCH is content correlation only. It does not
        validate a native artifact and does not authorize execution.</t>
      </section>

      <section anchor="field-origin-assertions">
        <name>Evaluate Required Field-Origin Assertions</name>
        <t>A relying party MAY require a natively verified field-origin
        assertion for selected fields before admission. This document defines
        the processing contract for that input, not a field-origin wire format,
        origin taxonomy, scanner, or transformation language.</t>
        <t>The boundary MUST verify the assertion under the relying party's
        pinned native verifier, issuer and key, assertion profile and digest,
        action binding, field selectors, accepted origin classes, accepted
        transformation definitions, snapshot policy, freshness bound, and
        status inputs. The verifier output MUST bind each asserted field to the
        exact observed action or to a lossless, pinned mapping to that action.
        A profile identifier or origin label carried only by the presenter
        MUST NOT select its own verifier or trust root.</t>
        <t>A verified assertion establishes that the pinned issuer made the
        signed claim. It does not independently prove source truth, semantic
        correctness, absence of prompt injection, authorization, settlement,
        or the truth of a later physical effect. If policy requires an origin
        constraint for a material field, a missing assertion, unknown or
        disallowed origin, unpinned transformation, stale or unreliable
        required snapshot, action mismatch, or unavailable required status
        MUST withhold admission. The boundary MUST preserve the distinction
        between assertion verification and acceptance under local policy.</t>
        <t>A field-origin policy SHOULD be discriminating rather than a blanket
        prohibition on untrusted content. For example, it can refuse an
        untrusted message that selects a payee or destination while accepting
        the same origin class for a bounded non-authoritative memo field. The
        accepted and refused field classes are relying-party policy, not
        universal AEB semantics.</t>
        <t><tt>EP-FIELD-ORIGIN-v0.1</tt> and its finance-operations Gap 6 runner
        are an informative reference implementation profile
        <xref target="EP-FIELD-ORIGIN"/>. They do not become a mandatory AEB
        format and their same-team results are not independent implementation
        evidence.</t>
      </section>

      <section anchor="aec-satisfaction">
        <name>Evaluate Additional Evidence Requirements When Required</name>
        <t>AEB does not require an AEC evaluation when one native
        authorization result, enforced by the effect-owning PEP, satisfies the
        relying party's complete requirement. When local policy requires
        multiple evidence legs, the boundary MUST submit only natively
        verified, action-matched evidence to an AEC verifier configured with
        the relying party's requirement. The requirement used for the decision
        MUST come from relying-party configuration, not from a
        presenter-controlled AEC member.</t>
        <t>Every required evidence role MUST be filled by an artifact whose
        native verifier and adapter are accepted for that role. A workload
        identity MUST NOT silently fill a policy-permit or human-authorization
        slot. A machine-policy decision MUST NOT silently fill a named-human
        slot. A generic operator signature MUST NOT be interpreted as evidence
        that a human operated a system or performed a named approval ceremony.</t>
        <t>When AEC is selected, only a successful evaluation under these
        inputs reaches SATISFIED. UNSATISFIED, malformed, unsupported, or
        ambiguous results MUST withhold invocation. AEB MUST NOT insert an AEC
        leg merely to re-decide or relabel one native PDP result.</t>
        <t>A qualification statement can fill an evaluation-evidence role only
        when its native verifier establishes the measured candidate,
        evaluation campaign, assignment, policy, freshness, and status. A
        qualification result MUST NOT fill an authorization role and MUST NOT
        by itself cause SATISFIED, AUTHORIZED, reservation, or invocation.</t>
      </section>

      <section anchor="boundary-requirement">
        <name>Pinned Boundary Requirement and Evaluation Record</name>
        <t>The consequence-owning relying party MUST pin every adapter
        revision, trust root, mapping profile, evidence requirement, and
        boundary constraint used for a decision. The presenter MUST NOT select
        or weaken those inputs. The following EP-AEB-REQUIREMENT-v1 object is
        an optional closed profile for a deployment that selects AEC and
        multiple evidence roles. It is not required for a single native
        authorization path:</t>
        <sourcecode type="json"><![CDATA[
{
  "@version": "EP-AEB-REQUIREMENT-v1",
  "all_of": ["human-authorization", "policy-permit"],
  "terms": [
    { "type": "distinct-human-quorum",
      "role": "human-authorization", "threshold": 2 },
    { "type": "initiator-exclusion",
      "roles": ["human-authorization"] },
    { "type": "executor-exclusion",
      "roles": ["human-authorization"] },
    { "type": "one-time-consumption" }
  ]
}
]]></sourcecode>
        <t>An implementation of this optional object MUST reject unknown terms.
        It MUST require exactly one <tt>one-time-consumption</tt> term. A
        <tt>distinct-human-quorum</tt> term counts only distinct natural-person
        subject identifiers exposed by eligible native verifiers for the named
        role. <tt>initiator-exclusion</tt> and <tt>executor-exclusion</tt> compare
        those verified subjects with the boundary-owned initiator and executor
        identifiers. Different encodings of one key or subject MUST NOT count as
        different humans.</t>
        <t>Execution-time evaluation MUST resolve current status through
        relying-party-configured status sources. Presenter-supplied current
        status is untrusted. Revoked, expired, stale, unavailable, ambiguous,
        or unauthenticated required status MUST withhold authorization.
        Historical re-performance MUST be labeled historical and MUST NOT be
        used as a current execution decision.</t>
        <t>The evaluator SHOULD emit a signed, re-derivable record binding the
        observed action and, when selected, its CAID; operation and consumption identifiers,
        initiator and executor, adapter and mapping revisions, complete
        requirement and configuration digests, native artifact digests,
        current-status snapshots, per-leg VERIFIED and MATCH results, AEC
        SATISFIED, boundary constraints, and the separate AUTHORIZED or REFUSED
        verdict, as applicable. A record that omits a conditional CAID or AEC
        stage MUST identify the native exact-operation binding and the reason
        the extra stage was not selected. The record is evidence of the
        evaluator's decision; it does not itself perform or authorize an
        effect.</t>
      </section>

      <section anchor="local-authorization">
        <name>Make the Local Authorization Decision</name>
        <t>The effect-owning PEP MUST establish AUTHORIZED before AEB custody
        or provider entry. It can do so by accepting and enforcing the selected
        native authorization result, or by making a separate local decision.
        AEB does not require a second PDP. If the native path is AuthZEN, the
        AuthZEN PDP decision and the PEP's enforcement of that decision remain
        authoritative under the selected AuthZEN and COAZ profile.</t>
        <t>The PEP MUST apply the exact operation, audience, tenant,
        organization, policy epoch, freshness, current credential and authority
        status, separation-of-duty rules, local risk controls, and bounded
        capability state required by that selected path. Additional local
        checks MAY narrow a native permit. They MUST NOT widen it, reinterpret
        a refusal as a permit, or claim that AEB issued the native decision.</t>
        <t>Credential revocation and per-action authorization evidence answer
        different questions. A current non-revocation or status result can
        establish that a credential remains acceptable under local policy; it
        does not prove that the credential holder authorized this action. A
        per-action authorization artifact does not prove that every credential
        in its trust path remains current. When policy requires both, the
        boundary MUST verify both without substituting one for the other.</t>
        <t>The boundary reaches AUTHORIZED only if the effect-owning PEP accepts
        the exact action at the decision time. When AEC is selected, SATISFIED
        alone MUST NOT trigger reservation or invocation.</t>
      </section>

      <section anchor="stable-replay-identity">
        <name>Derive a Stable Replay Identity</name>
        <t>Before consuming or reserving authority, the boundary MUST derive a
        stable replay identity from the verified native authorization or from
        the executor-owned exact operation under a relying-party-pinned
        profile. The same native authority presented in a new wrapper, task,
        session, trace, challenge, or caller retry MUST yield the same replay
        identity.</t>
        <t>The replay identity MUST NOT be derived from a caller-selected
        retry identifier, an AEB wrapper digest, or other mutable context that
        can make the same authority spendable again. If the selected native
        profile cannot provide or support a stable derivation, the boundary
        MUST refuse provider entry.</t>
      </section>

      <section anchor="consume-reserve">
        <name>Atomically Consume or Reserve Before Invocation</name>
        <t>After AUTHORIZED and stable replay derivation, and before provider
        entry, the boundary MUST perform
        the durable state transition required by the native evidence and
        local policy. This can include consuming a one-time authorization,
        challenge nonce, or operation key; reserving a bounded capability or
        budget; and fencing the operation to one owner across replicas.</t>
        <t>The transition MUST be atomic within the relying party's durable
        state domain. The operation record MUST bind the stable replay identity
        to the executor-owned observed action or operation identifier, never a
        presenter-selected decoy. Independently of that composite operation
        record, the store MUST enforce uniqueness or conflict detection for
        every stable native replay identity that the selected profile marks as
        one-time. Changing an operation identifier MUST NOT make the same
        one-time native authority reservable again. If the store is
        unavailable, non-atomic, stale, or reports an ambiguous result, the
        boundary MUST refuse before invocation.</t>
        <t>AEB does not claim atomicity between a local store and an unrelated
        remote provider. It requires the local consume or reserve transition
        to occur first so that any uncertainty after dispatch cannot make the
        same authority available for an uncontrolled second effect.</t>
      </section>

      <section anchor="invoke">
        <name>Enter the Provider with the Frozen Effect</name>
        <t>An authorized MCP tool call, API request, or other protocol
        operation is not automatically proof that an underlying provider
        effect was authorized or occurred. When the authorized operation is
        itself the protected provider mutation, the same frozen action can
        continue through this lifecycle. When an MCP server, API service, or
        intermediary makes a distinct downstream provider request, the
        boundary MUST bind that provider request to the authorized operation
        under the selected native profile or a pinned cross-format mapping.
        It MUST NOT infer that binding from a session, trace, tool name, or
        natural-language description.</t>
        <t>Before any call, message, or byte can reach an effecting component,
        the boundary MUST durably enter DISPATCH_PENDING for the frozen
        observed action that reached AUTHORIZED and CONSUMED or RESERVED. The
        record MUST bind the action digest, operation identifier, provider
        environment, audience, reservation or consumption record, and
        adapter. Failure or ambiguity while writing this record MUST withhold
        dispatch.</t>
        <t>The boundary MUST invoke only from that durable state. It MUST use a
        stable, action-bound, unique operation identifier or idempotency key
        where the provider supports one. After dispatch begins, it MUST
        durably record INVOKED or a terminal outcome before reporting success
        to the requester.</t>
        <t>The adapter MUST receive only the authority and evidence necessary
        for the downstream interface. It MUST NOT accept mutable intermediary
        or caller context that changes a material field after the boundary's
        authorization decision.</t>
      </section>

      <section anchor="outcome">
        <name>Classify the Effect Outcome</name>
        <t>After invocation begins, the boundary MUST classify the result as
        EXECUTED, FAILED, or INDETERMINATE. On restart, a
        DISPATCH_PENDING operation without an authoritative terminal record
        MUST be promoted to INDETERMINATE before any retry or release, because
        the process cannot establish that dispatch did not begin.</t>
        <ul spacing="normal">
          <li>EXECUTED requires an authoritative response or accepted native
          execution evidence matched to the exact action, operation
          identifier, provider environment, and audience.</li>
          <li>FAILED requires authoritative evidence that the invoked
          operation did not cause the protected effect. A local parse error,
          exception, timeout, connection loss, process crash, or missing
          response is not by itself such evidence.</li>
          <li>INDETERMINATE is REQUIRED whenever invocation may have reached
          the effecting system but the available authoritative evidence does
          not establish EXECUTED or FAILED.</li>
        </ul>
        <t>For EXECUTED, the boundary MUST commit any reserved spend and
        preserve the terminal evidence. For FAILED, it MUST preserve the
        failure evidence and follow the native reservation policy. For
        INDETERMINATE, it MUST preserve or consume the reservation, refuse
        reuse of the authorization and operation identifier, and prohibit a
        blind replay.</t>
      </section>

      <section anchor="reconcile">
        <name>Perform Authenticated Reconciliation</name>
        <t>An INDETERMINATE operation, including one recovered from a stranded
        DISPATCH_PENDING record, MUST remain closed until reconciliation
        authenticates the provider or system of record and matches the result
        to the original action, operation identifier, provider environment,
        audience, target resource, and every application-specific material
        field.</t>
        <t>Reconciliation MAY move INDETERMINATE to EXECUTED when
        authoritative evidence establishes that the exact effect occurred.
        It MAY move INDETERMINATE to FAILED when authoritative evidence
        establishes that it did not occur. Missing, stale, conflicting,
        unauthenticated, or action-mismatched observations MUST leave the
        operation INDETERMINATE.</t>
        <t>Reconciliation MUST NOT resurrect the original authorization or
        silently release its one-time replay unit. If policy permits a later
        attempt after an authoritative FAILED result, that attempt MUST use a
        new action instance and complete the lifecycle required by local
        policy. An implementation MUST NOT invoke again merely because a
        timeout elapsed or because the caller retried.</t>
      </section>
    </section>

    <section anchor="declaration-challenge">
      <name>Declaration and Challenge Semantics</name>
      <t>A deployment MAY publish a static declaration describing protected
      actions, material fields, evidence requirements, challenge methods, and
      effect-boundary placement. Such a declaration is discovery metadata. It
      MUST NOT override the relying party's live, local enforcement
      configuration. An unsupported declaration version MUST be ignored as
      discovery input; it cannot weaken or replace live enforcement. An
      action that the live boundary configuration cannot classify or process
      under a supported version MUST fail closed.</t>
      <t>When required evidence is absent or unacceptable, a boundary MAY use
      its application protocol to return a dynamic challenge. A challenge
      MUST identify the boundary-computed action, the missing evidence roles,
      the policy context, an intended audience, a short expiry, and a
      single-use unpredictable nonce or equivalent replay unit. The nonce
      MUST NOT be consumed merely because untrusted bytes parse. It MUST be
      consumed atomically only after the selected native verifier establishes
      the integrity and challenge binding of an in-window presentation, and
      before that presentation can reach SATISFIED or authorize an effect.
      A presentation that is malformed, unauthenticated, expired, or not
      bound to the challenge MUST be refused without burning the nonce.
      A natively verified, challenge-bound presentation consumes the nonce
      whether or not the remaining evidence satisfies the requirement.
      Follow-up challenges MUST remain bound to the original boundary-computed
      action and MUST NOT derive that action from presenter input.</t>
      <t>A declaration or challenge authorizes nothing, reserves nothing, and
      promises no execution. A satisfied challenge still proceeds through
      native verification, exact-action correspondence, AUTHORIZED, stable
      replay identity, and atomic consumption or reservation. MATCH and
      SATISFIED also apply when the relying party selects CAID and AEC. This
      document intentionally defines no new manifest object, challenge object,
      well-known URI, HTTP status code, or media type.</t>
    </section>

    <section anchor="native-formats">
      <name>Native Evidence and Transport Boundaries</name>
      <section anchor="wimse-http">
        <name>WIMSE and HTTP Message Signatures</name>
        <t>WIMSE workload credentials and the WIMSE HTTP Message Signatures
        profile <xref target="WIMSE-HTTP"/> can provide end-to-end workload
        authentication and message integrity for the request components
        covered by the validated signature, including a body protected by a
        validated content digest. HTTP Message Signatures
        <xref target="RFC9421"/> provide the underlying component-signing
        mechanism.</t>
        <t>AEB consumes those results; it does not redefine them. A validated
        WIMSE request can establish which workload possessed the protected key
        and that covered message components were not modified undetectably. It
        does not by itself establish CAID MATCH, AEC SATISFIED, named-human
        authorization, local AUTHORIZED, one-time consumption, or execution.</t>
        <t>The WIMSE AI Identity Management System (AIMS)
        <xref target="WIMSE-AIMS"/> profiles existing identity and
        authorization standards for agent workloads, including OAuth and
        Transaction Tokens. The individual
        <tt>draft-munoz-wimse-authorization-evidence</tt> submission
        <xref target="MUNOZ-WIMSE-EVIDENCE"/> describes an adjacent signed-
        evidence composition. AEB begins after the selected native identity
        and authorization path has produced the inputs enforced at the effect
        boundary. It does not replace their issuance, verification, mapping,
        or authorization semantics.</t>
        <t>PEDIGREE <xref target="PEDIGREE"/> describes native identity and
        delegation-chain evidence. The AEB result records whether the relying
        party's stated delegation requirement was satisfied by the mapped
        evidence. It does not reinterpret, re-derive, or override the
        delegation protocol's native decision. In particular, a PEDIGREE
        completion block is post-effect evidence and MUST NOT fill a
        pre-action authorization role.</t>
        <t>Headers, routing metadata, forwarded identity, trace context, or
        other values that an intermediary can add, remove, or mutate outside
        the validated end-to-end integrity coverage MUST NOT be load-bearing
        authorization evidence. They MAY be used for routing or diagnostics.
        If such a value affects the protected consequence, the boundary MUST
        derive it independently or require it to be covered by accepted native
        integrity and the observed action's material binding.</t>
      </section>

      <section anchor="authzen-coaz">
        <name>AuthZEN and COAZ</name>
        <t>The AuthZEN Authorization API <xref target="AUTHZEN-API"/> defines
        the PDP request and decision interface. COAZ
        <xref target="AUTHZEN-COAZ"/> defines how an incoming protocol
        operation is projected into the AuthZEN subject, action, resource, and
        context model. COAZ-MCP <xref target="AUTHZEN-COAZ-MCP"/> applies that
        mapping to MCP operations. Those specifications remain authoritative
        for operation-to-SARC mapping, PDP evaluation, and PEP enforcement.</t>
        <t>AEB does not replace COAZ mapping with CAID and does not require a
        second PDP. The effect-owning PEP can record AUTHORIZED when it accepts
        an AuthZEN permit for the exact operation under the selected COAZ
        profile. CAID is needed only if the boundary must compare that
        operation with an independently encoded provider action. AEC is needed
        only if local policy adds multiple evidence roles beyond the native
        decision.</t>
      </section>

      <section anchor="per-action-native">
        <name>Attested Per-Action Tokens and Permit Records</name>
        <t>OAuth access tokens, Rich Authorization Requests, Transaction
        Tokens, and related artifacts remain native OAuth inputs. OAuth
        authorization servers retain their OAuth roles; a Transaction Token
        Service retains Transaction Token issuance; and each accepting
        workload or resource retains its native authorization and enforcement
        decision. Their token, proof-of-possession, audience, and transaction
        semantics are not redefined by AEB. AEB applies only the downstream
        custody and provider-effect lifecycle selected by the effect-owning
        relying party.</t>
        <t>AP2 mandates <xref target="AP2"/> likewise retain AP2's native
        verification, checkout, transaction-linkage, issuer, holder, and
        payment semantics. An AEB implementation can consume an AP2 result and
        control one covered provider entry without converting the mandate into
        an AEB token or claiming AP2 interoperability.</t>
        <t>Attested per-action tokens, including artifacts described by a
        deployment as OASNT-like, remain native evidence formats. AEB does not
        assign that descriptive label a token type, claim set, registry entry,
        or trust meaning. The selected native verifier determines what the
        token proves and exposes its integrity-protected action commitment,
        issuer, audience, validity, freshness, status, and bounded result to
        the AEB adapter.</t>
        <t>SCITT Permit records defined by
        <xref target="MUNOZ-PERMIT"/> likewise remain native pre-execution
        decision evidence. AEB does not reserialize a Permit or convert it
        into an AEB receipt. It verifies the selected Permit revision through
        its native adapter, maps its protected material action only through a
        pinned CAID profile, and assigns it only to evidence roles permitted by
        the relying party's AEC requirement.</t>
        <t>A native format's valid signature proves only the statement and
        signer semantics that format defines. It does not, without an
        additional accepted profile and evidence, prove that a natural person
        operated the workload, understood the action, held authority, or
        performed a particular approval ceremony.</t>
      </section>
    </section>

    <section anchor="native-compilation">
      <name>Native Compilation Contract</name>
      <t>An AEB adapter compiles the result of a native verifier into the
      inputs needed by the AEB processing model. The native artifact,
      verifier, trust model, and result remain authoritative for their own
      semantics. Compilation MUST NOT convert a native result into an AEB
      credential or permit, and an AEB result MUST NOT overwrite a native
      result.</t>
      <t>The compilation target is the ordered AEB decision and lifecycle
      vocabulary: native verification, exact-action correspondence,
      authorization, stable replay identity, atomic reservation or
      consumption, provider entry, outcome classification, and authenticated
      reconciliation. CAID matching and AEC satisfaction are included only
      when the relying party selects the corresponding cross-format or
      multi-leg stage. A successful compile establishes only that the native
      result can be evaluated at those interfaces. It does not establish that
      the action is authorized, executed, safe, lawful, or true.</t>

      <section anchor="native-compilation-pins">
        <name>Pinned Inputs</name>
        <t>Before compilation, the relying party MUST pin:</t>
        <ul spacing="normal">
          <li>the native protocol, document revision, media type, schema
          version, and verifier revision;</li>
          <li>the adapter identifier, adapter revision, verifier
          implementation identifier, and implementation digest;</li>
          <li>the native trust anchors, issuer and audience policy, clock,
          freshness rules, and required status sources;</li>
          <li>when a cross-format join is selected, the exact source
          descriptor, target CAID action type, mapping profile identifier,
          mapping revision, and mapping digest;</li>
          <li>when AEC is selected, the accepted evidence role or roles;</li>
          <li>the native replay-unit derivation profile and replay scope;
          and</li>
          <li>every native field whose omission or change can affect the
          protected consequence, evidence role, freshness, replay unit, or
          local policy.</li>
        </ul>
        <t>Presented data MAY select among already pinned native variants only
        where the native protocol defines that selection and the relying party
        enables it. Presented data MUST NOT add or change a trust root,
        verifier, mapping, evidence role, material-field rule, or replay
        scope.</t>
        <t>A verifier implementation identifier and digest are relying-party-
        selected configuration metadata. They do not prove that a measured
        runtime loaded or executed those bytes. A compile result MUST keep
        runtime measurement unestablished unless a separate accepted native
        attestation proves it.</t>
      </section>

      <section anchor="native-compilation-operations">
        <name>Deterministic Operations</name>
        <t>An adapter exposes <tt>verifyNative</tt>, which verifies the artifact
        under the pinned native rules and returns the integrity-protected
        native result and exact operation binding. When the boundary performs
        a cross-format join, the adapter also exposes the logically separate
        <tt>mapAction</tt> operation, which maps only a VERIFIED native result
        to the relying party's expected action under the pinned mapping
        profile.</t>
        <t>Each selected operation MUST be deterministic for the supplied bytes
        and pins. It MUST NOT perform a network request, consult ambient
        credentials or trust stores, read mutable global state, or accept a
        caller-supplied verification verdict. Required current status and time
        MUST be explicit relying-party inputs.</t>
        <t>The boundary MUST supply detached, recursively immutable copies of
        the native artifact, expected action, trust inputs, status inputs,
        adapter configuration, and mapping profile. An adapter MUST NOT change
        a pinned input between native verification and action mapping.</t>
      </section>

      <section anchor="native-compilation-result">
        <name>Closed Compile Result</name>
        <t>For each native artifact, the compiler MUST return a closed result
        that contains:</t>
        <ul spacing="normal">
          <li>the native protocol, exact revision, artifact digest, and native
          verification result;</li>
          <li>the adapter identifier, revision, and configuration digest, plus
          the pinned verifier implementation identifier, revision, and
          digest;</li>
          <li>when selected, the mapping profile identifier, revision, and
          digest, plus mapper and resolver identifiers and the resolver
          implementation digest;</li>
          <li>the source schema or media type and target action type;</li>
          <li>the exact relying-party-supplied expected material action value,
          digest, and input provenance;</li>
          <li>the CAID and normalized-action digest when a cross-format join
          is selected, or the exact native operation binding otherwise;</li>
          <li>when AEC is selected, the accepted evidence role and subject,
          plus the status input and derived freshness result under pinned
          adapter rules;</li>
          <li>the stable native replay unit and replay scope;</li>
          <li>whether verifier runtime measurement is established;</li>
          <li>the semantic-loss report defined below; and</li>
          <li>every compiler state that remains unsupported or
          indeterminate.</li>
        </ul>
        <t>The compile result is typed verifier output. It is not a bearer
        token, permit, receipt, or proof of execution. A deployment MAY
        serialize it for diagnostics or evidence transport, but that
        serialization MUST NOT become reusable authority.</t>
        <t>A native profile MAY expose actor, acting-for principal, target,
        declared purpose, audience, constraints, validity, or native nonclaims
        only when its native verifier and pinned mapping establish those
        values. The generic compiler MUST NOT infer them from a subject
        identifier, policy decision, action label, natural-language field, or
        trace metadata merely to fill a common shape.</t>
        <t>A caller-supplied local-policy decision MAY be reported as an
        explicit input, but it MUST NOT establish local authorization.
        Authorization, reservation or consumption, provider entry, outcome,
        and reconciliation remain unestablished until the component that owns
        each transition evaluates and records it.</t>
      </section>

      <section anchor="native-compilation-loss">
        <name>Semantic-Loss Report</name>
        <t>The adapter MUST enumerate every field exposed by the native
        verifier that the selected mapping does not carry into the target
        action or accepted evidence role. Each omission MUST be classified as
        material, non-material, or unknown under relying-party-pinned rules,
        with a stable field path and declared basis.</t>
        <t>An omitted material or unknown field makes exact-action matching
        INDETERMINATE. That leg MUST NOT report equivalence, MATCH, SATISFIED,
        or AUTHORIZED. Renaming, moving, defaulting, unit-converting, rounding,
        truncating, or combining a material field is a transformation and
        requires a pinned deterministic rule. Natural-language similarity, an
        agent assertion, or a shared trace identifier is not such a rule.</t>
        <t>The compiler MAY retain a native mapper's raw relation, CAID, and
        normalized-action digest for diagnostics, but MUST label them as raw
        native output. They MUST NOT appear as the compiler-effective relation
        after material or unknown loss. The effective CAID and normalized-
        action digest are absent in that case.</t>
        <t>If two compiled legs produce one CAID but different normalized-
        action digests, the boundary MUST refuse the join. CAID remains a typed
        content identifier. It is not an authorization claim or a general
        declaration that two source formats have identical semantics.</t>
      </section>

      <section anchor="native-compilation-replay">
        <name>Stable Native Replay Unit</name>
        <t>Every accepted authorization-bearing native result MUST expose a
        stable native replay unit derived from the verified native
        authority. The replay unit MUST NOT include an AEB wrapper digest,
        AEB operation identifier, consumption nonce, caller retry identifier,
        or other value whose change would make the same native authority
        spendable again.</t>
        <t>The evaluator MUST probe the adapter with a second deterministic
        wrapper reference. If the replay unit changes while the verified
        native authority does not, the result is INDETERMINATE. If two
        distinct verified native artifacts from one adapter collapse onto one
        replay unit without the native profile defining that equivalence,
        the result is INDETERMINATE. A replay-unit value does not prove that
        reservation or consumption occurred.</t>
      </section>

      <section anchor="native-compilation-paths">
        <name>Path and Provider Ownership</name>
        <t>A deployment MUST state whether the AEB boundary controls the
        credential or other capability that reaches the effecting provider,
        which provider-entry paths it mediates, and every direct,
        administrator, break-glass, alternate-protocol, queued, or system-of-
        record path that bypasses it. An observe-only adapter or an adapter
        placed beside a write path MUST NOT be described as consequence
        admission or complete mediation.</t>
        <t>The compile result MAY record provider-attempt and reconciliation
        bindings only after the corresponding AEB transitions occur. A policy
        allow, access token, message signature, transparency receipt, action
        record, audit record, or native permit MUST NOT be relabeled as proof
        that provider entry, commitment, or an external effect occurred.</t>
      </section>

      <section anchor="native-compilation-conformance">
        <name>Compilation Conformance</name>
        <t>A native compilation profile MUST publish exact source locks, at
        least one positive vector containing the original native bytes, and a
        condition-removed control for every negative vector. Reports MUST keep
        native verification, mapping, AEC, local policy, reservation,
        provider outcome, and reconciliation results separate.</t>
        <t>The profile MUST include hostile vectors for material-field omission
        and substitution, mapping-pin change, stale or unavailable status,
        wrapper replay, alternate-path bypass, refusal-time consumption,
        concurrent admission, timeout after provider entry, blind retry, and
        reconciliation binding mismatch. It MUST state every native semantic
        that could not be compiled without invention.</t>
        <t>A profile that claims a direct native authorization path MUST show
        the exact native operation binding and stable replay identity without
        inserting a second PDP. A profile that joins a separately encoded
        provider action MUST exercise the selected CAID mapping, including a
        material-field substitution. A profile that adds multiple evidence
        roles MUST exercise the selected AEC requirement. Each report MUST say
        which conditional stages were used and why.</t>
        <t>A generic AEB compiler conformance claim requires at least two
        materially unrelated native profiles to reach the same AEB lifecycle
        without changing their native wire formats or result semantics. A
        same-team runner is reference evidence, not an independent
        implementation. Matching a finite vector set does not establish
        complete mediation, production deployment, or provider truth.</t>
      </section>
    </section>

    <section anchor="conformance">
      <name>Conformance and Deployment Claims</name>
      <t>An implementation conforms to AEB only if every protected invocation
      follows the ordered processing model in <xref target="processing"/> and
      fails closed on every missing or ambiguous required transition. A
      deployment MUST state whether CAID or AEC is selected and MUST document:</t>
      <ul spacing="normal">
        <li>the protected action types and the effect paths actually mediated;</li>
        <li>the trusted configuration and durable-state boundaries;</li>
        <li>the native verifier revisions and relying-party pins;</li>
        <li>the method used to derive material action fields at the boundary;</li>
        <li>the consumption, reservation, and cross-replica fencing mechanism;</li>
        <li>the authoritative sources and matching rules used for
        reconciliation; and</li>
        <li>all direct, break-glass, administrator, alternate-protocol, and
        system-of-record paths that bypass the AEB implementation.</li>
      </ul>
      <t>An implementation placed beside a write path is not complete
      mediation. A deployment MUST NOT claim complete mediation unless the
      protected system rejects all material alternate paths or subjects them
      to an equivalent boundary. Observe-only operation MAY be useful during
      deployment, but it MUST NOT be described as enforcement.</t>
    </section>

    <section anchor="security">
      <name>Security Considerations</name>
      <t><strong>Cross-binding.</strong> An attacker can splice a valid permit,
      approval, credential, or receipt for action A into a request for action
      B. Native verification before mapping, executor-owned action
      construction, and exact correspondence between the authorized operation
      and provider entry are required defenses. A cross-format join also
      requires exact CAID matching. A multi-leg requirement also requires a
      relying-party-pinned AEC evaluation. Omitting a stage that the selected
      profile requires reopens the attack.</t>
      <t><strong>Mutable context.</strong> Intermediary-added headers and agent
      annotations are convenient but are not trustworthy merely because they
      arrived on an authenticated hop. Every load-bearing field needs accepted
      end-to-end integrity coverage or independent derivation at the effect
      boundary.</t>
      <t><strong>Time of check and time of use.</strong> The action passed to
      the executor must be the frozen action that was verified, matched,
      satisfied, authorized, and consumed or reserved. Mutable aliases,
      provider defaults, exchange rates, destinations, branch heads, and
      policy epochs can change a consequence after approval; profiles must
      bind or revalidate them as material fields.</t>
      <t><strong>Replay and distributed state.</strong> Process-local caches are
      insufficient where replicas can invoke the same effect. Replay,
      consumption, reservation, and operation ownership state must be durable,
      atomic, and shared across every boundary instance that can reach the
      protected executor.</t>
      <t><strong>Freshness and revocation.</strong> Expiration, nonce checks,
      credential status, authority status, and policy epoch are separate
      checks. A fresh message does not make a revoked credential valid, and a
      current credential does not make old per-action evidence fresh.</t>
      <t><strong>Indeterminate effects.</strong> Retrying after a timeout can
      duplicate a payment, mutation, disclosure, or physical action. An
      invocation that might have reached the provider consumes the operation's
      retry right until authenticated reconciliation resolves the exact
      outcome. Caller assurances and unauthenticated webhooks do not resolve
      it.</t>
      <t><strong>Signature overclaiming.</strong> A cryptographic signature can
      establish control of a key and integrity of covered content under a
      selected verification profile. It does not inherently identify a human,
      prove human operation, prove comprehension, establish legal authority,
      or prove execution.</t>
      <t><strong>Boundary bypass.</strong> A correct AEB implementation does not
      protect direct database credentials, alternate APIs, shell access,
      administrator consoles, side channels, or actuator paths that bypass it.
      Deployment topology and credential placement are security properties,
      not implementation details.</t>
    </section>

    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <t>Action objects and evidence can expose identities, destinations,
      resources, policy choices, commercial relationships, and sensitive
      operational timing. Deployments SHOULD minimize the evidence passed to
      the executor and retained in portable records, use opaque high-entropy
      references where appropriate, and avoid treating a plain digest of
      low-entropy personal data as anonymization.</t>
      <t>Reconciliation queries can disclose that an operation is disputed or
      uncertain. They SHOULD be authenticated, authorized, rate-limited, and
      limited to the exact operation. AEB does not require public disclosure
      of native evidence or local policy.</t>
    </section>

    <section anchor="relationship">
      <name>Relationship to EMILIA and Adjacent Work</name>
      <t>CAID <xref target="CAID"/> owns typed material-action identity and
      exact, relying-party-pinned cross-format mapping. AEB invokes CAID after
      native verification only when independently encoded representations must
      be joined. It does not extend CAID with trust semantics.</t>
      <t>AEC <xref target="AEC"/> owns heterogeneous evidence composition and
      the SATISFIED or UNSATISFIED result under a relying-party requirement.
      AEB invokes AEC only when local policy requires multiple evidence legs,
      then preserves the separate authorization and effect-lifecycle
      decisions. The earlier Action Evidence Graph series
      <xref target="AEG"/> is replaced by AEC; an implementation following an
      older citation MUST NOT treat the superseded series as a second
      composition contract.</t>
      <t>AIMS, OAuth, AuthZEN, COAZ, and AP2 own their respective identity,
      delegation, authorization, protocol mapping, mandate, and native
      enforcement semantics. AEB is a post-permit consequence-admission
      lifecycle at a covered effect boundary. It does not create a parallel
      identity system, authorization server, PDP, mandate, or universal token.</t>
      <t>Authorization Receipts <xref target="RECEIPTS"/> define one native
      action-bound organizational approval artifact and its receipt-specific
      consumption semantics. AEB does not make that format mandatory and does
      not generalize every native artifact into an EMILIA receipt.</t>
      <t>Static declarations and dynamic evidence challenges remain distinct
      protocol surfaces. A manifest can advertise discovery metadata, while
      an Authorization Evidence Challenge can carry the live, action-bound
      refusal and acquisition instructions. AEB owns the executor lifecycle
      in which those inputs are evaluated; it does not absorb or replace their
      wire formats.</t>
      <t>Qualification, revocation, remedy, and action-to-outcome continuity
      artifacts are optional native inputs or downstream records. They retain
      their own semantics. AEB composes them only through pinned verification,
      exact-action binding, local policy, durable custody, and authenticated
      reconciliation.</t>
      <t>A refusal MAY be represented by an action-bound signed refusal
      statement. The refusal artifact records what the boundary refused and
      why; it MUST NOT be interpreted as proof that every bypass path was
      mediated, that delivery to a requester occurred, or that a later action
      was refused.</t>
    </section>

    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions. In particular, it creates no
      registry for native evidence types, lifecycle labels, verifier adapters,
      action mappings, or policy identifiers.</t>
    </section>
    <section anchor="changes">
      <name>Changes since -05</name>
      <t>This revision positions AEB explicitly after native identity and
      authorization systems. It makes CAID conditional on a cross-format join
      and AEC conditional on a multi-leg evidence requirement. It states that
      an effect-owning PEP can accept a native authorization result without a
      second PDP; AuthZEN and COAZ retain ownership of SARC mapping, PDP
      evaluation, and PEP enforcement. It distinguishes an authorized MCP or
      API request from a downstream provider effect and makes the post-permit
      sequence explicit: stable replay identity, durable consume or reserve,
      provider entry, terminal or indeterminate outcome, and authenticated
      reconciliation without blind retry. It updates the former KLRC reference
      to the WIMSE AIMS working-group document and adds informative AuthZEN,
      COAZ, COAZ-MCP, and AP2 references. The revision creates no credential,
      permit, receipt, registry, policy language, PDP, or universal token.</t>
    </section>
    <section anchor="implementation">
      <name>Implementation Status</name>
      <t>The Apache-2.0 reference implementation provides relying-party-pinned
      adapter and mapping registries, multi-leg CAID joins, the boundary terms
      defined above, current-status verification, signed configuration-bound
      evaluation records, durable ownership-fenced one-time consumption,
      execution reservation and reconciliation, and signed refusal statements.
      It also exposes a closed native-compiler report over the adapter contract,
      an AuthZEN-derived local PEP-observation profile, a source-pinned OAuth
      Transaction Authorization Challenge profile
      <xref target="OAUTH-TXN-CHALLENGE"/>, a strict request-only profile over
      WPT-02 <xref target="WIMSE-WPT"/> and Transaction Tokens -11
      <xref target="OAUTH-TXN-TOKENS"/>, and a WIMSE R10 compatibility matrix.
      All three paths pass locally. The AuthZEN-derived path verifies an
      EMILIA-signed local
      PEP observation, not an artifact defined or signed by AuthZEN. It
      therefore does not count toward the two-external-native-profile gate.
      OAuth transaction challenge and WPT plus Transaction Tokens are the two
      direct external-native candidates. Their mappings have not been reviewed
      by the native protocol owners, the published profiles still need an
      audited match against every required hostile vector and paired control,
      and their OAuth adjacency requires an explicit protocol-diversity
      judgment before the generic gate can close.
      The result is not an independent implementation or an adoption claim.
      The informative <tt>EP-FIELD-ORIGIN-v0.1</tt> profile is evaluated before
      admission in the reference Gate. Its Gap 6 implementation profile has 14
      deterministic cases, including disallowed field origins, unknown origin,
      profile substitution, an unpinned transformation, and the positive case
      in which untrusted content supplies only a bounded memo field.
      Conformance vectors and adversarial tests cover selected reference paths;
      the full conformance set above remains future conformance work and is not
      established by this revision.
      These same-team artifacts are not an independent implementation and do
      not prove that a deployment mediates every effect path.</t>
    </section>
  </middle>

  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
          <front>
            <title>Key Words for Use in RFCs to Indicate Requirement Levels</title>
            <author><organization>Internet Engineering Task Force</organization></author>
            <date year="2017"/>
          </front>
          <seriesInfo name="BCP" value="14"/>
        </reference>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <reference anchor="CAID" target="https://datatracker.ietf.org/doc/draft-schrock-canonical-action-identifier/">
          <front>
            <title>The Canonical Action Identifier (CAID)</title>
            <author fullname="Iman Schrock"><organization>EMILIA Protocol, Inc.</organization></author>
            <date year="2026" month="August" day="9"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-schrock-canonical-action-identifier-02"/>
        </reference>
        <reference anchor="AEC" target="https://datatracker.ietf.org/doc/draft-schrock-ep-authorization-evidence-chain/">
          <front>
            <title>Authorization Evidence Chains: Composing Heterogeneous Agent-Action Evidence (EP-AEC)</title>
            <author fullname="Iman Schrock"><organization>EMILIA Protocol, Inc.</organization></author>
            <date year="2026" month="July"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-schrock-ep-authorization-evidence-chain-05"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9421.xml"/>
        <reference anchor="RECEIPTS" target="https://datatracker.ietf.org/doc/draft-schrock-ep-authorization-receipts/">
          <front>
            <title>Authorization Receipts for High-Risk Agent Actions</title>
            <author fullname="Iman Schrock"><organization>EMILIA Protocol, Inc.</organization></author>
            <date year="2026" month="August" day="16"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-schrock-ep-authorization-receipts-12"/>
        </reference>
        <reference anchor="AEG" target="https://datatracker.ietf.org/doc/draft-schrock-ep-action-evidence-graph/">
          <front>
            <title>Action Evidence Graph for Consequential Agent Actions</title>
            <author fullname="Iman Schrock"><organization>EMILIA Protocol, Inc.</organization></author>
            <date year="2026" month="July"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-schrock-ep-action-evidence-graph-00"/>
        </reference>
        <reference anchor="EP-FIELD-ORIGIN" target="https://github.com/emiliaprotocol/emilia-protocol/tree/71358caf0c4d2459958efbbdda3530a0e02889e5/conformance/composition/gap6-execution-evidence-v0.1">
          <front>
            <title>EP-FIELD-ORIGIN-v0.1 Informative Implementation Profile and Gap 6 Runner</title>
            <author><organization>EMILIA Protocol</organization></author>
            <date year="2026" month="August" day="15"/>
          </front>
        </reference>
        <reference anchor="WIMSE-HTTP" target="https://datatracker.ietf.org/doc/draft-ietf-wimse-http-signature/">
          <front>
            <title>WIMSE Workload-to-Workload Authentication with HTTP Signatures</title>
            <author fullname="Joseph Salowey" initials="J." surname="Salowey"/>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer"/>
            <date year="2026" month="August" day="4"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-http-signature-06"/>
        </reference>
        <reference anchor="WIMSE-WPT" target="https://datatracker.ietf.org/doc/draft-ietf-wimse-wpt/">
          <front>
            <title>WIMSE Workload Proof Token</title>
            <author fullname="Brian Campbell" initials="B." surname="Campbell"/>
            <author fullname="Alexander Schwenkschuster" initials="A." surname="Schwenkschuster"/>
            <date year="2026" month="August" day="27"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-wpt-02"/>
        </reference>
        <reference anchor="OAUTH-TXN-TOKENS" target="https://datatracker.ietf.org/doc/draft-ietf-oauth-transaction-tokens/">
          <front>
            <title>Transaction Tokens</title>
            <author fullname="Atul Tulshibagwale" initials="A." surname="Tulshibagwale"/>
            <author fullname="George Fletcher" initials="G." surname="Fletcher"/>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman"/>
            <date year="2026" month="July" day="30"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-transaction-tokens-11"/>
        </reference>
        <reference anchor="MUNOZ-PERMIT" target="https://datatracker.ietf.org/doc/draft-munoz-scitt-permit-profile/">
          <front>
            <title>A SCITT Profile for Pre-Execution AI Action Authorization Records</title>
            <author fullname="Christian Munoz" initials="C." surname="Munoz"/>
            <date year="2026" month="July"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-munoz-scitt-permit-profile-01"/>
        </reference>
        <reference anchor="MUNOZ-WIMSE-EVIDENCE" target="https://datatracker.ietf.org/doc/draft-munoz-wimse-authorization-evidence/">
          <front>
            <title>Signed Authorization-Evidence Records for WIMSE-Authorized AI Agent Actions</title>
            <author fullname="Christian Munoz" initials="C." surname="Munoz"/>
            <date year="2026" month="July"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-munoz-wimse-authorization-evidence-01"/>
        </reference>
        <reference anchor="WIMSE-AIMS" target="https://datatracker.ietf.org/doc/draft-ietf-wimse-aims/">
          <front>
            <title>AI Identity Management System</title>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman"/>
            <author fullname="Jean-François Lombardo" initials="J." surname="Lombardo"/>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho"/>
            <author fullname="Brian Campbell" initials="B." surname="Campbell"/>
            <author fullname="Nick Steele" initials="N." surname="Steele"/>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki"/>
            <date year="2026" month="September" day="15"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-aims-00"/>
        </reference>
        <reference anchor="AUTHZEN-API" target="https://openid.net/specs/authorization-api-1_0.html">
          <front>
            <title>Authorization API 1.0</title>
            <author fullname="Omri Gazitt" initials="O." surname="Gazitt"/>
            <author fullname="David Brossard" initials="D." surname="Brossard"/>
            <author fullname="Atul Tulshibagwale" initials="A." surname="Tulshibagwale"/>
            <date year="2026" month="January" day="11"/>
          </front>
          <seriesInfo name="OpenID" value="AuthZEN Final Specification"/>
        </reference>
        <reference anchor="AUTHZEN-COAZ" target="https://openid.github.io/authzen/authzen-coaz-framework-1_0.html">
          <front>
            <title>COAZ: A Framework for Mapping Information Models to AuthZEN Authorization Requests - Draft 1</title>
            <author fullname="Alex Olivier" initials="A." surname="Olivier"/>
            <author fullname="Atul Tulshibagwale" initials="A." surname="Tulshibagwale"/>
            <date year="2026" month="February" day="13"/>
          </front>
          <seriesInfo name="OpenID" value="AuthZEN Working Group Draft 1"/>
        </reference>
        <reference anchor="AUTHZEN-COAZ-MCP" target="https://openid.github.io/authzen/authzen-coaz-mcp-binding-1_0.html">
          <front>
            <title>COAZ-MCP: COAZ Binding for the Model Context Protocol - Draft 1</title>
            <author fullname="Atul Tulshibagwale" initials="A." surname="Tulshibagwale"/>
            <author fullname="Alex Olivier" initials="A." surname="Olivier"/>
            <date year="2026" month="February" day="13"/>
          </front>
          <seriesInfo name="OpenID" value="AuthZEN Working Group Draft 1"/>
        </reference>
        <reference anchor="AP2" target="https://github.com/google-agentic-commerce/AP2/tree/e1ea56db72a6385bce3e5c1112b3a56ce60acb43">
          <front>
            <title>Agent Payments Protocol (AP2), v0.2 CheckoutMandate and PaymentMandate</title>
            <author><organization>Google Agentic Commerce</organization></author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="OAUTH-TXN-CHALLENGE" target="https://datatracker.ietf.org/doc/draft-rosomakho-oauth-txn-challenge/">
          <front>
            <title>OAuth Transaction Authorization Challenge</title>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho"/>
            <author fullname="Brian Campbell" initials="B." surname="Campbell"/>
            <author fullname="Karl McGuinness" initials="K." surname="McGuinness"/>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman"/>
            <date year="2026" month="June" day="25"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-rosomakho-oauth-txn-challenge-00"/>
        </reference>
        <reference anchor="PEDIGREE" target="https://datatracker.ietf.org/doc/draft-rampalli-pedigree/">
          <front>
            <title>PEDIGREE: Verifiable Delegation Identity for Agentic AI Systems</title>
            <author fullname="Karthik Rampalli" initials="K." surname="Rampalli">
              <organization>Glyphzero Labs Inc.</organization>
            </author>
            <date year="2026" month="April"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-rampalli-pedigree-00"/>
        </reference>
      </references>
    </references>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>External review sharpened the boundaries between workload and message
      integrity, per-action authorization evidence, credential status, human
      operation, and executor-owned effect control. Those distinctions are
      load-bearing in this document. Acknowledgment does not imply endorsement.</t>
    </section>
  </back>
</rfc>
