<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-gilda-audit-agent-audit-record-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="Agent Audit Record">An Audit Record Format for AI Agent Authorization Decisions</title>
    <seriesInfo name="Internet-Draft" value="draft-gilda-audit-agent-audit-record-01"/>
    <author fullname="Sankalp Gilda">
      <address>
        <email>sankalp.gilda@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="27"/>
    <area>Security</area>
    <keyword>audit</keyword>
    <keyword>agent</keyword>
    <keyword>attestation</keyword>
    <keyword>tamper-evident</keyword>
    <abstract>

<t>This document defines a record format for AI agent authorization decisions and the effects that followed them. The format is one in-toto predicate type, signed inside a DSSE envelope. A record carries the decision and the observed effect with a derived agreement between them, whether the decision point could evaluate the request and how fresh each input it relied on was, and a canonicalization contract under which a party that trusts neither the agent nor its operator recomputes the record's consistency from its bytes. The document also defines what a party that retains a record keeps beside it, so that the record can later be dated from anchors that party does not control. The format carries the seven minimum audit fields of the WIMSE AI Identity Management System framework, and it is offered as a data model for the audit records the proposed AUDIT working group would specify. It defines no policy.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-gilda-audit-agent-audit-record/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        AUDIT Birds of a Feather mailing list (<eref target="mailto:audit@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/audit/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/audit/"/>.
      </t>
    </note>
  </front>
  <middle>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document defines one record format for an agent's authorization decisions and their effects, and it defines nothing else. It specifies no policy model, no compliance criteria and no retention period, and it does not extend or amend <xref target="AIMS"/>.</t>
      <t>Two bodies of text ask for such a format. Section 11 of <xref target="AIMS"/> requires audit records for agent authorization decisions and leaves their form open. The proposed charter of the AUDIT working group <xref target="AUDIT-CHARTER"/> asks for data models that represent "interaction records, references to the identities of participating entities, delegation context, authorization state over time, or action provenance", and states that "audit information must be verifiable by a party that trusts neither the agent nor its operator". <xref target="audit-map"/> maps each problem the AUDIT BoF request <xref target="AUDIT-BOFREQ"/> and that charter name to the section of this document that addresses it, and names the ones this document leaves to other work.</t>
      <t>This document replaces draft-gilda-wimse-agent-audit-record-02. Sections 1 to 8 and Appendices A and B keep the numbers they had there, so a reference to one of those sections of that revision resolves to the same section here.</t>
      <t>The goals are:</t>
      <ul spacing="normal">
        <li>
          <t>to make an audit record from one deployment comparable with one from another;</t>
        </li>
        <li>
          <t>to make "tamper-evident" a property a verifier can test on the bytes it holds;</t>
        </li>
        <li>
          <t>to carry the authorization decision and the observed effect in one signed record, so a disagreement between them is detectable;</t>
        </li>
        <li>
          <t>to give the seven minimum fields of Section 11 of <xref target="AIMS"/> one member each.</t>
        </li>
      </ul>
      <t>Policy belongs to a deployment, and a record format belongs to everyone who has to read the record. Two implementations that each satisfy Section 11 in their own format produce audit trails that cannot be compared, correlated across a service boundary, or checked by a party that trusts neither producer. Section 11 asks for all three.</t>
      <t>Comparable has a narrow meaning here. Two records are comparable when a third party holding both can decide, from the bytes alone, whether they describe the same request, whether their decisions agree, and whether either was enforced.</t>
      <t>The consequence is concrete: two deployments that each hash a request differently cannot join their records on a request digest, so a delegation that crossed between them is reconstructable in neither log.</t>
      <t>Section 11 of <xref target="AIMS"/> is normative about the existence of agent audit records and silent about their form. It requires that "deployments <bcp14>MUST</bcp14> produce durable audit logs covering authorization decisions and subsequent remediations", that "Audit records <bcp14>MUST</bcp14> be tamper-evident and retained according to the security policy of the deployment", and that audit events record seven minimum fields.</t>
      <t>Section 12 then places the policy model and document format out of scope, stating that they are "not recommended as a target for standardization within this specification". Section 13 places compliance criteria out of scope, and Section 16 records no IANA actions. <xref target="rationale"/> sets out the canonicalization contract and the reason the decision and the observed effect belong in one record.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

</section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The following terms are used throughout this document. Two of them, <em>observer</em> and <em>decision point</em>, are defined here; the rest are taken from the documents named beside them.</t>
      <dl>
        <dt>Agent, Tool, Service, Resource, LLM:</dt>
        <dd>
          <t>as <xref target="AIMS"/> uses them.</t>
        </dd>
        <dt>Agent identifier:</dt>
        <dd>
          <t>a WIMSE identifier as defined in <xref target="WIMSE-ID"/>.</t>
        </dd>
        <dt>Statement, subject, predicate:</dt>
        <dd>
          <t>as <xref target="IN-TOTO"/> uses them.</t>
        </dd>
        <dt>Observer:</dt>
        <dd>
          <t>the party that produces a record under this document. An observer watches from a layer the agent cannot address. A host-side view of a guest filesystem, a hypervisor-level read of guest state, and kernel-level supervision below the observed process are such layers. An in-process library, a wrapper the agent links, and an importer holding another party's log are not.</t>
        </dd>
        <dt>Decision point:</dt>
        <dd>
          <t>the party that evaluated the authorization request, whatever its architecture.</t>
        </dd>
        <dt>Interval:</dt>
        <dd>
          <t>the period between the before-state and the after-state that one record covers.</t>
        </dd>
        <dt>Retaining party:</dt>
        <dd>
          <t>a party that keeps a record as evidence, whether it produced the record or received it from another party.</t>
        </dd>
        <dt>Anchor:</dt>
        <dd>
          <t>evidence, obtained from a source the retaining party does not control, that a given digest existed no later than a given time: an <xref target="RFC3161"/> time-stamp token, an inclusion proof in an append-only log <xref target="RFC9162"/>, or an OpenTimestamps proof.</t>
        </dd>
        <dt>Skew tolerance:</dt>
        <dd>
          <t>300 seconds. Every comparison in this document between times written by two different parties allows it, except a comparison with the time of an <tt>opentimestamps</tt> anchor, which allows the larger tolerance <xref target="anchor-rules"/> gives for that kind. A relying party <bcp14>MAY</bcp14> apply a smaller tolerance and <bcp14>MUST NOT</bcp14> apply a larger one.</t>
        </dd>
        <dt>Tier:</dt>
        <dd>
          <t>the degree to which a record's own members corroborate what it claims about how it was observed. A verifier derives the tier under the rule in <xref target="observation"/> and never reads it from the record.</t>
        </dd>
      </dl>
      <t>Every digest in this document is written as lowercase hexadecimal in the algorithm the record declares in its <tt>hashAlgorithm</tt> member.</t>
    </section>
    <section anchor="spec">
      <name>Audit Record Specification</name>
      <t>A record is an in-toto Statement <xref target="IN-TOTO"/> carried in a DSSE envelope <xref target="DSSE"/>. Its <tt>predicateType</tt> is</t>
      <artwork><![CDATA[
=========== NOTE: "\" line wrapping per RFC 8792 ============

https://probityai.github.io/agent-evidence-vectors/predicate/v1/\
agent-audit-record
]]></artwork>
      <t>Seventeen required predicate members and two optional members are defined in <xref target="members"/>. Each of the seventeen <bcp14>MUST</bcp14> be present unless a rule in that section makes it conditional, no member has a default, and a verifier <bcp14>MUST NOT</bcp14> supply one for an absent member (vectors <tt>F1</tt> and <tt>EV3</tt>). Two members are conditional on a sibling value, <tt>resource.argumentsDigest</tt> and <tt>correlation.externalAnchor</tt>, and each is specified where it is defined. The optional members are <tt>oversight</tt> (<xref target="oversight"/>), whose absence says nothing about whether a person acted, and <tt>sequence</tt> (<xref target="sequence"/>), whose absence says nothing about how many records the producer issued.</t>
      <t>A verifier <bcp14>MUST</bcp14> reject a value outside any closed vocabulary this document defines, and <bcp14>MUST NOT</bcp14> ignore the member (vector <tt>V1</tt>). The closed vocabularies reuse terms registered in <xref target="VOCABULARY"/>.</t>
      <t>A closed vocabulary is extended only by a revision of this document. Once a revision has frozen the predicate type URI (<xref target="iana"/>), a revision that adds a value to any closed vocabulary publishes the extended set under a new predicate type URI and leaves the set under the earlier URI unchanged, so a verifier never meets, under a URI it accepts, a value it is required to refuse. A verifier <bcp14>MUST NOT</bcp14> accept a value outside the set because it is well formed, prefixed, registered elsewhere or accompanied by a description. No closed vocabulary in this document carries a catch-all value such as <tt>other</tt>, because a catch-all satisfies the vocabulary while saying nothing two records can be compared on.</t>
      <section anchor="canonical">
        <name>Canonical form</name>
        <t>Two implementations derive the same bytes from the same Statement only if they agree on the serialization and on what makes a Statement malformed. Both are fixed below.</t>
        <section anchor="json-profile">
          <name>JSON profile</name>
          <t>Producers and verifiers <bcp14>MUST</bcp14> canonicalize the Statement with <xref target="RFC8785"/>, and the signature covers those bytes and no other serialization (vector <tt>T2</tt>). Producers and verifiers <bcp14>MUST</bcp14> enforce the <xref target="RFC7493"/> I-JSON safe-integer profile: an integer of magnitude at or above 2^53 makes the Statement malformed (vector <tt>T5</tt>).</t>
        </section>
        <section anchor="duplicate-members-and-nesting-depth">
          <name>Duplicate members and nesting depth</name>
          <t>A member name repeated at any depth makes the Statement malformed. A verifier <bcp14>MUST</bcp14> reject such a Statement and <bcp14>MUST NOT</bcp14> retain any one occurrence (vector <tt>T3</tt>). A Statement nested deeper than 128 levels <bcp14>MUST</bcp14> be rejected (vector <tt>T4</tt>).</t>
        </section>
      </section>
      <section anchor="subject">
        <name>Subject convention</name>
        <t>A record carries two subject entries. The first is the request, by digest: its <tt>name</tt> is the correlation identifier and its <tt>sha256</tt> digest is the request digest defined in <xref target="members"/>. The second is the after-state root of the interval the predicate carries, and its <tt>name</tt> is the first entry's <tt>name</tt> with the suffix <tt>/after</tt>.</t>
        <sourcecode type="json"><![CDATA[
"subject": [
  { "name": "urn:example:corr:7f3a",
    "digest": { "sha256": "9f86d081884c7d659a2feaa0c55ad015..." } },
  { "name": "urn:example:corr:7f3a/after",
    "digest": { "sha256": "60303ae22b998861bce3b28f33eec1be..." } }
]
]]></sourcecode>
        <t>A verifier <bcp14>MUST</bcp14> bind on the <tt>digest</tt> map and <bcp14>MUST NOT</bcp14> bind on either <tt>name</tt>. A name is a correlation identifier a producer chooses; a digest is a value a verifier recomputes from the bytes it holds. The names exist so that a reader can tell the two entries apart.</t>
        <t>The second entry <bcp14>MUST</bcp14> be present if and only if the predicate carries an interval (vectors <tt>S1</tt> and <tt>I1r</tt>), and its digest <bcp14>MUST</bcp14> equal the interval's after-state root (vector <tt>S2</tt>).</t>
        <t>A decision that was denied, and a permit under which nothing was written, still carry an observed interval. The condition on the interval is what was observed in it, not what was decided: an interval with no writes has equal before-state and after-state roots (vectors <tt>A2</tt> and <tt>E6</tt>), and a write the observer saw in the interval is retained whatever the decision. A write attributed to a denied request yields <tt>agreement</tt> of <tt>disagree</tt> under <xref target="decision-effect"/> (vector <tt>A3</tt>), and a write attributed to another request moves the roots and leaves this record's agreement as it is (vector <tt>A7</tt>). A consumer therefore reads an absence of effect from the members of a record it holds, and never from a record it does not have.</t>
      </section>
      <section anchor="timestamps">
        <name>Timestamps and correlation</name>
        <t>Every time value in a record <bcp14>MUST</bcp14> be an <xref target="RFC3339"/> date-time. A producer <bcp14>SHOULD</bcp14> express it in UTC with the "Z" offset, so that two records from different deployments sort together without a conversion step. The correlation identifier is the first subject entry's <tt>name</tt>, so one identifier binds the request digest, the interval and the record.</t>
      </section>
      <section anchor="tamper">
        <name>Tamper-evidence</name>
        <t>A record satisfies the tamper-evidence requirement of Section 11 of <xref target="AIMS"/> when all three of the following hold.</t>
        <t>The DSSE pre-authentication encoding covers the <xref target="RFC8785"/> canonical bytes of the whole Statement, and every one of the seven minimum fields is inside that pre-image.</t>
        <artwork><![CDATA[
DSSE PAE = "DSSEv1" SP len("application/vnd.in-toto+json") SP
           "application/vnd.in-toto+json" SP
           len(JCS(statement)) SP JCS(statement)
]]></artwork>
        <t>The request digest, the ordered write chain of the effect, and both <tt>agreement</tt> values are recomputable from other members of the same record. A verifier therefore still refuses a record that the key holder altered inconsistently and signed again (vector <tt>T1</tt>).</t>
        <t>These recomputations detect internally inconsistent alterations even when the altered record is signed again by the key holder. They do not detect a coherent replacement in which the dependent members are changed consistently and signed again. A key holder that keeps <tt>authorityDigest</tt>, <tt>beforeRoot</tt>, <tt>recordId</tt> and <tt>witnessNonce</tt>, so that the commitment digest still recomputes, and replaces the writes, <tt>afterRoot</tt>, the second subject entry and every value derived from them, produces a record that every recompute accepts. A coherent replacement is found only by comparison with something the key holder does not control, such as a copy of the original envelope or an anchor over its digest that another party obtained (<xref target="retained"/>).</t>
        <t>The canonical form is fixed as in <xref target="canonical"/>, so two verifiers derive identical bytes from identical documents. Any one of the three failing is a refusal.</t>
        <t>The retention half of the Section 11 requirement is a property of a deployment, and a record cannot assert it about itself. A record under this document <bcp14>SHOULD</bcp14> state that in its <tt>doesNotAssert</tt> member, so that a reader need not infer coverage. <xref target="retained"/> defines what a retaining party keeps beside a record so that the record can still be dated and validated after its keys and algorithms age; how long a deployment keeps it remains the deployment's policy.</t>
      </section>
      <section anchor="mapping">
        <name>Mapping to the seven minimum fields</name>
        <table>
          <name>The seven minimum fields of Section 11 and the members that carry them</name>
          <thead>
            <tr>
              <th align="left">Section 11 field</th>
              <th align="left">Members</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">authenticated agent identifier</td>
              <td align="left">
                <tt>agent.id</tt>, <tt>agent.credentialDigest</tt>, <tt>agent.authentication</tt>, <tt>agent.signers</tt></td>
            </tr>
            <tr>
              <td align="left">delegated subject, when present</td>
              <td align="left">
                <tt>delegation.subject</tt>, <tt>delegation.subjectKind</tt>, <tt>delegation.authorityDigest</tt>, and <tt>delegation.rootDigest</tt> when present</td>
            </tr>
            <tr>
              <td align="left">resource or tool being accessed</td>
              <td align="left">
                <tt>resource.kind</tt>, <tt>resource.id</tt>, <tt>resource.binding</tt>, <tt>resource.argumentsDigest</tt></td>
            </tr>
            <tr>
              <td align="left">action requested and authorization decision</td>
              <td align="left">
                <tt>decision</tt>, <tt>evaluation</tt> and <tt>effect</tt>, with the derived <tt>agreement</tt>, and <tt>oversight</tt> when present</td>
            </tr>
            <tr>
              <td align="left">timestamp and correlation identifier</td>
              <td align="left">
                <tt>correlation</tt> and the interval timestamps, and <tt>sequence</tt> when present</td>
            </tr>
            <tr>
              <td align="left">posture assessment or risk state</td>
              <td align="left">
                <tt>posture</tt>, carrying both vantages and <tt>assessedAt</tt></td>
            </tr>
            <tr>
              <td align="left">remediation or revocation events and cause</td>
              <td align="left">
                <tt>remediation</tt></td>
            </tr>
          </tbody>
        </table>
        <t>Each field also carries an evidence partition in <tt>fieldEvidence</tt>, stating whether the observing substrate covered the value or the producer asserted it. All seven fields can be recorded by an agent about itself. A record that says which ones were is checkable; a record that does not say is not.</t>
        <t>The fourth field pairs an action with a decision, and this format carries <tt>decision</tt>, <tt>effect</tt> and the derived <tt>agreement</tt> together. A record whose decision and effect disagree is well formed, and the disagreement is visible in signed bytes:</t>
        <sourcecode type="json"><![CDATA[
"decision": { "action": "write", "reported": "deny" },
"effect":   {
  "observed": "occurred",
  "writes": [ { "path": "/srv/ledger/settlements.jsonl" } ]
},
"agreement": "disagree"
]]></sourcecode>
        <t>A log that carries the decision alone records that case as a clean denial, because it has no other value to disagree with.</t>
      </section>
      <section anchor="verifying">
        <name>Verifying a record</name>
        <t>A verifier holds a DSSE envelope and reaches a verdict from the bytes inside it. The checks below are the ones this document has already stated, in the order a verifier can apply them without reading a member twice.</t>
        <t>The JSON profile comes first, applied while the payload is parsed: the safe-integer bound of <xref target="RFC7493"/>, no member name repeated at any depth, and no nesting past 128 levels. Each of the three makes a Statement malformed, so a verifier that finds one of them has nothing further to check. It has to come first because the signature covers <xref target="RFC8785"/> bytes, and a verifier derives those bytes from the parsed Statement: a parser that keeps one occurrence of a repeated name has already done what <xref target="canonical"/> forbids before any signature is checked (vector <tt>T3</tt>).</t>
        <t>The envelope's signature comes second, over the <xref target="RFC8785"/> canonical bytes of the Statement that parse produced. A statement whose signature does not verify over those bytes is malformed, and nothing further is read from it. That includes a statement signed over the bytes it carries, which is what a DSSE verifier that does not derive the canonical form checks (vector <tt>T2</tt>).</t>
        <t>Membership comes third. Every one of the seventeen required members is present unless a rule in <xref target="members"/> makes it conditional on a sibling value, and every value sits inside the closed vocabulary its member declares.</t>
        <t>The recomputes come next, and a signature cannot supply them. The three that <xref target="tamper"/> requires come first: a verifier derives the request digest from the four members <xref target="members"/> names and compares it with the first subject entry, it replays the write chain from the before-state root and compares the result with the second subject entry, and it derives both agreement values from the members they are functions of.</t>
        <t>A fourth recompute binds the prior commitment rather than the record's content. A verifier recomputes the commitment digest, checks that the commitment precedes the interval, and checks that the commitment key is absent from <tt>agent.signers</tt>. A fifth derives, from <tt>evaluation.inputs</tt>, the set of inputs that were stale or never established at <tt>decision.reportedAt</tt>, and compares it with <tt>evaluation.status</tt> and <tt>unavailableInput</tt> (<xref target="evaluation"/>).</t>
        <t>The tier follows from those results. A verifier reads the five clauses of <xref target="observation"/> against the members it has just checked and assigns <tt>authoritative</tt> or <tt>voluntary</tt> itself.</t>
        <t>A verifier that holds a retained record (<xref target="retained"/>) applies one more check, the dating check, after all of the above. It validates each anchor over the envelope digest under the offline rule for its kind, takes the time of the earliest anchor that validates as the time the record is established to have existed, and, for a record received from another party, checks the stated receipt time against the bracket <xref target="retained"/> defines. The dating check produces its own result beside the record's verdict: an envelope that is well formed stays well formed when none of its anchors validates, and it is then simply not dated.</t>
        <t>For a record that carries <tt>delegation.rootDigest</tt>, the same verifier also establishes the delegation root. It decodes the <tt>delegation-root</tt> element, checks that its digest under <tt>hashAlgorithm</tt> equals <tt>delegation.rootDigest</tt>, and derives from the material the algorithm the chain's root rested on (vector <tt>R13</tt>). An element whose digest differs makes the entry malformed (vector <tt>R15</tt>). Where the verifier holds no such element, or the record carries no <tt>delegation.rootDigest</tt>, it reports the root as not established, and <bcp14>MUST NOT</bcp14> report that as a pass (vector <tt>R14</tt>). This result too sits beside the record's verdict and does not change it.</t>
        <t>This document requires no particular order beyond the first two checks, and no particular reporting shape. A verifier that stops at the first failure and a verifier that reports every failure are both conformant.</t>
      </section>
      <section anchor="retained">
        <name>Retained records</name>
        <t>A record's signature says who signed it and nothing about when. A party that keeps a record as evidence therefore keeps a retention entry beside the envelope: a JSON object under the profile of <xref target="canonical"/>, which the producer did not sign and which this section defines. A retaining party <bcp14>MAY</bcp14> keep the entry in any container. The entry carries no predicate member and changes none, so a record's verdict under <xref target="verifying"/> never depends on it.</t>
        <sourcecode type="json"><![CDATA[
{
  "envelopeDigest": "...",
  "received": true,
  "receivedAt": "2026-09-19T11:04:20Z",
  "anchorWithin": 300,
  "anchors": [
    { "kind": "rfc3161", "origin": "retainer", "proof": "..." },
    { "kind": "transparency-log", "origin": "received",
      "proof": "..." }
  ],
  "validationData": [
    { "for": "envelope", "mediaType": "application/pkix-cert",
      "value": "..." },
    { "for": 0, "mediaType": "application/pkix-cert",
      "value": "..." },
    { "for": "delegation-root",
      "mediaType": "application/jwk-set+json",
      "value": "..." }
  ]
}
]]></sourcecode>
        <t><tt>envelopeDigest</tt> is the digest, under the record's <tt>hashAlgorithm</tt>, of the <xref target="RFC8785"/> canonical bytes of the DSSE envelope object, so it covers the payload and every signature. Every anchor in the entry is over this value.</t>
        <t><tt>anchors</tt> is an array in the order the retaining party obtained its members. A retaining party appends to it and never removes from it or rewrites an element in place. Upgrading a proof, such as completing a pending OpenTimestamps proof once its commitment is in a block, appends the upgraded proof as a new element and keeps the pending one where it was. The pending element never validates and dates nothing (vector <tt>R8</tt>), and the upgraded element dates the record (vector <tt>R12</tt>). Rewriting in place would change the order the array records and the index by which <tt>validationData</tt> names an anchor. Each anchor carries <tt>kind</tt>, one of the three values of <tt>correlation.externalAnchor.kind</tt> (<xref target="correlation"/>); <tt>origin</tt>, one of <tt>retainer</tt> and <tt>received</tt>; and <tt>proof</tt>, the base64 of the time-stamp token, inclusion proof or OpenTimestamps proof. An anchor of origin <tt>retainer</tt> is one the retaining party obtained itself, and one of origin <tt>received</tt> arrived with the record from the party that sent it. The entry carries no time and no algorithm family for an anchor: a verifier derives both from the proof when it validates it (<xref target="anchor-rules"/>), and <bcp14>MUST NOT</bcp14> read either from anywhere else.</t>
        <t><tt>validationData</tt> carries what a verifier needs to validate the envelope's signature and each anchor offline, after the sources it came from may be gone: the certification path or key set of the record's signing key, status information as the retaining party obtained it, and each time-stamping authority's own path and status. It also carries, for a record that names <tt>delegation.rootDigest</tt>, the certification path or key set of the delegation chain's root key as the chain verifier held it at decision time. Each element names what it is for, one of <tt>envelope</tt>, the zero-based index of an anchor, and <tt>delegation-root</tt>, gives a media type, and carries the value in base64. An entry carries at most one <tt>delegation-root</tt> element, and only for a record that carries <tt>delegation.rootDigest</tt>; an entry that breaks either rule is malformed. Where status information was already unobtainable when the retaining party first anchored the record, the entry carries no status element for it, and that absence is the record of the fact.</t>
        <t>The member <tt>received</tt> is <tt>true</tt> for a record the retaining party received from another party and <tt>false</tt> for one it produced. The member <tt>receivedAt</tt> is the time the retaining party states it received the record. It is present if and only if <tt>received</tt> is <tt>true</tt>, and an entry that carries it beside <tt>received</tt> of <tt>false</tt>, or omits it beside <tt>received</tt> of <tt>true</tt>, is malformed (vector <tt>R9</tt>). The member <tt>anchorWithin</tt> is the maximum interval, in seconds, that the retaining party commits to between issuance, or receipt for a received record, and its own first anchor. Only an anchor that validates meets it. An OpenTimestamps proof stays pending at a calendar until its commitment is in a block, and a pending proof does not validate offline, so for a retaining party whose anchors of origin <tt>retainer</tt> are all <tt>opentimestamps</tt>, <tt>anchorWithin</tt> covers that confirmation latency and is an interval of hours, not the 300 seconds of the skew tolerance.</t>
        <section anchor="dating">
          <name>The dating check</name>
          <t>A verifier validates each anchor under <xref target="anchor-rules"/>. The established time of the record is the time of the earliest anchor, of either origin, that validates over <tt>envelopeDigest</tt>. An anchor that does not validate dates nothing and makes nothing malformed (vector <tt>R8</tt>). No issuance time a record states establishes when it existed.</t>
          <t>A retaining party that sets <tt>received</tt> to <tt>true</tt> <bcp14>MUST</bcp14> obtain an anchor of origin <tt>retainer</tt> on receipt, within the <tt>anchorWithin</tt> it declares, and an entry with <tt>received</tt> of <tt>true</tt> and no such anchor is malformed (vector <tt>R4</tt>). The retention time is the time of the earliest anchor of origin <tt>retainer</tt> that validates. A verifier <bcp14>MUST</bcp14> reject the entry as malformed when any of these holds:</t>
          <ul spacing="normal">
            <li>
              <t><tt>receivedAt</tt> is earlier than the record's <tt>issuedAt</tt> by more than the skew tolerance (vector <tt>R6</tt>);</t>
            </li>
            <li>
              <t><tt>receivedAt</tt> is later than the retention time by more than the skew tolerance (vector <tt>R3</tt>);</t>
            </li>
            <li>
              <t>the retention time is later than <tt>receivedAt</tt>, or than <tt>issuedAt</tt> for a record the retaining party produced, by more than <tt>anchorWithin</tt> plus the skew tolerance (vector <tt>R7</tt>).</t>
            </li>
          </ul>
          <t>A malformed entry does not change the envelope's verdict. A relying party <bcp14>MUST NOT</bcp14> apply an allowance it grants to received records, such as dating a record from its receipt, on a malformed entry or on an entry in which no anchor of origin <tt>retainer</tt> validates.</t>
          <t>This check is a consistency check, not proof of receipt. Its lower edge, <tt>issuedAt</tt>, is a value the sender signed, and the signature binds the value without saying anything about the sender's clock. Its upper edge is an anchor over a digest, which shows only that the retaining party held the digest by that time, and a retaining party can hold the digest before the envelope arrives. A digest anchored before delivery therefore does not establish when the retaining party received the record. A verifier <bcp14>MUST</bcp14> report a <tt>receivedAt</tt> that passes the check as asserted and consistent with the anchors, and <bcp14>MUST NOT</bcp14> report it as established (vector <tt>R5</tt>). The check rests on two assumptions, stated so that a relying party can decide whether it holds them: that the sender's clock was correct when it signed, and that the retaining party anchored on delivery and not before.</t>
          <t>A retaining party also chooses when it anchors. One that anchors late can state a correspondingly late receipt, and nothing in the entry contradicts it, because the bracket's upper edge is an anchor whose time the retaining party chose. The check removes the cheaper case, a receipt time stated with no anchor at all, and what remains is an assumption that the retaining party anchored promptly after the true receipt, within the <tt>anchorWithin</tt> it declared. That assumption is narrower than trusting the retaining party's statement of receipt, and no function of the entry tests it. An <tt>opentimestamps</tt> anchor widens the room it leaves: its time can lie up to 7200 seconds after the moment its block existed, so a retaining party whose upper edge is such an anchor can state a receipt up to that much later than a prompt anchor of another kind would allow.</t>
        </section>
        <section anchor="anchor-rules">
          <name>Anchor validation rules</name>
          <t>Each kind of anchor rests on one of two bases. A hash commitment is validated by recomputation to a value the verifier holds independently, and a signed token is validated by a signature under a path the verifier trusts.</t>
          <t>A kind names the proof format and not only its basis. A verifier validates an anchor offline from the proof alone, and both the recomputation or signature check and the source of the anchor's time differ by format; a value that named only the basis would tell a verifier neither. The verifier derives the basis from the kind, as stated for each kind below. A Merkle root that commits to <tt>envelopeDigest</tt> and is published in a Bitcoin transaction is a hash commitment of kind <tt>opentimestamps</tt> when its proof is carried in the OpenTimestamps serialization, which expresses the path from <tt>envelopeDigest</tt> through the tree and the transaction to the block header as a sequence of commitment operations (vector <tt>R16</tt>). A hash commitment published in another public ledger has no kind in this revision, because the bound on its time depends on that ledger's own rules for its timestamps. A revision that adds a kind for such a ledger states that bound, as the <tt>opentimestamps</tt> rule below states it for Bitcoin.</t>
          <dl>
            <dt><tt>rfc3161</tt>:</dt>
            <dd>
              <t>a signed token. It validates when its message imprint equals <tt>envelopeDigest</tt> and its signature verifies under the time-stamping authority's certificate, by a certification path in <tt>validationData</tt> from that certificate to a trust anchor the verifier holds. Its time is the token's genTime.</t>
            </dd>
            <dt><tt>transparency-log</tt>:</dt>
            <dd>
              <t>an inclusion proof that recomputes from <tt>envelopeDigest</tt> to a tree head. It is a hash commitment when the verifier holds that tree head by a means other than its signature, such as a checkpoint the verifier already witnessed, and a signed token otherwise: it then validates when the tree head's signature verifies under the log's key, by a key or path in <tt>validationData</tt> that the verifier trusts. Its time is the tree head's timestamp.</t>
            </dd>
            <dt><tt>opentimestamps</tt>:</dt>
            <dd>
              <t>a hash commitment. It validates when the proof recomputes from <tt>envelopeDigest</tt> to the Merkle root in the header of a Bitcoin block that the verifier holds independently, as a block of the chain with the most work. Its time is the timestamp in that block header. A miner sets that value and consensus bounds it only loosely: it must exceed the median timestamp of the eleven blocks before it, and it must be no more than 7200 seconds ahead of the clock of a node that validates it. A header time can therefore lie tens of minutes before or after the moment the block existed. Every comparison in <xref target="dating"/> that uses the time of an <tt>opentimestamps</tt> anchor allows 7200 seconds in place of the skew tolerance (vectors <tt>R10</tt> and <tt>R11</tt>). Where both times compared are times of <tt>opentimestamps</tt> anchors, as when a verifier finds the earliest anchor, it compares the heights of their blocks and not their timestamps.</t>
            </dd>
          </dl>
          <t>An anchor rests only on post-quantum assumptions when its validity rests on no quantum-vulnerable algorithm: a hash commitment under a hash with an output of at least 256 bits, or a signed token whose signature and whole path use post-quantum signature algorithms. A verifier derives this from the proof and the path. A retaining party <bcp14>SHOULD</bcp14> hold at least one anchor that rests only on post-quantum assumptions, and <bcp14>SHOULD</bcp14> append a new anchor on a schedule its policy sets, before the algorithms protecting its existing anchors weaken, using the renewal procedures of <xref target="RFC4998"/> or an equivalent. Where a relying party requires post-quantum anchoring from a transition date, as <xref target="PQ-AGENT-ID"/> proposes, this section supplies the anchors, their order and the material to validate each one, and the date is the relying party's.</t>
        </section>
      </section>
    </section>
    <section anchor="members">
      <name>Predicate members</name>
      <sourcecode type="json"><![CDATA[
{
  "recordId": "...",
  "tier": "authoritative",
  "hashAlgorithm": "sha256",
  "agent": {
    "id": "spiffe://prod.example.org/ns/payments/sa/reconciler",
    "credentialDigest": "...",
    "authentication": "wimse-wpt",
    "signers": ["..."]
  },
  "delegation": {
    "subject": "user:alice@example.org",
    "subjectKind": "user",
    "authorityDigest": "...",
    "rootDigest": "..."
  },
  "resource": {
    "kind": "tool",
    "id": "mcp://files/write",
    "binding": "digest-bound",
    "argumentsDigest": "..."
  },
  "decision": {
    "action": "write",
    "requestDigest": "...",
    "reported": "deny",
    "decisionPointId": "pdp://prod.example.org/authz-1",
    "policyDigest": "...",
    "reportedAt": "2026-09-19T11:04:02Z"
  },
  "evaluation": {
    "status": "evaluated",
    "inputs": [
      { "input": "policy-source",
        "lastResult": "2026-09-19T10:00:00Z", "maxAge": 86400 },
      { "input": "standing-source",
        "lastResult": "2026-09-19T11:00:00Z", "maxAge": 3600 }
    ]
  },
  "effect": {
    "observed": "occurred",
    "interval": {
      "beforeRoot": "...",
      "afterRoot": "...",
      "baseResolution": "supplied",
      "openedAt": "2026-09-19T11:04:01Z",
      "sealedAt": "2026-09-19T11:04:06Z"
    },
    "pathScope": ["/srv/ledger/"],
    "writes": [
      {
        "path": "/srv/ledger/settlements.jsonl",
        "preStateDigest": "...",
        "postStateDigest": "...",
        "requestDigest": "...",
        "inScope": true
      }
    ]
  },
  "agreement": "disagree",
  "correlation": {
    "id": "req:7f3a91c4",
    "scope": "cross-party",
    "timeBasis": "beacon-anchored",
    "externalAnchor": { "kind": "rfc3161", "digest": "..." }
  },
  "posture": {
    "reported": "sinkhole",
    "reportedDigest": "...",
    "observed": "allowlist",
    "observedDigest": "...",
    "assessedAt": "2026-09-19T06:00:00Z",
    "agreement": "disagree"
  },
  "remediation": [
    {
      "cause": "session-revoked",
      "signalReceivedAt": "2026-09-19T11:04:07Z",
      "enforcedAt": "2026-09-19T11:04:09Z",
      "enforcement": "session-terminated",
      "postEnforcementEffect": "none",
      "postEnforcementRoot": "..."
    }
  ],
  "observation": {
    "vantage": "below-observed",
    "coverage": { "scopeComplete": true, "gaps": [] },
    "priorCommitment": {
      "committedAt": "2026-09-19T11:03:58Z",
      "witnessNonce": "...",
      "commitmentDigest": "...",
      "keyid": "...",
      "sig": "..."
    }
  },
  "fieldEvidence": {
    "agent": "producer-asserted",
    "correlation": "producer-asserted",
    "decision": "producer-asserted",
    "delegation": "producer-asserted",
    "posture": "substrate-covered",
    "remediation": "substrate-covered",
    "resource": "substrate-covered"
  },
  "doesNotAssert": ["..."],
  "issuedAt": "2026-09-19T11:04:11Z"
}
]]></sourcecode>
      <section anchor="hashalg">
        <name>Record identity and hash algorithm</name>
        <t><tt>recordId</tt> is the producer's identifier for this record. It is opaque to a verifier except where the commitment digest is recomputed, which reads it as one of its four inputs.</t>
        <t><tt>hashAlgorithm</tt> names the algorithm every digest in the record is taken under. One value governs the whole record: the subject digests, the credential, authority, policy and posture digests, the interval roots, the write pre-state and post-state digests, and the commitment digest are all taken under it.</t>
        <t>A record carrying digests in two algorithms is therefore not representable, and that is the point. A verifier comparing two roots has to know they were taken under the same algorithm, and a per-member choice would let a producer choose which comparison a reader could make.</t>
        <t><tt>issuedAt</tt> is the time the producer sealed the record, and it is at or after the interval's <tt>sealedAt</tt> because the record cannot be issued before the interval it describes has closed.</t>
        <t>A verifier that does not implement the declared algorithm cannot recompute anything the record binds. It has no verdict to reach on such a record, and reporting that it could not read one is the honest outcome rather than a refusal on the record's content.</t>
      </section>
      <section anchor="identity-delegation-and-resource">
        <name>Identity, delegation and resource</name>
        <t><tt>agent.id</tt> carries the WIMSE identifier verbatim, and <tt>agent.credentialDigest</tt> the digest of the credential the identifier was read from. <tt>agent.authentication</tt> is the mechanism, over the closed set <tt>wimse-wpt</tt>, <tt>http-message-signature</tt>, <tt>mtls</tt>, <tt>oauth-access-token</tt>, <tt>api-key</tt>, <tt>none</tt>. All but <tt>api-key</tt> are drawn from Section 9 of <xref target="AIMS"/>. <tt>api-key</tt> is a bearer secret presented with the request that is not an OAuth access token, such as a key an API issued for the agent or its operator (vector <tt>A21</tt>). <tt>none</tt> means the request carried no authentication, and a record <bcp14>MUST NOT</bcp14> carry it for a request that presented any credential. For the two bearer mechanisms, <tt>oauth-access-token</tt> and <tt>api-key</tt>, <tt>agent.credentialDigest</tt> is a digest of a bearer secret, against which anyone holding the record can test a guess of that secret; a deployment <bcp14>SHOULD NOT</bcp14> record a bearer secret with less than 128 bits of entropy under this format. <tt>agent.signers</tt> is the set of key identifiers the agent signs its own records with, as the observer knows them, and it <bcp14>MAY</bcp14> be empty.</t>
        <t><tt>delegation.subjectKind</tt> is one of <tt>user</tt>, <tt>system</tt>, <tt>none</tt>. Field 2 of Section 11 is the only conditional one, so an absent delegated subject is conformant and is spelled <tt>subjectKind</tt> of <tt>none</tt> beside a <tt>subject</tt> of the literal <tt>none</tt>.</t>
        <t>A <tt>subjectKind</tt> of <tt>none</tt> beside any other subject value is malformed and a verifier <bcp14>MUST NOT</bcp14> prefer either member (vector <tt>F2</tt>). <tt>delegation.authorityDigest</tt> <bcp14>MUST</bcp14> be present in every record, and a decision taken under no authority carries the digest of the explicit deny-all document.</t>
        <t><tt>delegation.rootDigest</tt> is optional. When the decision rested on a delegation chain, it is the digest of the certification path or key set of the root key that the chain verifier trusted for that chain at decision time, as the verifier held it, and a record <bcp14>SHOULD</bcp14> carry it. Verification of a chain as Section 6 of <xref target="DELEGATION-CHAIN"/> describes it reaches every token in the chain and stops at the root key, so without this member a later reader cannot reconstruct what the chain rested on. The member records what the verifier held and says nothing about how the verifier came to hold it, so it requires no trust-anchor distribution and no anchor topology, online or offline. The material itself is kept by a retaining party in <tt>validationData</tt> (<xref target="retained"/>), from which a later reader derives the algorithm the chain's root rested on, as it derives the algorithm of the record's own signing key. The digest is taken over the material's bytes as that element carries them.</t>
        <t><tt>resource.kind</tt> is one of <tt>path</tt>, <tt>uri</tt>, <tt>tool</tt>, the three shapes the single category of external endpoints in Section 4 of <xref target="AIMS"/> takes. <tt>resource.binding</tt> of <tt>digest-bound</tt> <bcp14>MUST</bcp14> carry <tt>argumentsDigest</tt>, and <tt>not-bindable</tt> <bcp14>MUST NOT</bcp14> carry it in any spelling, including <tt>null</tt> and the empty string (vectors <tt>F3</tt>, <tt>F3b</tt> and <tt>F3c</tt>).</t>
        <t>Where a decision point can canonicalize the arguments of a call, it <bcp14>SHOULD</bcp14> bind them by digest. A tool call whose arguments it cannot canonicalize has nothing to bind, so that call is representable and it cannot reach the strongest tier.</t>
      </section>
      <section anchor="decision-effect">
        <name>Decision, effect and agreement</name>
        <t><tt>decision.reported</tt> is one of <tt>permit</tt>, <tt>deny</tt>, <tt>permit-with-conditions</tt>. <tt>decision.requestDigest</tt> <bcp14>MUST</bcp14> equal the first subject entry's sha256 digest and <bcp14>MUST</bcp14> equal the <xref target="RFC8785"/> digest over the members <tt>action</tt>, <tt>argumentsDigest</tt>, <tt>resourceId</tt> and <tt>resourceKind</tt> (vector <tt>F4</tt>). The hashed object holds <tt>argumentsDigest</tt> exactly when <tt>resource.binding</tt> is <tt>digest-bound</tt>. Under <tt>not-bindable</tt> it holds the other three members and no <tt>argumentsDigest</tt> member at all, so every conforming implementation derives one digest for a given request (vector <tt>A6</tt>). Altering the action, the resource or the arguments after signing, without replacing the request digest and the first subject entry to match, therefore breaks a recompute even where the signature was applied again. A key holder that replaces all of them consistently has made the coherent replacement of <xref target="tamper"/>, which no recompute detects.</t>
        <t>Each write carries <tt>requestDigest</tt>: the request digest of the request the observer attributes the write to, or the literal <tt>unattributed</tt> where the observer cannot attribute it. An attribution is an observation, and an observer that cannot tie a write to a request says so rather than guessing.</t>
        <t><tt>effect.observed</tt> describes this record's request, not the whole interval, and it is one of <tt>occurred</tt>, <tt>none</tt>, <tt>unknown</tt>. It <bcp14>MUST</bcp14> be derivable from the write set: <tt>occurred</tt> when at least one write is attributed to <tt>decision.requestDigest</tt>; <tt>none</tt> when no write is attributed to it and no <tt>unattributed</tt> write lies inside <tt>pathScope</tt>; and <tt>unknown</tt> otherwise. A write attributed to a different request belongs to that request's record and does not enter this one's value (vectors <tt>A7</tt> and <tt>T1</tt>). A value of <tt>none</tt> beside a write attributed to this record's request is malformed (vector <tt>E1</tt>).</t>
        <t>The ordered write chain <bcp14>MUST</bcp14> reproduce the after-state root from the before-state root. A verifier replays it with a running root that starts at <tt>beforeRoot</tt>. Each write in <tt>effect.writes</tt>, in array order and whatever its <tt>requestDigest</tt> or <tt>inScope</tt>, <bcp14>MUST</bcp14> carry a <tt>preStateDigest</tt> equal to the running root, and its <tt>postStateDigest</tt> then becomes the running root. The running root after the last write <bcp14>MUST</bcp14> equal <tt>afterRoot</tt>, so a record with no write carries equal roots. Vector <tt>E4</tt> breaks only the start, <tt>E2</tt> a link between two writes, <tt>E5</tt> only the end, and <tt>E6</tt> is the case with no write. A <tt>baseResolution</tt> of <tt>empty-tree</tt> <bcp14>MUST</bcp14> carry the empty-tree constant for the declared hash algorithm (vector <tt>E3</tt>).</t>
        <t>A member of <tt>pathScope</tt> <bcp14>MUST NOT</bcp14> contain a glob metacharacter, and a universal scope is the single literal <tt>/</tt> (vector <tt>V2</tt>). A write outside <tt>pathScope</tt> <bcp14>MUST</bcp14> carry <tt>inScope</tt> of <tt>false</tt>, which is derived from the path and never a producer opinion (vector <tt>V3</tt>).</t>
        <t><tt>agreement</tt> is one of <tt>agree</tt>, <tt>disagree</tt>, <tt>not-exercised</tt>, <tt>indeterminate</tt>, <tt>one-sided</tt>, and it <bcp14>MUST</bcp14> be derivable from <tt>decision.reported</tt> and <tt>effect.observed</tt> by the table below (vectors <tt>D1</tt>, <tt>D2</tt> and <tt>D3</tt>). <tt>posture.agreement</tt> <bcp14>MUST</bcp14> be derivable from the two carried postures on the same terms: <tt>agree</tt> when they are equal byte for byte, <tt>disagree</tt> when both are present and unequal (vector <tt>F6</tt>).</t>
        <table>
          <name>Deriving agreement from the reported decision and the observed effect</name>
          <thead>
            <tr>
              <th align="left">decision.reported</th>
              <th align="left">effect.observed</th>
              <th align="left">agreement</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>permit</tt> or <tt>permit-with-conditions</tt></td>
              <td align="left">
                <tt>occurred</tt></td>
              <td align="left">
                <tt>agree</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>deny</tt></td>
              <td align="left">
                <tt>none</tt></td>
              <td align="left">
                <tt>agree</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>deny</tt></td>
              <td align="left">
                <tt>occurred</tt></td>
              <td align="left">
                <tt>disagree</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>permit</tt> or <tt>permit-with-conditions</tt></td>
              <td align="left">
                <tt>none</tt></td>
              <td align="left">
                <tt>not-exercised</tt></td>
            </tr>
            <tr>
              <td align="left">any</td>
              <td align="left">
                <tt>unknown</tt></td>
              <td align="left">
                <tt>indeterminate</tt></td>
            </tr>
          </tbody>
        </table>
        <t>A permit allows an action and does not require it, so a permitted call that failed or was never made is <tt>not-exercised</tt>, and a deny that leaked is <tt>disagree</tt>. The two are different facts and an incident review needs to tell them apart (vector <tt>A9</tt>). An unattributed write inside <tt>pathScope</tt> leaves the observer unable to rule the request's effect in or out, so the record says <tt>indeterminate</tt> rather than choosing (vector <tt>A8</tt>).</t>
        <t>The table never produces <tt>one-sided</tt>. <tt>one-sided</tt> is in the closed set and this version never produces it, because <tt>decision</tt> and <tt>effect</tt> are both required and neither side can be absent. It is reserved so that a version admitting a record with one side missing does not have to change a closed vocabulary, and a record carrying it under this version is malformed (vector <tt>D2</tt>).</t>
        <t>A verifier <bcp14>MUST NOT</bcp14> reject a record because either agreement value is <tt>disagree</tt>, <tt>not-exercised</tt> or <tt>indeterminate</tt> (vectors <tt>A3</tt>, <tt>A8</tt> and <tt>A9</tt>). A disagreement is the record working, and what it means for admission is a consumer policy decision.</t>
      </section>
      <section anchor="evaluation">
        <name>Evaluation</name>
        <t><tt>evaluation</tt> says whether the decision point evaluated the request, and how fresh each input it relied on was. <tt>evaluation.status</tt> is one of <tt>evaluated</tt>, <tt>not-evaluated</tt> (vector <tt>EV11</tt>). A decision point records <tt>evaluated</tt> when its reported decision does not depend on any input it could not obtain, and <tt>not-evaluated</tt> otherwise. Where delegation paths are judged independently (Section 4.2 of <xref target="EVALUATION"/>), a permit on a fully valid path is <tt>evaluated</tt> even when an input for another path was unavailable, because no value of that input could change the decision. A deny is <tt>not-evaluated</tt> whenever a path the decision point could not judge might have been valid.</t>
        <t><tt>decision.reported</tt> always records what the decision point enforced. Under <tt>evaluated</tt> it is the outcome of evaluating the policy. Under <tt>not-evaluated</tt> it is the outcome the decision point fell back to, and it is the member that says whether the decision point failed closed (<tt>deny</tt>) or failed open (<tt>permit</tt> or <tt>permit-with-conditions</tt>). A record from a decision point that lost an input and denied therefore carries <tt>deny</tt>, and beside an effect of <tt>none</tt> derives <tt>agree</tt>. Without <tt>evaluation</tt> that record is byte for byte the record of a correctly enforced denial (vectors <tt>A2</tt> and <tt>A10</tt>), and an incident review cannot tell the two apart. <tt>decision.policyDigest</tt> names the policy the decision point enforced. Where the policy was the unavailable input, the decision point cannot name that policy's digest, so <tt>decision.policyDigest</tt> is the digest of the fallback it applied, as <tt>delegation.authorityDigest</tt> names the deny-all document for a decision taken under no authority (vectors <tt>A18</tt> and <tt>A20</tt>). A decision point that holds the profile a request names and finds that it grants no comparison has evaluated the request, and records <tt>evaluated</tt> with <tt>deny</tt> (vector <tt>A2</tt>); one that does not hold the profile records <tt>not-evaluated</tt> with <tt>policy-source</tt> (vector <tt>A20</tt>).</t>
        <t><tt>evaluation</tt> <bcp14>MUST</bcp14> carry <tt>inputs</tt> under both statuses (vector <tt>EV13</tt>). It is an array with one entry for each input the reported decision depended on, each input named at most once (vector <tt>FR10</tt>). An entry <bcp14>MUST</bcp14> carry each of these three members (vectors <tt>FR5</tt> and <tt>FR6</tt>) and <bcp14>MUST NOT</bcp14> carry any other except the <tt>consumption</tt> member that <xref target="consumption"/> defines (vector <tt>FR11</tt>):</t>
        <ul spacing="normal">
          <li>
            <t><tt>input</tt>, a value from the closed set in the table below (vector <tt>FR12</tt>);</t>
          </li>
          <li>
            <t><tt>lastResult</tt>, the time at which the source produced the last value of that input the decision point held, or the literal <tt>none</tt> if it never held one;</t>
          </li>
          <li>
            <t><tt>maxAge</tt>, the maximum age in seconds, a non-negative integer, that the decision point applies to that input (vector <tt>FR13</tt>).</t>
          </li>
        </ul>
        <t>The reference time for every entry is <tt>decision.reportedAt</tt>, the time the decision point reported its decision. An input's age is <tt>decision.reportedAt</tt> minus <tt>lastResult</tt>. An input is fresh when its age is at most <tt>maxAge</tt>, so an age equal to <tt>maxAge</tt> is fresh (vector <tt>FR2</tt>); it is stale when its age is greater (vector <tt>FR3</tt>); and it was never established when <tt>lastResult</tt> is <tt>none</tt> (vectors <tt>A10</tt> and <tt>FR4</tt>). A <tt>lastResult</tt> later than <tt>decision.reportedAt</tt> by more than the skew tolerance is malformed, because a decision cannot rest on a value produced after it was reported (vector <tt>FR9</tt>). Where the decision depended on more than one value of one input, as when several delegation paths are judged, the entry's <tt>lastResult</tt> and <tt>maxAge</tt> <bcp14>MUST</bcp14> be taken from the same value. If any of those values was never held, <tt>lastResult</tt> is <tt>none</tt> and <tt>maxAge</tt> is the smallest bound among the values never held. Otherwise the entry carries the pair whose <tt>lastResult</tt> plus <tt>maxAge</tt> is earliest, and of two such pairs the one with the earlier <tt>lastResult</tt> (vector <tt>FR14</tt>). At one reference time every held value is fresh exactly when that time is at most the smallest <tt>lastResult</tt> plus <tt>maxAge</tt> among them, so the entry is fresh exactly when every value is, and an age equal to <tt>maxAge</tt> stays fresh as vector <tt>FR2</tt> requires. Taking the oldest <tt>lastResult</tt> from one value and the smallest <tt>maxAge</tt> from another can report two fresh values as one stale input (vector <tt>FR15</tt>). The entry summarizes the freshness of the values and does not enumerate them. A permit on a fully valid path depends only on the values that path used, so its entries carry those values and not the values of the other paths. <tt>issuedAt</tt> is the time the record was sealed, and it is not a reference time for any input.</t>
        <t>A held value older than the maximum age the decision point applies to its input is one it could not obtain, as Section 3.5 of <xref target="EVALUATION"/> treats standing that cannot be established within the pinned maximum age. The entries are therefore enough to derive the unavailable inputs, and a verifier derives them: the set of entries that are stale or were never established. Under <tt>evaluated</tt> that set <bcp14>MUST</bcp14> be empty (vector <tt>FR8</tt>). Under <tt>not-evaluated</tt> the member <bcp14>MUST</bcp14> carry <tt>unavailableInput</tt>, a non-empty array naming each input of that set exactly once and no other (vectors <tt>EV1</tt>, <tt>EV5</tt>, <tt>EV6</tt>, <tt>EV7</tt> and <tt>FR7</tt>), from the closed set in the table below (vector <tt>EV4</tt>). Under <tt>evaluated</tt> it <bcp14>MUST NOT</bcp14> carry <tt>unavailableInput</tt> in any spelling, including <tt>null</tt>, the empty array and the empty string (vectors <tt>EV2</tt>, <tt>EV8</tt>, <tt>EV9</tt> and <tt>EV10</tt>). No member other than <tt>status</tt>, <tt>inputs</tt> and <tt>unavailableInput</tt> is defined, and a verifier <bcp14>MUST</bcp14> reject an <tt>evaluation</tt> member carrying one (vector <tt>EV12</tt>). A free-text reason beside the closed set would name an input no other record can be compared with.</t>
        <t>A decision point that receives an input's value from another hop, rather than from its source, copies the source's <tt>lastResult</tt> into its entry unchanged, so the input's age runs from the source and not from the hop (vectors <tt>FR1</tt>, <tt>FR3</tt> and <tt>FR4</tt>). It applies its own <tt>maxAge</tt> in its own record. A hop that later obtains an input an earlier record named as unavailable writes a new record with its own evaluation, and never amends the earlier record, which its producer's signature has sealed. An entry carries what REQ-4 of <xref target="EVALUATION-STATE"/> asks a decision point to record for each input, its as-of time and whether it was accepted, stale or never established, and a forwarded entry carries what REQ-6 asks a hop to preserve: the input name, its evaluation state and its freshness bound.</t>
        <table>
          <name>The inputs an evaluation entry or unavailableInput names</name>
          <thead>
            <tr>
              <th align="left">input</th>
              <th align="left">what it names</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>standing-source</tt></td>
              <td align="left">the source issuer standing is established from (Section 3.5 of <xref target="EVALUATION"/>)</td>
            </tr>
            <tr>
              <td align="left">
                <tt>key-source</tt></td>
              <td align="left">the source of the issuer or evaluator keys a decision verifies under (Section 3.4 of <xref target="EVALUATION"/>)</td>
            </tr>
            <tr>
              <td align="left">
                <tt>consumption-state</tt></td>
              <td align="left">the record of which approvals have been consumed (Section 4.3 of <xref target="EVALUATION"/>)</td>
            </tr>
            <tr>
              <td align="left">
                <tt>policy-source</tt></td>
              <td align="left">the policy the decision point evaluates the request against, including a profile the request names that the decision point does not hold</td>
            </tr>
          </tbody>
        </table>
        <t>The first three are the inputs Section 5 of <xref target="EVALUATION"/> names as making a refusal transient. A refusal that document classifies as transient is recorded as <tt>not-evaluated</tt>, naming the inputs that were unavailable. A refusal it classifies as permanent (an unsupported entry type, a signature that does not verify, an expired grant, an issuer whose standing is withdrawn) is recorded as <tt>evaluated</tt> with <tt>deny</tt>. The record then carries what Section 5 requires a verifier's own record of a refusal to carry, and what the caller is told is unaffected.</t>
        <sourcecode type="json"><![CDATA[
"decision":   { "action": "write", "reported": "deny",
                "reportedAt": "2026-09-19T11:04:02Z" },
"evaluation": {
  "status": "not-evaluated",
  "inputs": [
    { "input": "policy-source",
      "lastResult": "2026-09-19T10:00:00Z", "maxAge": 86400 },
    { "input": "standing-source",
      "lastResult": "2026-09-19T09:30:00Z", "maxAge": 3600 }
  ],
  "unavailableInput": ["standing-source"]
},
"effect":     { "observed": "none", "writes": [] },
"agreement":  "agree"
]]></sourcecode>
        <t>The record above is a decision point whose last standing value was 5642 seconds old against a maximum of 3600, and which failed closed. Its <tt>agreement</tt> is <tt>agree</tt>, because the deny held, and its <tt>evaluation</tt> says the deny was not a policy outcome and which input was stale.</t>
        <t><tt>evaluation</tt> is not an input to <tt>agreement</tt>. "Could not evaluate" is not a decision, so it is not a fourth value of <tt>decision.reported</tt>, and the agreement table is unchanged: a deny enforced during an outage that leaked anyway is still <tt>disagree</tt> (vector <tt>A19</tt>). A verifier <bcp14>MUST NOT</bcp14> reject a record because <tt>evaluation.status</tt> is <tt>not-evaluated</tt>, whatever <tt>decision.reported</tt> and <tt>agreement</tt> are (vectors <tt>A10</tt>, <tt>A12</tt> to <tt>A14</tt>, and <tt>A18</tt> to <tt>A20</tt>). A permit recorded as <tt>not-evaluated</tt> is a decision point failing open, and the format represents it so that it can be found (vector <tt>A18</tt>). The evidence class of <tt>evaluation</tt> is the one <tt>fieldEvidence</tt> declares for <tt>decision</tt>.</t>
      </section>
      <section anchor="oversight">
        <name>Oversight</name>
        <t><tt>oversight</tt> is optional. When present it records the kind of act a person took on this request before or at the decision, so that a permit bound to a user confirmation (Section 10.7 of <xref target="AIMS"/>) says whether that person observed the request, checked a stated property of it, chose, or released an action already within authority they held. The four kinds are those of <xref target="OVERSIGHT-ACTS"/>, Sections 2.3 to 2.9.</t>
        <t>An <tt>oversight</tt> member <bcp14>MUST</bcp14> carry <tt>oversight.act</tt>, which is one of <tt>observation</tt>, <tt>check</tt>, <tt>decision</tt>, <tt>release</tt> (vector <tt>OV1</tt>). <tt>oversight.recordDigest</tt> is optional and, when present, is the digest of the overseer's own signed record, bound as <tt>delegation.authorityDigest</tt> binds the authority document. No other member is defined, and a verifier <bcp14>MUST</bcp14> reject an <tt>oversight</tt> member carrying one (vector <tt>OV2</tt>). The act is producer-asserted: its evidence class is the one <tt>fieldEvidence</tt> declares for <tt>decision</tt>, and a verifier does not resolve <tt>recordDigest</tt>.</t>
      </section>
      <section anchor="correlation">
        <name>Correlation, posture and remediation</name>
        <t><tt>correlation.scope</tt> is one of <tt>producer</tt>, <tt>cross-party</tt>. It <bcp14>MUST</bcp14> be present, because Section 11 asks systems to "correlate events across Agents, Tools, Services, Resources and LLMs", which a producer-scoped identifier cannot do. A record a producer distributes beyond its own deployment <bcp14>SHOULD</bcp14> carry a scope of <tt>cross-party</tt>.</t>
        <t><tt>correlation.timeBasis</tt> of <tt>beacon-anchored</tt> <bcp14>MUST</bcp14> carry <tt>externalAnchor</tt>, and <tt>asserted</tt> <bcp14>MUST NOT</bcp14> carry it (vector <tt>F5</tt>). <tt>externalAnchor.kind</tt> is one of <tt>rfc3161</tt>, <tt>transparency-log</tt>, <tt>opentimestamps</tt>, of which <xref target="RFC3161"/> and <xref target="RFC9162"/> define the first two. <tt>externalAnchor.digest</tt> is the digest of the anchor's proof and not the proof, so a verifier that holds only the record cannot validate the anchor. Such a verifier reads <tt>beacon-anchored</tt> as a statement the producer made, accepts the record, and does not date it from the anchor (vector <tt>N1</tt>). A record is dated from the anchors of a retention entry (<xref target="retained"/>), which are over the envelope digest and are validated under the rules in <xref target="anchor-rules"/>. The record's verdict and its dating are two results, and a verifier reports them separately, so vector <tt>N1</tt> has one conforming verdict where draft-gilda-wimse-agent-audit-record-02 admitted two.</t>
        <t><tt>posture.reported</tt> and <tt>posture.observed</tt> are over the closed set <tt>no_network</tt>, <tt>allowlist</tt>, <tt>sinkhole</tt>, <tt>unsafe_bypass_egress</tt>, each with a digest pinning the posture document. <tt>posture.assessedAt</tt> carries the time the assessment was made, which <xref target="rationale"/> gives the reason for. A consumer weighing either posture <bcp14>SHOULD</bcp14> read <tt>assessedAt</tt> beside it.</t>
        <t><tt>remediation</tt> carries one member per event. Its <tt>cause</tt> is one of <tt>session-revoked</tt>, <tt>risk-elevated</tt>, <tt>subject-disabled</tt>, <tt>token-replay-suspected</tt>, <tt>policy-changed</tt>, <tt>operator-action</tt>. Its <tt>enforcement</tt> is one of <tt>access-attenuated</tt>, <tt>session-terminated</tt>, <tt>tokens-discarded</tt>, <tt>privileges-reduced</tt>, <tt>reevaluated</tt>, <tt>not-enforced</tt>. In each member <tt>enforcedAt</tt> <bcp14>MUST</bcp14> be at or after <tt>signalReceivedAt</tt> (vector <tt>F7</tt>).</t>
        <t>A verifier <bcp14>MUST NOT</bcp14> reject a record because <tt>enforcement</tt> is <tt>not-enforced</tt> (vector <tt>A4</tt>). A record carries that value when a remediation signal arrived and enforcement did not follow it.</t>
        <t><tt>postEnforcementEffect</tt> and <tt>postEnforcementRoot</tt> make the Section 11 delay requirement checkable by a third party. A revocation that arrived, was recorded, and was followed by an observed effect is a recorded enforcement failure. This document defines no bound on the delay, because Section 11 carries no unit for "undue", and vector <tt>N2</tt> records that case as indeterminate.</t>
      </section>
      <section anchor="observation">
        <name>Observation and tier</name>
        <t><tt>observation.vantage</tt> is one of <tt>below-observed</tt>, <tt>peer</tt>, <tt>self</tt>.</t>
        <t><tt>coverage.scopeComplete</tt> is true when the observer read every path inside <tt>pathScope</tt> throughout the interval, and false otherwise. <tt>coverage.gaps</tt> is an array of the paths the observer could not read. A gap is inside <tt>pathScope</tt> when it lies under a member of <tt>pathScope</tt>, as <tt>inScope</tt> is derived for a write. A gap inside <tt>pathScope</tt> contradicts a <tt>scopeComplete</tt> of true, and a record carrying both is malformed whatever tier it declares (vectors <tt>V4</tt> and <tt>V5</tt>). An observer that could not read part of <tt>pathScope</tt> <bcp14>SHOULD</bcp14> name that path in <tt>coverage.gaps</tt>, because a reader learns which ground the record does not cover from the gap list and not from the observer's confidence. The coverage check is a check of the record's own declaration; it does not establish that the observer in fact read every path it did not list. <tt>observation.priorCommitment</tt> is the observer's commitment, made before the interval opened, to the before-state and to a nonce the observer chose.</t>
        <t>Its <tt>committedAt</tt> <bcp14>MUST</bcp14> be strictly before the interval's <tt>openedAt</tt> (vector <tt>C2</tt>). Its <tt>commitmentDigest</tt> <bcp14>MUST</bcp14> recompute as the <xref target="RFC8785"/> digest over <tt>authorityDigest</tt>, <tt>beforeRoot</tt>, <tt>recordId</tt> and <tt>witnessNonce</tt> (vector <tt>C3</tt>). Its <tt>keyid</tt> <bcp14>MUST NOT</bcp14> appear in <tt>agent.signers</tt> (vector <tt>C1</tt>), and that disjointness is the one byte-pure discriminator between an observer and a self-observing party.</t>
        <t><tt>doesNotAssert</tt> is the negative-scope member the sections above refer to: an array of explicit statements about what this record does not claim. A record under this version <bcp14>SHOULD</bcp14> carry two entries. The first entry records that it makes no claim about retention. The second records that it makes no claim that the reported decision is the decision the policy engine evaluated.</t>
        <t><tt>fieldEvidence</tt> carries exactly the seven keys named in the mapping table, each one of <tt>substrate-covered</tt> or <tt>producer-asserted</tt>. Both terms are reused unchanged from the field-evidence partition registered in <xref target="VOCABULARY"/>, as the four posture values above are reused from its containment-posture terms. A missing key is malformed (vector <tt>FE1</tt>), and no key may declare <tt>substrate-covered</tt> while <tt>vantage</tt> is <tt>self</tt> (vector <tt>FE2</tt>).</t>
        <t><tt>tier</tt> is one of <tt>voluntary</tt>, <tt>authoritative</tt>. A verifier <bcp14>MUST</bcp14> recompute it and <bcp14>MUST NOT</bcp14> take the declared value as the tier. Vectors <tt>TI1</tt> through <tt>TI5</tt> each declare <tt>authoritative</tt> while failing one clause, so a verifier that reads the declared value passes all five.</t>
        <t>A record is <tt>authoritative</tt> if and only if all five of these hold, and <tt>voluntary</tt> otherwise: <tt>vantage</tt> is <tt>below-observed</tt> (vector <tt>TI1</tt>); <tt>priorCommitment</tt> is present and complete (vector <tt>TI2</tt>); <tt>pathScope</tt> is non-empty (vector <tt>TI3</tt>); <tt>coverage.scopeComplete</tt> is true, which by the rule above leaves no gap inside <tt>pathScope</tt> (vectors <tt>TI4</tt> and <tt>TI6</tt>); and <tt>resource.binding</tt> is <tt>digest-bound</tt> (vector <tt>TI5</tt>).</t>
        <t>A record declaring <tt>authoritative</tt> that fails a clause is malformed, and a verifier <bcp14>MUST NOT</bcp14> downgrade it to <tt>voluntary</tt> (vector <tt>TI1</tt>). Downgrading would let a producer emit an authoritative-shaped record and rely on the verifier to relabel it.</t>
        <t>The opposite mismatch is well formed. A record declaring <tt>voluntary</tt> while meeting all five clauses is not malformed, and a verifier reads it at the tier the recompute gives. Treating the two directions differently is deliberate: a producer that over-claims is relying on somebody else to correct it, and a producer that under-claims is not.</t>
        <t>A verifier <bcp14>MUST NOT</bcp14> read a <tt>voluntary</tt> record as evidence that its content corresponds to any independently observed fact (vector <tt>A5</tt>).</t>
      </section>
      <section anchor="worked">
        <name>A worked reading of the example</name>
        <t>The record at the head of <xref target="members"/> reports a write that was denied and happened anyway. Each rule above lands on one of its members.</t>
        <t><tt>decision.reported</tt> is <tt>deny</tt>, and the single write is attributed to the record's own request, so <tt>effect.observed</tt> derives as <tt>occurred</tt>. The third row of the agreement table maps that pair to <tt>disagree</tt>, which is the value the record carries, so the derivation holds and vector <tt>D1</tt> does not apply.</t>
        <t><tt>posture.reported</tt> is <tt>sinkhole</tt> and <tt>posture.observed</tt> is <tt>allowlist</tt>. Both are present and they are unequal, so <tt>posture.agreement</tt> derives as <tt>disagree</tt>, which is again the carried value.</t>
        <t>The tier recompute passes all five clauses. <tt>vantage</tt> is <tt>below-observed</tt>; <tt>priorCommitment</tt> carries all five of its own members; <tt>pathScope</tt> holds one entry; <tt>coverage.scopeComplete</tt> is true with no gaps; and <tt>resource.binding</tt> is <tt>digest-bound</tt>. The declared <tt>authoritative</tt> is therefore the tier a verifier derives.</t>
        <t><tt>evaluation.status</tt> is <tt>evaluated</tt> and the member names no unavailable input, so vector <tt>EV2</tt> does not apply. Each of its two inputs is fresh at <tt>decision.reportedAt</tt>, 11:04:02Z: the policy was produced 3842 seconds earlier under a <tt>maxAge</tt> of 86400, and the standing 242 seconds earlier under a <tt>maxAge</tt> of 3600, so the recompute gives an empty set of unavailable inputs and vector <tt>FR8</tt> does not apply. The record carries no <tt>oversight</tt> member and claims nothing about a human act.</t>
        <t>The ordering checks hold on the timestamps as written. Vector <tt>C2</tt> tests the first: <tt>committedAt</tt> at 11:03:58Z falls strictly before <tt>openedAt</tt> at 11:04:01Z. Vector <tt>F7</tt> tests the second: <tt>enforcedAt</tt> at 11:04:09Z falls two seconds after <tt>signalReceivedAt</tt> at 11:04:07Z.</t>
        <t>The single write lies under <tt>/srv/ledger/</tt>, the one member of <tt>pathScope</tt>, so its <tt>inScope</tt> of true is derived from the path and vector <tt>V3</tt> does not apply. <tt>fieldEvidence</tt> carries all seven keys, so vector <tt>FE1</tt> does not apply, and <tt>vantage</tt> is not <tt>self</tt>, so vector <tt>FE2</tt> does not either.</t>
        <t>What the record says, read whole, is that a write was denied and happened anyway, that the posture the decision point read was not the posture an observer saw, and that a revocation signal was enforced two seconds after it arrived. All three are well formed, and a verifier accepts the record.</t>
      </section>
      <section anchor="consumption">
        <name>Consumption under a cumulative limit</name>
        <t>A decision under a cumulative limit, such as a delegated spending limit, depends on the value of <tt>consumption-state</tt> and not only on its freshness. A permit is correct only when the amount already committed under the limit, plus the amount held for earlier permits that have not settled, plus this request's amount, is within the limit. An as-of time and a maximum age cannot show that, so an entry whose <tt>input</tt> is <tt>consumption-state</tt> and whose decision applied a cumulative limit <bcp14>MUST</bcp14> carry a fourth member, <tt>consumption</tt>, and an entry for any other input <bcp14>MUST NOT</bcp14> carry it (vector <tt>CS6</tt>).</t>
        <t><tt>consumption</tt> <bcp14>MUST</bcp14> carry each of these members and no other (vector <tt>CS9</tt>):</t>
        <ul spacing="normal">
          <li>
            <t><tt>limitDigest</tt>, the digest of the document that sets the limit: the delegated authority <tt>delegation.authorityDigest</tt> names, or a document that authority names;</t>
          </li>
          <li>
            <t><tt>unit</tt>, the unit amounts are counted in; for money, an ISO 4217 alphabetic code;</t>
          </li>
          <li>
            <t><tt>limit</tt>, <tt>consumed</tt>, <tt>reserved</tt> and <tt>requested</tt>, each a non-negative integer in the smallest subunit of <tt>unit</tt> (vector <tt>CS5</tt>): the limit, the amount committed by earlier settled calls under it, the amount held for earlier permits under it that have not settled, and this request's amount;</t>
          </li>
          <li>
            <t><tt>held</tt>, an array with one entry for each unsettled earlier permit, each carrying that permit's <tt>requestDigest</tt> and <tt>amount</tt>, whose amounts sum to <tt>reserved</tt> (vector <tt>CS3</tt>);</t>
          </li>
          <li>
            <t><tt>stateRevision</tt>, a non-negative integer naming the revision of the consumption state the decision point read. The entry's <tt>lastResult</tt> is the time that revision was produced.</t>
          </li>
        </ul>
        <t>A request whose <tt>decision.requestDigest</tt> appears in <tt>held</tt> is the same call as the permit held for it, as when a caller retries after a lost response. Its <tt>requested</tt> <bcp14>MUST</bcp14> equal the held amount (vector <tt>CS4</tt>), and it is not counted a second time. A verifier derives <tt>withinLimit</tt>: true when <tt>consumed</tt> plus <tt>reserved</tt>, plus <tt>requested</tt> unless the request is held, is at most <tt>limit</tt>. A verifier <bcp14>MUST NOT</bcp14> reject a record because a <tt>permit</tt> or <tt>permit-with-conditions</tt> has <tt>withinLimit</tt> false (vector <tt>CS2</tt>). A permit beyond the limit is a decision point exceeding its authority, and the format represents it so that it can be found, as it represents a fail-open in <xref target="evaluation"/>.</t>
        <t>A permit stays in <tt>held</tt> until a record for the same request settles it. It moves to <tt>consumed</tt> when that request's record has <tt>effect.observed</tt> of <tt>occurred</tt>, and it is released only when that request's record has <tt>effect.observed</tt> of <tt>none</tt>. A permit whose response was lost has no such record, so it stays held: a missing reply is not evidence that the call did not execute (vector <tt>CS8</tt>).</t>
        <t>Two checks need more than one record, and a retaining party that holds the records under one <tt>limitDigest</tt> runs them. Ordered by <tt>stateRevision</tt>, every permit <bcp14>MUST</bcp14> appear in the <tt>held</tt> or the <tt>consumed</tt> of each later record under that limit until it settles. A permit whose decision read a <tt>stateRevision</tt> older than a record that already held an unsettled permit, and which omits that permit from its own <tt>held</tt>, read a state that had not counted it, which is the window in which one limit is spent twice (vector <tt>CS7</tt>). A release from <tt>held</tt> with no record of that request showing <tt>none</tt> is the second (vector <tt>CS8</tt>).</t>
        <t>A paid tool call under a delegated limit of 50000 pence, where the effect commits, the response is lost and the caller retries, reads as follows. The first call reads revision 41 with <tt>consumed</tt> of 30000 and nothing held, requests 12000, and is permitted. Its response is lost, so no record settles it. The retry carries the same request digest, reads revision 42 with <tt>consumed</tt> of 30000 and that call held for 12000, and is within the limit because the held call is not counted again. A different call for 12000 that reads revision 42 is beyond the limit (30000 plus 12000 plus 12000 is 54000) and is denied. A decision point that permitted that second call after reading revision 41 is found by the check across records (vector <tt>CS7</tt>).</t>
        <sourcecode type="json"><![CDATA[
"decision":   { "action": "pay", "reported": "permit",
                "requestDigest": "sha256:r1...",
                "reportedAt": "2026-10-19T09:00:05Z" },
"evaluation": {
  "status": "evaluated",
  "inputs": [
    { "input": "consumption-state",
      "lastResult": "2026-10-19T09:00:04Z", "maxAge": 5,
      "consumption": {
        "limitDigest": "sha256:...", "unit": "GBP",
        "limit": 50000, "consumed": 30000, "reserved": 12000,
        "requested": 12000, "stateRevision": 42,
        "held": [ { "requestDigest": "sha256:r1...",
                    "amount": 12000 } ] } }
  ]
}
]]></sourcecode>
        <t>The record above is the retry. Its request is held, so <tt>withinLimit</tt> is true at 42000 of 50000.</t>
      </section>
      <section anchor="sequence">
        <name>Sequence</name>
        <t><tt>sequence</tt> is optional. When present it places the record in a numbered series its producer issues, so that a party holding several records of the series can name one missing from them. It carries exactly two members, and a verifier <bcp14>MUST</bcp14> reject a <tt>sequence</tt> member carrying any other (vector <tt>SQ2</tt>): <tt>boundary</tt>, a string the producer chooses to name one series, and <tt>seq</tt>, a positive integer (vector <tt>SQ3</tt>). Two records are in one series when they carry the same <tt>boundary</tt> and their envelopes verify under the same key, and a producer that changes its signing key starts a new series. A producer <bcp14>MUST</bcp14> give the first record of a series a <tt>seq</tt> of 1 and each later record of that series a <tt>seq</tt> one greater than the record before it, and <bcp14>MUST NOT</bcp14> give two records of one series the same <tt>seq</tt> (vector <tt>SQ1</tt>).</t>
        <t>Within a series, <tt>seq</tt> is also the running count of records issued, so the format carries no separate count member: a count beside a contiguous number that starts at 1 would repeat it and add no check.</t>
        <t>Two checks need more than one record, and a party holding records of one series runs them. A number below the highest it holds, which it does not hold, names a record that was issued and that it has not received: one withheld, or not yet delivered (vector <tt>SQ4</tt>). Two records of one series with the same <tt>seq</tt> and different envelope digests are the producer issuing two different records at one place in the series, and the set fails the check (vector <tt>SQ5</tt>). Neither check reaches a record above the highest number held: a series whose last records were withheld reads the same as one whose producer stopped issuing, until a later record of it arrives. A consumer that needs that tail bounded <bcp14>SHOULD</bcp14> require a record of the series within an interval its policy sets.</t>
        <t><tt>sequence</tt> is producer-asserted, and its evidence class is the one <tt>fieldEvidence</tt> declares for <tt>correlation</tt>.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>A record is checkable for internal coherence and says nothing about the world outside its own bytes. Where a consumer needs a fact about that world, it has to establish that fact somewhere else.</t>
      <section anchor="the-vantage-claim-is-not-self-proving">
        <name>The vantage claim is not self-proving</name>
        <t>The vantage claim in a record is an assertion about the world, and the record makes it coherent with its own members without making it self-proving. A consumer that requires the vantage to be true <bcp14>MUST</bcp14> anchor the observer's key out of band, exactly as it would anchor any signer. Such a consumer <bcp14>MUST</bcp14> read <tt>authoritative</tt> as coherence with a claimed <tt>observation.vantage</tt>, and never as proof of one (vector <tt>A5</tt>).</t>
      </section>
      <section anchor="a-producer-that-observes-only-itself">
        <name>A producer that observes only itself</name>
        <t>A producer that observes only itself can satisfy every field of this format, and the <tt>observation.priorCommitment</tt> member raises the cost of doing so. It binds the before-state, the authority and the record identifier under the observer's signature before the interval opens. A forgery therefore has to be decided on before the forger knows what it will be lying about.</t>
        <t>It does not reduce the cost to zero, and a producer holding two keys satisfies every clause. That residual is detectable by a key inventory outside the record and by no function of the bytes inside it. A consumer that depends on the vantage <bcp14>SHOULD</bcp14> keep such an inventory.</t>
      </section>
      <section anchor="withheld-rows">
        <name>Withheld rows</name>
        <t>A record can omit a remediation event, or a claimed access that the observer saw, and no function of a Statement detects a row that was never written. No quantity of extra carried material changes that, because extra material is material a withholding producer also declines to carry.</t>
        <t>A withheld record and a record never produced are different failures. Where records carry <tt>sequence</tt> (<xref target="sequence"/>), a record withheld from a party that holds a later record of the same series is detectable from the records alone, because its number is missing from them. A record never produced leaves no number missing, and neither does a withheld record numbered above the highest one held; no function of the records detects either.</t>
        <t>The <tt>coverage</tt>, <tt>fieldEvidence</tt> and <tt>doesNotAssert</tt> members exist so that a blind spot travels where the observer is honest about it. An observer that knows of a blind spot <bcp14>SHOULD</bcp14> record it in the <tt>doesNotAssert</tt> member. None of these members is a defence against a producer that conceals one.</t>
      </section>
      <section anchor="well-formed-disagreement">
        <name>Well-formed disagreement</name>
        <t>A disagreement between the reported decision and the observed effect is well formed, as is a disagreement between the two postures, and as is a remediation event recording that enforcement did not occur. A verifier <bcp14>MUST</bcp14> accept all three (vectors <tt>A3</tt> and <tt>A4</tt>). A format that refused to represent a failed enforcement would mean that no record ever reports one. This clause prevents that.</t>
      </section>
      <section anchor="a-decision-that-was-not-evaluated">
        <name>A decision that was not evaluated</name>
        <t>A record whose <tt>evaluation.status</tt> is <tt>not-evaluated</tt> is well formed beside any reported decision and any agreement, and a verifier <bcp14>MUST</bcp14> accept it (vectors <tt>A10</tt>, <tt>A12</tt> to <tt>A14</tt>, and <tt>A18</tt> to <tt>A20</tt>). A deny that was not evaluated is a decision point failing closed, and a permit that was not evaluated is one failing open. Both are facts an audit trail exists to carry. A consumer <bcp14>SHOULD</bcp14> treat a <tt>not-evaluated</tt> permit as an enforcement failure for policy purposes, and this document leaves that to the consumer.</t>
        <t>The reason is the one <xref target="well-formed-disagreement"/> gives for a disagreement. A format with no way to say that a decision point could not evaluate records every outage as policy: each lost standing source reads as a correctly enforced denial, and each fail-open reads as a permit somebody decided. An incident review that reads such a trail finds no outage, because none was ever written down.</t>
        <t>Every source a decision point reads is also a way to stop it (Section 5 of <xref target="EVALUATION"/>). An attacker who can make a source unavailable turns fail-closed evaluation into a denial of service, and the <tt>not-evaluated</tt> records are the evidence of it. A consumer <bcp14>SHOULD</bcp14> read a rate of <tt>not-evaluated</tt> records naming one input as an availability event, not as a series of policy decisions.</t>
        <t><tt>evaluation</tt> is producer-asserted. A decision point that records <tt>evaluated</tt> for a decision that depended on an input it did not obtain is withholding, as in <xref target="withheld-rows"/>, and no function of the record's bytes detects it. The same holds for <tt>evaluation.inputs</tt>: the recompute catches an entry whose own times contradict the status, and it cannot catch a <tt>lastResult</tt> written later than the source produced the value, or a hop that wrote the time it received a forwarded value in place of the source's. A consumer that relies on freshness <bcp14>SHOULD</bcp14> read each entry's evidence class as the one <tt>fieldEvidence</tt> declares for <tt>decision</tt>.</t>
      </section>
      <section anchor="revocation-without-a-bound">
        <name>Revocation without a bound</name>
        <t>Section 11 of <xref target="AIMS"/> requires that revoked or downgraded authorization be enforced "without undue delay" and specifies no bound. This document carries <tt>signalReceivedAt</tt> and <tt>enforcedAt</tt>, and defines no bound of its own. A record with an arbitrarily large gap between them is well formed. A consumer <bcp14>SHOULD</bcp14> set a bound on that gap as policy and read a record that exceeds it accordingly.</t>
      </section>
      <section anchor="relationship-to-other-tamper-evidence-mechanisms">
        <name>Relationship to other tamper-evidence mechanisms</name>
        <t>A signature over canonical bytes detects an editor who cannot sign. A trusted timestamp <xref target="RFC3161"/> adds an assertion about when the bytes existed, and an append-only log <xref target="RFC6962"/> <xref target="RFC9162"/> adds an assertion that they were published. This document requires neither, and a deployment <bcp14>MAY</bcp14> carry a record under this format in such a log.</t>
        <t>None of the three detects a producer that signed a false record. The recomputes in <xref target="tamper"/> refuse a record whose members contradict one another, whoever signed it. These recomputations check consistency among the represented fields and do not establish the truth of external events.</t>
      </section>
      <section anchor="two-implementations-that-both-differ-from-the-canonical-form">
        <name>Two implementations that both differ from the canonical form</name>
        <t><xref target="rationale"/> gives the mechanism by which two implementations can share a serialization that is not <xref target="RFC8785"/>. Neither party can see the failure from inside it. Every signature each of them produces verifies for the other, and the records fail only for a third party that canonicalizes correctly.</t>
        <t>A consumer therefore derives the canonical bytes itself and does not accept a producer's report of them. <xref target="canonical"/> is normative for that reason, and vector <tt>T2</tt> is the member that tests it.</t>
      </section>
      <section anchor="receipt-time-and-late-anchoring">
        <name>Receipt time and late anchoring</name>
        <t>A retention entry's <tt>receivedAt</tt> is asserted by the retaining party, and <xref target="dating"/> makes it checkable for consistency, not true. A retaining party that anchors a digest before the envelope arrives, or anchors late and states a correspondingly late receipt, produces an entry that passes the check. A relying party that grants a received record an allowance, such as dating it from its receipt rather than from its issuance, is relying on the two assumptions <xref target="dating"/> states, and <bcp14>SHOULD</bcp14> limit the allowance to retaining parties it trusts to anchor on delivery.</t>
        <t>An anchor of origin <tt>received</tt> was obtained by the party that sent the record. It can date the record's existence, and it says nothing about when the retaining party received it, so it never forms the upper edge of the receipt bracket.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>A record under this document carries an agent identifier, a delegated subject, a resource identifier and a set of paths. The delegated subject in particular may identify a natural person. Deployments <bcp14>SHOULD</bcp14> consider which of these a given consumer needs before distributing a record. The <tt>doesNotAssert</tt> member is the place to record what a distributed record deliberately omits.</t>
      <t>The format binds five documents by digest and carries none of them: the credential, the authority document, the policy, and both posture documents. A record that carries <tt>delegation.rootDigest</tt> binds a sixth, the delegation root's path or key set, which a retaining party keeps beside the record. A consumer that needs their content <bcp14>SHOULD</bcp14> resolve them out of band.</t>
      <t>That separation is deliberate and is the privacy-preserving default, because it lets a record travel to a party entitled to verify the decision without carrying the material the decision was made from. A consumer entitled to the decision receives the digest and resolves the document only if it needs the content.</t>
      <t>A retention entry's anchors are over the envelope digest alone, so an anchoring service, a transparency log or a time-stamping authority learns that a record existed and nothing in it. A retaining party that discloses an entry discloses its receipt time and the parties whose validation data it holds, and <bcp14>SHOULD</bcp14> treat the entry with the same care as the record.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions. The predicate type is a URI under a namespace the author controls and requires no registration to be used, consistent with the in-toto Attestation Framework's treatment of predicate type identifiers <xref target="IN-TOTO"/>.</t>
      <t>A registered identifier would be the alternative. It is not proposed here, because a record carries its predicate type inside the bytes its producer signed. A later revision <bcp14>SHOULD NOT</bcp14> move the URI once records carrying it exist, since moving it invalidates every signature over them.</t>
      <t>No revision has yet frozen the URI. Until a revision states in its Document History that it does, the members published in <xref target="VECTORS"/> are test records signed under published test keys, and a revision may change what a record under the URI must carry, as draft-gilda-wimse-agent-audit-record-02 did (vector <tt>EV3</tt>) and as this revision does (vector <tt>EV13</tt>). After the freeze, a change to what a record must carry is published under a new URI, as <xref target="members"/> requires for an extended vocabulary.</t>
    </section>
    <section anchor="conformance">
      <name>Conformance</name>
      <t>This section states what another document may rely on when it references this one.</t>
      <t>A conforming producer emits records that meet every <bcp14>MUST</bcp14> of <xref target="spec"/> and <xref target="members"/> that applies to the members it emits. A conforming verifier applies the order of <xref target="verifying"/>, refuses what <xref target="members"/> makes malformed, and, for a retained record, applies <xref target="retained"/>.</t>
      <t>A verifier is not described as conforming to this revision unless it reaches the verdict its manifest declares on every member of the <tt>vectors-agent-audit-record</tt> family of release 0.26.2 of <xref target="VECTORS"/>, and, once a release carries them, on the rows <xref target="vectors"/> marks as <tt>next</tt>. Passing the corpus is necessary and not sufficient: the three rules <xref target="vectors"/> names as having no member are checked by reading them.</t>
      <t>A document that references this one normatively <bcp14>SHOULD</bcp14> name the revision it relies on, and <bcp14>MAY</bcp14> name a release of <xref target="VECTORS"/> as its conformance test. The following identifiers are stable across revisions of this document and may be referenced by name:</t>
      <ul spacing="normal">
        <li>
          <t>the predicate type URI of <xref target="spec"/>;</t>
        </li>
        <li>
          <t>the section anchors <tt>canonical</tt>, <tt>subject</tt>, <tt>timestamps</tt>, <tt>tamper</tt>, <tt>mapping</tt>, <tt>verifying</tt>, <tt>retained</tt>, <tt>dating</tt>, <tt>anchor-rules</tt>, <tt>members</tt>, <tt>evaluation</tt>, <tt>oversight</tt>, <tt>consumption</tt>, <tt>sequence</tt> and <tt>vectors</tt>;</t>
        </li>
        <li>
          <t>the member identifiers of <xref target="vectors"/>, which keep their row across revisions and are never reused for another row;</t>
        </li>
        <li>
          <t>the terms this document takes from <xref target="VOCABULARY"/> (the <tt>containment_posture</tt> values and the <tt>field_evidence_partition</tt> values <tt>substrate-covered</tt> and <tt>producer-asserted</tt>), which are cited at a tagged release of that registry and change only under a new release.</t>
        </li>
      </ul>
      <t>The predicate type URI is not yet frozen (<xref target="iana"/>). Until it is, a referencing document that needs records to stay valid across revisions names the revision it relies on.</t>
    </section>
    <section anchor="impl">
      <name>Implementation Status</name>
      <t>Note to the RFC Editor: please remove this section before publication.</t>
      <t>This section records the status of known implementations at the time of writing, following <xref target="RFC7942"/>. Listing an implementation here does not imply endorsement by the IETF.</t>
      <t><xref target="VECTORS"/> is an open conformance corpus for this format, licensed under Apache-2.0. Its <tt>vectors-agent-audit-record</tt> family publishes each member of <xref target="vectors"/> as a signed DSSE envelope with the verdict a conforming verifier must reach. It ships two verifiers written from the text, one in Python that uses only the standard library and one in Go. Release v0.26.2, published on 26 October 2026, carries 111 members, and anyone can rerun every one of them with a single command:</t>
      <artwork><![CDATA[
uvx agent-evidence-vectors==0.26.2 \
    --corpus vectors-agent-audit-record
]]></artwork>
      <t>On release v0.26.2 the run reports 38 members to accept, 72 to reject and 1 indeterminate, each behaving as its manifest declares. Two parties outside the corpus's authorship ran an earlier revision's members themselves and posted their results on the issue tracker of <xref target="AIMS"/>: 47 of 47 members behaved as specified at release 0.14.1, and 47 of 47 at release 0.16.0.</t>
      <t>The 22 rows <xref target="vectors"/> marks as <tt>next</tt> (<tt>A21</tt>, <tt>SQ1</tt> to <tt>SQ5</tt>, <tt>R10</tt> to <tt>R16</tt> and <tt>CS1</tt> to <tt>CS9</tt>) are added in the release that follows this revision.</t>
    </section>
  </middle>
  <back>
<references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="AIMS">
          <front>
            <title>AI Identity Management System</title>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
              <organization>Defakto Security</organization>
            </author>
            <author fullname="Jeff Lombardo" initials="J." surname="Lombardo">
              <organization>AWS</organization>
            </author>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author fullname="Nick Steele" initials="N." surname="Steele">
              <organization>OpenAI</organization>
            </author>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <date day="15" month="September" year="2026"/>
            <abstract>
              <t>   This document proposes best practices for authentication and
   authorization of AI agent interactions.  It leverages existing
   standards such as the Workload Identity in Multi-System Environments
   (WIMSE) architecture and OAuth 2.0 family of specifications.  Rather
   than defining new protocols, this document describes how existing and
   widely deployed standards can be applied or extended to establish
   agent authentication and authorization.  By doing so, it aims to
   provide a framework within which to use existing standards, identify
   gaps and guide future standardization efforts for agent
   authentication and authorization.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-aims-00"/>
        </reference>
        <reference anchor="WIMSE-ID">
          <front>
            <title>Workload Identifier</title>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
              <organization>Palo Alto Networks</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   This document defines a canonical identifier for workloads, referred
   to as the Workload Identifier.  A Workload Identifier is a URI that
   uniquely identifies a workload within the context of a specific trust
   domain.  This identifier can be embedded in Workload Identity
   Credentials, including X.509 certificates and JWT-based tokens, to
   support authentication, authorization, and policy enforcement across
   diverse systems.  The Workload Identifier format ensures
   interoperability, facilitates secure identity federation, and enables
   consistent identity semantics.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-identifier-03"/>
        </reference>
        <reference anchor="RFC3339">
          <front>
            <title>Date and Time on the Internet: Timestamps</title>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <author fullname="C. Newman" initials="C." surname="Newman"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3339"/>
          <seriesInfo name="DOI" value="10.17487/RFC3339"/>
        </reference>
        <reference anchor="RFC7493">
          <front>
            <title>The I-JSON Message Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="March" year="2015"/>
            <abstract>
              <t>I-JSON (short for "Internet JSON") is a restricted profile of JSON designed to maximize interoperability and increase confidence that software can process it successfully with predictable results.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7493"/>
          <seriesInfo name="DOI" value="10.17487/RFC7493"/>
        </reference>
        <reference anchor="RFC8785">
          <front>
            <title>JSON Canonicalization Scheme (JCS)</title>
            <author fullname="A. Rundgren" initials="A." surname="Rundgren"/>
            <author fullname="B. Jordan" initials="B." surname="Jordan"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>Cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. One way to address this is to create a canonical representation of the data. Canonicalization also permits data to be exchanged in its original form on the "wire" while cryptographic operations performed on the canonicalized counterpart of the data in the producer and consumer endpoints generate consistent results.</t>
              <t>This document describes the JSON Canonicalization Scheme (JCS). This specification defines how to create a canonical representation of JSON data by building on the strict serialization methods for JSON primitives defined by ECMAScript, constraining JSON data to the Internet JSON (I-JSON) subset, and by using deterministic property sorting.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8785"/>
          <seriesInfo name="DOI" value="10.17487/RFC8785"/>
        </reference>
        <reference anchor="IN-TOTO" target="https://github.com/in-toto/attestation/blob/main/spec/README.md">
          <front>
            <title>in-toto Attestation Framework Specification</title>
            <author>
              <organization>in-toto</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="DSSE" target="https://github.com/secure-systems-lab/dsse">
          <front>
            <title>Dead Simple Signing Envelope</title>
            <author>
              <organization>Secure Systems Lab</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="EVALUATION">
          <front>
            <title>Verifier-Side Evaluation Semantics for Delegated Authority Chains</title>
            <author fullname="Wes Jackson" initials="W." surname="Jackson">
         </author>
            <date day="10" month="October" year="2026"/>
            <abstract>
              <t>   Delegation chain specifications describe the shape of conveyed
   authority.  They leave the verifier's half of the exchange
   underdetermined.  Two verifiers can check the same chain, both report
   success, and enforce different policy.  This document states what a
   verifier must do: the explicit inputs evaluation depends on, how
   those inputs behave when their sources are stale or unavailable, and
   four rules that keep evaluation fail-closed.  The rules are drawn
   from the Grant &amp; Autonomy Lifecycle (GAL) and Provenance &amp; Trust
   Context (PTC) specifications and from a public reference
   implementation.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-jackson-wimse-evaluation-04"/>
        </reference>
        <reference anchor="DELEGATION-CHAIN">
          <front>
            <title>Verifiable Attenuated Delegation for AI Agent Chains</title>
            <author fullname="Rafael Asor" initials="R." surname="Asor">
              <organization>Attenu</organization>
            </author>
            <date day="15" month="October" year="2026"/>
            <abstract>
              <t>   AI agents increasingly delegate tasks to other agents.  Each
   delegation should convey only a subset of the delegating party's
   authority, that subset should be bounded in scope, magnitude, and
   time, and any enforcement point should be able to verify -- offline,
   with no call to an authorization server -- that a token presented at
   hop N carries authority no greater than the token at hop N-1, back to
   a trusted root, and that every hop acts under the same accountable
   principal.  OAuth 2.0 Token Exchange (RFC 8693) models two-party
   delegation and records prior actors in a nested "act" claim, but that
   claim is informational only and cannot enforce attenuation across a
   chain of depth two or more.  This document defines the Agent
   Delegation Chain: a profile of OAuth 2.0 JWT access tokens (RFC 9068)
   that carries authority as Rich Authorization Requests (RFC 9396),
   binds the chain to one principal and names the agent acting at each
   hop, links each delegation to its parent by a cryptographic byte-
   commitment, and specifies a deterministic offline verification
   algorithm that enforces monotonic attenuation, bounded depth,
   monotonic expiry, and principal invariance.  It reuses existing JOSE,
   proof-of-possession (RFC 9449), and status-list machinery (the OAuth
   Status List draft) and introduces no new cryptography.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-asor-wimse-agent-delegation-chain-02"/>
        </reference>
        <reference anchor="EVALUATION-STATE">
          <front>
            <title>Preserving Evaluation State in Agent Protocol Decisions</title>
            <author fullname="Girish Konda" initials="G." surname="Konda">
         </author>
            <date day="10" month="October" year="2026"/>
            <abstract>
              <t>   Agent protocols often require a participant to establish a decision-
   time input before it acts: issuer standing, key availability,
   delegated authority, policy profile availability, consumption state,
   revocation status, or the outcome of a downstream operation.  A
   participant that establishes an input and receives a negative answer
   has learned a different fact from a participant that cannot establish
   the input at all.  Collapsing those facts into one denial or failure
   value changes retry behavior, alert routing, audit interpretation,
   incident ownership, and post-incident reconstruction.

   This document specifies requirements for preserving evaluation state
   across agent protocol boundaries: the value of an input, whether that
   value was established at decision time, the freshness of the source
   used to establish it, and whether the resulting policy decision was
   actually evaluated.  The requirements are stated independently of
   encoding, so that policy, authorization, revocation, routing, and
   audit documents can satisfy them in their own formats.  A subsequent
   revision will specify concrete representations.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-konda-agentproto-evaluation-state-01"/>
        </reference>
        <reference anchor="OVERSIGHT-ACTS">
          <front>
            <title>Terminology for Human Oversight Acts in Automated and Agentic Systems</title>
            <author fullname="Andreas Ehstand" initials="A." surname="Ehstand">
              <organization>Independent Researcher</organization>
            </author>
            <date day="26" month="September" year="2026"/>
            <abstract>
              <t>   Records produced by automated and agentic systems often represent
   human oversight as a single, undifferentiated event, such as an
   approval flag or a confirmation.  Such a record does not say whether
   the person was shown an output, determined whether a named property
   of it holds, chose a course of action, or permitted an action, and
   consumers of the record may treat a confirmation click as if it were
   a check.

   This document defines terms for four kinds of human oversight act
   (observation, check, decision, and release) and for related concepts:
   the oversight act and the overseer, the named property, standing
   authority, the oversight record, the undifferentiated approval, the
   check step, error detectability, the fail-open check step, and the
   check test.  It states what a record of each kind of act is, and is
   not, evidence of, and relates the terms to existing vocabularies.
   The document defines terminology only.  It specifies no protocol,
   data format, procedure, or measurement method.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ehstand-oversight-acts-00"/>
        </reference>
        <reference anchor="PQ-AGENT-ID">
          <front>
            <title>Post-Quantum Requirements for Software and AI Agent Identity</title>
            <author fullname="Venkata Karunakar Uppalapati" initials="V. K." surname="Uppalapati">
              <organization>Independent Researcher</organization>
            </author>
            <date day="28" month="September" year="2026"/>
            <abstract>
              <t>   A delegation record retained as evidence must remain verifiable long
   after the key that signed it is retired.  A signature of any
   algorithm establishes who signed, not when, so such a record needs
   anchoring in trusted time, renewed before the algorithms protecting
   it weaken.  That is long-settled practice for archived signatures.
   It is rarely required for agent delegation, and where it is, the
   anchor is not itself required to be post-quantum.  An anchor is only
   as good as the protection behind it, and an RFC 3161 timestamp is
   itself a signature: an adversary holding a cryptanalytically relevant
   quantum computer can mint one bearing any date it chooses.  Because
   such a machine may be built without announcement, anchoring must
   become post-quantum anchoring by a stated transition date, and be
   applied early, so that the only assumption left about when such a
   machine appeared is that none existed before a record was first
   anchored that way.  The earlier that date, the weaker the assumption,
   which makes choosing it a security decision and not only a scheduling
   one.

   This document states requirements that software and AI agent identity
   mechanisms should satisfy in order to remain sound across the
   transition, and identifies four that no such mechanism yet imposes on
   delegation credentials in general.  The algorithms binding each hop
   of a delegation chain to its trust anchor must be visible to a
   verifier and retained with any record kept as evidence; where a
   signing key is fetched from a key set over TLS, as OAuth deployments
   commonly do, that binding is rarely recorded and no mechanism for
   agent delegation requires it to be, so in practice it is absent.
   Trust anchors must migrate before the credentials issued under them.
   Every retained record must be anchored, that anchoring must become
   post-quantum anchoring from a stated transition date and be
   maintained by renewal, and credentials of any type kept as evidence
   must be signed post-quantum from that same date.  Delegation chains
   also propagate the weakest algorithm in the chain, and routinely
   cross organizational boundaries where no common trust anchor policy
   can be assumed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-uppalapati-wimse-pq-agent-identity-00"/>
        </reference>
        <reference anchor="RFC3161">
          <front>
            <title>Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)</title>
            <author fullname="C. Adams" initials="C." surname="Adams"/>
            <author fullname="P. Cain" initials="P." surname="Cain"/>
            <author fullname="D. Pinkas" initials="D." surname="Pinkas"/>
            <author fullname="R. Zuccherato" initials="R." surname="Zuccherato"/>
            <date month="August" year="2001"/>
            <abstract>
              <t>This document describes the format of a request sent to a Time Stamping Authority (TSA) and of the response that is returned. It also establishes several security-relevant requirements for TSA operation, with regards to processing requests to generate responses. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3161"/>
          <seriesInfo name="DOI" value="10.17487/RFC3161"/>
        </reference>
        <reference anchor="RFC4998">
          <front>
            <title>Evidence Record Syntax (ERS)</title>
            <author fullname="T. Gondrom" initials="T." surname="Gondrom"/>
            <author fullname="R. Brandner" initials="R." surname="Brandner"/>
            <author fullname="U. Pordesch" initials="U." surname="Pordesch"/>
            <date month="August" year="2007"/>
            <abstract>
              <t>In many scenarios, users must be able prove the existence and integrity of data, including digitally signed data, in a common and reproducible way over a long and possibly undetermined period of time. This document specifies the syntax and processing of an Evidence Record, a structure designed to support long-term non-repudiation of existence of data. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4998"/>
          <seriesInfo name="DOI" value="10.17487/RFC4998"/>
        </reference>
        <reference anchor="RFC6962">
          <front>
            <title>Certificate Transparency</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="E. Kasper" initials="E." surname="Kasper"/>
            <date month="June" year="2013"/>
            <abstract>
              <t>This document describes an experimental protocol for publicly logging the existence of Transport Layer Security (TLS) certificates as they are issued or observed, in a manner that allows anyone to audit certificate authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6962"/>
          <seriesInfo name="DOI" value="10.17487/RFC6962"/>
        </reference>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC9162">
          <front>
            <title>Certificate Transparency Version 2.0</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="E. Messeri" initials="E." surname="Messeri"/>
            <author fullname="R. Stradling" initials="R." surname="Stradling"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9162"/>
          <seriesInfo name="DOI" value="10.17487/RFC9162"/>
        </reference>
        <reference anchor="AUDIT-BOFREQ" target="https://datatracker.ietf.org/doc/bofreq-kuhlewind-audit-agent-use-of-delegation-and-interaction-traceability/">
          <front>
            <title>AUDIT - Agent Use of Delegation and Interaction Traceability</title>
            <author initials="M." surname="Kuehlewind" fullname="Mirja Kuehlewind">
            </author>
            <date year="2026" month="October" day="08"/>
          </front>
        </reference>
        <reference anchor="AUDIT-CHARTER" target="https://github.com/mirjak/audit-bof-preparation/blob/main/audit-charter.md">
          <front>
            <title>Agent Use of Delegation and Interaction Traceability (AUDIT) Working Group Charter (proposed)</title>
            <author>
              <organization>AUDIT BoF proponents</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="VECTORS" target="https://github.com/probityai/agent-evidence-vectors/tree/v0.26.2/vectors-agent-audit-record">
          <front>
            <title>Agent evidence conformance vectors, release 0.26.2</title>
            <author>
              <organization>agent-evidence-vectors contributors</organization>
            </author>
            <date year="2026" month="October" day="26"/>
          </front>
        </reference>
        <reference anchor="VOCABULARY" target="https://github.com/probityai/agent-evidence-vocabulary/blob/v0.5.0/vocabulary.yaml">
          <front>
            <title>Agent evidence vocabulary, release 0.5.0</title>
            <author>
              <organization>agent-evidence-vocabulary contributors</organization>
            </author>
            <date year="2026" month="October" day="16"/>
          </front>
        </reference>
      </references>

<section anchor="rationale">
      <name>Design rationale</name>
      <t>Two requirements of this document are not derivable from Section 11 of <xref target="AIMS"/> on its own: the canonicalization contract, and carrying the observed effect beside the reported decision. Neither is restated normatively here.</t>
      <section anchor="the-canonicalization-contract">
        <name>The canonicalization contract</name>
        <t>The word "tamper-evident" appears once in <xref target="AIMS"/> and is not defined there. Read narrowly it means a record whose alteration is detectable, which a signature provides. Two gaps remain.</t>
        <t>A signature over a serialization is only as good as the agreement on which bytes were signed, and that agreement is a property of a written contract between two implementations; neither one's code establishes it. Two implementations can agree with each other on a canonical form and both differ from <xref target="RFC8785"/>, and no amount of signing or hash-chaining detects that.</t>
        <t>Each verifies its own records and rejects the other's, or worse, accepts a record whose meaning it has silently changed. A canonicalization contract is therefore part of the tamper-evidence requirement; it is not an implementation detail, and <xref target="canonical"/> makes it normative.</t>
        <t>A signature also says nothing about the producer. The party that holds the signing key can alter a record and sign it again, and every signature check still passes.</t>
        <t>Detecting that requires fields whose values are recomputable from other fields in the same record, so that an internally inconsistent record is refusable regardless of who signed it. A hash chain catches an alteration by a party with no signing key; only a recompute catches the key holder, and <xref target="tamper"/> specifies three of them. A recompute catches the key holder only when the alteration leaves the record inconsistent with itself. A coherent replacement, signed again, passes every recompute, and <xref target="tamper"/> says what finds it.</t>
      </section>
      <section anchor="the-decision-and-the-observed-effect">
        <name>The decision and the observed effect</name>
        <t>The fourth of the seven minimum fields pairs "action requested and authorization decision". A record carrying only the decision is a self-report: it states what an enforcement point concluded, and a deployment that mis-enforces its own conclusion produces a clean audit trail of the decision it failed to apply. Section 11 asks for enough to "reconstruct agent behavior and authorization context after execution", and behaviour is not reconstructable from a decision.</t>
        <t>This document therefore requires both sides in one record: the decision as reported by the enforcement point, and the effect as observed. It also requires an <tt>agreement</tt> between them, which a verifier derives from the two values by the table in <xref target="decision-effect"/>; it is not a claim the record makes. A decision reported as denied beside an effect observed as having occurred is then a well-formed disagreement in signed bytes, which a verifier accepts and a consumer can find (<xref target="well-formed-disagreement"/>). In a log that carries the decision alone it is undetectable.</t>
        <t>The same construction applies to the sixth field. Section 8 of <xref target="AIMS"/> defines posture assessment as an evaluation performed at credential provisioning, while the sixth field asks for the posture "influencing the decision".</t>
        <t>A conformant record may therefore carry a posture that was accurate at issuance and inaccurate at decision time, with nothing in the record to say which. Carrying <tt>posture</tt> as the decision point read it, beside the posture as it was observed and its <tt>assessedAt</tt>, makes that difference visible without constraining either value.</t>
      </section>
      <section anchor="why-the-tier-carries-five-clauses">
        <name>Why the tier carries five clauses</name>
        <t>Each clause of the tier recompute closes one route by which a record could claim an observer's vantage while carrying nothing that distinguishes it from a self-report.</t>
        <t><tt>vantage</tt> of <tt>below-observed</tt> is the claim itself, and the four clauses under it make the claim cost something. The prior commitment binds the before-state before the interval opens, so a producer cannot decide after the fact what it saw. A non-empty <tt>pathScope</tt> means the record names the ground it covers. A complete coverage claim, which no listed gap inside that ground may contradict, means the record does not quietly exclude the interesting part. A gap outside that ground does not count against it, because the record claims nothing there. And a digest-bound resource means the arguments of the call are pinned.</t>
        <t>Dropping any one of them admits a record that carries the authority of the rest while resting on nothing. That is why the corpus in <xref target="vectors"/> carries one reject member per clause.</t>
      </section>
    </section>
    <section anchor="vectors">
      <name>Conformance vectors</name>
      <t>The table below is the conformance corpus for this format. Each row gives a member identifier, the accept member it derives from, its input, and the verdict a conforming verifier reaches. A reject differs from the accept member in its <tt>from</tt> column by one mutation, so refusing every input scores nothing on this corpus.</t>
      <t>An accept member has no parent and its <tt>from</tt> column reads <tt>root</tt>. An indeterminate member has more than one conforming verdict and its row gives each. A member whose input is a retained record (<tt>R1</tt> to <tt>R9</tt>) is an envelope with its retention entry, and its row gives the envelope's verdict and the result of the dating check separately.</t>
      <t>The <tt>first in</tt> column names the release of the agent-evidence-vectors corpus that first published a member under that identifier, or <tt>next</tt> for a member no release carries yet. Because <tt>evaluation.inputs</tt> is required here, every member published under draft-gilda-wimse-agent-audit-record-02 is malformed under this revision (vector <tt>EV13</tt>), and release v0.26.0 regenerated the whole family under draft-gilda-audit-agent-audit-record-00. Each member kept its identifier and its row, with the entries it needs in <tt>evaluation.inputs</tt>; vector <tt>A10</tt> carries <tt>standing-source</tt> with a <tt>lastResult</tt> of <tt>none</tt>, and vector <tt>N1</tt> changes verdict as <xref target="correlation"/> states. Release v0.26.2 also carries seven members with no row here, <tt>FR13b</tt>, <tt>FR16</tt>, <tt>FR17a</tt> to <tt>FR17c</tt>, <tt>FR18</tt> and <tt>EV14</tt>, each testing a rule of <xref target="evaluation"/>.</t>
      <t>Every row names the rule it tests. Three rules this document adds have no member in the table: the binding on the digest map in <xref target="subject"/>, the <xref target="RFC3339"/> requirement in <xref target="timestamps"/>, and the single hash algorithm of <xref target="hashalg"/>. An implementation <bcp14>SHOULD</bcp14> be run against every member of the corpus before it is described as conforming to this document, and the three rules above are checked by reading them.</t>
      <t>The corpus travels with the predicate schema: the revision of this document that freezes the predicate type URI is the revision that publishes these members in <xref target="VECTORS"/>, in that repository's manifest layout.</t>
      <table>
        <name>The conformance corpus, one member for every normative rule this document adds</name>
        <thead>
          <tr>
            <th align="left">id</th>
            <th align="left">from</th>
            <th align="left">what it is</th>
            <th align="left">expected</th>
            <th align="left">first in</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">root</td>
            <td align="left">every member present, <tt>permit</tt> beside <tt>occurred</tt>, all five tier clauses met</td>
            <td align="left">valid</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A2</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>deny</tt> beside <tt>none</tt>, equal roots, empty write set</td>
            <td align="left">valid</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A3</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A1</tt> with <tt>deny</tt> beside <tt>occurred</tt> and <tt>agreement</tt> of <tt>disagree</tt></td>
            <td align="left">valid</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A4</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A1</tt> plus a remediation event with <tt>enforcement</tt> of <tt>not-enforced</tt></td>
            <td align="left">valid</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A5</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A1</tt> with <tt>vantage</tt> of <tt>self</tt>, no prior commitment, <tt>tier</tt> of <tt>voluntary</tt></td>
            <td align="left">valid</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A6</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A1</tt> with <tt>binding</tt> of <tt>not-bindable</tt>, <tt>argumentsDigest</tt> absent from the record and from the request-digest preimage, <tt>tier</tt> of <tt>voluntary</tt></td>
            <td align="left">valid</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A7</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A2</tt> plus one in-scope write inside the interval attributed to a different request, roots and chain moved to match</td>
            <td align="left">valid, <tt>agreement</tt> of <tt>agree</tt></td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A8</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A2</tt> plus one in-scope <tt>unattributed</tt> write inside the interval, <tt>effect.observed</tt> of <tt>unknown</tt></td>
            <td align="left">valid, <tt>agreement</tt> of <tt>indeterminate</tt></td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A9</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A1</tt> with <tt>permit</tt> beside an empty write set, equal roots, <tt>effect.observed</tt> of <tt>none</tt></td>
            <td align="left">valid, <tt>agreement</tt> of <tt>not-exercised</tt></td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A10</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A2</tt> with <tt>evaluation.status</tt> of <tt>not-evaluated</tt> and <tt>unavailableInput</tt> of <tt>standing-source</tt></td>
            <td align="left">valid, <tt>agreement</tt> of <tt>agree</tt></td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A11</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A1</tt> plus <tt>oversight</tt> with <tt>act</tt> of <tt>check</tt> and a <tt>recordDigest</tt></td>
            <td align="left">valid</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A12</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A10</tt> with <tt>unavailableInput</tt> of <tt>key-source</tt></td>
            <td align="left">valid, <tt>agreement</tt> of <tt>agree</tt></td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A13</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A10</tt> with <tt>unavailableInput</tt> of <tt>consumption-state</tt></td>
            <td align="left">valid, <tt>agreement</tt> of <tt>agree</tt></td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A14</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A10</tt> with <tt>unavailableInput</tt> naming all three inputs of -02, each once, in neither the table order nor sorted order</td>
            <td align="left">valid, <tt>agreement</tt> of <tt>agree</tt></td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A15</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A11</tt> with <tt>oversight.act</tt> of <tt>observation</tt></td>
            <td align="left">valid</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A16</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A11</tt> with <tt>oversight.act</tt> of <tt>decision</tt> and no <tt>recordDigest</tt>, which is optional</td>
            <td align="left">valid</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A17</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A11</tt> with <tt>oversight.act</tt> of <tt>release</tt></td>
            <td align="left">valid</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A18</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A1</tt> with <tt>evaluation.status</tt> of <tt>not-evaluated</tt>, <tt>policy-source</tt> never established, <tt>unavailableInput</tt> of <tt>policy-source</tt> and the allow-all fallback's <tt>decision.policyDigest</tt></td>
            <td align="left">valid, <tt>agreement</tt> of <tt>agree</tt></td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A19</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A3</tt> with <tt>evaluation.status</tt> of <tt>not-evaluated</tt>, <tt>key-source</tt> and <tt>consumption-state</tt> stale, and <tt>unavailableInput</tt> naming both</td>
            <td align="left">valid, <tt>agreement</tt> of <tt>disagree</tt></td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A20</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A2</tt> with <tt>evaluation.status</tt> of <tt>not-evaluated</tt>, a profile the request names not held, <tt>unavailableInput</tt> of <tt>policy-source</tt> and the deny-all fallback's <tt>decision.policyDigest</tt></td>
            <td align="left">valid, <tt>agreement</tt> of <tt>agree</tt></td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>A21</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A1</tt> with <tt>agent.authentication</tt> of <tt>api-key</tt></td>
            <td align="left">valid</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>F1</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>A1</tt> with the whole <tt>agent</tt> member removed</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>F2</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>subjectKind</tt> of <tt>none</tt> beside a named subject</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>F3</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>digest-bound</tt> with <tt>argumentsDigest</tt> removed</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>F3b</tt></td>
            <td align="left">
              <tt>A6</tt></td>
            <td align="left">
              <tt>not-bindable</tt> carrying <tt>argumentsDigest</tt> of <tt>null</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>F3c</tt></td>
            <td align="left">
              <tt>A6</tt></td>
            <td align="left">
              <tt>not-bindable</tt> carrying <tt>argumentsDigest</tt> of the empty string</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>F4</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>action</tt> changed, <tt>requestDigest</tt> left at its original value</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>F5</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>beacon-anchored</tt> with <tt>externalAnchor</tt> removed</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>F6</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">two unequal postures declared as <tt>agree</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>F7</tt></td>
            <td align="left">
              <tt>A4</tt></td>
            <td align="left">
              <tt>enforcedAt</tt> one second before <tt>signalReceivedAt</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>T1</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>effect.observed</tt> edited to <tt>none</tt>, writes intact, signed again with the real key</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>T2</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">serialized in declaration order, not <xref target="RFC8785"/> order</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>T3</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">a member name repeated at depth three</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>T4</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">nesting 129 levels deep</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>T5</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">an integer of magnitude exactly 2^53</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>D1</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>agreement</tt> of <tt>disagree</tt> with both sides agreeing</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>D2</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>agreement</tt> of <tt>one-sided</tt> with both values present</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>D3</tt></td>
            <td align="left">
              <tt>A9</tt></td>
            <td align="left">
              <tt>agreement</tt> of <tt>disagree</tt> beside <tt>permit</tt> and <tt>none</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>S1</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">second subject entry removed, interval left present</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>S2</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">second subject entry's digest set to the before-state root</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>I1r</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">interval removed, second subject entry left present</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>TI1</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>authoritative</tt> declared with <tt>vantage</tt> of <tt>self</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>TI2</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>authoritative</tt> declared with no prior commitment</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>TI3</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>authoritative</tt> declared with an empty <tt>pathScope</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>TI4</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>authoritative</tt> declared with <tt>scopeComplete</tt> of false and a coverage gap inside <tt>pathScope</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>TI5</tt></td>
            <td align="left">
              <tt>A6</tt></td>
            <td align="left">
              <tt>authoritative</tt> declared on <tt>A6</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>TI6</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>authoritative</tt> declared with <tt>scopeComplete</tt> of false and gaps naming only paths outside <tt>pathScope</tt>, which draft-gilda-audit-agent-audit-record-00 accepted</td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>C1</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">commitment <tt>keyid</tt> added to <tt>agent.signers</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>C2</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>committedAt</tt> one second after <tt>openedAt</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>C3</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>witnessNonce</tt> changed, <tt>commitmentDigest</tt> left at its original value</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>E1</tt></td>
            <td align="left">
              <tt>A2</tt></td>
            <td align="left">
              <tt>observed</tt> of <tt>none</tt> with a non-empty write set</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>E2</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">a second write whose pre-state is not the first write's post-state</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>E3</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>empty-tree</tt> under sha256 carrying the sha1 constant</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>E4</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">the only write's pre-state is not the before-state root, its post-state is the after-state root</td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>E5</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">the only write starts from the before-state root and its post-state is not the after-state root</td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>E6</tt></td>
            <td align="left">
              <tt>A2</tt></td>
            <td align="left">an empty write set beside an after-state root unequal to the before-state root, second subject moved to match</td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>V1</tt></td>
            <td align="left">
              <tt>A4</tt></td>
            <td align="left">
              <tt>enforcement</tt> of <tt>quarantined</tt>, outside the closed set</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>V2</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">a <tt>pathScope</tt> member carrying a glob metacharacter</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>V3</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">a write outside <tt>pathScope</tt> carrying <tt>inScope</tt> of <tt>true</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>V4</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>scopeComplete</tt> of true beside a gap inside <tt>pathScope</tt>, all other tier clauses met</td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>V5</tt></td>
            <td align="left">
              <tt>A5</tt></td>
            <td align="left">
              <tt>scopeComplete</tt> of true beside a gap inside <tt>pathScope</tt>, <tt>tier</tt> of <tt>voluntary</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FE1</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">six of the seven <tt>fieldEvidence</tt> keys present</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FE2</tt></td>
            <td align="left">
              <tt>A5</tt></td>
            <td align="left">
              <tt>substrate-covered</tt> declared beside <tt>vantage</tt> of <tt>self</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FR1</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A1</tt> written by the second of two hops: each input fresh at <tt>decision.reportedAt</tt>, one carried from the first hop with the source's <tt>lastResult</tt> unchanged</td>
            <td align="left">valid</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FR2</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>FR1</tt> with one input's age at <tt>decision.reportedAt</tt> exactly equal to its <tt>maxAge</tt></td>
            <td align="left">valid, the input fresh</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FR3</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A10</tt> written by the second of two hops, the forwarded <tt>standing-source</tt> one second older than its <tt>maxAge</tt></td>
            <td align="left">valid, <tt>agreement</tt> of <tt>agree</tt></td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FR4</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A10</tt> written by the second of two hops, which received <tt>standing-source</tt> as never established, <tt>lastResult</tt> of <tt>none</tt></td>
            <td align="left">valid, <tt>agreement</tt> of <tt>agree</tt></td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FR5</tt></td>
            <td align="left">
              <tt>FR1</tt></td>
            <td align="left">an entry with <tt>lastResult</tt> removed</td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FR6</tt></td>
            <td align="left">
              <tt>FR1</tt></td>
            <td align="left">an entry with <tt>maxAge</tt> removed</td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FR7</tt></td>
            <td align="left">
              <tt>FR3</tt></td>
            <td align="left">
              <tt>unavailableInput</tt> naming <tt>key-source</tt>, whose entry is fresh, in place of <tt>standing-source</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FR8</tt></td>
            <td align="left">
              <tt>FR1</tt></td>
            <td align="left">
              <tt>evaluated</tt> beside an entry one second older than its <tt>maxAge</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FR9</tt></td>
            <td align="left">
              <tt>FR1</tt></td>
            <td align="left">an entry whose <tt>lastResult</tt> is later than <tt>decision.reportedAt</tt> by more than the skew tolerance</td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FR10</tt></td>
            <td align="left">
              <tt>FR1</tt></td>
            <td align="left">one input named in two entries</td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FR11</tt></td>
            <td align="left">
              <tt>FR1</tt></td>
            <td align="left">an entry carrying a fourth member this document does not define</td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FR12</tt></td>
            <td align="left">
              <tt>FR1</tt></td>
            <td align="left">an entry whose <tt>input</tt> is <tt>network</tt>, outside the closed set</td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FR13</tt></td>
            <td align="left">
              <tt>FR1</tt></td>
            <td align="left">an entry with a negative <tt>maxAge</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FR14</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A2</tt> judging two delegation paths, two values of <tt>standing-source</tt> each fresh at <tt>decision.reportedAt</tt> (ages 30 and 3600 seconds under a <tt>maxAge</tt> of 60 and of 7200), the entry carrying the first value's pair</td>
            <td align="left">valid, <tt>agreement</tt> of <tt>agree</tt></td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>FR15</tt></td>
            <td align="left">
              <tt>FR14</tt></td>
            <td align="left">the entry carrying the second value's <tt>lastResult</tt> beside the first value's <tt>maxAge</tt>, under <tt>evaluated</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>EV1</tt></td>
            <td align="left">
              <tt>A10</tt></td>
            <td align="left">
              <tt>not-evaluated</tt> with <tt>unavailableInput</tt> removed</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>EV2</tt></td>
            <td align="left">
              <tt>A2</tt></td>
            <td align="left">
              <tt>evaluated</tt> carrying <tt>unavailableInput</tt> of <tt>standing-source</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>EV3</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">the <tt>evaluation</tt> member removed, which is the shape of a revision 01 record</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>EV4</tt></td>
            <td align="left">
              <tt>A10</tt></td>
            <td align="left">
              <tt>unavailableInput</tt> of <tt>network</tt>, outside the closed set</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>EV5</tt></td>
            <td align="left">
              <tt>A10</tt></td>
            <td align="left">
              <tt>not-evaluated</tt> with <tt>unavailableInput</tt> of the empty array</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>EV6</tt></td>
            <td align="left">
              <tt>A10</tt></td>
            <td align="left">
              <tt>not-evaluated</tt> with <tt>standing-source</tt> named twice</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>EV7</tt></td>
            <td align="left">
              <tt>A10</tt></td>
            <td align="left">
              <tt>not-evaluated</tt> with <tt>unavailableInput</tt> of the string <tt>standing-source</tt>, not an array</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>EV8</tt></td>
            <td align="left">
              <tt>A2</tt></td>
            <td align="left">
              <tt>evaluated</tt> carrying <tt>unavailableInput</tt> of <tt>null</tt></td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>EV9</tt></td>
            <td align="left">
              <tt>A2</tt></td>
            <td align="left">
              <tt>evaluated</tt> carrying <tt>unavailableInput</tt> of the empty array</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>EV10</tt></td>
            <td align="left">
              <tt>A2</tt></td>
            <td align="left">
              <tt>evaluated</tt> carrying <tt>unavailableInput</tt> of the empty string</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>EV11</tt></td>
            <td align="left">
              <tt>A10</tt></td>
            <td align="left">
              <tt>evaluation.status</tt> of <tt>partially-evaluated</tt>, outside the closed set</td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>EV12</tt></td>
            <td align="left">
              <tt>A10</tt></td>
            <td align="left">
              <tt>evaluation</tt> carrying a free-text <tt>reason</tt> member this document does not define</td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>EV13</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">
              <tt>evaluation.inputs</tt> removed, the shape of a record under draft-gilda-wimse-agent-audit-record-02</td>
            <td align="left">malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>OV1</tt></td>
            <td align="left">
              <tt>A11</tt></td>
            <td align="left">
              <tt>oversight.act</tt> of <tt>approval</tt>, outside the closed set</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>OV2</tt></td>
            <td align="left">
              <tt>A11</tt></td>
            <td align="left">
              <tt>oversight</tt> carrying a member this document does not define</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>OV3</tt></td>
            <td align="left">
              <tt>A11</tt></td>
            <td align="left">
              <tt>oversight</tt> with <tt>act</tt> removed and <tt>recordDigest</tt> kept</td>
            <td align="left">malformed</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>SQ1</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A1</tt> with <tt>sequence</tt> carrying a <tt>boundary</tt> and a <tt>seq</tt> of 1</td>
            <td align="left">valid</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>SQ2</tt></td>
            <td align="left">
              <tt>SQ1</tt></td>
            <td align="left">
              <tt>sequence</tt> carrying a <tt>count</tt> member this document does not define</td>
            <td align="left">malformed</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>SQ3</tt></td>
            <td align="left">
              <tt>SQ1</tt></td>
            <td align="left">
              <tt>sequence</tt> with a <tt>seq</tt> of 0</td>
            <td align="left">malformed</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>SQ4</tt></td>
            <td align="left">root</td>
            <td align="left">records of one series with <tt>seq</tt> 1 and 3 held, <tt>seq</tt> 2 not held</td>
            <td align="left">each record valid, the set names <tt>seq</tt> 2 as issued and not received</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>SQ5</tt></td>
            <td align="left">root</td>
            <td align="left">two records of one series with the same <tt>seq</tt> and different envelope digests</td>
            <td align="left">each record valid, the set fails the check</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>N1</tt></td>
            <td align="left">
              <tt>A1</tt></td>
            <td align="left">an anchor token digest carried in <tt>correlation.externalAnchor</tt>, the proof not held</td>
            <td align="left">valid, not dated by the anchor</td>
            <td align="left">v0.18.1, verdict changed</td>
          </tr>
          <tr>
            <td align="left">
              <tt>N2</tt></td>
            <td align="left">
              <tt>A4</tt></td>
            <td align="left">enforcement forty days after the signal, ordering intact</td>
            <td align="left">indeterminate</td>
            <td align="left">v0.18.1</td>
          </tr>
          <tr>
            <td align="left">
              <tt>R1</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A1</tt> retained by its producer: <tt>received</tt> of <tt>false</tt> and one anchor of origin <tt>retainer</tt> inside <tt>anchorWithin</tt> of <tt>issuedAt</tt></td>
            <td align="left">record valid, dated at the anchor's time</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>R2</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A1</tt> received from another party, <tt>receivedAt</tt> between <tt>issuedAt</tt> and the retaining party's anchor obtained on delivery</td>
            <td align="left">record valid, receipt time asserted and consistent</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>R3</tt></td>
            <td align="left">
              <tt>R2</tt></td>
            <td align="left">
              <tt>receivedAt</tt> later than the retaining party's earliest anchor by more than the skew tolerance</td>
            <td align="left">record valid, entry malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>R4</tt></td>
            <td align="left">
              <tt>R2</tt></td>
            <td align="left">
              <tt>received</tt> of <tt>true</tt> and no anchor of origin <tt>retainer</tt></td>
            <td align="left">record valid, entry malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>R5</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>R2</tt> with the retaining party's anchor obtained before delivery and <tt>receivedAt</tt> inside the bracket</td>
            <td align="left">record valid, receipt time asserted and consistent, never established</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>R6</tt></td>
            <td align="left">
              <tt>R2</tt></td>
            <td align="left">
              <tt>receivedAt</tt> earlier than <tt>issuedAt</tt> by more than the skew tolerance</td>
            <td align="left">record valid, entry malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>R7</tt></td>
            <td align="left">
              <tt>R1</tt></td>
            <td align="left">the retaining party's first anchor later than <tt>issuedAt</tt> by more than <tt>anchorWithin</tt> plus the skew tolerance</td>
            <td align="left">record valid, entry malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>R8</tt></td>
            <td align="left">
              <tt>R1</tt></td>
            <td align="left">the only anchor's proof is over a different envelope digest</td>
            <td align="left">record valid, not dated</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>R9</tt></td>
            <td align="left">
              <tt>R1</tt></td>
            <td align="left">
              <tt>receivedAt</tt> carried beside <tt>received</tt> of <tt>false</tt></td>
            <td align="left">record valid, entry malformed</td>
            <td align="left">v0.26.0</td>
          </tr>
          <tr>
            <td align="left">
              <tt>R10</tt></td>
            <td align="left">
              <tt>R2</tt></td>
            <td align="left">the retaining party's anchor is <tt>opentimestamps</tt>, its block header time 600 seconds earlier than <tt>receivedAt</tt></td>
            <td align="left">record valid, receipt time asserted and consistent</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>R11</tt></td>
            <td align="left">
              <tt>R10</tt></td>
            <td align="left">the block header time earlier than <tt>receivedAt</tt> by more than 7200 seconds</td>
            <td align="left">record valid, entry malformed</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>R12</tt></td>
            <td align="left">
              <tt>R1</tt></td>
            <td align="left">
              <tt>anchors</tt> holding a pending OpenTimestamps proof followed by its upgraded, complete proof</td>
            <td align="left">record valid, dated at the upgraded proof's block time, the pending element dating nothing</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>R13</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>R1</tt> for a record carrying <tt>delegation.rootDigest</tt>, with a <tt>delegation-root</tt> element whose digest equals it</td>
            <td align="left">record valid, delegation root established, its algorithm derived from the element</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>R14</tt></td>
            <td align="left">
              <tt>R13</tt></td>
            <td align="left">the <tt>delegation-root</tt> element omitted</td>
            <td align="left">record valid, delegation root not established, never reported as a pass</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>R15</tt></td>
            <td align="left">
              <tt>R13</tt></td>
            <td align="left">the <tt>delegation-root</tt> element's digest unequal to <tt>delegation.rootDigest</tt></td>
            <td align="left">record valid, entry malformed</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>R16</tt></td>
            <td align="left">
              <tt>R1</tt></td>
            <td align="left">the only anchor an <tt>opentimestamps</tt> proof whose path runs from <tt>envelopeDigest</tt> through a Merkle tree the retaining party built and a Bitcoin transaction carrying its root to the block header</td>
            <td align="left">record valid, dated at the block time</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>CS1</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>A1</tt> under a cumulative limit: a <tt>consumption-state</tt> entry with <tt>consumption</tt>, the request within the limit and nothing held</td>
            <td align="left">valid, <tt>withinLimit</tt> true</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>CS2</tt></td>
            <td align="left">root</td>
            <td align="left">
              <tt>CS1</tt> with <tt>permit</tt> and <tt>consumed</tt> plus <tt>requested</tt> beyond <tt>limit</tt></td>
            <td align="left">valid, <tt>withinLimit</tt> false</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>CS3</tt></td>
            <td align="left">
              <tt>CS1</tt></td>
            <td align="left">
              <tt>reserved</tt> not equal to the sum of the <tt>held</tt> amounts</td>
            <td align="left">malformed</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>CS4</tt></td>
            <td align="left">root</td>
            <td align="left">a retry whose <tt>decision.requestDigest</tt> is in <tt>held</tt> with an equal amount, within the limit only because it is not counted twice</td>
            <td align="left">valid, <tt>withinLimit</tt> true</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>CS5</tt></td>
            <td align="left">
              <tt>CS1</tt></td>
            <td align="left">a negative <tt>requested</tt></td>
            <td align="left">malformed</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>CS6</tt></td>
            <td align="left">
              <tt>CS1</tt></td>
            <td align="left">
              <tt>consumption</tt> on an entry whose <tt>input</tt> is <tt>policy-source</tt></td>
            <td align="left">malformed</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>CS7</tt></td>
            <td align="left">root</td>
            <td align="left">two retained records under one <tt>limitDigest</tt>: the second permit read a <tt>stateRevision</tt> older than the record holding the first, unsettled permit, and omits it from <tt>held</tt></td>
            <td align="left">each record valid, the retained set fails the check across records</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>CS8</tt></td>
            <td align="left">root</td>
            <td align="left">two retained records under one <tt>limitDigest</tt>: a permit released from <tt>held</tt> with no record of that request showing <tt>none</tt></td>
            <td align="left">each record valid, the retained set fails the check across records</td>
            <td align="left">next</td>
          </tr>
          <tr>
            <td align="left">
              <tt>CS9</tt></td>
            <td align="left">
              <tt>CS1</tt></td>
            <td align="left">
              <tt>consumption</tt> with <tt>stateRevision</tt> removed</td>
            <td align="left">malformed</td>
            <td align="left">next</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="audit-map">
      <name>Mapping to the AUDIT problem statement</name>
      <t>The table below takes each problem the AUDIT BoF request <xref target="AUDIT-BOFREQ"/> and the proposed charter <xref target="AUDIT-CHARTER"/> name, quoted or closely paraphrased from those texts, and gives the part of this document that addresses it. Where this document leaves a problem to other work, the row says so. The charter's first deliverable, an architecture, and its third and fourth, protocol extensions and deployment practice, are outside a record format; the rows below fall under its second deliverable, audit data models and semantics, unless a row names another.</t>
      <table>
        <name>AUDIT problems and the parts of this document that address them</name>
        <thead>
          <tr>
            <th align="left">AUDIT problem</th>
            <th align="left">where it is stated</th>
            <th align="left">this document</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">who initiated an action</td>
            <td align="left">BoF request</td>
            <td align="left">
              <tt>agent.id</tt>, <tt>agent.credentialDigest</tt>, <tt>delegation.subject</tt> and <tt>delegation.subjectKind</tt>, <xref target="members"/></td>
          </tr>
          <tr>
            <td align="left">under which authority it occurred</td>
            <td align="left">BoF request</td>
            <td align="left">
              <tt>delegation.authorityDigest</tt> and <tt>decision.policyDigest</tt>, with <tt>evaluation</tt> saying whether the authority was evaluated, <xref target="members"/> and <xref target="evaluation"/></td>
          </tr>
          <tr>
            <td align="left">how permissions evolved during execution</td>
            <td align="left">BoF request</td>
            <td align="left">one record per decision, joined by <tt>correlation.id</tt>; <tt>remediation</tt> for each revocation or downgrade with its enforcement and the effect after it, <xref target="correlation"/>. A record carries one delegation hop and no delegation chain</td>
          </tr>
          <tr>
            <td align="left">attributing actions to a user, an agent instance or a delegation context</td>
            <td align="left">charter, challenges</td>
            <td align="left">
              <tt>agent</tt> and <tt>delegation</tt>, with the request bound by digest to the action, resource and arguments, <xref target="members"/></td>
          </tr>
          <tr>
            <td align="left">visibility across long-running or distributed workflows</td>
            <td align="left">charter, challenges</td>
            <td align="left">
              <tt>correlation.id</tt> with <tt>correlation.scope</tt> of <tt>cross-party</tt>, and the subject convention that binds one identifier to the request, the interval and the record, <xref target="subject"/> and <xref target="correlation"/></td>
          </tr>
          <tr>
            <td align="left">delegation relationships, dynamic authorization context and identity transitions</td>
            <td align="left">charter, challenges</td>
            <td align="left">the authorization context of each decision, including the freshness of every input it relied on, <xref target="evaluation"/>; identity transitions are left to the identity work the charter relies on</td>
          </tr>
          <tr>
            <td align="left">interoperable means to exchange or verify audit information across domains</td>
            <td align="left">charter, challenges</td>
            <td align="left">the canonical form, <xref target="canonical"/>; the verification order, <xref target="verifying"/>; the open conformance corpus, <xref target="vectors"/> and <xref target="impl"/></td>
          </tr>
          <tr>
            <td align="left">verifiable by a party that trusts neither the agent nor its operator</td>
            <td align="left">charter</td>
            <td align="left">the recomputes, which refuse a record its own key holder altered inconsistently, <xref target="tamper"/>; the derived tier, <xref target="observation"/>; and what a record cannot prove, <xref target="security-considerations"/></td>
          </tr>
          <tr>
            <td align="left">user intent</td>
            <td align="left">BoF request, charter</td>
            <td align="left">not carried; a record can bind an intent record by digest as it binds the authority document, and keeps the user's statement apart from the decision</td>
          </tr>
          <tr>
            <td align="left">invoked or declined actions</td>
            <td align="left">BoF request, charter</td>
            <td align="left">
              <tt>decision.reported</tt> beside <tt>effect.observed</tt> and the derived <tt>agreement</tt>, so a declined action that took effect is visible, <xref target="members"/></td>
          </tr>
          <tr>
            <td align="left">exchanged data</td>
            <td align="left">BoF request, charter</td>
            <td align="left">
              <tt>resource.argumentsDigest</tt> binds the arguments by digest and carries none of them, <xref target="members"/> and <xref target="privacy-considerations"/></td>
          </tr>
          <tr>
            <td align="left">resulting outcomes</td>
            <td align="left">BoF request, charter</td>
            <td align="left">
              <tt>effect</tt>, its write chain and the before-state and after-state roots, <xref target="members"/></td>
          </tr>
          <tr>
            <td align="left">a common identifier linking user intent to resulting actions across boundaries</td>
            <td align="left">BoF request, charter</td>
            <td align="left">
              <tt>correlation.id</tt>, the first subject entry's name, <xref target="subject"/> and <xref target="timestamps"/></td>
          </tr>
          <tr>
            <td align="left">authorization as a time-evolving state</td>
            <td align="left">charter</td>
            <td align="left">
              <tt>evaluation.inputs</tt>, <tt>posture.assessedAt</tt> and <tt>remediation</tt>, <xref target="evaluation"/> and <xref target="correlation"/></td>
          </tr>
          <tr>
            <td align="left">selective disclosure and privacy</td>
            <td align="left">charter</td>
            <td align="left">digests in place of the bound documents, and anchors over a digest alone, <xref target="privacy-considerations"/>; no mechanism for disclosing part of a record's own members</td>
          </tr>
          <tr>
            <td align="left">collecting, aggregating, verifying and transparency-logging records, possibly by an independent auditor</td>
            <td align="left">charter, scope and deliverable 2</td>
            <td align="left">what a retaining party keeps, the anchor kinds including a transparency log, and the dating check, <xref target="retained"/>; no protocol for collection or retrieval</td>
          </tr>
          <tr>
            <td align="left">a data model for records</td>
            <td align="left">BoF request, new work</td>
            <td align="left">this document</td>
          </tr>
          <tr>
            <td align="left">protocols to store and retrieve records</td>
            <td align="left">BoF request, new work</td>
            <td align="left">not defined; <xref target="retained"/> defines what is stored and leaves the protocol open</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section numbered="false" anchor="document-history">
      <name>Document History</name>
      <t>This document replaces draft-gilda-wimse-agent-audit-record. Its target is the AUDIT BoF and the working group it proposes. The revisions listed below as -02, -01 and -00 are revisions of that document.</t>
      <t>Changes in draft-gilda-audit-agent-audit-record-01:</t>
      <ul spacing="normal">
        <li>
          <t><xref target="conformance"/> states what a conforming producer and verifier are, ties verifier conformance to release 0.26.2 of <xref target="VECTORS"/>, and lists the identifiers a referencing document may rely on. The intended status is Standards Track, so that a working group document can reference this one normatively.</t>
        </li>
        <li>
          <t><xref target="impl"/> and <xref target="vectors"/> name release v0.26.2, which regenerated the corpus under draft-gilda-audit-agent-audit-record-00 and carries 111 members, and the <tt>first in</tt> column names v0.26.0 for the 36 members that release first published. <xref target="VECTORS"/> and <xref target="VOCABULARY"/> are referenced at tagged releases.</t>
        </li>
        <li>
          <t><xref target="consumption"/> adds the value a decision under a cumulative limit read. A <tt>consumption-state</tt> entry carries <tt>consumption</tt>: the limit's document digest, the unit, the limit, the amounts committed, held and requested, the permits held and the state revision read. A verifier derives <tt>withinLimit</tt>, a retried request held for a lost response is not counted twice, a held permit is released only by a record of that request showing <tt>none</tt>, and two checks across retained records find one limit spent twice. Under -00 an entry recorded the freshness of the consumption state and not the amount it showed.</t>
        </li>
        <li>
          <t>Nine members are added to <xref target="vectors"/>: <tt>CS1</tt> to <tt>CS9</tt>.</t>
        </li>
        <li>
          <t>Where a decision depended on several values of one input, an entry's <tt>lastResult</tt> and <tt>maxAge</tt> are taken from the same value, the one whose <tt>lastResult</tt> plus <tt>maxAge</tt> is earliest. Under -00 the entry took the oldest <tt>lastResult</tt> and the smallest <tt>maxAge</tt> from different values, which could report two fresh values as one stale input. Vectors <tt>FR14</tt> and <tt>FR15</tt>.</t>
        </li>
        <li>
          <t><xref target="subject"/> states the interval condition on what was observed rather than on the decision. Under -00 it said a denied decision carries an empty write set, which contradicted vectors <tt>A3</tt> and <tt>A7</tt>; a write attributed to a denied request is retained and yields <tt>disagree</tt>. <xref target="rationale"/> describes a deny beside <tt>occurred</tt> as a well-formed disagreement, not a refusable inconsistency, and refers to the agreement table instead of counting its values.</t>
        </li>
        <li>
          <t><xref target="tamper"/>, <xref target="decision-effect"/>, <xref target="security-considerations"/> and <xref target="rationale"/> narrow the claim about a record the key holder signed again. The recomputes refuse an inconsistent alteration; a coherent replacement, in which every dependent member is changed to match and the record is signed again, passes them, and is found only by comparison with a copy or an anchor of the original that the key holder does not control.</t>
        </li>
        <li>
          <t><xref target="observation"/> defines <tt>coverage.scopeComplete</tt> and <tt>coverage.gaps</tt>. A gap inside <tt>pathScope</tt> beside a <tt>scopeComplete</tt> of true is malformed at any tier, and the coverage clause of the tier recompute is <tt>scopeComplete</tt> of true. Under -00 the clause was a disjunction that passed a record declaring complete coverage beside a listed gap inside its own scope, and one declaring incomplete coverage while naming no gap inside it. Vectors <tt>TI6</tt>, <tt>V4</tt> and <tt>V5</tt>.</t>
        </li>
        <li>
          <t><xref target="anchor-rules"/> defines the time of an <tt>opentimestamps</tt> anchor as the timestamp of the Bitcoin block header its proof reaches, and gives comparisons with that time a tolerance of 7200 seconds, the consensus limit on a header time ahead of a validating node's clock, in place of the 300-second skew tolerance. Two such times are ordered by block height. Under -00 the time was unspecified, and an honest retaining party could fail the receipt bracket. Vectors <tt>R10</tt> and <tt>R11</tt>.</t>
        </li>
        <li>
          <t><xref target="retained"/> states that only an anchor that validates meets <tt>anchorWithin</tt>, so for a retaining party that relies on <tt>opentimestamps</tt> alone, <tt>anchorWithin</tt> covers the latency before a pending proof is confirmed in a block.</t>
        </li>
        <li>
          <t><xref target="retained"/> states that an upgraded proof is appended as a new element beside the pending one it completes, which stays and dates nothing; no element is rewritten in place. Vector <tt>R12</tt>.</t>
        </li>
        <li>
          <t><tt>delegation.rootDigest</tt>, optional, binds the certification path or key set of the delegation chain's root key that the chain verifier trusted at decision time, and <xref target="retained"/> keeps that material as a <tt>delegation-root</tt> element of <tt>validationData</tt>, from which a later reader derives the algorithm the chain rested on. It records what the verifier held and not how it came to hold it, and mandates no anchor topology. A retaining party that holds no such element reports the root as not established. Under -00 the record bound the authority document and not the root key the chain was verified under. Vectors <tt>R13</tt> to <tt>R15</tt>.</t>
        </li>
        <li>
          <t><xref target="anchor-rules"/> states why an anchor kind names the proof format and not only its basis, carries a Merkle root published in a Bitcoin transaction as an <tt>opentimestamps</tt> proof, and states what a revision adding a kind for another ledger has to define. Vector <tt>R16</tt>.</t>
        </li>
        <li>
          <t><tt>agent.authentication</tt> gains <tt>api-key</tt>, for a bearer secret that is not an OAuth access token. Under -00 such a request matched no value, and <tt>none</tt> would have said that no authentication took place; <tt>none</tt> is now stated to mean exactly that. A digest of a bearer secret is stated to be testable against guesses. Vector <tt>A21</tt>.</t>
        </li>
        <li>
          <t>Requirements stated with a lowercase "required" are restated with the BCP 14 keywords: the seventeen members, <tt>delegation.authorityDigest</tt>, <tt>evaluation.inputs</tt> and the members of each entry, the members of <tt>consumption</tt>, <tt>oversight.act</tt> and <tt>correlation.scope</tt>. No requirement changes.</t>
        </li>
        <li>
          <t><xref target="sequence"/> adds an optional <tt>sequence</tt> member, a series named by <tt>boundary</tt> and a <tt>seq</tt> that starts at 1 and rises by one, under the producer's signature. A party holding records of a series names a missing number below the highest it holds, and two records at one number fail the check. <xref target="withheld-rows"/> separates a withheld record, which a missing number shows, from a record never produced, which nothing shows. Vectors <tt>SQ1</tt> to <tt>SQ5</tt>.</t>
        </li>
        <li>
          <t><xref target="impl"/> states that the published command checks records under draft-gilda-wimse-agent-audit-record-02 and is not a conformance check for this revision.</t>
        </li>
        <li>
          <t><xref target="consumption"/> and <xref target="sequence"/> follow <xref target="worked"/>, so that Sections 5.1 to 5.8 keep the numbers they had in -00 and in draft-gilda-wimse-agent-audit-record-02, as <xref target="introduction"/> states.</t>
        </li>
        <li>
          <t>The acknowledgments credit the reviewers whose comments led to these changes.</t>
        </li>
      </ul>
      <t>Changes in draft-gilda-audit-agent-audit-record-00:</t>
      <ul spacing="normal">
        <li>
          <t><xref target="retained"/> defines the retention entry a retaining party keeps beside a record: anchors over the envelope digest with their kind and origin, the validation data for the envelope and each anchor, and, for a received record, <tt>receivedAt</tt>. A verifier derives each anchor's time and algorithm family from its proof.</t>
        </li>
        <li>
          <t><xref target="verifying"/> gains the dating check. The earliest anchor that validates dates the record, and no issuance time a record states does. A received record must carry an anchor the retaining party obtained on delivery, and a <tt>receivedAt</tt> outside the bracket from <tt>issuedAt</tt> to that anchor, within the skew tolerance, makes the entry malformed. The check is stated to be a consistency check: it rests on the sender's clock and on the retaining party anchoring on delivery, a digest anchored before delivery does not establish receipt, and the late-anchor limit is stated as an assumption.</t>
        </li>
        <li>
          <t><xref target="anchor-rules"/> gives an offline validation rule for each anchor kind, and says when a transparency-log anchor is a hash commitment and when a signed token. The predicate's own <tt>correlation.externalAnchor</tt> dates nothing by itself, so vector <tt>N1</tt> has one conforming verdict.</t>
        </li>
        <li>
          <t><xref target="evaluation"/> gains <tt>evaluation.inputs</tt>, required under both statuses: one entry per input the decision depended on, with <tt>lastResult</tt> and <tt>maxAge</tt>, both required. Age is measured from <tt>lastResult</tt> to <tt>decision.reportedAt</tt>, an age equal to <tt>maxAge</tt> is fresh, and <tt>unavailableInput</tt> is derived from the entries and must match them. A forwarded value keeps the source's <tt>lastResult</tt>. Under draft-gilda-wimse-agent-audit-record-02 freshness could not be recorded for an input that was accepted.</t>
        </li>
        <li>
          <t><tt>unavailableInput</tt> gains <tt>policy-source</tt>, for a decision point that could not read its policy or does not hold the profile a request names. <tt>decision.policyDigest</tt> then names the fallback the decision point enforced.</t>
        </li>
        <li>
          <t>The rule for <tt>evaluated</tt> is stated: the reported decision does not depend on any input the decision point could not obtain. <tt>decision.reported</tt> under <tt>not-evaluated</tt> is stated to be the outcome the decision point fell back to, so a fail-open is a <tt>permit</tt> and stays findable.</t>
        </li>
        <li>
          <t><tt>evaluation</tt> carries no member other than <tt>status</tt>, <tt>inputs</tt> and <tt>unavailableInput</tt>. Under the earlier revision a free-text reason beside the closed set was not refused.</t>
        </li>
        <li>
          <t>Each input is mapped to the section of <xref target="EVALUATION"/> that defines it, and a transient refusal under that document is mapped to <tt>not-evaluated</tt> and a permanent one to <tt>evaluated</tt> with <tt>deny</tt>.</t>
        </li>
        <li>
          <t>The write-chain replay is stated in <xref target="members"/>: where the running root starts, what each write must match, and where it must end. Under the earlier revision the body required the replay without defining it.</t>
        </li>
        <li>
          <t><xref target="verifying"/> applies the JSON profile before the signature, because deriving the <xref target="RFC8785"/> bytes the signature covers requires a parse the duplicate-member rule constrains.</t>
        </li>
        <li>
          <t>A closed vocabulary is extended only by a revision, and after the predicate type URI freezes only under a new URI. No vocabulary carries a catch-all value. <xref target="iana"/> states that no revision has yet frozen the URI.</t>
        </li>
        <li>
          <t>A skew tolerance of 300 seconds is defined for every comparison between times written by two parties.</t>
        </li>
        <li>
          <t><xref target="impl"/> records the open implementation, and <xref target="audit-map"/> maps the problems the AUDIT BoF request and proposed charter name to this document.</t>
        </li>
        <li>
          <t>A record under the earlier revision is malformed under this one, because it carries no <tt>evaluation.inputs</tt> (vector <tt>EV13</tt>). The corpus is regenerated, and 31 members are added to <xref target="vectors"/>: <tt>A18</tt> to <tt>A20</tt>, <tt>E4</tt> to <tt>E6</tt>, <tt>EV11</tt> to <tt>EV13</tt>, <tt>FR1</tt> to <tt>FR13</tt> and <tt>R1</tt> to <tt>R9</tt>.</t>
        </li>
      </ul>
      <t>Changes in draft-gilda-wimse-agent-audit-record-02:</t>
      <ul spacing="normal">
        <li>
          <t>A required <tt>evaluation</tt> member records whether the decision point evaluated the request, and under <tt>not-evaluated</tt> names the unavailable inputs from a closed set (<xref target="evaluation"/>). Under -01 a verifier that lost its standing source and denied wrote a record identical to a correctly enforced denial. <tt>decision.reported</tt> and the agreement table are unchanged.</t>
        </li>
        <li>
          <t>An optional <tt>oversight</tt> member records the kind of act a person took behind a decision, and may bind the overseer's own signed record by digest (<xref target="oversight"/>).</t>
        </li>
        <li>
          <t>A record conforming to -01 is malformed under -02, because it carries no <tt>evaluation</tt> member and no member has a default (vector <tt>EV3</tt>). The predicate type URI does not change: no revision has yet frozen it, and the corpus in <xref target="VECTORS"/> is regenerated against this revision.</t>
        </li>
        <li>
          <t>Eight members are added to <xref target="vectors"/>: <tt>A10</tt>, <tt>A11</tt>, <tt>EV1</tt> to <tt>EV4</tt>, <tt>OV1</tt> and <tt>OV2</tt>.</t>
        </li>
      </ul>
      <t>Changes in draft-gilda-wimse-agent-audit-record-01:</t>
      <ul spacing="normal">
        <li>
          <t>The request-digest preimage under <tt>not-bindable</tt> is stated: three members, with no <tt>argumentsDigest</tt> member in any spelling. Under -00 the text named four members and forbade the fourth, so the preimage was open and three spellings gave three digests.</t>
        </li>
        <li>
          <t>Each write carries the request digest it is attributed to, or <tt>unattributed</tt>. <tt>effect.observed</tt> describes this record's request, and it gains <tt>unknown</tt> for an unattributed write inside the scope. A write that belongs to another request no longer changes this record's agreement.</t>
        </li>
        <li>
          <t><tt>agreement</tt> gains <tt>not-exercised</tt>, for a permit beside no effect, and <tt>indeterminate</tt>, for an effect the observer could not attribute. Under -00 a permitted call that was never made read as <tt>disagree</tt>, the value a leaked deny also takes.</t>
        </li>
        <li>
          <t>A statement whose signature fails is malformed, so <xref target="verifying"/> and vector <tt>T2</tt> report the same verdict.</t>
        </li>
        <li>
          <t>Six members are added to <xref target="vectors"/>: <tt>A7</tt>, <tt>A8</tt>, <tt>A9</tt>, <tt>F3b</tt>, <tt>F3c</tt> and <tt>D3</tt>.</t>
        </li>
      </ul>
      <t>draft-gilda-wimse-agent-audit-record-00 was the first revision.</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Cliff Singletary pointed out that an earlier revision could not record a decision point that was unable to evaluate, and proposed the separate member that leaves <tt>decision.reported</tt> and the agreement table untouched. Girish Konda reviewed that member against Section 5 of <xref target="EVALUATION"/>, proposed adding the policy input to its closed set, and asked for the reference time, the boundary case and the freshness of accepted inputs that <tt>evaluation.inputs</tt> now carries. Wes Jackson proposed reading stale and never-established inputs from the as-of time and the maximum age. Venkata Uppalapati asked whether a receipt time could be bound to anything a later reader can check, which led to the receipt bracket, and named the late-anchor limit it leaves. Iman Schrock pointed out that the bracket is a consistency check and not proof of receipt, and proposed the case of a digest anchored before delivery. Andreas Ehstand asked whether the human act behind a permit belongs in this format and proposed the member that names its kind. Brian Campbell pointed this work to the AUDIT BoF. King Yew Choo asked how the record shows the amount already spent that a decision point read under a cumulative delegated limit, which led to <xref target="consumption"/>. Mikhail Sergeev found that aggregating freshness across values could report two fresh values as stale and proposed the pairing rule, found that the text on a denied decision contradicted vectors <tt>A3</tt> and <tt>A7</tt>, narrowed the claim about a record signed again, and found that a listed gap inside the scope did not override a declaration of complete coverage; the wording of all four follows his. Toshikatsu Oga, from running OpenTimestamps anchors, asked which time an <tt>opentimestamps</tt> anchor carries and proposed the 7200-second tolerance, the reading of <tt>anchorWithin</tt> that covers confirmation latency, and appending an upgraded proof. Rafael Asor named the delegation root key a chain verifier trusts as a gap in what is recorded, V.K. Uppalapati separated the recording gap from the gap in how the root key arrives, and Kieran Sweeney warned against closing either by mandating an anchor topology; <tt>delegation.rootDigest</tt> follows all three. Lars Kersten Kroehl asked whether an anchor kind should name its basis, which value a bearer API key takes, and why a requirement was written in lowercase. Henri Sirkkavaara proposed the sequence member and the distinction between a withheld record and one never produced.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7S963rcVpIl+p9PgUP/sN0nkxKpOz09MyxdqjRjW26Jdn1d
MzWdYCZIopQJZCcyRbNkzbOcZzlPdiJWXHZsAEnJ1XPq666ikMC+77jHiul0
erCtt8vqtDg8a4qz3aLeFm+rebtZFK/azarcFpftpjh7XZxdVc2WXthet5v6
7+W2bpviRTWvO/qjOzwoLy421QduRd9LDR0ezMttddVubk+Lbrs4OFi086Zc
UZeLTXm5nV7Vy0U5LfmLaclf698bfD29f3zQ7S5Wdcc9bW/X9N3rl+evDprd
6qLanB4sqPHTgzmNomq6XXdabDe76oCG8uCg3FQlDeldNd9t6u3t4cH76vaG
2jw9KKYFOsEf3Cf+2G6rboup8T+35WpdbabVh3rBL3yomh11VBRXm3a35pn+
/OL1+SE9kEEd/qHeLLqivSzK4lVVbq+rDf+4Kusl/Yje/mtdbS+P2s0V/1Bu
5tf0w/V2u+5O793j9/hR/aE6stfu8YN7F5v2pqvuoYV7hwcHJfaA50CtFMXl
brmU5Tx8Vzbvy+W6+COv6CF+rbT/Tn46wmL/1yt+ejRvV9Rcg22mbnluZ69/
eEfrO32BMUxv6lVXTUv6b/rtz/Tby+nrF4PfsT71ZV1t6K23r54/ePDg2an8
+eThswf659MnTx/xn69/nJ6/OX9ziuHZ2aub6bbdtsVZ2oLi1YZmRdv1vni3
poN2Wc/xXOa1LTdX1fa0sOW7qrfXuwue0j1t617YznsXy/aCl7i511Fb996+
PHvxw8uj1QJt+YLiP9OCVj4NSbrDIStO7p88pn++ePfuZT78F1W5KN7Vq/Wy
ov+5aurmqnjZfKiW7br67Hg7Pp7VtLvtttWqmy7Li3uLrqvuGBoONPUkXxTf
lxeDUR7UzWXc2Je/nH3/89n56zc/yvb9rZy/79pGd7D6UC53evCLFy+/f/lH
vDp9/qez1/pB2bUbOw+4pItqWV3hm+n8mlY262T67vzs/KV8+b5t+H7zR+sN
rWjobcr7wzN988vLt+9e//FP59Oz5+d6Aqtr+rVZTNsP1aarr66JLsy3fBB/
+pfp2R9f/njuZ3G3XpfLck1N6gjX/66DlKO5vdWDefz4WE/jw2fPnuqfj589
PrHj+uyh/fnsWJ7ilk//8ObV25f/km86fqE9EYr3c1fx3X/hq1LQ2IvXzbba
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
W6xlIcpjpFv2sxuSf2Azz0/E9+1NJlTsmWnvDqoq890HrDPrmxEmGTbBxBRp
h9OJGN1xSA98SMDhDooZF7gpsX99dMX09bElY4jbqO7+xjZEeHKDdYDTPqZr
QS9mRBCQZU4H0aT+iEQi95iJqVJZRx5DHlHEtvZDYWHNoiynYPHKqtB0atcX
SMFte5qRQ0fxcy2pU1Q2dRm5EytcvmVZr4LIMJLHmKnYrFFoxJMa0qBdigKU
sTBOD2SML2Q9cC86Ftea5HvxNXzu01Dgt58OYLqrZ3okf2/VXLES7JIdr3zP
wOOYDhrqJIvNqWvwe0vwRW3xcGsUO1TkZyvpI3JyH8dc0576BigSJv+AIl6c
Gw/NZlNxvGByAiR6h6FO3VjFh0dqF22qK8YI2sjQPn785c3zsz/8/P3Z239l
c6XeOFg4TV2wiEOcntCrh9ooagMfmql9hDFKRTlJlQX+6GhW66uXfoO4Bie9
typvjSWNrg6xBRLzZlE2EdEjNiq5sjNmcZn08qFd7ui7jSDDxvpGs7Ey50aL
6oD5xZRha0Kpg19o5Kqpc4yH/otx0/PXx6kUKv3r0UyOgM8yH4jO0N0QDcyN
u64atZuI1WNkLFqJnXObLqnZiF4Ot1reZy12Ginye+lfpfQWts+oDSstYiwI
me9IT0xMe8OL8e130KYG/C2CNcxVwolfnsiXSciAJ80CE8OLSCj4nBxqirXi
XSCFXs655trTgdwjkiVJ6fy1iUrnrx9bGsPsC1DW4nAfqWJnNBYbiaDD3i45
wAHEFByKXk7CPjDZBYkvVxvAIIj7MmxivjdHxQt9l0cwihBfAaohOUmU9zDE
oxFkNU+HYGc/tWxZWpZ0QEQlZFrerol0MPABEQzgpyGIgpMYZV6Bz4TFCVOQ
K7OqKrFg2emVJerM47p/nVK9hK3fYBf/hAbA4kKsh0ONzdTDTG1Rb4zHOjbE
8lbE/GV9gRjx07h62EQ+mlOwqE5CRJbqlqA7vqou2gUxIdZpOIJD0kMDumze
FDhvaItmutdMUPLnceFst4JvQzmpI8XLALo1PPssLiIKPCaAu4YMOTcZFeRc
c6F1oADgcMixcvhgVP0iLVR+/5SHIsheWLHPjx+tit0nt0E6TBsCg8rO0nuR
yo8Che7uVrSqeM1LLd0cKmRoF3tStus8TRg8X6CH9kCfDTQI91ZynusIXpzE
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

-->

</rfc>
