<?xml version="1.0" encoding="UTF-8"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     category="exp"
     docName="draft-watts-eqr-conformance-02"
     ipr="trust200902"
     submissionType="IETF"
     version="3">
  <front>
    <title abbrev="EQR Conformance">Deterministic Conformance Profile and Test Vectors for Evidence Qualification Receipts</title>
    <seriesInfo name="Internet-Draft" value="draft-watts-eqr-conformance-02"/>
    <author fullname="Deonté O’dell Watts" initials="D. O." surname="Watts">
      <organization>GoodShyt Group Inc.</organization>
      <address>
        <postal>
          <city>San Francisco</city>
          <region>CA</region>
          <country>United States</country>
        </postal>
        <email>deonte@goodshyt.fun</email>
        <uri>https://orcid.org/0009-0005-8586-3650</uri>
      </address>
    </author>
    <date year="2026" month="October" day="18"/>
    <area>Security</area>
    <keyword>evidence</keyword>
    <keyword>conformance</keyword>
    <keyword>authorization</keyword>
    <keyword>test vectors</keyword>
    <abstract>
      <t>
        This document defines a deterministic conformance profile and test-vector corpus for Evidence Qualification Receipts (EQRs).
        The profile, named eqr-core-1, makes receipt conformance mechanically reproducible: strict JSON structure, SHA-256 digest
        encoding, UTC timestamp handling, evidence-reference integrity, requirement-state derivation, and three-valued
        PASS, FAIL, or INDETERMINATE results are checked by a closed algorithm.  The profile is intentionally narrow.
        Conformance does not establish that evidence is true, that a proposition is scientifically valid, that an issuer is
        trustworthy, or that an action is authorized.  The goal is interoperable verification of receipt semantics, not
        promotion of conformance into substantive truth.
      </t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro">
      <name>Introduction</name>
      <t>
        Evidence Qualification Receipts are described in <xref target="I-D.watts-eqr"/>.  Their central requirement is that
        unresolved required evidence remain distinguishable from both satisfied and failed evidence, and that qualification
        remain distinct from authorization.  That architectural distinction is useful only if independent implementations
        derive the same status from the same declared requirement states.
      </t>
      <t>
        This document therefore defines a strict conformance profile, <tt>eqr-core-1</tt>, plus executable test vectors.
        The profile does not attempt to determine whether evidence corresponds to reality.  It determines whether an EQR
        object is structurally and semantically self-consistent under a fully specified finite rule set.
      </t>
      <t>
        A receipt can be conformant and still contain evidence from an issuer a relying party does not trust.  A conformant
        PASS result is not permission to execute an action.
      </t>
    </section>

    <section anchor="conventions">
      <name>Conventions and Terminology</name>
      <t>
        The key words <bcp14>MUST</bcp14>, <bcp14>MUST NOT</bcp14>, <bcp14>REQUIRED</bcp14>,
        <bcp14>SHOULD</bcp14>, <bcp14>SHOULD NOT</bcp14>, and <bcp14>MAY</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.
      </t>
      <dl>
        <dt>Conformance</dt>
        <dd><t>Agreement with the finite syntactic and semantic rules of this profile.</t></dd>
        <dt>Substantive validity</dt>
        <dd><t>Whether the underlying evidence and proposition are actually correct.  This document does not establish it.</t></dd>
        <dt>Requirement state</dt>
        <dd><t>One of satisfied, failed, missing, unresolved, or stale.</t></dd>
        <dt>Derived status</dt>
        <dd><t>The PASS, FAIL, or INDETERMINATE result computed from the requirement states.</t></dd>
      </dl>
    </section>

    <section anchor="profile">
      <name>The eqr-core-1 Profile</name>
      <t>
        An <tt>eqr-core-1</tt> object is a JSON object as defined by <xref target="RFC8259"/>.
        Duplicate JSON member names <bcp14>MUST</bcp14> cause non-conformance.
      </t>
      <t>
        SHA-256 is the only digest algorithm in this profile <xref target="RFC6234"/>.
        Digest values <bcp14>MUST</bcp14> be exactly 32 octets represented using unpadded base64url
        <xref target="RFC4648"/>.  A producer that hashes a JSON object <bcp14>MUST</bcp14> first apply
        the JSON Canonicalization Scheme <xref target="RFC8785"/>.
      </t>
      <t>
        All timestamps in this profile <bcp14>MUST</bcp14> be UTC Internet timestamps ending in
        <tt>Z</tt> and conforming to <xref target="RFC3339"/>.
      </t>

      <section anchor="required-members">
        <name>Required Members</name>
        <t>The profile requires exactly the following top-level members:</t>
        <ul>
          <li><tt>version</tt>, whose value is <tt>"1"</tt>;</li>
          <li><tt>profile_id</tt>, whose value is <tt>"eqr-core-1"</tt>;</li>
          <li><tt>receipt_id</tt> and <tt>issuer</tt>;</li>
          <li><tt>issued_at</tt>, <tt>expires_at</tt>, and <tt>evaluation_time</tt>;</li>
          <li><tt>profile</tt> and <tt>claim</tt> SHA-256 digest objects;</li>
          <li><tt>requirements</tt>;</li>
          <li><tt>evaluation</tt>;</li>
          <li><tt>evidence</tt>; and</li>
          <li><tt>supersedes</tt>, which can be null.</li>
        </ul>
        <t>
          The strict member set is intentional for this conformance profile.  Other EQR profiles can define extensions.
        </t>
      </section>

      <section anchor="requirements">
        <name>Requirement States</name>
        <t>
          Each requirement has a unique <tt>id</tt>, one <tt>state</tt>, and an optional array of
          <tt>evidence_ids</tt>.  The only states are:
        </t>
        <ul>
          <li><tt>satisfied</tt>;</li>
          <li><tt>failed</tt>;</li>
          <li><tt>missing</tt>;</li>
          <li><tt>unresolved</tt>; and</li>
          <li><tt>stale</tt>.</li>
        </ul>
        <t>
          A satisfied requirement <bcp14>MUST</bcp14> name at least one evidence object.  Every named evidence identifier
          <bcp14>MUST</bcp14> resolve within the same receipt.  Evidence used by a satisfied requirement
          <bcp14>MUST NOT</bcp14> be stale at <tt>evaluation_time</tt>.
        </t>
      </section>
    </section>

    <section anchor="derivation">
      <name>Deterministic Status Derivation</name>
      <t>The status derivation function is:</t>
      <sourcecode type="python"><![CDATA[
def derive_status(requirements):
    if not requirements:
        return "indeterminate"

    states = [r["state"] for r in requirements]

    if any(s == "failed" for s in states):
        return "fail"

    if all(s == "satisfied" for s in states):
        return "pass"

    return "indeterminate"
]]></sourcecode>
      <t>
        FAIL has precedence over missing or unresolved information.  PASS is possible only for a non-empty requirement set
        in which every requirement is satisfied.  In every other valid case the result is INDETERMINATE.
      </t>
      <t>
        The receipt's declared <tt>evaluation.status</tt> <bcp14>MUST</bcp14> equal the derived status.
        A mismatch is non-conformant; a verifier <bcp14>MUST NOT</bcp14> rewrite the declaration to make it conform.
      </t>
    </section>

    <section anchor="time">
      <name>Time and Freshness Rules</name>
      <t>
        <tt>expires_at</tt> <bcp14>MUST</bcp14> be later than <tt>issued_at</tt>.
        <tt>evaluation_time</tt> <bcp14>MUST</bcp14> fall within the inclusive receipt validity interval.
      </t>
      <t>
        An evidence object has a <tt>fresh_until</tt> timestamp.  A requirement declared satisfied is non-conformant if any
        evidence object it relies on has <tt>fresh_until</tt> earlier than <tt>evaluation_time</tt>.
      </t>
      <t>
        This rule checks self-consistency only.  It does not establish that the chosen freshness interval is appropriate for
        a relying party's risk or policy.
      </t>
    </section>


    <section anchor="processing-order">
      <name>Deterministic Processing Order</name>
      <t>
        An implementation can perform checks in any internal order, but its externally observable result
        <bcp14>MUST</bcp14> be equivalent to the following logical sequence:
      </t>
      <ol>
        <li><t>strict JSON parsing, including rejection of duplicate member names;</t></li>
        <li><t>top-level and nested shape validation;</t></li>
        <li><t>profile, version, digest, and timestamp validation;</t></li>
        <li><t>evidence identifier and freshness validation;</t></li>
        <li><t>requirement-state and evidence-reference validation;</t></li>
        <li><t>deterministic status derivation;</t></li>
        <li><t>declared-status equality check; and</t></li>
        <li><t>supersession self-reference check.</t></li>
      </ol>
      <t>
        A later semantic check <bcp14>MUST NOT</bcp14> convert an earlier non-conformant input into a
        conformant qualification result.  Implementations can report diagnostics from the earliest detected
        error or aggregate diagnostics, but they must agree on the conformance Boolean and, for conformant
        inputs, the derived status.
      </t>
    </section>

    <section anchor="lifecycle">
      <name>Append-Only Supersession</name>
      <t>
        <tt>supersedes</tt> can identify a predecessor receipt.  It <bcp14>MUST NOT</bcp14> equal the current
        <tt>receipt_id</tt>.  This profile does not mutate predecessor state.  New evidence is represented by a new receipt.
      </t>
    </section>

    <section anchor="outcomes">
      <name>Conformance Outcome</name>
      <t>
        A verifier returns two logically separate outputs:
      </t>
      <ul>
        <li><strong>conformant</strong>: whether the object satisfies this profile; and</li>
        <li><strong>derived_status</strong>: pass, fail, or indeterminate when the object is conformant.</li>
      </ul>
      <t>
        Non-conformance <bcp14>MUST NOT</bcp14> be reported as PASS, FAIL, or INDETERMINATE.  Those values describe evidence
        qualification semantics, not parser or profile validity.
      </t>
    </section>


    <section anchor="result-object">
      <name>Deterministic Verifier Result</name>
      <t>
        A verifier implementation claiming <tt>eqr-core-1</tt> semantic conformance
        <bcp14>MUST</bcp14> expose, directly or through an equivalent API, the following logical result:
      </t>
      <sourcecode type="json"><![CDATA[
{
  "profile_id": "eqr-core-1",
  "conformant": true,
  "derived_status": "pass"
}
]]></sourcecode>
      <t>
        <tt>conformant</tt> is a Boolean.  <tt>derived_status</tt> is one of
        <tt>pass</tt>, <tt>fail</tt>, or <tt>indeterminate</tt> only when
        <tt>conformant</tt> is true.  For a non-conformant object, a verifier
        <bcp14>MUST NOT</bcp14> assign a qualification status; the logical value
        of <tt>derived_status</tt> is null or absent.
      </t>
      <t>
        Implementations <bcp14>MAY</bcp14> expose additional diagnostic reason
        codes.  Diagnostic strings are not evidence status and are not part of the
        qualification lattice defined by this document.
      </t>
    </section>

    <section anchor="claim-levels">
      <name>Conformance Claim Levels</name>
      <t>
        To prevent overbroad or false-positive conformance claims, this document distinguishes
        four claim levels.  An implementation <bcp14>MUST NOT</bcp14> claim a stronger level
        merely because a weaker level has passed.
      </t>
      <dl>
        <dt>Syntax Conformance</dt>
        <dd><t>The input is accepted under the strict JSON and field constraints of this profile.</t></dd>
        <dt>Semantic Conformance</dt>
        <dd><t>The implementation derives PASS, FAIL, and INDETERMINATE exactly as specified and enforces
        the evidence-reference, time, digest, and supersession rules.</t></dd>
        <dt>Vector-Profile Conformance</dt>
        <dd><t>The implementation produces the expected conformance Boolean and derived status for every
        normative vector identified by the declared vector-corpus digest.</t></dd>
        <dt>Independent Reproduction</dt>
        <dd><t>A separately implemented verifier, under independently controlled source and execution
        conditions, reproduces the declared vector-profile results.  Running two code paths in the same
        package or environment is not sufficient by itself.</t></dd>
      </dl>
      <t>
        Syntax Conformance does not imply Semantic Conformance.  Semantic Conformance does not imply complete
        Vector-Profile Conformance.  Complete Vector-Profile Conformance does not imply Independent Reproduction.
      </t>
    </section>

    <section anchor="claim-report">
      <name>Conformance Claim Report</name>
      <t>
        A published claim of complete Vector-Profile Conformance <bcp14>SHOULD</bcp14> identify:
      </t>
      <ul>
        <li>the profile identifier;</li>
        <li>the exact SHA-256 digest of the vector corpus;</li>
        <li>the implementation name and version or source digest;</li>
        <li>the execution environment sufficient to reproduce the test;</li>
        <li>the number of vectors attempted, passed, and failed; and</li>
        <li>whether the result is local execution evidence or independent reproduction.</li>
      </ul>
      <t>
        A report <bcp14>MUST NOT</bcp14> omit failed vectors while claiming complete vector-profile
        conformance.  A report for a different vector-corpus digest is a different conformance claim.
      </t>
      <sourcecode type="json"><![CDATA[
{
  "profile_id": "eqr-core-1",
  "vector_corpus_sha256": "8d8832b5de8c12393f47be3a7067ecd69edfc26822441595318e72e77ea923df",
  "implementation": {
    "name": "example-verifier",
    "version": "1.0"
  },
  "execution": {
    "attempted": 21,
    "passed": 21,
    "failed": 0,
    "independent_reproduction": false
  }
}
]]></sourcecode>
      <t>
        The example report is non-normative.  In particular, setting
        <tt>independent_reproduction</tt> to true is a provenance assertion that requires evidence external
        to the conformance algorithm itself.
      </t>
    </section>

    <section anchor="vectors">
      <name>Normative Test Vectors</name>
      <t>
        The companion corpus contains twenty-one vectors covering valid PASS, FAIL, and INDETERMINATE cases plus malformed or
        internally inconsistent inputs.  The SHA-256 digest of the UTF-8 vector file
        <tt>eqr-core-1-vectors.json</tt> in the author's published package is:
      </t>
      <artwork>8d8832b5de8c12393f47be3a7067ecd69edfc26822441595318e72e77ea923df</artwork>
      <t>
        The corpus includes empty requirements, FAIL precedence, missing and stale evidence, duplicate requirement identifiers,
        a raw JSON duplicate-member case, unsupported hash algorithms, invalid digest encodings, expired receipts, unknown
        evidence references, invalid state values, self-supersession, and declared-status mismatch.
      </t>
      <t>
        An implementation claiming conformance to the vector profile <bcp14>MUST</bcp14> produce the expected conformance
        Boolean and derived status for every vector.  Failure of one vector is sufficient to reject a claim of complete
        vector-profile conformance.
      </t>
    </section>


    <section anchor="artifacts">
      <name>Conformance Artifact Set</name>
      <t>
        The author-maintained conformance package for this revision contains the normative vector corpus, a JSON Schema,
        an executable reference verifier, a separately written local oracle, and machine-readable execution reports.
        These artifacts are provided to make implementation disagreements observable and reproducible.
      </t>
      <table>
        <name>Artifact digests</name>
        <thead><tr><th>Artifact</th><th>SHA-256</th></tr></thead>
        <tbody>
          <tr><td><tt>eqr-core-1-vectors.json</tt></td><td><tt>8d8832b5de8c12393f47be3a7067ecd69edfc26822441595318e72e77ea923df</tt></td></tr>
          <tr><td><tt>eqr-core-1.schema.json</tt></td><td><tt>afab606203e72f52d8e61407b96b707a43ab4e139664d639e749e4b8b1e5a26d</tt></td></tr>
          <tr><td><tt>eqr_core1_verifier.py</tt></td><td><tt>ae8b6cf1fb3608b45cad4c58fd4c73598c1616cf763aa529477275409f57655d</tt></td></tr>
          <tr><td><tt>eqr_core1_oracle2.py</tt></td><td><tt>c0b188798bcfb031e3639e51e1922454acee32993945c68f42cd98311766a8a3</tt></td></tr>
        </tbody>
      </table>
      <t>
        In the author's local execution environment, the primary vector runner produced
        21/21 passing vectors with 0 failures.
        The second local oracle agreed with the primary verifier on
        20/20 object-based comparisons, and
        7/7 expected-conformant object vectors
        validated against the JSON Schema.
      </t>
      <t>
        These local results are implementation evidence only. They are not independent reproduction and do not establish
        substantive validity of any evidence, proposition, authorization decision, or deployment.
      </t>
    </section>

    <section anchor="falsifiability">
      <name>Falsifiability and Limits</name>
      <t>
        This specification is intentionally falsifiable at the implementation layer.  If two purportedly conformant
        implementations produce different outputs for the same normative vector, at least one implementation is non-conformant
        or the specification is ambiguous and requires revision.
      </t>
      <t>
        Passing all vectors does not establish truth of the evidence, scientific validity of the proposition, honesty of the
        issuer, appropriateness of the profile, authorization to act, successful execution, or safety.  Those are different
        claims requiring different evidence.
      </t>
      <t>
        A single normative vector for which a claimed complete Vector-Profile Conformance implementation
        produces the wrong conformance Boolean or wrong derived status is a sufficient counterexample to that
        implementation's complete conformance claim.  A single independently reproduced disagreement between
        reasonable implementations can also indicate an ambiguity in this specification and should be treated
        as a specification defect until resolved.
      </t>
    </section>

    <section anchor="relationship">
      <name>Relationship to Other Work</name>
      <t>
        This document is a conformance companion to <xref target="I-D.watts-eqr"/> and follows the non-collapse distinction
        described in <xref target="I-D.watts-noncollapse"/>.  It does not replace executor-side action/evidence processing
        such as <xref target="I-D.schrock-aeb"/>, evidence challenge protocols such as <xref target="I-D.schrock-aec"/>,
        claim-preserving evidence exchange such as <xref target="I-D.abak-claim-preservation"/>, or runtime conformance receipts
        such as <xref target="I-D.correctover-ccs"/>.
      </t>
    </section>



    <section anchor="changes-02">
      <name>Changes from -01</name>
      <t>
        Revision -02 keeps the eqr-core-1 data model, status lattice, and normative vector-corpus digest
        unchanged.  It adds explicit conformance claim levels, a canonical logical verifier result, a
        reproducible conformance-claim report, and deterministic processing-order requirements.  These
        additions are intended to prevent a parser-only success, partial vector run, or same-environment
        cross-check from being presented as complete or independently reproduced conformance.
      </t>
      <t>
        Revision -02 also refreshes the informative Correctover CCS citation to revision -10.  No scientific
        truth, authorization, issuer trust, or independent-reproduction claim is added by this revision.
      </t>
    </section>

    <section anchor="changes">
      <name>Changes from -00</name>
      <t>
        Revision -01 preserves the eqr-core-1 status-derivation semantics and the published vector-corpus digest.
        It adds explicit documentation of the raw duplicate-JSON-member test, publishes additional artifact digests,
        records local dual-oracle and JSON-Schema cross-check results, and more clearly separates local conformance evidence
        from independent reproduction or substantive truth.
      </t>
    </section>

    <section anchor="security">
      <name>Security Considerations</name>
      <t>
        Strict parsing prevents duplicate-member substitution and status laundering through ambiguous JSON.  Digest and
        timestamp checks prevent several classes of malformed or stale self-consistency claims, but this profile provides no
        key management, issuer authentication, revocation, trust-anchor selection, or policy decision.
      </t>
      <t>
        A malicious issuer can create a perfectly conformant receipt containing false evidence.  Therefore conformant
        <bcp14>MUST NOT</bcp14> be interpreted as truthful, trusted, authorized, or safe.
      </t>
    </section>

    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <t>
        Evidence identifiers and digests can still act as correlators.  Implementations should minimize externally exposed
        evidence metadata and avoid placing sensitive plaintext into receipts when a scoped digest or protected reference is
        sufficient.
      </t>
    </section>

    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>
        This document has no IANA actions.  The string <tt>eqr-core-1</tt> is a profile label defined by this experimental
        document and is not an IANA registration.
      </t>
    </section>
  </middle>

  <back>
    <references>
      <name>Normative References</name>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119"><front><title>Key words for use in RFCs to Indicate Requirement Levels</title><author fullname="Scott Bradner" initials="S." surname="Bradner"/><date year="1997" month="March"/></front><seriesInfo name="BCP" value="14"/><seriesInfo name="RFC" value="2119"/></reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174"><front><title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title><author fullname="Barry Leiba" initials="B." surname="Leiba"/><date year="2017" month="May"/></front><seriesInfo name="BCP" value="14"/><seriesInfo name="RFC" value="8174"/></reference>
      <reference anchor="RFC8259" target="https://www.rfc-editor.org/info/rfc8259"><front><title>The JavaScript Object Notation (JSON) Data Interchange Format</title><author fullname="Tim Bray" initials="T." surname="Bray"/><date year="2017" month="December"/></front><seriesInfo name="STD" value="90"/><seriesInfo name="RFC" value="8259"/></reference>
      <reference anchor="RFC8785" target="https://www.rfc-editor.org/info/rfc8785"><front><title>JSON Canonicalization Scheme (JCS)</title><author fullname="Anders Rundgren" initials="A." surname="Rundgren"/><author fullname="Brendan Jordan" initials="B." surname="Jordan"/><author fullname="Samuel Erdtman" initials="S." surname="Erdtman"/><date year="2020" month="June"/></front><seriesInfo name="RFC" value="8785"/></reference>
      <reference anchor="RFC3339" target="https://www.rfc-editor.org/info/rfc3339"><front><title>Date and Time on the Internet: Timestamps</title><author fullname="Graham Klyne" initials="G." surname="Klyne"/><author fullname="Chris Newman" initials="C." surname="Newman"/><date year="2002" month="July"/></front><seriesInfo name="RFC" value="3339"/></reference>
      <reference anchor="RFC4648" target="https://www.rfc-editor.org/info/rfc4648"><front><title>The Base16, Base32, and Base64 Data Encodings</title><author fullname="Simon Josefsson" initials="S." surname="Josefsson"/><date year="2006" month="October"/></front><seriesInfo name="RFC" value="4648"/></reference>
      <reference anchor="RFC6234" target="https://www.rfc-editor.org/info/rfc6234"><front><title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title><author fullname="Donald Eastlake" initials="D." surname="Eastlake"/><author fullname="Tony Hansen" initials="T." surname="Hansen"/><date year="2011" month="May"/></front><seriesInfo name="RFC" value="6234"/></reference>
    </references>
    <references>
      <name>Informative References</name>
      <reference anchor="I-D.watts-eqr" target="https://datatracker.ietf.org/doc/draft-watts-agent-evidence-boundary/"><front><title>Evidence-Bounded Authorization for Agentic Systems: Evidence Qualification Receipts</title><author fullname="Deonte Watts" initials="D." surname="Watts"/><date year="2026" month="September"/></front><seriesInfo name="Internet-Draft" value="draft-watts-agent-evidence-boundary-00"/><refcontent>Work in Progress</refcontent></reference>
      <reference anchor="I-D.watts-noncollapse" target="https://datatracker.ietf.org/doc/draft-watts-agent-noncollapse-requirements/"><front><title>Non-Collapse Requirements for Evidence-Bearing Agent Systems</title><author fullname="Deonté O’dell Watts" initials="D. O." surname="Watts"/><date year="2026" month="October"/></front><seriesInfo name="Internet-Draft" value="draft-watts-agent-noncollapse-requirements-00"/><refcontent>Work in Progress</refcontent></reference>
      <reference anchor="I-D.schrock-aeb" target="https://datatracker.ietf.org/doc/draft-schrock-action-evidence-boundary/"><front><title>The Action Evidence Boundary for Consequential Agent Effects</title><author fullname="Iman Schrock" initials="I." surname="Schrock"/><date year="2026" month="September"/></front><seriesInfo name="Internet-Draft" value="draft-schrock-action-evidence-boundary-07"/><refcontent>Work in Progress</refcontent></reference>
      <reference anchor="I-D.schrock-aec" target="https://datatracker.ietf.org/doc/draft-schrock-ae-challenge/"><front><title>An Authorization Evidence Challenge for High-Risk Agent Actions</title><author fullname="Iman Schrock" initials="I." surname="Schrock"/><date year="2026" month="September"/></front><seriesInfo name="Internet-Draft" value="draft-schrock-ae-challenge-08"/><refcontent>Work in Progress</refcontent></reference>
      <reference anchor="I-D.abak-claim-preservation" target="https://datatracker.ietf.org/doc/draft-abak-ai-evaluation-claim-preservation/"><front><title>Claim-Preserving Exchange of AI Evaluation Evidence</title><author fullname="A. T. Abak" initials="A. T." surname="Abak"/><date year="2026" month="September"/></front><seriesInfo name="Internet-Draft" value="draft-abak-ai-evaluation-claim-preservation-00"/><refcontent>Work in Progress</refcontent></reference>
      <reference anchor="I-D.correctover-ccs" target="https://datatracker.ietf.org/doc/draft-correctover-ccs/"><front><title>Correctover Conformance Shape (CCS): Runtime Verification for AI Agent Tool Calls</title><author fullname="G. Wang" initials="G." surname="Wang"/><date year="2026" month="October"/></front><seriesInfo name="Internet-Draft" value="draft-correctover-ccs-10"/><refcontent>Work in Progress</refcontent></reference>
    </references>
  </back>
</rfc>
