Network Working Group I. Schrock Internet-Draft EMILIA Protocol, Inc. Intended status: Informational 25 September 2026 Expires: 29 March 2027 The Action Evidence Boundary for Consequential Agent Effects draft-schrock-action-evidence-boundary-07 Abstract 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. AEB requires native artifact verification, exact-action binding, a relying-party authorization decision, durable atomic consumption or reservation, provider entry, closed effect outcomes, and authenticated reconciliation. One grant of native authority is identified by a relying-party-pinned authority namespace, which defaults to its issuer, and its native authorization identifier, so rewrapping or relabelling the grant cannot make it spendable twice. A durable same-action fence refuses a new attempt for an action whose earlier attempt is still in flight or uncertain, whatever evidence path admits it and even when fresh authority is presented. An attempt that stopped before provider entry is released only with proof that it never entered. AEB also specifies what a gateway attests, and what the boundary verifies, when a native authorization result is handed to a separate effect boundary. Canonical Action Identifier (CAID) matching is used when independently encoded native representations must be joined. Authorization Evidence Chain (AEC) evaluation is used when local policy requires multiple evidence legs. A native authorization decision accepted and enforced by the effect- owning policy enforcement point (PEP) does not require a second policy decision point (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, Agent Payments Protocol (AP2) mandates, message signatures, permits, authorization receipts, and status mechanisms retain their own semantics and, where the native protocol defines one, their own verifiers. Schrock Expires 29 March 2027 [Page 1] Internet-Draft Action Evidence Boundary September 2026 Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 29 March 2027. Copyright Notice Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Scope and Non-Goals . . . . . . . . . . . . . . . . . . . 5 2. Conventions and Terminology . . . . . . . . . . . . . . . . . 6 3. Non-Collapsing Decision and Lifecycle Vocabulary . . . . . . 8 4. Relying-Party Inputs and Pins . . . . . . . . . . . . . . . . 9 5. Required Processing Model . . . . . . . . . . . . . . . . . . 11 5.1. Construct the Observed Material Action . . . . . . . . . 11 5.2. Verify Each Native Artifact . . . . . . . . . . . . . . . 12 5.3. Establish Exact-Action Correspondence . . . . . . . . . . 13 5.4. Evaluate Required Field-Origin Assertions . . . . . . . . 14 5.5. Evaluate Additional Evidence Requirements When Required . . . . . . . . . . . . . . . . . . . . . . . . 15 5.6. Pinned Boundary Requirement and Evaluation Record . . . . 15 5.7. Make the Local Authorization Decision . . . . . . . . . . 17 5.8. Accept a Native Authorization Handoff . . . . . . . . . . 17 Schrock Expires 29 March 2027 [Page 2] Internet-Draft Action Evidence Boundary September 2026 5.9. Derive the Native Replay Identity . . . . . . . . . . . . 19 5.10. Hold the Same-Action In-Flight Fence . . . . . . . . . . 20 5.11. Atomically Consume or Reserve Before Invocation . . . . . 24 5.12. Enter the Provider with the Frozen Effect . . . . . . . . 25 5.13. Classify the Effect Outcome . . . . . . . . . . . . . . . 27 5.14. Perform Authenticated Reconciliation . . . . . . . . . . 28 6. Declaration and Challenge Semantics . . . . . . . . . . . . . 30 7. Native Evidence and Transport Boundaries . . . . . . . . . . 30 7.1. WIMSE and HTTP Message Signatures . . . . . . . . . . . . 30 7.2. AuthZEN and COAZ . . . . . . . . . . . . . . . . . . . . 31 7.3. Attested Per-Action Tokens and Permit Records . . . . . . 32 8. Native Compilation Contract . . . . . . . . . . . . . . . . . 33 8.1. Pinned Inputs . . . . . . . . . . . . . . . . . . . . . . 34 8.2. Deterministic Operations . . . . . . . . . . . . . . . . 35 8.3. Closed Compile Result . . . . . . . . . . . . . . . . . . 35 8.4. Semantic-Loss Report . . . . . . . . . . . . . . . . . . 36 8.5. Stable Native Replay Unit . . . . . . . . . . . . . . . . 37 8.6. Path and Provider Ownership . . . . . . . . . . . . . . . 37 8.7. Compilation Conformance . . . . . . . . . . . . . . . . . 38 9. Conformance and Deployment Claims . . . . . . . . . . . . . . 39 10. Security Considerations . . . . . . . . . . . . . . . . . . . 40 11. Privacy Considerations . . . . . . . . . . . . . . . . . . . 44 12. Relationship to EMILIA and Adjacent Work . . . . . . . . . . 45 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 46 14. Changes since -06 . . . . . . . . . . . . . . . . . . . . . . 46 15. Implementation Status . . . . . . . . . . . . . . . . . . . . 48 16. References . . . . . . . . . . . . . . . . . . . . . . . . . 51 16.1. Normative References . . . . . . . . . . . . . . . . . . 52 16.2. Informative References . . . . . . . . . . . . . . . . . 52 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 55 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 55 1. Introduction 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. Schrock Expires 29 March 2027 [Page 3] Internet-Draft Action Evidence Boundary September 2026 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 native replay identity; refuse a second attempt for an action that is already in flight; consume or reserve any one- time or bounded authority; enter the provider once; and preserve uncertainty when the effect cannot be observed conclusively. This document defines that contract. Its required order is: native verification, or verification of a native authorization handoff | 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 native replay identity (authority namespace, authorization identifier) | v same-action fence check and atomic CONSUMED / RESERVED | v durable DISPATCH_PENDING at provider entry | v INVOKED | +-> EXECUTED (action key stays closed) +-> FAILED (action key released) +-> INDETERMINATE (action key held) | v authenticated reconciliation (a pre-entry stop is released only by authorized recovery with proof that it never entered) Schrock Expires 29 March 2027 [Page 4] Internet-Draft Action Evidence Boundary September 2026 The Canonical Action Identifier (CAID) [CAID] and Authorization Evidence Chain (AEC) [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. Two separate controls stop a duplicate effect. The native replay identity stops one grant of authority from being spent twice. The same-action fence stops two grants from being spent on one action while the outcome of the first attempt is unknown. The second control matters whenever a native decision service can issue a fresh permit for each evaluation of an identical request, or new evidence can be assembled for an identical action, so it applies on every evidence path. 1.1. Scope and Non-Goals 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. AEB does not define: * a new authorization receipt, access token, attestation token, permit, credential, or execution-evidence format, or an encoding for the native authorization handoff of Section 5.8; * a native signature, credential, revocation, status, or transparency verification algorithm; * a policy language, universal authorization decision, or universal human-approval inference; * 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; * general semantic equivalence between actions; * provider truth, physical truth, legality, safety, wisdom, or complete mediation merely because an AEB implementation is present; or Schrock Expires 29 March 2027 [Page 5] Internet-Draft Action Evidence Boundary September 2026 * a registry for evidence types, states, action mappings, or verifier names. 2. Conventions and Terminology 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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. BCP 14 is indexed by the RFC Editor at [BCP14]. Effect boundary: The last control point that can withhold the protected mutation before it is submitted to the effecting system. Relying party: 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. Policy decision point (PDP): A component that evaluates an authorization request and returns a decision, for example an AuthZEN PDP [AUTHZEN-API]. Policy enforcement point (PEP): A component that requests or receives an authorization decision and enforces it on the operation it controls. Effect-owning PEP: The PEP whose enforcement gates the protected effect path. It is either the effect boundary itself or a component, such as a protocol gateway, whose acceptance of a native authorization result reaches the effect boundary only through a native authorization handoff. Native artifact: An evidence, credential, permit, token, receipt, status, or message-protection object defined outside AEB and verified under its own specification. Native authorization result: A permit or refusal produced under the selected authorization protocol and enforced by its PEP. The native protocol remains authoritative for the mapping, decision, and enforcement semantics it defines. Native operation profile: The relying-party-pinned profile of one Schrock Expires 29 March 2027 [Page 6] Internet-Draft Action Evidence Boundary September 2026 native authorization path. It defines the exact operation representation, the material-field inventory, the action-digest construction, any instance field, the effecting target identity, and the native authorization identifier used for replay identity. Native authorization handoff: An integrity-protected statement, made by a relying-party-pinned gateway or PEP, that it accepted one native permit for one exact action, delivered to an effect boundary that did not itself evaluate the native artifact. Field-origin assertion: 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. Observed action: The immutable material action constructed by the effect boundary from executor-controlled parsing and system-of- record facts. Material field: A field whose change can alter the protected consequence, as declared by the material-field inventory of the relying-party-pinned native operation profile and, when a cross- format join is selected, by the selected CAID action-type definition. When both apply, a field that either declares material is material. Operation identifiers, idempotency keys, and wrapper, session, trace, challenge, and caller retry identifiers are not material fields. Instance field: A material field that a native operation profile declares so that intentionally repeated actions with otherwise identical material fields remain distinct, for example a payment instance identifier. Action digest: The digest of the frozen observed action under the pinned native operation profile. It covers every material field, including any instance field, and no other field. Action instance: The material action identified by one action digest. Attempts with the same action digest are attempts on the same action instance. Effecting target identity: The identity of the system that the boundary invokes for the protected effect, as defined by the native operation profile or, when the profile does not define it, the provider, provider account, tenant, and environment that the boundary invokes. Schrock Expires 29 March 2027 [Page 7] Internet-Draft Action Evidence Boundary September 2026 Authority namespace: A relying-party-pinned identifier for the scope within which an issuer's native authorization identifiers denote distinct grants. By default it is the verified issuer value. Changing it changes the native replay identity of every grant accepted under it. Native replay identity: The identity of one grant of native authority, derived under Section 5.9 from the authority namespace and the native authorization identifier. This document also calls it the native replay unit. Action key: The tuple of relying party, effecting target identity, and action digest that the same-action fence of Section 5.10 protects. Pre-entry stop: An attempt that stopped before its durable record reached DISPATCH_PENDING, or before any attempt record was written, so that no dispatch to the effecting system could have begun. Invocation: The first dispatch of the frozen authorized action to a component that can cause the protected effect. Authoritative reconciliation: An authenticated, audience-bound observation from the effecting provider or system of record that is matched to the original action and operation identifier. 3. Non-Collapsing Decision and Lifecycle Vocabulary AEB uses the following decisions with the meanings established by the EMILIA architecture and its component drafts: VERIFIED: One native artifact passed its native verifier under relying-party-selected trust inputs. MATCH: 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. SATISFIED: 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. AUTHORIZED: The effect-owning PEP accepts a native authorization Schrock Expires 29 March 2027 [Page 8] Internet-Draft Action Evidence Boundary September 2026 result, or the consequence-owning relying party's local policy permits, this exact action at this time. When the effect-owning PEP is not the effect boundary, the boundary learns of that acceptance only through a verified native authorization handoff. AEB records this result; it does not require a second PDP. EXECUTED: 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. AEB also names operational lifecycle states: CONSUMED: A one-time authorization, challenge, operation key, or equivalent native replay identity has been durably made unavailable for another invocation. RESERVED: Bounded state, such as a capability budget, has been durably fenced for the exact operation before invocation. DISPATCH_PENDING: 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. INVOKED: The protected effect was dispatched using the frozen authorized action and operation identifier. FAILED: 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. INDETERMINATE: Invocation began, but available authoritative evidence does not establish whether the protected effect occurred. 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. For example, an implementation that labels the interval between DISPATCH_PENDING and a recorded outcome as INVOKING applies the INVOKED rules to it. 4. Relying-Party Inputs and Pins 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. Schrock Expires 29 March 2027 [Page 9] Internet-Draft Action Evidence Boundary September 2026 Before evaluating an action, the relying party MUST configure or pin, as applicable: * the supported native artifact revisions, verifier adapters, algorithms, trust anchors, issuers, audiences, and status sources; * for each native authorization path, the native operation profile, including its operation representation, material-field inventory, action-digest construction, any instance field, and effecting target identity; * for each accepted native authorization source, the issuer, its authority namespace, and the native authorization identifier the source supplies; * when a native authorization handoff is accepted, each gateway identity and verification key, the source labels and issuers accepted from that gateway, the handoff encoding and signature profile, the maximum handoff age, and the status source for handoff revocation; * 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; * when independently encoded representations require a cross-format join, the CAID suite, action-type definition source, exact source descriptors, and mapping-profile digests; * when local policy requires multiple evidence legs, the AEC requirement and the admissible native evidence roles for each slot; * local policy identifiers, policy epochs, tenant and organization boundaries, and any separation-of-duty rule; * the trusted clock, maximum ages, validity windows, allowed skew, and revocation or status freshness requirements; * the durable replay, consumption, reservation, operation-key, and same-action fence namespaces; and * the protected executor, provider environment, reconciliation endpoint, and authenticated provider or system-of-record identities. Schrock Expires 29 March 2027 [Page 10] Internet-Draft Action Evidence Boundary September 2026 One issuer MUST have exactly one authority namespace in a pin set, whether its pins differ in native system or profile label or in gateway. Pins whose issuer values are identical, or are equal after normalization, MUST all resolve to the same authority namespace: either every such pin omits a declaration and carries one identical issuer value, or every such pin declares the same authority namespace. A pin set MUST be refused when it is configured if it declares two different authority namespaces for one issuer value, mixes declared and default namespaces for one issuer value, or contains issuer values that differ but are equal after normalization without one shared declared namespace. For an issuer value that is a URI, normalization at least lowercases the scheme. For a URL with a host, it also lowercases the host, removes a trailing dot from the host, removes a port that is the default for the scheme, and removes trailing slashes from the path, and it reads an http or https URL written without the "//" that introduces the authority, such as "https:a.example", as the same URL written with it. Normalization cannot detect every alias; two issuer values that denote one authority but do not normalize equal need an explicitly shared authority namespace. Changing the authority namespace of an accepted source, or the issuer value of a pin that uses the default namespace, changes the native replay identity of every grant accepted under it, so a grant already consumed or in flight under the old value could be admitted again. Before such a change, the relying party MUST resolve every attempt in flight under the old value and MUST ensure that no grant consumed under it can still be presented, for example by waiting until those grants expire or by revoking them. 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. 5. Required Processing Model 5.1. Construct the Observed Material Action 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 any instance field declared by the native operation profile. Schrock Expires 29 March 2027 [Page 11] Internet-Draft Action Evidence Boundary September 2026 The boundary MUST resolve the relying-party-pinned native operation profile used for authorization and include every field in that profile's material-field inventory. 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. The boundary MUST bind the operation identifier to the attempt, not to the action. The operation identifier, a provider idempotency key, and wrapper, session, trace, challenge, and caller retry identifiers MUST NOT be inputs to the action digest. Two attempts whose material fields are equal therefore have the same action digest, unless the native operation profile declares an instance field and the attempts carry different values for it. 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. 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. 5.2. Verify Each Native Artifact 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. 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 Schrock Expires 29 March 2027 [Page 12] Internet-Draft Action Evidence Boundary September 2026 exception, unavailable required status source, unsupported critical field, or ambiguous result MUST become a bounded refusal, never an allow path. When the effect boundary is not the effect-owning PEP, the boundary does not receive or re-verify the native artifact. The input it verifies is the native authorization handoff, under Section 5.8, and the trust basis for the native decision is then the pinned gateway rather than the native issuer. A native permit forwarded without integrity protection that the boundary can verify under relying-party pins MUST NOT be accepted as a native authorization result. 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. 5.3. Establish Exact-Action Correspondence 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. A native authorization result covers only the inputs that its native decision evaluated. When the native path projects the operation into a decision request, as a COAZ mapping [AUTHZEN-COAZ] does, the boundary MUST establish that every material field of the observed action is either projected by the pinned mapping and covered by the native PEP's check that the evaluated operation is unchanged when the permit is applied, or enforced by a separate relying-party-pinned check at the effect-owning PEP or at the boundary. A material field that meets neither condition makes exact-action correspondence INDETERMINATE, and the boundary MUST refuse before consumption, reservation, or provider entry. The binding of the full executor action comes from the effect-owning PEP's own enforcement or from a native authorization handoff over the full action digest, never from the permit alone. 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 [CAID]. 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 Schrock Expires 29 March 2027 [Page 13] Internet-Draft Action Evidence Boundary September 2026 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. 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. 5.4. Evaluate Required Field-Origin Assertions 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. 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. 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. 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. EP-FIELD-ORIGIN-v0.1 and its finance-operations Gap 6 runner are an informative reference implementation profile [EP-FIELD-ORIGIN]. They do not become a mandatory AEB format and their same-team results are not independent implementation evidence. Schrock Expires 29 March 2027 [Page 14] Internet-Draft Action Evidence Boundary September 2026 5.5. Evaluate Additional Evidence Requirements When Required 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. 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. 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. 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. 5.6. Pinned Boundary Requirement and Evaluation Record 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. EP-AEB-REQUIREMENT-v1 is an optional closed object for a deployment that selects AEC and multiple evidence roles. It is not required for a single native authorization path. Its members are: @version: The string EP-AEB-REQUIREMENT-v1. all_of: An array of distinct evidence-role names. Every listed role MUST be filled by a satisfied leg. any_of: OPTIONAL. An array of non-empty groups, each an array of distinct evidence-role names. Each group MUST have at least one of its roles filled by a satisfied leg. Schrock Expires 29 March 2027 [Page 15] Internet-Draft Action Evidence Boundary September 2026 terms: A non-empty array of boundary constraints, defined below. The object MUST name at least one evidence role through a non-empty all_of, a non-empty any_of, or a distinct-human-quorum term. An implementation MUST reject any other member. For example: { "@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" } ] } An implementation of this optional object MUST reject unknown terms. It MUST require exactly one one-time-consumption term. A distinct- human-quorum term names one role and a threshold of at least 2, appears at most once for a role, and counts only distinct natural- person subject identifiers exposed by eligible native verifiers for that role. initiator-exclusion and executor-exclusion each appear at most once and compare those verified subjects with the boundary-owned initiator and executor identifiers. An evidence-binding term names a source_role, a different target_role, and require_same_subject with the value true; it is met only when a satisfied source-role leg carries a native binding to the evidence digest of a satisfied target-role leg and both legs expose the same verified subject. Different encodings of one key or subject MUST NOT count as different humans. 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. 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 Schrock Expires 29 March 2027 [Page 16] Internet-Draft Action Evidence Boundary September 2026 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. 5.7. Make the Local Authorization Decision The effect-owning PEP MUST establish AUTHORIZED before consumption, reservation, 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. When the effect-owning PEP is not the effect boundary, AUTHORIZED reaches the boundary only as a verified native authorization handoff (Section 5.8). 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, at the PEP or at the boundary, MAY narrow a native permit. They MUST NOT widen it, reinterpret a refusal as a permit, or claim that AEB issued the native decision. 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. 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. 5.8. Accept a Native Authorization Handoff A deployment can place the effect-owning PEP in a protocol gateway, such as a Model Context Protocol (MCP) gateway that calls an AuthZEN PDP, while the effect boundary runs in a separate component that holds the provider credential. A native authorization handoff carries the gateway's acceptance of one native permit to that boundary. This section specifies the contents and verification of a handoff. It does not define an encoding: a deployment MUST pin the Schrock Expires 29 March 2027 [Page 17] Internet-Draft Action Evidence Boundary September 2026 encoding, canonicalization, signature algorithm, and signing input it accepts. [EP-NATIVE-HANDOFF] describes one reference encoding. A handoff MUST be integrity-protected by the gateway under a key that the relying party pins for that gateway, and MUST bind at least: * the gateway identity and the identifier of its signing key; * the native decision, which MUST be a permit; * the native source: the native system and profile labels, the issuer, and the native authorization identifier; * the action digest of the full executor action under the pinned native operation profile, including any instance field; * the relying party, audience, and executor; * the effecting target identity; * the issuance time and validity window; and * a revocation or status identifier. The native authorization identifier MUST be the identifier that the native system assigned to the grant when one exists. When the native protocol defines none, as with a stateless decision interface, the gateway MUST assign one identifier to each native decision it accepts and MUST NOT reuse it for a different decision. Section 5.10 explains why such identifiers alone do not prevent a second entry for the same action. The gateway MUST NOT sign a handoff for an action digest unless its enforcement covered every material field of that action, either through the native mapping and its operation-binding check or through a local check that the gateway performs itself. A gateway that holds a permit covering only a projection of the action MUST NOT attest the full action digest on the strength of that permit alone. The boundary MUST complete the following checks before it selects a status source, performs a lookup, or writes durable state on the handoff's behalf, and MUST refuse when any check fails: * the integrity protection verifies under a relying-party-pinned key for the named gateway; * the combination of gateway, source labels, and issuer is accepted by a relying-party pin; Schrock Expires 29 March 2027 [Page 18] Internet-Draft Action Evidence Boundary September 2026 * the action digest that the boundary recomputes from its own observed action equals the attested digest; * the relying party, audience, executor, and effecting target identity equal the pinned values; and * the validity window and maximum age hold against the trusted clock and pinned skew. The boundary MUST then obtain current status for the revocation identifier from a relying-party-configured status source, bound to the gateway and the native source, and MUST refuse when that status is revoked, stale, unavailable, or unauthenticated. It MUST derive the native replay identity itself, under Section 5.9. A replay value carried in the handoff is a gateway assertion; the boundary MAY check it under the encoding's own rules, but MUST NOT use it in place of that derivation. Immediately before provider entry, the boundary MUST repeat the time and status checks. If they fail, it MUST close the attempt as not entered without dispatching it. Each attempt MUST record the identity and digest of the pin set under which its handoff was accepted, so that reconciliation after a key or pin rotation evaluates the attempt under the pins that admitted it. A verified handoff establishes that the pinned gateway attested the stated native permit and bindings. It does not re-verify the native artifact, does not show that a native PDP evaluated any input that its mapping did not project, and moves the trust basis for the native decision from the native issuer to the gateway. The relying party MUST treat compromise of a gateway key as compromise of every native source it accepts from that gateway. 5.9. Derive the Native Replay Identity Before consuming or reserving authority, the boundary MUST derive the native replay identity of every authorization-bearing native result. The native replay identity is the native replay unit of Section 8.5; the two terms name one value. Schrock Expires 29 March 2027 [Page 19] Internet-Draft Action Evidence Boundary September 2026 The derivation inputs MUST be exactly the authority namespace of the accepted source and the native authorization identifier, combined under a relying-party-pinned, domain-separated derivation. By default the authority namespace is the verified issuer value. When the pin declares an authority namespace, the issuer value is not an input, so pins that name one issuer in different spellings and declare the same namespace yield one native replay identity. Section 4 limits which pin sets are acceptable. A durable store MAY further scope the resulting value by relying party. The derivation MUST NOT take as input the AEB operation identifier, a provider idempotency key, a native system or profile label or other wire label, the issuer value when the pin declares an authority namespace, a wrapper, handoff, or envelope digest, a consumption nonce, a caller-selected retry identifier, or a session, task, trace, or challenge identifier. A wire label can select a pin; the pin, not the label, supplies the authority namespace. The same native authority presented in a new wrapper, handoff, task, session, trace, challenge, source label, or caller retry MUST yield the same native replay identity, so relabelling one grant cannot make it spendable twice. If the selected native profile cannot provide a stable native authorization identifier, the boundary MUST refuse provider entry. Native replay identity stops one grant from being spent twice. It does not stop two grants from being spent on one action. When a native path can issue a new identifier for each evaluation of an identical request, the same-action fence of Section 5.10 is the control that prevents a second provider entry. 5.10. Hold the Same-Action In-Flight Fence The action key of an attempt is the tuple of the relying party, the effecting target identity, and the action digest. It does not include the operation identifier, the native authorization identifier, the native replay identity, or any wrapper or handoff digest. Schrock Expires 29 March 2027 [Page 20] Internet-Draft Action Evidence Boundary September 2026 The boundary compares action digests and effecting target identities exactly. It is not required to recognize two spellings of one material value as one value, such as "500" and "500.00", "USD" and "usd", a value with and without trailing white space, or two Unicode normalization forms of one string. The native operation profile MUST therefore define the canonical form of each material field, and the party that constructs the action MUST apply that form before the action digest is computed. Every boundary instance that can reach one effecting target MUST be configured with the same effecting target identity, because two configured spellings of one provider account would give one action two action keys. An attempt occupies its action key from the transition that makes it CONSUMED or RESERVED, through DISPATCH_PENDING and INVOKED, and while it is INDETERMINATE. An attempt that reaches EXECUTED keeps the action key closed for that action instance. For every attempt, whatever evidence path admits it, the boundary MUST refuse a new attempt whose action key is occupied or closed. The evidence path can be a native authorization result, a native authorization handoff, a cross-format CAID join, or an AEC composition. The refusal MUST occur before provider entry, and the refused attempt MUST NOT consume its authority. For an attempt admitted through a native authorization result, including one received as a native authorization handoff, the boundary MUST report the reason as native_action_in_flight while the action key is occupied, and MAY report native_action_already_executed once EXECUTED has closed it. On other evidence paths it MUST report a reason that identifies an occupied or closed action key. This holds even when the new attempt carries a fresh native permit, a different native authorization identifier, a new handoff, new evidence, or a new operation identifier. The fence MUST be recorded in the same durable state domain as consumption and reservation. Occupying the action key MUST be an atomic write that detects conflicts, so that concurrent attempts cannot both occupy it, and it is part of the transition in Section 5.11. Process memory is not sufficient: the fence MUST survive restart and MUST be shared by every boundary instance that can reach the effecting target. The fence releases only when: 1. authenticated evidence establishes that the attempt reached FAILED; 2. authenticated reconciliation resolves an INDETERMINATE attempt to FAILED; Schrock Expires 29 March 2027 [Page 21] Internet-Draft Action Evidence Boundary September 2026 3. the boundary itself stopped the attempt before provider entry, because a write of the transition in Section 5.11 failed or conflicted or because a check made before entry failed, and it confirmed through an authenticated durable read that the attempt was never dispatched (its record never reached DISPATCH_PENDING, or the boundary closed it as not entered under Section 5.8 through an atomic transition that no dispatch of the attempt can follow and that recorded the not-entered marker defined below) and that each write it made for the attempt was released; or 4. authorized pre-entry recovery, specified below, proves that the attempt was a pre-entry stop. Reconciliation to EXECUTED keeps the action key closed. A timeout, local exception, elapsed time, caller retry, fresh native authority, new handoff, or unauthenticated report MUST NOT release the fence. After a release, a new attempt for the same action instance still requires native authority whose native replay identity has not been consumed, a new operation identifier, and the complete lifecycle. Every transition that closes an attempt as not entered, whether the boundary makes it for its own pre-entry stop or pre-entry recovery makes it, MUST record an explicit not-entered marker bound to that attempt in the same atomic write. Only that marker, or an authenticated durable read showing that the record is still in a state before DISPATCH_PENDING, shows that an attempt did not enter the provider. The absence of evidence is never such proof. A record that is closed or released but carries neither the not-entered marker nor terminal provider evidence, including a record read from a store that does not return the evidence stored with it, MUST be treated as INDETERMINATE: the boundary MUST NOT treat it as a pre-entry stop and MUST NOT release anything on its basis. An attempt can stop before provider entry without meeting item 3. The boundary can crash while the attempt is CONSUMED or RESERVED, lose the acknowledgement of the write that enters DISPATCH_PENDING, or fail to confirm a release after a pre-entry refusal. Such an attempt keeps the action key occupied and its reservations held. The boundary MUST provide a pre-entry recovery operation for it. A boundary that crashes after occupying the action key but before recording the attempt leaves records that no attempt record accounts for. They cannot be shown not entered, as the next paragraph explains, so they stay held; a boundary SHOULD record the attempt before it occupies the action key, so that this case cannot arise. Pre-entry recovery is distinct from the reconciliation of Section 5.14: one invocation either releases the attempt as not entered or leaves every record held, and it MUST NOT continue into reconciliation to EXECUTED or FAILED. The operation MUST require Schrock Expires 29 March 2027 [Page 22] Internet-Draft Action Evidence Boundary September 2026 recovery authorization from the relying party that is bound to exactly one attempt, as Section 5.14 specifies, including that attempt's operation identifier and action key. The operation MAY release the action key and the attempt's reservations only when an authenticated durable read shows that the attempt record never reached DISPATCH_PENDING, that the boundary closed it as not entered through an atomic transition that no dispatch of the attempt can follow and that recorded the not-entered marker, and, where the effecting system offers an authenticated lookup by operation or idempotency key, that lookup reports that the operation was not received. The absence of an attempt record is not such proof, because a live attempt may not yet have written it; a record held without an attempt record therefore stays held. When the record is still in a state from which the original attempt could proceed to dispatch, the recovery operation MUST first close it as not entered through such an atomic transition, so that the original attempt cannot dispatch after the release. That transition is the linearization point between recovery and the original attempt. Recovery MAY treat the attempt as not entered only if its own transition succeeded, as shown by an authenticated durable read where the store provides one and otherwise by the affirmative result that Section 5.11 defines. Once that transition has succeeded, the original attempt's own transition toward DISPATCH_PENDING MUST fail, and the original attempt MUST NOT dispatch. It MUST NOT use the records it writes afterwards, and it releases them only after it confirms that the attempt was closed as not entered; until then they stay held. If recovery's transition fails because the record has reached DISPATCH_PENDING or a later state, recovery MUST treat the attempt as INDETERMINATE and MUST release nothing. A lookup result obtained for that recovery describes a moment before dispatch, so it MUST NOT be used as evidence of the attempt's outcome: an attempt that reached DISPATCH_PENDING is resolved only by reconciliation under Section 5.14, with evidence obtained after dispatch could have begun. Without the proof described above, the action key and the reservations MUST stay held and the attempt MUST be treated as INDETERMINATE. Recovery MUST release the attempt's records only after its not-entered transition has succeeded and been confirmed, as Section 5.11 requires for every release. Recovery MUST NOT release, close, or commit a record held by a different attempt, and a pre- entry stop MUST NOT be reconciled to EXECUTED or FAILED. Without an instance field, identical material actions are one action instance, and a further identical action after EXECUTED is refused. A native operation profile that must admit intentionally repeated Schrock Expires 29 March 2027 [Page 23] Internet-Draft Action Evidence Boundary September 2026 identical actions MAY declare an instance field. The instance field MUST be a material field, so it is part of the action digest and is covered by the native authorization or by the handoff's action digest. Its value SHOULD be fixed by the party that authorizes the action rather than chosen by the party that retries it (see Section 10). 5.11. Atomically Consume or Reserve Before Invocation After AUTHORIZED and native replay identity 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. Each write in the transition MUST be atomic within the relying party's durable state domain. Before provider entry, the boundary MUST check and occupy the same-action fence of Section 5.10, consume or reserve every one-time native replay identity, and record the operation. It MAY do so in one atomic step or in several atomic writes. With several writes, provider entry MUST wait until every write has succeeded. If any write conflicts or fails, the boundary MUST refuse without provider entry and MUST NOT consume the native authority of the refused attempt. It MUST confirm the release of each write it made through an authenticated durable read, and otherwise MUST leave that write held. A refusal whose writes are not all confirmed released MUST NOT be reported as a final refusal; the boundary reports the result as INDETERMINATE until the release is confirmed. The boundary MUST release or close only records that it wrote for the current attempt and MUST be able to prove that ownership, for example through an ownership token created for the attempt. A record that carries the same operation identifier, native replay identity, or action key but was written by another attempt MUST NOT be released or closed on this attempt's behalf; operation identifiers can be chosen by the caller, so an identifier match alone does not prove ownership. A record that successive attempts can hold, such as a reservation keyed by an evaluation, a wrapper, or a native replay identity rather than by the attempt, MUST be released, closed, or committed on an attempt's behalf only when the boundary can prove that the attempt is that record's current owner, for example through a durable record keyed by the attempt that marks it as the owner, or because the attempt itself created the record and has not handed it back. The operation record MUST bind the native replay identity and the action key to the executor-owned observed action and operation identifier, never a presenter-selected decoy. Independently of that composite operation record, the store MUST enforce uniqueness or conflict detection for every native replay Schrock Expires 29 March 2027 [Page 24] Internet-Draft Action Evidence Boundary September 2026 identity that the selected profile marks as one-time and for every occupied or closed action key. Changing an operation identifier MUST NOT make the same one-time native authority reservable again, and presenting fresh native authority MUST NOT make an occupied or closed action key reservable again. If the store is unavailable, non-atomic, or stale, or reports an ambiguous result, the boundary MUST refuse before invocation. An atomic transition or conditional write succeeds only when the store returns the affirmative result that its interface defines for success. Any other answer, including an error, a timeout, a refusal, or a value that is merely not a refusal, is a failure whose effect on stored state is unknown. When the outcome of a write is unknown, the boundary MUST NOT invoke, and MUST resolve the stored state through an authenticated durable read before it releases or reuses any key the write may have recorded. It MUST NOT release a record that it cannot prove it wrote; such a record stays held until that read or the recovery of Section 5.10 resolves it. When an attempt record exists, the boundary MUST release, close, or commit the attempt's occupation of the action key and its other reservations only after the attempt record's transition to a terminal state, or to not entered, has succeeded and been confirmed, through an authenticated durable read where the store provides one and otherwise by the affirmative result of the transition. It MUST NOT release them before that transition or regardless of its result. If the transition fails or cannot be confirmed, those records MUST stay held. 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, or the same action, available for an uncontrolled second effect. 5.12. Enter the Provider with the Frozen Effect 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. Schrock Expires 29 March 2027 [Page 25] Internet-Draft Action Evidence Boundary September 2026 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, action key, operation identifier, native replay identity, provider environment, audience, reservation or consumption record, and adapter. Failure or ambiguity while writing this record MUST withhold dispatch. When the result of that write is not affirmative, the boundary MUST NOT release any record on that basis. It MUST read the attempt record: if the record reached DISPATCH_PENDING for this attempt, the boundary either dispatches as the proven owner of that record or treats the attempt as INDETERMINATE; if the record is still in its earlier state, the boundary MUST close it as not entered through the atomic transition of Section 5.10 before it releases anything. If the record cannot be read, the boundary MAY attempt that not-entered transition directly and release only on its affirmative result; otherwise every record stays held and the attempt is treated as INDETERMINATE. A boundary that has sent a write that could record an attempt as not entered, including a write whose result it did not receive, MUST NOT dispatch that attempt afterwards, whatever a later read of the record shows. Such a write can still take effect after that read, and the record would then show an attempt that entered as not entered, so that pre-entry recovery would release its authority. A boundary that cannot read the record after a non-affirmative result of the write that enters DISPATCH_PENDING therefore either sends no not-entered transition, keeps every record held, and dispatches only if a later authenticated read shows DISPATCH_PENDING for the attempt, or attempts the not-entered transition and then never dispatches the attempt. An attempt left in DISPATCH_PENDING without a dispatch is INDETERMINATE even though nothing was dispatched: it is closed only by reconciliation with terminal evidence under Section 5.13 that forecloses any execution, now or later, under the attempt's provider idempotency key, for example an authenticated cancellation of that key by the effecting system, and whether presented evidence establishes that is the verifier's decision. Without such evidence its records stay held. A point-in-time absence of the operation, even when authenticated, does not foreclose execution: a live dispatcher can still deliver its call afterwards. The boundary MUST invoke only from that durable state. Where the provider supports an idempotency key, the boundary MUST send one derived from the native replay identity; the derivation MAY also bind the effecting target identity and action digest. It MUST NOT be derived from the operation identifier, a wrapper or handoff digest, or a source label. After dispatch begins, the boundary MUST durably record INVOKED or a terminal outcome before reporting success to the requester. Schrock Expires 29 March 2027 [Page 26] Internet-Draft Action Evidence Boundary September 2026 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. 5.13. Classify the Effect Outcome 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. * EXECUTED requires an authoritative response or accepted native execution evidence matched to the exact action, operation identifier, provider environment, and audience. * 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. * INDETERMINATE is REQUIRED whenever invocation may have reached the effecting system but the available authoritative evidence does not establish EXECUTED or FAILED. A terminal outcome that commits or releases records of an attempt that reached DISPATCH_PENDING, whether the dispatch returns it or reconciliation presents it, MUST be accepted only after a relying- party-configured verifier authenticates the provider evidence and binds it to that attempt, including its operation identifier, native replay identity, and provider idempotency key. The boundary MUST tell the verifier the purpose of each check, a terminal outcome or a pre-entry lookup, and MUST count a verifier result only when it affirms the purpose it evaluated and the attempt it evaluated it for; a result that merely does not refuse is not an affirmation. A lookup reporting that the operation was not received is evidence only for the pre-entry recovery of Section 5.10. It MUST NOT be accepted as FAILED for an attempt that reached DISPATCH_PENDING, because a dispatch in flight can still arrive after the lookup; such an attempt needs terminal evidence, for example an authenticated cancellation of its idempotency key by the effecting system. A boundary that has no such verifier MUST NOT move an attempt that reached DISPATCH_PENDING to EXECUTED or FAILED, and the attempt stays INDETERMINATE. This applies to every boundary, whatever evidence path admitted the attempt, including a boundary that admits attempts through a CAID join or an AEC composition, and it applies to the result that the Schrock Expires 29 March 2027 [Page 27] Internet-Draft Action Evidence Boundary September 2026 dispatch itself returns. A provider adapter's classification of that result is not verification: a timeout or an error that an adapter reports as FAILED MUST NOT release the action key unless the verifier affirms it as a terminal outcome for the attempt. Evidence presented to reconciliation or to pre-entry recovery MUST carry a kind in the boundary's own input that states whether it is a terminal outcome or a pre-entry lookup. Reconciliation MUST refuse evidence of the pre-entry lookup kind, and pre-entry recovery MUST refuse evidence of the terminal outcome kind, before either passes the evidence to the verifier. The party that presents evidence MUST present it under the kind that it is, and a verifier MUST refuse a lookup reporting that the operation was not received when it is asked to verify a terminal outcome. The boundary cannot check either obligation (see Section 10). For EXECUTED, the boundary MUST commit any reserved spend, preserve the terminal evidence, and keep the action key closed. For FAILED, it MUST preserve the failure evidence and follow the native reservation policy; the same-action fence then releases under Section 5.10. For INDETERMINATE, it MUST preserve or consume the reservation, keep the native replay identity consumed and the action key occupied, refuse reuse of the operation identifier, and prohibit a blind replay. 5.14. Perform Authenticated Reconciliation 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. 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. That evidence is verified for the attempt and for the purpose of a terminal outcome as Section 5.13 requires; a pre- entry lookup is not such evidence. Missing, stale, conflicting, unauthenticated, or action-mismatched observations MUST leave the operation INDETERMINATE. A reconciliation result MUST be bound to the attempt it resolves, including that attempt's operation identifier and native replay identity. It MUST NOT commit, close, or release a different attempt that holds the same action key. A pre-entry stop MUST NOT be reconciled to EXECUTED or FAILED; Section 5.10 defines its recovery. Schrock Expires 29 March 2027 [Page 28] Internet-Draft Action Evidence Boundary September 2026 Recovery authorization MUST be bound to exactly one attempt, identified by an attempt identifier that no other attempt uses. It MUST NOT be bound only to an operation identifier, an operation key, an action key, an evaluation, or another value that several attempts can share, because such a credential would authorize claims across attempts. The attempt identity MUST be unique across every boundary that shares the durable state domain, and it MUST be scoped to the boundary. It MUST include an identifier of the boundary that differs between boundaries sharing that domain and is the same for every instance of one boundary, and, where boundaries of different kinds share one store, it MUST also include a component that distinguishes them. Both MUST enter the derivation of every record keyed by the attempt, including the records that a claim may cover, and the scope against which the authorization is checked, so that two boundaries, of the same kind or of different kinds, cannot name each other's records even when they assign the same attempt identifier. The boundary identifier MUST NOT enter the action key, which every boundary that can reach one effecting target shares. A boundary or store MUST refuse a recovery claim that does not name the attempt it is made for, before it evaluates the authorization. Before a boundary or store claims, releases, closes, or commits a record under recovery authorization, it MUST verify that the record is one of the records derived from the attempt the authorization names, and MUST refuse any other record. One recovery authorization bound to the attempt MUST suffice for the boundary to claim and close every record that the attempt holds, including its occupation of the action key, so that reconciliation or recovery of one attempt completes in one operation. A boundary MUST NOT require a separately bound credential for a record that it derives from the attempt's own records. Reconciliation MUST record the attempt's terminal state, and confirm it, before it releases, closes, or commits any of the attempt's reservations or its occupation of the action key (Section 5.11). An attempt record that is still in DISPATCH_PENDING or a later non- terminal state MUST first be moved to INDETERMINATE through an atomic transition, so that the original attempt can no longer record its own outcome concurrently. Reconciliation MUST NOT resurrect the original authorization or silently release its native replay identity. Reconciliation to FAILED releases the same-action fence; reconciliation to EXECUTED keeps it closed. If policy permits a later attempt after an authoritative FAILED result, that attempt MUST carry native authority whose native replay identity has not been consumed, use a new operation identifier, and complete the lifecycle required by local policy. An implementation MUST NOT invoke again merely because a timeout elapsed, because the caller retried, or because fresh native authority was presented for the same action instance. Schrock Expires 29 March 2027 [Page 29] Internet-Draft Action Evidence Boundary September 2026 6. Declaration and Challenge Semantics 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. 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. A declaration or challenge authorizes nothing, reserves nothing, and promises no execution. A satisfied challenge still proceeds through native verification, exact-action correspondence, AUTHORIZED, native replay identity, the same-action fence, 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. 7. Native Evidence and Transport Boundaries 7.1. WIMSE and HTTP Message Signatures Workload Identity in Multi-System Environments (WIMSE) workload credentials and the WIMSE HTTP Message Signatures profile [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 [RFC9421] provide the underlying component- signing mechanism. Schrock Expires 29 March 2027 [Page 30] Internet-Draft Action Evidence Boundary September 2026 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. The WIMSE AI Identity Management System (AIMS) document [WIMSE-AIMS] describes how existing standards, including the WIMSE architecture and the OAuth 2.0 family of specifications, can be applied to AI agent authentication and authorization. The individual draft-munoz- wimse-authorization-evidence submission [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. PEDIGREE [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. 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. 7.2. AuthZEN and COAZ The AuthZEN Authorization API [AUTHZEN-API] defines the PDP request and decision interface. COAZ [AUTHZEN-COAZ] defines how an incoming protocol operation is projected into the AuthZEN subject, action, resource, and context (SARC) model. COAZ-MCP [AUTHZEN-COAZ-MCP] applies that mapping to MCP operations. Those specifications remain authoritative for operation-to-SARC mapping, PDP evaluation, and PEP enforcement. An AuthZEN decision applies to the request that the selected mapping constructs. COAZ-MCP notes, under "Authorization Granularity and Omitted Inputs", that two messages differing only in an input the mapping does not project can receive the same decision, and it forbids a PEP from representing a permit as evidence that the PDP evaluated an omitted input. Its PEP behavior also requires the PEP Schrock Expires 29 March 2027 [Page 31] Internet-Draft Action Evidence Boundary September 2026 to check, before applying a permit, that the method, selected mapping, and input-variable values are unchanged from the evaluated message. A permit therefore covers only the inputs that the pinned mapping projects. The effect-owning PEP can record AUTHORIZED for the full executor action only when every material field of that action is either projected by the pinned COAZ mapping and covered by that operation- binding check, or enforced by a separate relying-party-pinned check (Section 5.3). Otherwise exact-action correspondence is INDETERMINATE and the boundary MUST refuse. When the effect boundary is not that PEP, the binding of the full executor action comes from the PEP's native authorization handoff over the full action digest (Section 5.8), not from the permit alone. An AuthZEN decision consists of a boolean decision and an optional context object. The Authorization API allows, but does not require, a PDP to sign its response, and it defines no decision identifier and no one-time-use property; its optional request identifier is generated by the PEP. A new evaluation of an identical request can therefore produce a new permit. On an AuthZEN path, the native authorization identifier is the one the accepting PEP or gateway assigns, and the same-action fence of Section 5.10 is what prevents a second provider entry for an action whose first attempt is INDETERMINATE. AEB does not replace COAZ mapping with CAID and does not require a second PDP. CAID is needed only if the boundary must compare the authorized operation with an independently encoded provider action. AEC is needed only if local policy adds multiple evidence roles beyond the native decision. 7.3. Attested Per-Action Tokens and Permit Records 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. Schrock Expires 29 March 2027 [Page 32] Internet-Draft Action Evidence Boundary September 2026 AP2 mandates [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. 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. Supply Chain Integrity, Transparency, and Trust (SCITT) Permit records defined by [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. When the Permit's protected action commitment binds the exact executor operation, that native binding establishes exact-action correspondence. When the Permit and the executor action are independently encoded, the boundary maps the Permit's protected material action through a pinned CAID profile. The Permit fills an evidence role only when the relying party selects an AEC requirement that admits it for that role. 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. 8. Native Compilation Contract 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. The compilation target is the ordered AEB decision and lifecycle vocabulary: native verification, exact-action correspondence, authorization, native replay identity, the same-action fence, 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 Schrock Expires 29 March 2027 [Page 33] Internet-Draft Action Evidence Boundary September 2026 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. 8.1. Pinned Inputs Before compilation, the relying party MUST pin: * the native protocol, document revision, media type, schema version, and verifier revision; * the adapter identifier, adapter revision, verifier implementation identifier, and implementation digest; * the native trust anchors, issuer and audience policy, clock, freshness rules, and required status sources; * the native operation profile, including its material-field inventory, any instance field, and effecting target identity; * when a cross-format join is selected, the exact source descriptor, target CAID action type, mapping profile identifier, mapping revision, and mapping digest; * when AEC is selected, the accepted evidence role or roles; * the authority namespace, the native replay identity derivation of Section 5.9, and the replay scope; and * every native field whose omission or change can affect the protected consequence, evidence role, freshness, replay unit, or local policy. 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, authority namespace, or replay scope. 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. Schrock Expires 29 March 2027 [Page 34] Internet-Draft Action Evidence Boundary September 2026 8.2. Deterministic Operations An adapter exposes verifyNative, 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 mapAction operation, which maps only a VERIFIED native result to the relying party's expected action under the pinned mapping profile. 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. 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. 8.3. Closed Compile Result For each native artifact, the compiler MUST return a closed result that contains: * the native protocol, exact revision, artifact digest, and native verification result; * the adapter identifier, revision, and configuration digest, plus the pinned verifier implementation identifier, revision, and digest; * when selected, the mapping profile identifier, revision, and digest, plus mapper and resolver identifiers and the resolver implementation digest; * the source schema or media type and target action type; * the exact relying-party-supplied expected material action value, digest, and input provenance; * the CAID and normalized-action digest when a cross-format join is selected, or the exact native operation binding otherwise; * when AEC is selected, the accepted evidence role and subject, plus the status input and derived freshness result under pinned adapter rules; Schrock Expires 29 March 2027 [Page 35] Internet-Draft Action Evidence Boundary September 2026 * the native replay identity, its authority namespace, and the replay scope; * whether verifier runtime measurement is established; * the semantic-loss report defined below; and * every compiler state that remains unsupported or indeterminate. 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. 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. 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. 8.4. Semantic-Loss Report 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. When no cross-format join is selected, the same classification applies to the native projection: every material field of the observed action that the native decision request does not project, and that no relying-party- pinned local check enforces, is an omitted material field. 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. Schrock Expires 29 March 2027 [Page 36] Internet-Draft Action Evidence Boundary September 2026 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. 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. 8.5. Stable Native Replay Unit Every accepted authorization-bearing native result MUST expose a native replay unit. The native replay unit is the native replay identity of Section 5.9 and MUST be derived as specified there, from the authority namespace and the native authorization identifier only. It MUST NOT include an AEB wrapper digest, AEB operation identifier, consumption nonce, caller retry identifier, native system or profile label, or other value whose change would make the same native authority spendable again. The evaluator MUST probe the adapter with a second deterministic wrapper reference. Where the relying party accepts one issuer under more than one source label within one authority namespace, the evaluator MUST also probe the adapter with the same native authority under a second accepted label, and, where pins declare a shared authority namespace for two spellings of one issuer, under the second spelling. 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. 8.6. Path and Provider Ownership 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. 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, Schrock Expires 29 March 2027 [Page 37] Internet-Draft Action Evidence Boundary September 2026 action record, audit record, or native permit MUST NOT be relabeled as proof that provider entry, commitment, or an external effect occurred. 8.7. Compilation Conformance 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. 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, reconciliation binding mismatch, fresh native authority for the same action instance while an earlier attempt is INDETERMINATE, the same native authority under a second accepted source label, a pin set whose differently spelled issuer values normalize equal without a shared authority namespace, a pre-entry stop with and without proof that it never entered the provider, a pre-entry recovery that loses its not-entered transition to an original attempt that reaches DISPATCH_PENDING first, a lost acknowledgement of the write that enters DISPATCH_PENDING, a store answer that is neither the affirmative result nor a refusal, a failed reservation write while another attempt holds a record with the same operation identifier, recovery of one attempt while a later attempt holds a record that both can hold in turn, a recovery authorization for one attempt presented for another attempt's record, one issuer value pinned under two different declared authority namespaces, and a native decision request that omits a material field. A profile that accepts native authorization handoffs MUST also include a handoff whose attested action digest differs from the observed action. The profile MUST state every native semantic that could not be compiled without invention. A profile that claims a direct native authorization path MUST show the exact native operation binding, the native replay identity, and the same-action fence 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. Schrock Expires 29 March 2027 [Page 38] Internet-Draft Action Evidence Boundary September 2026 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. 9. Conformance and Deployment Claims An implementation conforms to AEB only if every protected invocation follows the ordered processing model in Section 5 and fails closed on every missing or ambiguous required transition. A deployment MUST state whether CAID or AEC is selected and MUST document: * the protected action types and the effect paths actually mediated; * the trusted configuration and durable-state boundaries; * the native verifier revisions and relying-party pins; * the native operation profile, material-field inventory, any instance field, and effecting target identity for each protected action type, and the method used to derive material action fields at the boundary; * the authority namespace pinned for each accepted native source; * when native authorization handoffs are accepted, the pinned gateways and the native sources accepted from each; * the consumption, reservation, same-action fence, pre-entry recovery, and cross-replica fencing mechanism, and how the boundary proves ownership of the records it releases; * the canonical form of each material field and the effecting target identity configured on each boundary instance; * the authoritative sources and matching rules used for reconciliation; and * all direct, break-glass, administrator, alternate-protocol, and system-of-record paths that bypass the AEB implementation. 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. Schrock Expires 29 March 2027 [Page 39] Internet-Draft Action Evidence Boundary September 2026 10. Security Considerations *Cross-binding.* 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. *Projection gaps.* A permit covers the decision request built by the native mapping. If the mapping omits a field on which the consequence depends, two different actions can receive the same permit, and treating that permit as authorization of the full executor action reopens cross-binding for the omitted field. Section 5.3 therefore requires every material field to be projected and operation-bound, or enforced by a separate pinned check. *Fresh authority for an uncertain action.* A native decision interface can return a new permit for each evaluation of an identical request. If a provider call times out and the caller asks again, a gateway can obtain a fresh permit and assign a fresh native authorization identifier. Native replay identity cannot detect this, because the authority really is new. Without the same-action fence, the boundary would enter the provider a second time for an action whose first effect may already have occurred. The fence of Section 5.10 keeps that path closed until authenticated evidence resolves the first attempt. *Relabelled authority.* If a replay derivation covers a native system or profile label, or a raw issuer spelling, a relying party that accepts one issuer under two labels or two spellings lets one grant be spent once per label or spelling. Deriving the native replay identity from the authority namespace and native authorization identifier, and refusing pin sets in which one issuer, however spelled, does not map to exactly one namespace, removes that degree of freedom. A pin set that declared two namespaces for one issuer value would let one grant be spent once per namespace, so Section 4 refuses it. Normalization cannot detect every alias: two issuer values that denote one authority but do not normalize equal need an explicitly shared namespace, or one grant can be spent once per value. Schrock Expires 29 March 2027 [Page 40] Internet-Draft Action Evidence Boundary September 2026 *Namespace rotation.* Changing an authority namespace, or the issuer value of a pin that uses the default namespace, changes the native replay identity of every grant accepted under it. A grant consumed, or still in flight, under the old identity then looks unused. Section 4 therefore requires in-flight attempts to be resolved and consumed grants to be unpresentable before the change. *Pre-entry stops.* A fence that only authenticated outcomes can release turns every crash before provider entry into a permanent refusal of that action. Section 5.10 therefore requires a recovery operation, but releases only with proof that the attempt never entered the provider. Releasing on a timeout or on local belief would reopen the second entry that the fence prevents. *Recovery racing a live attempt.* An attempt that looks stopped can be slow rather than dead. If recovery observes a pre-entry record and a provider lookup that finds nothing, the original attempt can still enter DISPATCH_PENDING and dispatch a moment later. A recovery that then used its lookup as evidence of FAILED would release the action key while the first dispatch is in flight, and a fresh attempt would enter the provider a second time. Section 5.10 therefore makes recovery's own atomic not-entered transition the linearization point, and a recovery that loses that transition releases nothing and never reuses its lookup. *Inferred non-entry.* A released record that lacks provider evidence looks like an attempt that never entered the provider, but an attempt that entered and failed looks the same when its store does not return the evidence stored with it. A boundary that inferred non-entry from that absence would release one-time authority for an attempt that did enter, and the same authority would reach the provider again. Section 5.10 therefore requires an explicit not-entered marker written by the not-entered transition itself and treats its absence as INDETERMINATE. *Evidence-agnostic verification.* A verifier that accepts any well- formed evidence, whatever it was asked, would accept a pre-entry "not received" lookup as a terminal FAILED for an attempt whose dispatch is still in flight, and the fence would release while the first effect can still occur. Section 5.13 tells the verifier the purpose of each check and counts only a result that affirms that purpose for that attempt, and it requires presented evidence to carry its kind, so that reconciliation refuses a lookup presented under its own kind before any verifier runs. These measures do not make the verifier's judgment checkable. A verifier can restate the purpose it was given, or always affirm the terminal purpose, without evaluating the evidence, and the party that presents evidence can present a lookup under the terminal-outcome kind. The boundary cannot detect either, Schrock Expires 29 March 2027 [Page 41] Internet-Draft Action Evidence Boundary September 2026 and the two together still turn a "not received" lookup into a terminal FAILED while a dispatch is in flight. That residual rests on the verifier and on the party that presents the evidence, which is why Section 5.13 states their obligations separately. *Unverified adapter results.* A provider adapter can report a timeout or a server error as FAILED although the effecting system committed the operation. A boundary that released the action key on that report would admit a fresh attempt for an action that executed. Section 5.13 therefore requires the verifier on every boundary, for the result that the dispatch returns as well as for reconciliation. *Lost acknowledgements and non-affirmative answers.* A write can take effect even though its acknowledgement is lost, and a store interface can return a value that is neither success nor a clear refusal. Treating either as a clean failure and releasing records would free the action key of an attempt whose record says it may dispatch. Section 5.11 and Section 5.12 therefore count only the affirmative result as success and resolve every other answer through a durable read before any release. A not-entered write whose acknowledgement is lost is the sharpest case: a later read can still show DISPATCH_PENDING while that write is pending, and a boundary that dispatched on that read would leave a record that says "not entered" for an attempt that entered, so recovery would release its one-time authority and the action could reach the effecting system twice. Section 5.12 therefore forbids dispatch after any not-entered write has been sent. *Record ownership.* Operation identifiers can be chosen by the caller. An error path that releases a record by operation identifier alone can delete a live record of another attempt that uses the same identifier, reopening that attempt's authority and action key. Section 5.11 therefore limits release to records whose ownership the boundary can prove. The same holds for a record that successive attempts can hold, such as a reservation keyed by an evaluation: recovering one attempt must not commit or release that record while a later attempt holds it. Releasing records before the attempt's terminal or not-entered transition is confirmed has the same effect, because the transition can still fail and leave a live attempt without its records. *Recovery credential scope.* A recovery credential bound to an operation identifier or another value that several attempts share authorizes claims on every attempt that shares it, including a live one. Section 5.14 therefore binds recovery authorization to exactly one attempt and requires every claimed record to be derived from that attempt. Two further gaps have the same effect. A claim that names no attempt cannot be checked against the records it covers, so it is Schrock Expires 29 March 2027 [Page 42] Internet-Draft Action Evidence Boundary September 2026 refused before the authorization is evaluated. Two boundaries that share one store, whether of the same kind or of different kinds, can assign the same attempt identifier, so the attempt identity includes an identifier of the boundary and, across kinds, a component that distinguishes them. *Instance fields.* An instance field lets two intentionally identical actions proceed. It also lets any party that can choose a new instance value step around the same-action fence on a retry, because the fence cannot tell a deliberate second instance from a retry that carries a new instance value. Profiles should bind the instance value inside the native authorization, set by the authorizing party, so that a retrying caller cannot mint a new instance without new authorization. *Action-digest scope.* If an action digest covered a field that the requester can vary without changing the consequence, such as a free- text memo or a request timestamp, the requester could vary it to obtain a new action key and step around the same-action fence. The action digest therefore covers material fields only, and a profile that must carry such a field to the provider either declares it material or keeps it out of the action digest. Two spellings of one material value have the same effect: without the canonical forms that Section 5.10 requires, a retry that writes an amount, a currency code, or a name differently obtains a new action key. *Gateway trust.* A native authorization handoff moves trust from the native issuer to the gateway. A compromised or misconfigured gateway can attest permits that no PDP issued, or attest a full action digest that its mapping never evaluated. Relying parties should pin the narrowest set of gateways, source labels, and issuers, retain historical pins across key rotation, and treat each accepted gateway as part of the enforcement trusted computing base. *Mutable context.* 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. *Time of check and time of use.* 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. Schrock Expires 29 March 2027 [Page 43] Internet-Draft Action Evidence Boundary September 2026 *Replay and distributed state.* Process-local caches are insufficient where replicas can invoke the same effect. Replay, consumption, reservation, same-action fence, and operation ownership state must be durable, atomic, and shared across every boundary instance that can reach the protected executor. *Freshness and revocation.* 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. *Indeterminate effects.* 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 and holds its action key until authenticated reconciliation resolves the exact outcome. Fresh authority does not reopen it. Caller assurances and unauthenticated webhooks do not resolve it. *Signature overclaiming.* 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. *Boundary bypass.* 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. 11. Privacy Considerations 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. Same-action fence records retain action digests for as long as an action key stays occupied or closed. A digest over low-entropy material fields can reveal the action to anyone who can enumerate candidate values; deployments SHOULD protect fence state accordingly. 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. Schrock Expires 29 March 2027 [Page 44] Internet-Draft Action Evidence Boundary September 2026 12. Relationship to EMILIA and Adjacent Work CAID [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. AEC [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 [AEG] is replaced by AEC; an implementation following an older citation MUST NOT treat the superseded series as a second composition contract. 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. The native authorization handoff reports a gateway's acceptance of a native permit; it is not a new permit and grants nothing beyond the native decision it reports. Authorization Receipts [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. 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. 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. 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. Schrock Expires 29 March 2027 [Page 45] Internet-Draft Action Evidence Boundary September 2026 13. IANA Considerations This document has no IANA actions. In particular, it creates no registry for native evidence types, lifecycle labels, refusal reasons, verifier adapters, action mappings, handoff encodings, or policy identifiers. 14. Changes since -06 * Added the same-action in-flight fence (Section 5.10) for every attempt, whatever evidence path admits it. A new attempt whose action key is held by a CONSUMED, RESERVED, DISPATCH_PENDING, INVOKED, or INDETERMINATE attempt, or closed by an EXECUTED one, is refused before provider entry, even when it carries fresh authority and a new operation identifier; native authorization paths report native_action_in_flight (or, once EXECUTED has closed the key, optionally native_action_already_executed). The fence is durable, is occupied by an atomic conflict-detecting write before provider entry, and releases only on authenticated FAILED, reconciliation to FAILED, a confirmed pre-entry release, or authorized pre-entry recovery with proof that the attempt never entered the provider. Pre-entry recovery is a separate operation that never continues into reconciliation. Its own atomic not- entered transition is the linearization point: a recovery that loses that transition to the original attempt releases nothing, treats the attempt as INDETERMINATE, and never uses its lookup result as evidence of the outcome. Action digests and effecting target identities are compared exactly, so profiles define canonical forms for material fields. Instance fields let a profile admit intentionally repeated actions. * Required an explicit not-entered marker, written by the not- entered transition itself, as the only proof besides a pre- dispatch state that an attempt did not enter the provider. A closed record without the marker or terminal provider evidence is INDETERMINATE; the absence of evidence, or of an attempt record, is never proof of non-entry. A boundary that has sent a write that could record an attempt as not entered, even one whose result it did not receive, never dispatches that attempt afterwards. * Required every terminal outcome that commits or releases the records of a dispatched attempt, on every boundary and including the result that the dispatch itself returns, to be verified for that attempt by a relying-party-configured verifier that is told the purpose of the check and must affirm it. A "not received" lookup is evidence only for pre-entry recovery, and a boundary without such a verifier keeps a dispatched attempt INDETERMINATE. Presented evidence carries its kind, and reconciliation and pre- Schrock Expires 29 March 2027 [Page 46] Internet-Draft Action Evidence Boundary September 2026 entry recovery each refuse the other kind before the verifier runs; a verifier or presenter that mislabels evidence remains outside what the boundary can detect. * Required a boundary to release or close only records whose ownership it can prove, and to release, close, or commit an attempt's records only after the attempt's terminal or not-entered transition is confirmed. Only the store's affirmative result counts as success, and a lost acknowledgement of the write that enters DISPATCH_PENDING is resolved through a durable read, never by releasing. A record that successive attempts can hold is closed only for its current owner. Recovery authorization is bound to exactly one attempt, every claimed record must be derived from that attempt, and one such authorization covers every record of the attempt. A claim that names no attempt is refused before its authorization is evaluated, and the attempt identity is scoped to the boundary, so boundaries that share one store, of the same kind or of different kinds, cannot name each other's records. A refusal whose writes are not all confirmed released is reported as INDETERMINATE. * Defined the native replay identity once and made the stable replay identity of -06 and the native replay unit of Section 8.5 the same value. Its inputs are the relying-party-pinned authority namespace, which defaults to the issuer, and the native authorization identifier. Operation identifiers, wire labels such as the native system and profile, and the issuer value when a namespace is declared are excluded. One issuer, including every issuer value equal to it after normalization, maps to exactly one namespace in a pin set, and a namespace change requires in-flight attempts and consumed grants to be drained first. Provider idempotency keys derive from the native replay identity. * Specified the native authorization handoff (Section 5.8): what a gateway attests, what the boundary verifies and in which order, how pins and status apply, and the shift of trust from the native issuer to the gateway. * Corrected the AuthZEN and COAZ text (Section 7.2). A permit covers only the inputs that the pinned mapping projects. Binding of the full executor action comes from the effect-owning PEP's enforcement, or from a handoff over the full action digest, and never from the permit alone. The semantic-loss report now covers native projections. Schrock Expires 29 March 2027 [Page 47] Internet-Draft Action Evidence Boundary September 2026 * Defined material field without depending on CAID, through the material-field inventory of the pinned native operation profile, and added terminology for PEP, PDP, effect-owning PEP, native operation profile, action digest, action instance, instance field, effecting target identity, authority namespace, and action key. * Bound each reconciliation result to the attempt it resolves. * Made the SCITT Permit text in Section 7.3 consistent with conditional CAID and AEC. * Restored the definitions of the all_of and any_of members of EP- AEB-REQUIREMENT-v1 and defined the evidence-binding term. * Updated references to AEC -06, Authorization Receipts -13, and WIMSE HTTP Signatures -07, pinned the COAZ and COAZ-MCP references to an openid/authzen commit, expanded acronyms on first use, and rewrote the implementation status to describe the direct native path, both reference Gate boundaries, and the synthetic lifecycle corpus. Revision -06 positioned AEB after native identity and authorization systems, made CAID conditional on a cross-format join and AEC conditional on a multi-leg evidence requirement, stated that an effect-owning PEP can accept a native authorization result without a second PDP, distinguished an authorized MCP or API request from a downstream provider effect, made the post-permit sequence explicit, cited the WIMSE AIMS working-group document, and added informative AuthZEN, COAZ, COAZ-MCP, and AP2 references. 15. Implementation Status This section records the status of known implementations at the time of writing, following [RFC7942]. It is to be removed before publication as an RFC. 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 [OAUTH-TXN-CHALLENGE], a strict request-only profile over WPT-02 [WIMSE-WPT] and Transaction Tokens -11 [OAUTH-TXN-TOKENS], and a WIMSE R10 compatibility matrix. The AuthZEN-derived path verifies an EMILIA-signed local PEP observation, Schrock Expires 29 March 2027 [Page 48] Internet-Draft Action Evidence Boundary September 2026 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. Direct native path. At the commit cited by [EP-NATIVE-HANDOFF], the reference verifier package verifies a gateway-signed AEB-NATIVE- AUTHORIZATION-HANDOFF-v1 statement under pinned gateway keys and source pins, and derives the native replay identity itself from the pinned authority namespace and the native authorization identifier, as Section 5.8 and Section 5.9 require. For wire compatibility with earlier releases, the signed handoff still carries a replay_unit computed over the native system and profile labels, the issuer, and the authorization identifier; the verifier checks it as part of the encoding and never uses it as the replay identity. In addition to the replay identity, the reference Gate fences a key over that carried value computed for every source label and issuer value pinned under the grant's authority namespace, not only for the presented label, so authority consumed by an earlier release under one label stays fenced under every label still pinned; that key is never the only fence, and it covers only the labels pinned at the time. The earlier release has no same-action fence, so the reference documentation requires that it not serve a durable state domain together with the current code. The verifier's pin-set check refuses a pin set that does not map each issuer, including issuer values that are equal after the normalization of Section 4, to exactly one authority namespace, and the verifier derives no replay identity under such a pin set. At the same commit, both reference Gate boundaries, the native consequence boundary and the composed CAID and AEC boundary, implement the same-action fence of Section 5.10. They derive one action key from the relying party identifier, the configured provider coordinates, and the action digest, so they fence each other when they share a store. Each writes the attempt record before any record that occupies the action key, records an explicit not-entered marker with every not-entered transition, never calls the provider after it has sent a not-entered write and, when its start cannot be confirmed, sends none and holds every record, treats a closed record that carries neither that marker nor provider evidence as INDETERMINATE, never counts a store answer other than the exact affirmative result as success, and provides the pre-entry recovery of Section 5.10 as a separate mode of its reconciliation operation. In that mode its own not-entered transition of the attempt record is the linearization Schrock Expires 29 March 2027 [Page 49] Internet-Draft Action Evidence Boundary September 2026 point, a recovery that loses the transition returns INDETERMINATE without releasing anything, and the attempt's records are released only after the transition is confirmed. Recovery authorization is scoped to one attempt, and a claimed record must be one derived from that attempt. The composed boundary has no recovery for an evaluation reservation that a run made before it wrote its attempt record: such a reservation stays held, because nothing durable distinguishes a crashed run from a live one that has not yet written its record. The two boundaries key their records differently. The native boundary keys each of its three reservations, for the operation, the native replay identity, and its occupation of the action key, by the attempt. The composed boundary keys its occupation of the action key by the attempt, but keys its evaluation reservation by the evaluation, which successive attempts can present. It commits that reservation for an attempt only on proof that the attempt still owns it: a durable read showing the attempt's own occupation of the action key still held, or, without such a read, the acknowledged close of that occupation. Its pre-entry recovery releases only that occupation, leaving the evaluation reservation to the run that made it. Where its consumption store offers no durable state read, or its attempt store offers none or does not declare that it stores and returns the not-entered marker, the composed boundary confirms a transition or release only by the store's exact affirmative result rather than by the authenticated durable read that Section 5.11 requires. It then treats only its own not-entered transition answered affirmatively as proof of a pre-entry stop, and because it cannot tell a recovery's not-entered transition from its own lost write, a run that loses that race keeps every record held and the action key occupied. The reference PostgreSQL consumption store exposes a durable state read and an authorized recovery claim that both boundaries use after a restart. Before the authorizer runs, the store refuses a claim that carries no recovery scope and a claim for any record other than one the scope names for its attempt. The scope names the boundary kind and a configured boundary identifier as well as the attempt identifier, and every record keyed by the attempt includes both, so two boundaries that share one store and one attempt identifier, of the same kind or of different kinds, do not share claims. Evidence verification. Both boundaries require an operator- configured verifier that receives the attempt, its provider idempotency key, and the purpose of the check, and that affirms an outcome only by restating all three; each refuses to be constructed without one. Neither boundary accepts a terminal outcome for an attempt that reached DISPATCH_PENDING without that affirmation, including the result of its own provider call, so a provider Schrock Expires 29 March 2027 [Page 50] Internet-Draft Action Evidence Boundary September 2026 adapter's report of FAILED alone never releases the action key. Evidence presented to reconciliation carries its kind in the boundary's input, and each mode refuses the other kind before the verifier runs. The reference code checks that a verifier's answer restates the purpose, the attempt, and the idempotency key it was given, but it cannot tell whether the verifier evaluated the evidence or whether evidence was presented under the right kind: a lookup presented as a terminal outcome to a verifier that restates whatever it is asked is accepted as a terminal outcome. The reference code does not itself authenticate an effecting system: the authenticated- evidence requirements of Section 5.10, Section 5.13, and Section 5.14 are met only if the operator's verifier authenticates the provider evidence it accepts. Neither boundary can tell whether an effecting system offers a lookup: both accept an indeterminate provider answer as the absence of one, so presenting the lookup result where a lookup exists is the operator's responsibility. The reference Gate implements no material-field inventory and no canonical-form equivalence. It compares the caller-supplied action digest and the configured provider coordinates exactly, so the canonicalization that Section 5.10 requires is performed by the caller or its profile. This code is same-team reference code, not an independent implementation, and has no known production deployment. Synthetic lifecycle corpus. A 26-case corpus [EP-LIFECYCLE-CORPUS] runs four synthetic native-result profiles (AuthZEN with COAZ-MCP, AP2, an OAuth Transaction Token, and a locally signed mandate) through one post-authorization lifecycle model. Its runner implements its own store and boundary model and does not execute the reference verifier or Gate packages, so its results describe that model rather than the shipped code. It includes cases with fresh native authority for an action whose first attempt is INDETERMINATE or has EXECUTED, and a case that relabels one grant under a second source label. The informative EP-FIELD-ORIGIN-v0.1 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, are not an adoption claim, and do not prove that a deployment mediates every effect path. 16. References Schrock Expires 29 March 2027 [Page 51] Internet-Draft Action Evidence Boundary September 2026 16.1. Normative References [AEC] Schrock, I., "Authorization Evidence Chains: Composing Heterogeneous Agent-Action Evidence (EP-AEC)", Work in Progress, Internet-Draft, draft-schrock-ep-authorization- evidence-chain-06, 6 September 2026, . [BCP14] Internet Engineering Task Force, "Key Words for Use in RFCs to Indicate Requirement Levels", BCP 14, 2017, . [CAID] Schrock, I., "The Canonical Action Identifier (CAID)", Work in Progress, Internet-Draft, draft-schrock-canonical- action-identifier-02, 6 August 2026, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 16.2. Informative References [AEG] Schrock, I., "Action Evidence Graph for Consequential Agent Actions", Work in Progress, Internet-Draft, draft- schrock-ep-action-evidence-graph-00, July 2026, . [AP2] Google Agentic Commerce, "Agent Payments Protocol (AP2), v0.2 CheckoutMandate and PaymentMandate", 2026, . [AUTHZEN-API] Gazitt, O., Brossard, D., and A. Tulshibagwale, "Authorization API 1.0", OpenID AuthZEN Final Specification, 11 January 2026, . Schrock Expires 29 March 2027 [Page 52] Internet-Draft Action Evidence Boundary September 2026 [AUTHZEN-COAZ] Olivier, A. and A. Tulshibagwale, "COAZ: A Framework for Mapping Information Models to AuthZEN Authorization Requests - Draft 1", OpenID AuthZEN Working Group Draft 1, 13 February 2026, . Editor's copy in the openid/authzen repository at commit 78a5165a0048895a345e4ac5b0f2b9c7904bb110, retrieved 24 September 2026. Work in progress; not a final specification. [AUTHZEN-COAZ-MCP] Tulshibagwale, A. and A. Olivier, "COAZ-MCP: COAZ Binding for the Model Context Protocol - Draft 1", OpenID AuthZEN Working Group Draft 1, 13 February 2026, . Editor's copy in the openid/authzen repository at commit 78a5165a0048895a345e4ac5b0f2b9c7904bb110, retrieved 24 September 2026, which includes the operation-binding change merged on 10 September 2026. Work in progress; not a final specification. [EP-FIELD-ORIGIN] EMILIA Protocol, "EP-FIELD-ORIGIN-v0.1 Informative Implementation Profile and Gap 6 Runner", 15 August 2026, . [EP-LIFECYCLE-CORPUS] EMILIA Protocol, "Consequence-Admission Lifecycle Composition Corpus v0.1", 25 September 2026, . Repository commit b1b268e7d0538a9e22e379ddb06f55149d352c3b. Synthetic same- team corpus. [EP-NATIVE-HANDOFF] EMILIA Protocol, "AEB-NATIVE-AUTHORIZATION-HANDOFF-v1 Reference Encoding and Native Consequence Boundary", 25 September 2026, . Schrock Expires 29 March 2027 [Page 53] Internet-Draft Action Evidence Boundary September 2026 Repository commit b1b268e7d0538a9e22e379ddb06f55149d352c3b. Same-team reference code; informative only. [MUNOZ-PERMIT] Munoz, C., "A SCITT Profile for Pre-Execution AI Action Authorization Records", Work in Progress, Internet-Draft, draft-munoz-scitt-permit-profile-01, July 2026, . [MUNOZ-WIMSE-EVIDENCE] Munoz, C., "Signed Authorization-Evidence Records for WIMSE-Authorized AI Agent Actions", Work in Progress, Internet-Draft, draft-munoz-wimse-authorization-evidence- 01, July 2026, . [OAUTH-TXN-CHALLENGE] Rosomakho, Y., Campbell, B., McGuinness, K., and P. Kasselman, "OAuth Transaction Authorization Challenge", Work in Progress, Internet-Draft, draft-rosomakho-oauth- txn-challenge-00, 25 June 2026, . [OAUTH-TXN-TOKENS] Tulshibagwale, A., Fletcher, G., and P. Kasselman, "Transaction Tokens", Work in Progress, Internet-Draft, draft-ietf-oauth-transaction-tokens-11, 30 July 2026, . [PEDIGREE] Rampalli, K., "PEDIGREE: Verifiable Delegation Identity for Agentic AI Systems", Work in Progress, Internet-Draft, draft-rampalli-pedigree-00, April 2026, . [RECEIPTS] Schrock, I., "Authorization Receipts for High-Risk Agent Actions", Work in Progress, Internet-Draft, draft-schrock- ep-authorization-receipts-13, 12 September 2026, . Schrock Expires 29 March 2027 [Page 54] Internet-Draft Action Evidence Boundary September 2026 [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running Code: The Implementation Status Section", BCP 205, RFC 7942, DOI 10.17487/RFC7942, July 2016, . [RFC9421] Backman, A., Ed., Richer, J., Ed., and M. Sporny, "HTTP Message Signatures", RFC 9421, DOI 10.17487/RFC9421, February 2024, . [WIMSE-AIMS] Kasselman, P., Lombardo, J., Rosomakho, Y., Campbell, B., Steele, N., and A. Parecki, "AI Identity Management System", Work in Progress, Internet-Draft, draft-ietf- wimse-aims-00, 15 September 2026, . [WIMSE-HTTP] Salowey, J. A. and Y. Sheffer, "WIMSE Workload-to-Workload Authentication with HTTP Signatures", Work in Progress, Internet-Draft, draft-ietf-wimse-http-signature-07, 20 September 2026, . [WIMSE-WPT] Campbell, B. and A. Schwenkschuster, "WIMSE Workload Proof Token", Work in Progress, Internet-Draft, draft-ietf- wimse-wpt-02, 27 August 2026, . Acknowledgments 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. Author's Address Iman Schrock EMILIA Protocol, Inc. United States of America Email: team@emiliaprotocol.ai Schrock Expires 29 March 2027 [Page 55]