<?xml version='1.0' encoding='UTF-8'?>
<rfc ipr="trust200902" docName="draft-wang-cep-02" category="exp" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <front>
    <title abbrev="CEP">Co-Evolve Binding Profile (CEP): A JEP Profile for Evolution-Change Evidence Binding</title>
    <seriesInfo name="Internet-Draft" value="draft-wang-cep-02"/>
    <author initials="Y." surname="Wang" fullname="Yuqiang Wang">
      <organization/>
      <address>
        <email>signal@humanjudgment.org</email>
        <uri>https://github.com/hjs-spec</uri>
      </address>
    </author>
    <date year="2026" month="September" day="26"/>
    <keyword>CEP</keyword>
    <keyword>JEP</keyword>
    <keyword>AI change</keyword>
    <keyword>evidence binding</keyword>
    <abstract>
      <t>This document defines CEP-2, an optional profile of the Judgment Event Protocol (JEP) <xref target="JEP"/> for binding declared AI, model, agent, policy, tool-chain, or deployment changes to independently verifiable evidence and external anchor references.</t>
      <t>CEP-2 defines one critical JEP record-binding extension, one minimal Evolution-Change Record, Subject and Change semantics, digest-first evidence references, typed external anchor references, and independent CEP validation checks. JEP remains authoritative for event verbs, Event Identity, Event Hash, signatures, references, extension processing, validation modes, and acceptance semantics.</t>
      <t>CEP-2 records declared change evidence. It does not determine whether a change actually occurred, whether a system improved or degraded, whether a capability emerged, whether a change was authorized, safe, aligned, fair, lawful, approved, reversible, or acceptable, or whether any governance or regulatory process was satisfied.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro"><name>Introduction</name>
      <t>AI systems, models, autonomous agents, tool-using services, policies, and deployments can change over time. A change may involve a model update, fine-tuning step, policy update, tool-chain change, capability claim, configuration change, observed drift, mitigation step, rollback, or another deployment-defined transition.</t>
      <t>Operators, counterparties, auditors, researchers, and downstream systems may need a portable record answering:</t>
      <sourcecode type="text">
Which subject was declared to have changed,
which change record was bound to that declaration,
which evidence and anchors were associated with it,
and can those bindings be independently revalidated?
</sourcecode>
      <t>CEP addresses that narrow interoperability problem.</t>
      <t>The term "evolution-change" in CEP is neutral. It means a declared transition or change associated with a subject. It does not imply improvement, progress, adaptation, autonomous self-modification, capability growth, or biological evolution.</t>
      <t>JEP Profiles <xref target="JEP-PROFILES"/> defines profile selection and composition rules. JEP Conformance <xref target="JEP-CONFORMANCE"/> defines validation-result and test-harness conventions. JEP Receipt Profile <xref target="JEP-RECEIPT"/> MAY package CEP records. JAC <xref target="JAC"/> MAY express declared dependencies among JEP events associated with CEP records. COE <xref target="COE"/> MAY provide observation or shared-state evidence referenced by a CEP record.</t>
      <t>Where this document conflicts with JEP-Core, JEP-Core controls.</t>
    </section>
    <section anchor="requirements"><name>Requirements Language</name>
      <t>The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals.</t>
    </section>
    <section anchor="scope"><name>Scope and Terminology</name>
      <section anchor="defines"><name>CEP-2 Defines</name>
      <t>CEP-2 defines:</t>
      <ul spacing="normal">
        <li>one profile identifier;</li>
        <li>one critical CEP record-binding extension;</li>
        <li>one Evolution-Change Record;</li>
        <li>one Subject structure;</li>
        <li>one Change Reference structure;</li>
        <li>one Evidence Reference structure;</li>
        <li>one Anchor Reference structure;</li>
        <li>independent CEP validation checks;</li>
        <li>explicit non-inference boundaries.</li>
      </ul>
      </section>
      <section anchor="non-goals"><name>CEP-2 Does Not Define</name>
      <t>CEP-2 does not define:</t>
      <ul spacing="normal">
        <li>new JEP verbs;</li>
        <li>an independent event, signature, or hash format;</li>
        <li>a replacement for Event Identity or Event Hash;</li>
        <li>a universal taxonomy of AI evolution or change;</li>
        <li>baseline <tt>before</tt> / <tt>after</tt> state-transition semantics;</li>
        <li>model safety or alignment;</li>
        <li>capability-emergence truth;</li>
        <li>autonomous-evolution detection;</li>
        <li>authorization or delegation validity;</li>
        <li>approval or permission;</li>
        <li>review authority or review sufficiency;</li>
        <li>rollback or mitigation policy;</li>
        <li>causal-chain semantics;</li>
        <li>shared-observation semantics;</li>
        <li>complete-history semantics;</li>
        <li>consensus or governance outcomes;</li>
        <li>human rights, appeal rights, or explanation rights;</li>
        <li>legal effect or regulatory compliance.</li>
      </ul>
      </section>
      <section anchor="term-evolution"><name>Evolution-Change Record</name>
      <t>A digest-addressed record declaring that a Subject is associated with a described Change Reference and optional evidence or anchors.</t>
      <t>It is a record of a declared change claim. It is not proof that the change occurred.</t>
      </section>
      <section anchor="term-subject"><name>Subject</name>
      <t>The logical system, model, model family, agent, service, deployment, policy, tool chain, capability object, or other deployment-defined entity associated with the declared change.</t>
      </section>
      <section anchor="term-change"><name>Change Reference</name>
      <t>A digest-first reference to a change record, update manifest, diff, training record, configuration record, evaluation record, mitigation record, rollback record, or other object describing the declared change.</t>
      </section>
      <section anchor="term-evidence"><name>Evidence Reference</name>
      <t>A digest-first reference to evidence associated with the Evolution-Change Record.</t>
      <t>CEP does not determine whether referenced evidence is relevant, sufficient, truthful, complete, admissible, or authoritative.</t>
      </section>
      <section anchor="term-anchor"><name>Anchor Reference</name>
      <t>A typed reference associating an Evolution-Change Record with an external JEP event or digest-addressed record.</t>
      <t>An anchor is a technical association. It is not an approval, permission, governance decision, or legal conclusion.</t>
      </section>
    </section>
    <section anchor="identifiers"><name>Profile and Extension Identifiers</name>
      <section anchor="profile-id"><name>CEP-2 Profile Identifier</name>
      <t>The CEP-2 profile identifier is:</t>
      <sourcecode type="text">
https://humanjudgment.org/jep/profiles/cep/2
</sourcecode>
      <t>The label <tt>CEP-2</tt> MAY be used in documentation and user interfaces.</t>
      <t>The identifier is a publisher-controlled HTTPS URI. Dereferencing it is not required for validation.</t>
      </section>
      <section anchor="binding-ext-id"><name>CEP Record-Binding Extension Identifier</name>
      <t>The critical CEP record-binding extension identifier is:</t>
      <sourcecode type="text">
https://humanjudgment.org/jep/extensions/cep-record-binding/2
</sourcecode>
      <t>A JEP event claiming CEP-2 conformance MUST carry this extension in <tt>ext</tt> and MUST list the extension identifier in <tt>ext_crit</tt>.</t>
      <t>A verifier that cannot process this critical extension cannot claim successful CEP-2 validation.</t>
      </section>
      <section anchor="version-boundary"><name>Version Boundary</name>
      <t>CEP-2 is not wire-compatible with CEP-Core-1 from <tt>draft-wang-cep-01</tt>.</t>
      <t>CEP-Core-1 commonly placed an Evolution-Change Record digest in JEP <tt>what</tt>, used pre-JEP-0.7 nonce and reference assumptions, and defined HJS-based receipt integration.</t>
      <t>CEP-2 moves CEP record binding into one critical JEP extension, uses JEP Event Identity for logical event references, treats Event Hash only as an exact signed-artifact pin, and uses JEP Receipt Profile for optional portable receipt packaging.</t>
      <t>Historical CEP-Core-1 records and events MUST NOT be silently rewritten as CEP-2 records or events.</t>
      </section>
    </section>
    <section anchor="jep-relation"><name>Relationship to JEP-Core</name>
      <t>CEP-2 relies on JEP-Core for:</t>
      <ul spacing="normal">
        <li>J, D, T, and V semantics;</li>
        <li>required Core event members;</li>
        <li>Event Identity <tt>(who,id)</tt>;</li>
        <li>Event Hash;</li>
        <li>the JEP Signing Payload;</li>
        <li>signature validation;</li>
        <li><tt>ref</tt>;</li>
        <li><tt>ext</tt> and <tt>ext_crit</tt>;</li>
        <li>independent validation checks;</li>
        <li>validation modes;</li>
        <li>idempotent acceptance.</li>
      </ul>
      <t>CEP-2 MUST NOT redefine those semantics.</t>
      <t>A producer MUST satisfy the selected JEP verb's requirements before CEP record binding is considered.</t>
      <t>In particular:</t>
      <ul spacing="normal">
        <li>a D event MUST retain <tt>what.delegatee</tt> and <tt>what.scope</tt>;</li>
        <li>a T event MUST retain <tt>what.termination_scope</tt> and identify its target through JEP <tt>ref</tt>;</li>
        <li>a V event MUST retain <tt>what.verification_scope</tt>, <tt>what.result</tt>, and JEP <tt>ref</tt>.</li>
      </ul>
      <t>CEP metadata MUST NOT replace those fields.</t>
    </section>
    <section anchor="binding-extension"><name>CEP Record-Binding Extension</name>
      <section anchor="extension-value"><name>Extension Value</name>
      <t>The extension value MUST be a JSON object containing:</t>
      <ul spacing="normal">
        <li><tt>profile</tt></li>
        <li><tt>record_type</tt></li>
        <li><tt>record_digest</tt></li>
        <li><tt>media_type</tt></li>
      </ul>
      <t><tt>profile</tt> MUST equal <tt>https://humanjudgment.org/jep/profiles/cep/2</tt>.</t>
      <t><tt>record_type</tt> MUST equal <tt>evolution-change</tt>.</t>
      <t><tt>record_digest</tt> MUST be an algorithm-tagged digest string conforming to JEP digest-string rules.</t>
      <t><tt>media_type</tt> MUST be a non-empty string. The baseline CEP-2 record encoding is <tt>application/json</tt>.</t>
      <t>The extension MAY contain <tt>record_uri</tt>. If present, it MUST be an absolute URI and is a retrieval hint only.</t>
      <t>Each CEP-2 event binds exactly one primary Evolution-Change Record through this extension.</t>
      </section>
      <section anchor="extension-example"><name>Extension Example</name>
      <sourcecode type="json">
{
  "ext": {
    "https://humanjudgment.org/jep/extensions/cep-record-binding/2": {
      "profile": "https://humanjudgment.org/jep/profiles/cep/2",
      "record_type": "evolution-change",
      "record_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "media_type": "application/json"
    }
  },
  "ext_crit": [
    "https://humanjudgment.org/jep/extensions/cep-record-binding/2"
  ]
}
</sourcecode>
      <t>The example digest is illustrative.</t>
      </section>
      <section anchor="circularity"><name>Binding-Event Circularity</name>
      <t>An Evolution-Change Record MUST NOT contain the Event Hash of the JEP event that binds that record.</t>
      <t>The record MAY contain that event's Event Identity when a companion profile requires a back-reference.</t>
      </section>
    </section>
    <section anchor="subject-structure"><name>Subject</name>
      <t>A Subject MUST be a JSON object containing:</t>
      <ul spacing="normal">
        <li><tt>type</tt></li>
        <li><tt>id</tt></li>
      </ul>
      <t><tt>type</tt> and <tt>id</tt> MUST be non-empty strings.</t>
      <t>A Subject MAY additionally contain:</t>
      <ul spacing="normal">
        <li><tt>profile</tt></li>
        <li><tt>version_ref</tt></li>
      </ul>
      <t><tt>profile</tt>, when present, MUST be an absolute URI identifying an external subject-identity or semantic profile.</t>
      <t>If interoperable Subject identity comparison across deployments is required, the producer MUST include <tt>profile</tt>.</t>
      <t>A verifier that does not understand the selected <tt>profile</tt> MAY validate the Subject structure and the enclosing CEP record, but MUST NOT claim that two Subject values identify the same logical subject across deployments.</t>
      <t><tt>version_ref</tt>, when present, MUST be an Evidence Reference.</t>
      <t><tt>id</tt> identifies the logical subject under the interpretation selected by the deployment or <tt>profile</tt>. It MUST NOT be interpreted as a JEP Event Identity unless a profile explicitly defines that representation.</t>
      <t>The Subject structure separates logical subject identity from any particular model file, deployment artifact, configuration artifact, or JEP event.</t>
    </section>
    <section anchor="change-reference-structure"><name>Change Reference</name>
      <t>A Change Reference MUST be a JSON object containing:</t>
      <ul spacing="normal">
        <li><tt>digest</tt></li>
      </ul>
      <t><tt>digest</tt> MUST be an algorithm-tagged digest string identifying the change description or change artifact.</t>
      <t>A Change Reference MAY additionally contain:</t>
      <ul spacing="normal">
        <li><tt>change_profile</tt></li>
        <li><tt>kind</tt></li>
        <li><tt>media_type</tt></li>
        <li><tt>uri</tt></li>
      </ul>
      <t>When present:</t>
      <ul spacing="normal">
        <li><tt>change_profile</tt> MUST be an absolute URI;</li>
        <li><tt>kind</tt> and <tt>media_type</tt> MUST be non-empty strings;</li>
        <li><tt>uri</tt> MUST be an absolute URI.</li>
      </ul>
      <t><tt>change_profile</tt> identifies the schema, vocabulary, semantic profile, or equivalent interpretation contract for the change payload.</t>
      <t>If interoperable semantic interpretation of the change payload is required outside the originating deployment, the producer MUST include <tt>change_profile</tt>.</t>
      <t>A verifier that does not understand <tt>change_profile</tt> MAY still validate the CEP record binding and digest, but MUST NOT claim semantic interpretation of the change payload under that profile.</t>
      <t>CEP-2 does not define <tt>before</tt> state, <tt>after</tt> state, state-transition equivalence, or state-difference semantics. A <tt>change_profile</tt> or companion profile MAY define such semantics and any rules for comparing, ordering, or validating them.</t>
    </section>
    <section anchor="evidence-reference-structure"><name>Evidence Reference</name>
      <t>An Evidence Reference MUST be a JSON object containing:</t>
      <ul spacing="normal">
        <li><tt>digest</tt></li>
      </ul>
      <t><tt>digest</tt> MUST be an algorithm-tagged digest string.</t>
      <t>An Evidence Reference MAY additionally contain:</t>
      <ul spacing="normal">
        <li><tt>kind</tt></li>
        <li><tt>profile</tt></li>
        <li><tt>record_type</tt></li>
        <li><tt>media_type</tt></li>
        <li><tt>uri</tt></li>
        <li><tt>redaction</tt></li>
      </ul>
      <t>When present:</t>
      <ul spacing="normal">
        <li><tt>kind</tt>, <tt>record_type</tt>, and <tt>media_type</tt> MUST be non-empty strings;</li>
        <li><tt>profile</tt> and <tt>uri</tt> MUST be absolute URIs;</li>
        <li><tt>redaction</tt> SHOULD be one of <tt>none</tt>, <tt>partial</tt>, <tt>digest-only</tt>, or <tt>withheld</tt>.</li>
      </ul>
      <t>The digest is the integrity identity of the evidence object.</t>
      <t>URI retrieval success MUST NOT be treated as evidence-integrity success.</t>
      <t>A profile value identifies external semantics. The presence of a profile identifier does not make that profile's validation result part of CEP validity. External profile validity MUST be evaluated separately.</t>
    </section>
    <section anchor="anchor-reference-structure"><name>Anchor Reference</name>
      <section anchor="anchor-shape"><name>Anchor Shape</name>
      <t>An Anchor Reference MUST be a JSON object containing:</t>
      <ul spacing="normal">
        <li><tt>relation</tt></li>
        <li><tt>reference</tt></li>
      </ul>
      <t><tt>relation</tt> MUST be a non-empty string.</t>
      <t>For local deployment semantics, <tt>relation</tt> MAY be deployment-defined.</t>
      <t>For cross-deployment interoperable relation semantics, <tt>relation</tt> MUST be an absolute URI whose semantics are defined by an explicitly selected profile or published specification. Two different relation identifiers MUST NOT be treated as equivalent merely because their human-readable labels are similar.</t>
      <t><tt>reference</tt> MUST be one of the reference forms defined below.</t>
      </section>
      <section anchor="anchor-jep"><name>JEP Event Anchor</name>
      <t>A JEP event anchor MUST contain:</t>
      <ul spacing="normal">
        <li><tt>kind</tt> equal to <tt>jep-event</tt></li>
        <li><tt>event_identity</tt></li>
      </ul>
      <t><tt>event_identity</tt> MUST contain non-empty string members <tt>who</tt> and <tt>id</tt>.</t>
      <t>A JEP event anchor MAY also contain:</t>
      <ul spacing="normal">
        <li><tt>event_hash</tt></li>
        <li><tt>uri</tt></li>
      </ul>
      <t><tt>event_hash</tt>, when present, pins one exact signed JEP artifact.</t>
      <t>The logical event reference is Event Identity, not Event Hash.</t>
      <t><tt>uri</tt>, when present, is a retrieval hint only.</t>
      </section>
      <section anchor="anchor-digest"><name>Digest Record Anchor</name>
      <t>A digest record anchor MUST contain:</t>
      <ul spacing="normal">
        <li><tt>kind</tt> equal to <tt>digest-record</tt></li>
        <li><tt>digest</tt></li>
      </ul>
      <t><tt>digest</tt> MUST be an algorithm-tagged digest string.</t>
      <t>A digest record anchor MAY additionally contain:</t>
      <ul spacing="normal">
        <li><tt>profile</tt></li>
        <li><tt>record_type</tt></li>
        <li><tt>media_type</tt></li>
        <li><tt>uri</tt></li>
      </ul>
      <t>When present, <tt>profile</tt> and <tt>uri</tt> MUST be absolute URIs and <tt>record_type</tt> and <tt>media_type</tt> MUST be non-empty strings.</t>
      <t>An anchor to another profile does not import that profile's validity or policy conclusions into CEP.</t>
      </section>
      <section anchor="anchor-noninference"><name>Anchor Non-Inference</name>
      <t>An Anchor Reference declares association only.</t>
      <t>The presence of an anchor MUST NOT be interpreted by CEP as:</t>
      <ul spacing="normal">
        <li>approval;</li>
        <li>authorization;</li>
        <li>consent;</li>
        <li>review sufficiency;</li>
        <li>policy satisfaction;</li>
        <li>safety;</li>
        <li>alignment;</li>
        <li>legal validity;</li>
        <li>governance acceptance.</li>
      </ul>
      <t>A companion profile MAY define a stronger relation, but that conclusion belongs to that profile and MUST be reported separately.</t>
      </section>
    </section>
    <section anchor="evolution-record-structure"><name>Evolution-Change Record</name>
      <section anchor="record-shape"><name>Required Shape</name>
      <t>A CEP-2 Evolution-Change Record MUST be a JSON object containing:</t>
      <ul spacing="normal">
        <li><tt>cep_record</tt></li>
        <li><tt>record_type</tt></li>
        <li><tt>subject</tt></li>
        <li><tt>change</tt></li>
      </ul>
      <t><tt>cep_record</tt> MUST equal <tt>"2"</tt>.</t>
      <t><tt>record_type</tt> MUST equal <tt>"evolution-change"</tt>.</t>
      <t><tt>subject</tt> MUST be a Subject.</t>
      <t><tt>change</tt> MUST be a Change Reference.</t>
      </section>
      <section anchor="record-optional"><name>Optional Members</name>
      <t>An Evolution-Change Record MAY additionally contain:</t>
      <ul spacing="normal">
        <li><tt>evidence</tt></li>
        <li><tt>anchors</tt></li>
        <li><tt>declared_at</tt></li>
        <li><tt>context</tt></li>
      </ul>
      <t><tt>evidence</tt>, when present, MUST be an array of zero or more Evidence References.</t>
      <t><tt>anchors</tt>, when present, MUST be an array of zero or more Anchor References.</t>
      <t><tt>declared_at</tt>, when present, MUST be a non-negative integer representing declared Unix seconds. It is not trusted time and is not proof that the change occurred at that time.</t>
      <t><tt>context</tt>, when present, MUST be a JSON object whose semantics are defined by the deployment or an explicitly selected companion profile.</t>
      <t>No other top-level members are defined by the CEP-2 baseline.</t>
      </section>
      <section anchor="record-digest"><name>Record Digest</name>
      <t>The Evolution-Change Record Digest uses JCS <xref target="RFC8785"/> and is:</t>
      <sourcecode type="text">
sha256(UTF8(JCS(evolution_change_record)))
</sourcecode>
      <t>CEP-2 producers and verifiers MUST support <tt>sha256</tt> for Evolution-Change Record digests.</t>
      <t>A companion profile MAY permit additional digest algorithms.</t>
      </section>
    </section>
    <section anchor="verb-usage"><name>JEP Verb Usage</name>
      <t>CEP-2 does not assign new meanings to J/D/T/V.</t>
      <t>A J event MAY carry a claim concerning issuance, adoption, observation, or interpretation of an Evolution-Change Record while the CEP binding remains in the critical extension.</t>
      <t>A D event MAY carry a CEP binding, but delegation meaning remains defined by JEP-Core and any applicable delegation or mandate profile.</t>
      <t>A T event MAY terminate future reliance on a referenced JEP event within its declared termination scope. CEP does not define automatic rollback, retraction, or mitigation merely because a CEP record is associated with that event.</t>
      <t>A V event MAY record an evaluation of a CEP record, evidence object, anchor, or external change profile under a declared verification scope.</t>
      <t>CEP record type MUST NOT be inferred solely from the JEP verb.</t>
    </section>
    <section anchor="receipt-profile"><name>Interaction with JEP Receipt Profile</name>
      <t>JEP Receipt Profile is optional for CEP-2.</t>
      <t>A CEP Evolution-Change Record MAY appear as an evidence object in a JEP Receipt Profile bundle.</t>
      <t>A receipt bundle MAY include:</t>
      <ul spacing="normal">
        <li>a JEP event carrying the CEP binding extension;</li>
        <li>the bound CEP record;</li>
        <li>evidence or anchor records referenced by the CEP record;</li>
        <li>a receipt manifest referring to those artifacts.</li>
      </ul>
      <t>Receipt Profile validity and CEP validity MUST be reported separately.</t>
      <t>CEP-2 does not define a second receipt-manifest format.</t>
    </section>
    <section anchor="jac"><name>Interaction with JAC</name>
      <t>JAC is optional for CEP-2.</t>
      <t>A JEP event associated with a CEP record MAY also carry JAC dependency metadata.</t>
      <t>A CEP Evidence Reference or Anchor Reference does not automatically create a JAC dependency edge.</t>
      <t>A JAC edge does not automatically create a CEP evidence or anchor relation.</t>
      <t>If both profiles are used, implementations MUST preserve their independent semantics and validation results.</t>
      <t>JAC validity does not establish that a CEP change occurred or that its evidence is sufficient.</t>
    </section>
    <section anchor="coe"><name>Interaction with COE</name>
      <t>COE is optional for CEP-2.</t>
      <t>A CEP Evidence Reference or Digest Record Anchor MAY reference a COE Observation Record or Shared-State Claim Record by digest and profile.</t>
      <t>A CEP verifier MUST NOT report COE validity unless the referenced COE object was separately validated under the applicable COE profile.</t>
      <t>COE validity does not establish that the CEP change occurred, caused an observed condition, or satisfies a policy.</t>
    </section>
    <section anchor="validation"><name>Validation</name>
      <section anchor="validation-layers"><name>Layer Separation</name>
      <t>A CEP validation result separates:</t>
      <ul spacing="normal">
        <li>underlying JEP validation status;</li>
        <li>CEP checks;</li>
        <li>CEP overall status;</li>
        <li>external profile results, when evaluated.</li>
      </ul>
      <t>CEP MUST NOT overwrite the JEP validation result or merge external-profile results into CEP validity.</t>
      </section>
      <section anchor="validation-mode"><name>Baseline Validation Mode</name>
      <t>A CEP-2 verifier MUST support JEP <tt>archival</tt> validation mode.</t>
      <t>If no JEP validation mode is explicitly requested, CEP validation MUST use <tt>archival</tt> mode.</t>
      <t>Archival CEP validation MUST NOT consume JEP acceptance state.</t>
      <t>A deployment MAY explicitly request another JEP validation mode when needed.</t>
      </section>
      <section anchor="validation-checks"><name>CEP Checks</name>
      <t>The initial CEP-2 check identifiers are:</t>
      <ul spacing="normal">
        <li><tt>https://humanjudgment.org/jep/profiles/cep/2#profile-binding</tt></li>
        <li><tt>https://humanjudgment.org/jep/profiles/cep/2#record-binding</tt></li>
        <li><tt>https://humanjudgment.org/jep/profiles/cep/2#record-structure</tt></li>
        <li><tt>https://humanjudgment.org/jep/profiles/cep/2#subject-reference</tt></li>
        <li><tt>https://humanjudgment.org/jep/profiles/cep/2#change-reference</tt></li>
        <li><tt>https://humanjudgment.org/jep/profiles/cep/2#evidence-reference</tt></li>
        <li><tt>https://humanjudgment.org/jep/profiles/cep/2#anchor-reference</tt></li>
        <li><tt>https://humanjudgment.org/jep/profiles/cep/2#external-integrity</tt></li>
        <li><tt>https://humanjudgment.org/jep/profiles/cep/2#semantic-profile</tt></li>
      </ul>
      <t>Check statuses use the JEP conformance vocabulary:</t>
      <ul spacing="normal">
        <li><tt>pass</tt></li>
        <li><tt>fail</tt></li>
        <li><tt>not_checked</tt></li>
        <li><tt>not_applicable</tt></li>
        <li><tt>unsupported</tt></li>
        <li><tt>indeterminate</tt></li>
      </ul>
      <t>A verifier MUST NOT report an unperformed CEP check as <tt>pass</tt>.</t>
      </section>
      <section anchor="required-checks"><name>Required Checks</name>
      <t>For every CEP-2 event, the required checks are:</t>
      <ul spacing="normal">
        <li><tt>profile-binding</tt></li>
        <li><tt>record-binding</tt></li>
        <li><tt>record-structure</tt></li>
        <li><tt>subject-reference</tt></li>
        <li><tt>change-reference</tt></li>
      </ul>
      <t><tt>evidence-reference</tt> is required when <tt>evidence</tt> is present.</t>
      <t><tt>anchor-reference</tt> is required when <tt>anchors</tt> is present.</t>
      <t><tt>external-integrity</tt> is required only for external evidence or anchors that the requested validation context requires to be resolved and checked.</t>
      <t><tt>semantic-profile</tt> is required only when the requested validation context requires semantic interpretation of <tt>subject.profile</tt>, <tt>change.change_profile</tt>, or another external profile identifier.</t>
      <t>If semantic interpretation is required but the selected profile is unsupported or cannot be evaluated, <tt>semantic-profile</tt> MUST NOT be reported as <tt>pass</tt>.</t>
      </section>
      <section anchor="overall-status"><name>CEP Overall Status</name>
      <t>The CEP overall status is one of:</t>
      <ul spacing="normal">
        <li><tt>valid</tt></li>
        <li><tt>invalid</tt></li>
        <li><tt>indeterminate</tt></li>
      </ul>
      <t>For the requested CEP validation context:</t>
      <ul spacing="normal">
        <li><tt>invalid</tt> means the underlying required JEP validation is invalid or at least one required CEP check failed;</li>
        <li><tt>indeterminate</tt> means no required check failed, but the underlying required JEP validation is indeterminate or at least one required CEP check is unsupported, not checked, or indeterminate;</li>
        <li><tt>valid</tt> means the underlying required JEP validation is valid and every required CEP check passed or was not applicable.</li>
      </ul>
      <t><tt>valid</tt> means structurally and cryptographically valid under the selected checks. It does not mean the declared change occurred or was acceptable.</t>
      </section>
      <section anchor="validation-procedure"><name>Validation Procedure</name>
      <t>A CEP verifier SHOULD:</t>
      <ul spacing="normal">
        <li>validate the JEP event under the requested JEP mode and selected profiles;</li>
        <li>process the critical CEP record-binding extension;</li>
        <li>verify the CEP profile identifier;</li>
        <li>obtain the bound Evolution-Change Record;</li>
        <li>canonicalize and hash the record;</li>
        <li>compare the recomputed digest with <tt>record_digest</tt>;</li>
        <li>validate the record structure;</li>
        <li>validate Subject and Change Reference structure;</li>
        <li>validate Evidence References and Anchor References when present;</li>
        <li>resolve and verify required external digests or exact-artifact pins;</li>
        <li>evaluate semantic profiles only when required by the requested context;</li>
        <li>return JEP status, CEP checks, CEP overall status, and external-profile results separately.</li>
      </ul>
      </section>
    </section>
    <section anchor="verification-events"><name>Verification Events</name>
      <t>A JEP V event MAY record a CEP evaluation.</t>
      <t>The V event MUST satisfy JEP-Core V requirements.</t>
      <t>CEP-2 defines the following provisional profile-specific verification scopes:</t>
      <ul spacing="normal">
        <li><tt>https://humanjudgment.org/jep/profiles/cep/2#record-binding</tt></li>
        <li><tt>https://humanjudgment.org/jep/profiles/cep/2#change-reference</tt></li>
        <li><tt>https://humanjudgment.org/jep/profiles/cep/2#evidence-integrity</tt></li>
        <li><tt>https://humanjudgment.org/jep/profiles/cep/2#anchor-integrity</tt></li>
        <li><tt>https://humanjudgment.org/jep/profiles/cep/2#semantic-profile</tt></li>
      </ul>
      <t>A V event MUST identify the evaluated target through JEP <tt>ref</tt>.</t>
      <t><tt>what.result</tt> records the semantic result of the declared verification scope. It MUST NOT be confused with CEP per-check status.</t>
      <t>A V event MUST NOT imply permission, approval, safety, alignment, actual change, or policy satisfaction beyond its declared verification scope.</t>
    </section>
    <section anchor="partial-observation"><name>Partial Observation and Change Determinability</name>
      <t>CEP-2 uses an open-world evidence model.</t>
      <t>Absence of an Evolution-Change Record MUST NOT be interpreted as proof that no change occurred.</t>
      <t>Absence of conflicting evidence MUST NOT be interpreted as proof that no conflicting evidence exists.</t>
      <t>A collection of CEP records MUST NOT be presented as a complete history of a subject unless an explicitly selected external profile defines a complete-history assumption and its requirements were satisfied.</t>
      <t>CEP-2 does not define whether an evolution or change fact is uniquely or zero-error determinable from available evidence.</t>
      <t>A determinability report MAY be referenced as evidence under an external profile, but CEP validity MUST NOT be presented as proof that the report is correct or that the target change is determinable.</t>
    </section>
    <section anchor="companion-semantics"><name>Optional Companion Semantics</name>
      <t>CEP-01 defined or described extension families for evolution records, anchors, change classification, binding claims, review references, rollback or mitigation references, multi-party export, and determinability reports.</t>
      <t>CEP-2 removes those extension families from the narrow waist.</t>
      <t>A companion profile MAY define:</t>
      <ul spacing="normal">
        <li>change taxonomies;</li>
        <li>change semantic profiles;</li>
        <li>review or approval relations;</li>
        <li>binding claims;</li>
        <li>rollback or mitigation references;</li>
        <li>deployment gates;</li>
        <li>safety or alignment evidence profiles;</li>
        <li>multi-party export views;</li>
        <li>determinability reports;</li>
        <li>subject identity profiles;</li>
        <li>time or transparency evidence;</li>
        <li>evidence-access policy.</li>
      </ul>
      <t>Such profiles MUST NOT redefine JEP-Core semantics or present their conclusions as intrinsic CEP-Core facts.</t>
    </section>
    <section anchor="conformance"><name>Conformance</name>
      <section anchor="conf-producer"><name>CEP-2 Producer</name>
      <t>A conforming CEP-2 Producer MUST:</t>
      <ul spacing="normal">
        <li>produce a JEP event conforming to applicable JEP Producer requirements;</li>
        <li>preserve the selected JEP verb semantics;</li>
        <li>include the critical CEP record-binding extension;</li>
        <li>list the extension in <tt>ext_crit</tt>;</li>
        <li>use the CEP-2 profile identifier;</li>
        <li>bind exactly one Evolution-Change Record by digest;</li>
        <li>produce that record according to this specification;</li>
        <li>use Event Identity, not Event Hash, for logical JEP event anchors;</li>
        <li>avoid circular binding through the binding event's Event Hash.</li>
      </ul>
      </section>
      <section anchor="conf-verifier"><name>CEP-2 Verifier</name>
      <t>A conforming CEP-2 Verifier MUST:</t>
      <ul spacing="normal">
        <li>perform or consume an actual JEP validation result;</li>
        <li>support JEP <tt>archival</tt> validation mode;</li>
        <li>process the critical CEP extension;</li>
        <li>support JCS plus SHA-256 record digest calculation;</li>
        <li>perform all CEP checks required by its validation context;</li>
        <li>preserve independent check statuses;</li>
        <li>distinguish Event Identity from Event Hash;</li>
        <li>distinguish JEP validity from CEP validity;</li>
        <li>preserve external-profile validation results separately;</li>
        <li>return <tt>indeterminate</tt> rather than success when a required check cannot be completed.</li>
      </ul>
      </section>
    </section>
    <section anchor="security"><name>Security Considerations</name>
      <t>A valid CEP result does not prove that a declared change occurred.</t>
      <t>Implementations MUST consider:</t>
      <ul spacing="normal">
        <li>actor/signer/subject confusion;</li>
        <li>false but correctly signed change claims;</li>
        <li>false but correctly hashed change records;</li>
        <li>Event Identity/Event Hash confusion;</li>
        <li>subject identity ambiguity;</li>
        <li>record substitution;</li>
        <li>anchor substitution;</li>
        <li>URI substitution;</li>
        <li>circular binding;</li>
        <li>omitted or selectively exported evidence;</li>
        <li>misleading change classifications;</li>
        <li>unsupported semantic profiles;</li>
        <li>unsupported critical extensions;</li>
        <li>false completeness assumptions;</li>
        <li>semantic inflation from "declared change" to "actual evolution";</li>
        <li>semantic inflation from anchor association to approval or permission.</li>
      </ul>
      <t>A verifier MUST compare the recomputed Evolution-Change Record digest with the digest inside the signed critical CEP extension.</t>
      <t>A verifier MUST NOT infer actor binding, actual change, permission, approval, authorization, causality, safety, alignment, completeness, or policy compliance from successful CEP structural validation.</t>
    </section>
    <section anchor="privacy"><name>Privacy Considerations</name>
      <t>CEP records can expose:</t>
      <ul spacing="normal">
        <li>subject identifiers;</li>
        <li>model or deployment version relationships;</li>
        <li>change timing;</li>
        <li>internal update or rollback structure;</li>
        <li>evidence and review relationships;</li>
        <li>organizational processes;</li>
        <li>capability or configuration changes;</li>
        <li>safety or policy review references.</li>
      </ul>
      <t>Implementations SHOULD minimize plaintext personal, proprietary, security- sensitive, or operationally sensitive data.</t>
      <t>Evidence and anchors SHOULD be referenced by digest when embedding their content is unnecessary.</t>
      <t>Digest references can still enable correlation and dictionary attacks.</t>
      <t>Partial export and redaction MAY reduce disclosure, but omitted material MUST NOT be presented as nonexistent, irrelevant, approved, waived, or absent.</t>
      <t>CEP does not determine access rights, consent, lawful basis, retention periods, trade-secret rights, disclosure duties, or entitlement to export evidence.</t>
    </section>
    <section anchor="non-inference"><name>Non-Inference Boundary</name>
      <t>A successful CEP validation MUST NOT be presented, by itself, as proof:</t>
      <ul spacing="normal">
        <li>that an AI, model, agent, policy, tool chain, or deployment actually changed;</li>
        <li>that a capability emerged or disappeared;</li>
        <li>that drift occurred;</li>
        <li>that the subject improved, degraded, evolved, or self-modified;</li>
        <li>that a change was caused by a referenced event or evidence item;</li>
        <li>that a human or organization approved the change;</li>
        <li>that a review was sufficient;</li>
        <li>that a change was authorized;</li>
        <li>that a rollback or mitigation is required;</li>
        <li>that a change is safe, aligned, fair, or lawful;</li>
        <li>that all relevant evidence was disclosed;</li>
        <li>that a change is uniquely determinable;</li>
        <li>that a policy or governance outcome should follow;</li>
        <li>that any legal or regulatory requirement was satisfied.</li>
      </ul>
      <t>External profiles MAY use CEP evidence when making those determinations, but those conclusions remain outside CEP-2.</t>
    </section>
    <section anchor="iana"><name>IANA Considerations</name>
      <t>This document requests no IANA actions.</t>
      <t>The CEP-2 profile identifier, record-binding extension identifier, CEP check identifiers, and CEP verification-scope identifiers are publisher-controlled HTTPS URI identifiers.</t>
      <t>Future specifications MAY define registries if deployment experience shows that stable shared registries are needed.</t>
    </section>
    <section anchor="examples"><name>Examples</name>
      <section anchor="ex-evolution"><name>Evolution-Change Record</name>
      <sourcecode type="json">
{
  "cep_record": "2",
  "record_type": "evolution-change",
  "subject": {
    "type": "model-deployment",
    "id": "urn:example:deployment:alpha",
    "profile": "https://example.org/subjects/model-deployment/v1"
  },
  "change": {
    "digest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
    "change_profile": "https://example.org/changes/model-update/v1",
    "kind": "model-update-manifest",
    "media_type": "application/json"
  },
  "evidence": [
    {
      "digest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
      "kind": "evaluation-report",
      "media_type": "application/json"
    }
  ],
  "anchors": [
    {
      "relation": "review-record",
      "reference": {
        "kind": "digest-record",
        "digest": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
        "profile": "https://example.org/review/v1",
        "media_type": "application/json"
      }
    }
  ],
  "declared_at": 1790424000
}
</sourcecode>
      <t>The <tt>review-record</tt> relation in this example is local and deployment-defined; it is not a cross-deployment interoperable relation identifier and does not imply approval.</t>
      </section>
      <section anchor="ex-jep-binding"><name>JEP Event Carrying a CEP Binding</name>
      <sourcecode type="json">
{
  "jep": "1",
  "id": "urn:uuid:018f4f8d-0000-7000-8000-000000000201",
  "verb": "J",
  "who": "did:example:deployment-service",
  "when": 1790424000,
  "what": {
    "claim": "evolution-change-record-issued"
  },
  "ext": {
    "https://humanjudgment.org/jep/extensions/cep-record-binding/2": {
      "profile": "https://humanjudgment.org/jep/profiles/cep/2",
      "record_type": "evolution-change",
      "record_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "media_type": "application/json"
    }
  },
  "ext_crit": [
    "https://humanjudgment.org/jep/extensions/cep-record-binding/2"
  ],
  "sig": "..."
}
</sourcecode>
      </section>
      <section anchor="ex-event-anchor"><name>JEP Event Anchor with Artifact Pin</name>
      <sourcecode type="json">
{
  "relation": "prior-change-event",
  "reference": {
    "kind": "jep-event",
    "event_identity": {
      "who": "did:example:deployment-service",
      "id": "urn:uuid:018f4f8d-0000-7000-8000-000000000111"
    },
    "event_hash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
  }
}
</sourcecode>
      <t>The Event Identity identifies the logical event. The Event Hash pins one exact signed artifact.</t>
      </section>
    </section>
    <section anchor="changes"><name>Changes from -01</name>
      <t>Major changes from <tt>draft-wang-cep-01</tt>:</t>
      <ul spacing="normal">
        <li>aligned CEP with JEP-Core 0.7, JEP Profiles-01, and JEP Conformance-01;</li>
        <li>introduced CEP-2 as an incompatible profile revision;</li>
        <li>removed the HJS technical dependency and aligned optional portable receipt packaging with JEP Receipt Profile;</li>
        <li>moved Evolution-Change Record binding from JEP <tt>what</tt> to one critical CEP record-binding extension so D, T, and V retain their Core <tt>what</tt> semantics;</li>
        <li>removed pre-JEP-0.7 nonce assumptions;</li>
        <li>changed logical JEP event references from Event Hash to Event Identity;</li>
        <li>retained Event Hash only as an optional exact signed-artifact pin;</li>
        <li>narrowed CEP to one Evolution-Change Record plus Subject, Change Reference, Evidence Reference, and Anchor Reference structures;</li>
        <li>replaced raw subject and change reference strings with explicit typed structures;</li>
        <li>added <tt>change_profile</tt> as a semantic-profile hook for cross-deployment interpretation without defining a universal change taxonomy;</li>
        <li>separated logical subject identity from model or deployment artifact identity;</li>
        <li>required a Subject <tt>profile</tt> when cross-deployment identity comparison is required and prohibited unsupported verifiers from claiming identity equivalence;</li>
        <li>required absolute-URI Anchor relation identifiers for cross-deployment interoperable relation semantics while retaining local deployment-defined relations;</li>
        <li>clarified that <tt>before</tt> / <tt>after</tt> state-transition semantics are outside the CEP-2 baseline and belong to <tt>change_profile</tt> or companion profiles;</li>
        <li>removed the CEP-specific receipt manifest in favor of JEP Receipt Profile;</li>
        <li>removed change-class, binding-claim, review, rollback/mitigation, multi-party-export, and determinability-report extension families from the CEP narrow waist;</li>
        <li>moved those semantics to companion profiles;</li>
        <li>aligned optional dependency-graph semantics with JAC-2;</li>
        <li>aligned optional observation and state evidence with COE-2;</li>
        <li>defined a binding-event circularity rule;</li>
        <li>made JEP <tt>archival</tt> the required and default repeatable CEP validation mode when no other JEP validation mode is explicitly requested;</li>
        <li>replaced structural-validity-only output with independent CEP checks and <tt>valid</tt> / <tt>invalid</tt> / <tt>indeterminate</tt> status;</li>
        <li>added explicit external-profile result separation;</li>
        <li>clarified the neutral meaning of "evolution-change";</li>
        <li>strengthened open-world, privacy, security, and non-inference boundaries;</li>
        <li>changed identifiers to publisher-controlled HTTPS URIs;</li>
        <li>changed IANA language to request no action.</li>
      </ul>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="JEP">
          <front><title>Judgment Event Protocol (JEP)</title><author initials="Y." surname="Wang" fullname="Yuqiang Wang"/><date year="2026" month="September" day="26"/></front>
          <seriesInfo name="Internet-Draft" value="draft-wang-jep-judgment-event-protocol-07"/>
        </reference>
        <reference anchor="JEP-PROFILES">
          <front><title>JEP Profiles and Interoperability</title><author initials="Y." surname="Wang" fullname="Yuqiang Wang"/><date year="2026" month="September" day="26"/></front>
          <seriesInfo name="Internet-Draft" value="draft-wang-jep-profiles-01"/>
        </reference>
        <reference anchor="JEP-CONFORMANCE">
          <front><title>JEP Conformance and Test Suite</title><author initials="Y." surname="Wang" fullname="Yuqiang Wang"/><date year="2026" month="September" day="26"/></front>
          <seriesInfo name="Internet-Draft" value="draft-wang-jep-conformance-01"/>
        </reference>
        <reference anchor="RFC2119">
          <front><title>Key words for use in RFCs to Indicate Requirement Levels</title><author initials="S." surname="Bradner"/><date year="1997" month="March"/></front>
          <seriesInfo name="BCP" value="14"/><seriesInfo name="RFC" value="2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front><title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title><author initials="B." surname="Leiba"/><date year="2017" month="May"/></front>
          <seriesInfo name="BCP" value="14"/><seriesInfo name="RFC" value="8174"/>
        </reference>
        <reference anchor="RFC8785">
          <front><title>JSON Canonicalization Scheme (JCS)</title><author initials="A." surname="Rundgren"/><author initials="B." surname="Jordan"/><author initials="S." surname="Erlandsson"/><date year="2020" month="June"/></front>
          <seriesInfo name="RFC" value="8785"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="JEP-RECEIPT">
          <front><title>JEP Receipt Profile: Verifiable Behavior and Evidence Receipts</title><author initials="Y." surname="Wang" fullname="Yuqiang Wang"/><date year="2026" month="September" day="26"/></front>
          <seriesInfo name="Internet-Draft" value="draft-wang-jep-receipt-profile-00"/>
        </reference>
        <reference anchor="JAC">
          <front><title>JAC: Declared Dependency Graphs for JEP Events and Receipts</title><author initials="Y." surname="Wang" fullname="Yuqiang Wang"/><date year="2026" month="September" day="26"/></front>
          <seriesInfo name="Internet-Draft" value="draft-wang-jac-03"/>
        </reference>
        <reference anchor="COE">
          <front><title>Cognition-Oriented Emergence (COE): A JEP Profile for Shared Observation and State-Claim Evidence</title><author initials="Y." surname="Wang" fullname="Yuqiang Wang"/><date year="2026" month="September" day="26"/></front>
          <seriesInfo name="Internet-Draft" value="draft-wang-coe-02"/>
        </reference>
      </references>
    </references>
  </back>
</rfc>