<?xml version="1.0" encoding="utf-8"?>
<rfc ipr="trust200902" docName="draft-wang-jep-semantic-interoperability-01" category="exp" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <front>
    <title abbrev="JEP Semantic Interoperability">Semantic Interoperability for the Judgment Event Protocol</title>
    <seriesInfo name="Internet-Draft" value="draft-wang-jep-semantic-interoperability-01"/>
    <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>JEP</keyword>
    <keyword>semantic interoperability</keyword>
    <keyword>mapping</keyword>
    <keyword>non-inference</keyword>
    <abstract>
      <t>This document defines semantic interoperability requirements for the
Judgment Event Protocol (JEP) <xref target="JEP"/>.</t>
      <t>JEP-Core defines signed J/D/T/V event semantics, Event Identity, Event
Hash, references, validation checks, validation modes, extension processing,
and idempotent acceptance. This document does not redefine those mechanisms.
Instead, it defines the minimum shared interpretation rules required for
independent systems to map, display, translate, and consume JEP events
without silently changing their meaning.</t>
      <t>The core rule is that a JEP event records a signed protocol statement
with defined verb semantics. It does not by itself establish external truth,
authority, legality, causality, completeness, policy consequence, or external
effect. Stronger conclusions require an explicitly selected profile or
external evidence rule.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro"><name>Introduction</name>
      <section anchor="purpose"><name>Purpose</name>
      <t>Syntactic and cryptographic interoperability do not guarantee semantic interoperability.</t>
      <t>Two systems may both process the same JEP event while assigning different meaning to local words such as <tt>approve</tt>, <tt>verify</tt>, <tt>revoke</tt>, <tt>review</tt>, or <tt>delegate</tt>.</t>
      <t>This document answers:</t>
      <sourcecode type="text"><![CDATA[
When independent systems interpret the same JEP event,
what meaning must they preserve,
and what conclusions must they not add?
]]></sourcecode>
      </section>
      <section anchor="core-relation"><name>Relationship to JEP-Core</name>
      <t>JEP-Core is authoritative for:</t>
      <ul spacing="normal">
        <li>the Core event object;</li>
        <li>the four event verbs J, D, T, and V;</li>
        <li>Event Identity <tt>(who,id)</tt>;</li>
        <li>Event Hash;</li>
        <li>JEP Signing Payload and signature semantics;</li>
        <li>reference semantics;</li>
        <li>extension processing;</li>
        <li>independent validation checks;</li>
        <li>validation modes;</li>
        <li>idempotent acceptance.</li>
      </ul>
      <t>This document MUST NOT redefine any of those semantics.</t>
      <t>Semantic interoperability operates after or alongside Core processing. A semantic processor MAY interpret a Core-valid event, a Core-invalid event for diagnostic purposes, or an event whose Core status is indeterminate, but it MUST report Core status separately from semantic interpretation status.</t>
      </section>
      <section anchor="companion-relation"><name>Relationship to Profiles and Conformance</name>
      <t>JEP Profiles <xref target="JEP-PROFILES"/> defines deployment-specific trust, identity, credential, acceptance, archival, chain, and policy rules.</t>
      <t>JEP Conformance <xref target="JEP-CONFORMANCE"/> defines executable conformance expectations, validation-result structure, schemas, test-vector categories, and reference-validator behavior.</t>
      <t>This document defines neither trust policy nor Core validation behavior. It defines only interpretation constraints and bridge behavior.</t>
      </section>
      <section anchor="non-goals"><name>Non-Goals</name>
      <t>This document does not define:</t>
      <ul spacing="normal">
        <li>legal liability;</li>
        <li>moral responsibility;</li>
        <li>regulatory compliance;</li>
        <li>contractual validity;</li>
        <li>runtime authorization;</li>
        <li>access-control decisions;</li>
        <li>complete workflow semantics;</li>
        <li>truth of external factual claims;</li>
        <li>evidence sufficiency for an external target;</li>
        <li>causal-chain computation;</li>
        <li>delegation-chain enforcement;</li>
        <li>termination cascade;</li>
        <li>profile selection.</li>
      </ul>
      </section>
      <section anchor="requirements-language"><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>
    <section anchor="processing-model"><name>Semantic Processing Model</name>
      <section anchor="protocol-record"><name>Protocol-Semantic Record</name>
      <t>A JEP event is a signed protocol statement carrying one J/D/T/V verb.</t>
      <t>A semantic processor MUST distinguish:</t>
      <sourcecode type="text"><![CDATA[
what the event says at the protocol layer
from
what an external system chooses to conclude from that statement
]]></sourcecode>
      <t>Core validity does not imply external truth. Semantic interpretability does not imply Core validity.</t>
      </section>
      <section anchor="semantic-invariant"><name>Minimum Semantic Invariant</name>
      <t>A conforming semantic processor MUST preserve:</t>
      <ul spacing="normal">
        <li>the event verb;</li>
        <li>the claimed actor identified by <tt>who</tt>;</li>
        <li>Event Identity when available;</li>
        <li>verb-specific Core fields;</li>
        <li>declared references;</li>
        <li>declared verification scope and result for V;</li>
        <li>active profile context when explicitly selected;</li>
        <li>the distinction between logical Event Identity and exact-artifact Event Hash.</li>
      </ul>
      <t>A processor MUST NOT add an authority, causal, legal, policy, completeness, or truth conclusion that is not licensed by JEP-Core or an explicitly selected profile.</t>
      </section>
      <section anchor="identity-artifact"><name>Event Identity and Artifact Identity</name>
      <t>Semantic mapping MUST distinguish:</t>
      <sourcecode type="text"><![CDATA[
Event Identity = (who,id) = which JEP event
Event Hash               = which exact signed artifact
]]></sourcecode>
      <t>A bridge referring to the logical event SHOULD preserve Event Identity.</t>
      <t>A bridge that needs byte-specific or signature-specific identity MAY also preserve Event Hash.</t>
      <t>A processor MUST NOT use Event Hash as a substitute for stable Event Identity when the semantic question concerns which event instance is referenced.</t>
      </section>
      <section anchor="open-world"><name>Open-World Default</name>
      <t>Unless an explicitly selected profile states otherwise, semantic interpretation is open-world.</t>
      <t>Therefore:</t>
      <ul spacing="normal">
        <li>absence of an event from an observed log does not prove non-occurrence;</li>
        <li>a reference does not imply that all relevant objects are referenced;</li>
        <li>an observed chain does not imply that the chain is complete;</li>
        <li>a termination declaration does not prove that all downstream reliance stopped;</li>
        <li>a verification result does not imply checks outside its declared scope.</li>
      </ul>
      <t>A complete-log or closed-world assumption MUST be explicit and belongs to the profile or chain system that defines it.</t>
      </section>
      <section anchor="profile-bounded"><name>Profile-Bounded Interpretation</name>
      <t>Profiles MAY define stronger or domain-specific interpretation.</t>
      <t>Such interpretation MUST remain scoped to the selected profile.</t>
      <t>A semantic processor MUST NOT generalize a profile-local conclusion into a global JEP conclusion.</t>
      <t>Profile selection MUST follow the explicit-selection rules of JEP Profiles. This document MUST NOT infer a profile merely from actor syntax, credential presence, <tt>aud</tt>, or extension shape.</t>
      </section>
    </section>
    <section anchor="semantic-projection"><name>Semantic Projection</name>
      <t>A semantic projection is a machine-readable interpretation derived from a JEP event and explicitly selected context without changing the Core event.</t>
      <t>A semantic projection is not a new signed JEP object and MUST NOT be presented as part of the signed payload unless an extension or profile explicitly defines such a representation.</t>
      <section anchor="core-roles"><name>Core-Derived Roles</name>
      <t>The following provisional roles can be derived directly from Core semantics:</t>
      <ul spacing="normal">
        <li><tt>jep:role:actor</tt>: the entity claimed by <tt>who</tt>. This does not establish actor/key binding, authority, competence, or legal capacity.</li>
        <li><tt>jep:role:delegatee</tt>: for D, the entity identified by <tt>what.delegatee</tt>.</li>
        <li><tt>jep:role:verifier</tt>: for V, the actor in its role as the entity recording the scoped evaluation. This does not imply competence beyond the declared verification scope.</li>
      </ul>
      </section>
      <section anchor="context-roles"><name>Context- or Profile-Derived Roles</name>
      <t>The following roles require context beyond the minimum Core event:</t>
      <ul spacing="normal">
        <li><tt>jep:role:signer</tt>: the key holder that produced the event signature. The signer is not necessarily the actor; actor/key binding is profile-defined.</li>
        <li><tt>jep:role:subject</tt>: an object or entity about which a J/D/T/V statement is made when such a subject is explicitly represented by the event, extension, or active profile. A processor MUST NOT invent a subject.</li>
        <li><tt>jep:role:relying_party</tt>: an entity that consumes or acts on a JEP event. This is processing context and is not necessarily encoded in the event.</li>
      </ul>
      <t>A semantic result MUST identify the source of a context- or profile-derived role.</t>
      </section>
      <section anchor="core-relations"><name>Core-Derivable Relations</name>
      <t>The following provisional relations can be derived from Core verb or field semantics:</t>
      <ul spacing="normal">
        <li><tt>jep:relation:references</tt>: the event explicitly references another object through <tt>ref</tt>. This does not imply causality, dependency, support, endorsement, authorization, or completeness.</li>
        <li><tt>jep:relation:judges</tt>: a J event expresses or adopts a judgment about the claim, choice, classification, recommendation, or proposed result represented by the event.</li>
        <li><tt>jep:relation:delegates_to</tt>: a D event declares a scoped delegation from its actor to <tt>what.delegatee</tt>. This does not establish authority to delegate.</li>
        <li><tt>jep:relation:terminates_future_reliance_on</tt>: a T event declares that the target identified by <tt>ref</tt> is no longer eligible for future reliance within <tt>what.termination_scope</tt>. This does not delete history or establish cascade effects.</li>
        <li><tt>jep:relation:verifies</tt>: a V event records that its actor evaluated the target identified by <tt>ref</tt> under <tt>what.verification_scope</tt> and recorded <tt>what.result</tt>. This does not imply verification beyond the declared scope.</li>
      </ul>
      </section>
      <section anchor="profile-relations"><name>Profile- or Extension-Declared Relations</name>
      <t>The following relations MAY be used by profiles or extensions but MUST NOT be derived from <tt>ref</tt> alone:</t>
      <ul spacing="normal">
        <li><tt>jep:relation:depends_on</tt></li>
        <li><tt>jep:relation:supports</tt></li>
        <li><tt>jep:relation:supersedes</tt></li>
        <li><tt>jep:relation:challenges</tt></li>
      </ul>
      <t>A profile defining one of these relations MUST specify its exact meaning, required fields, and non-inference boundaries.</t>
      </section>
    </section>
    <section anchor="verb-semantics"><name>Verb Semantics</name>
      <section anchor="verb-j"><name>J - Judgment</name>
      <t>J means that the actor expressed or adopted a judgment.</t>
      <t>Typical mappings include:</t>
      <ul spacing="normal">
        <li>approval or rejection of a proposed result;</li>
        <li>classification;</li>
        <li>risk judgment;</li>
        <li>selection among alternatives;</li>
        <li>adoption of a recommendation.</li>
      </ul>
      <t>A J event MUST NOT be interpreted as proof that the judged claim is true, authorized, lawful, safe, or externally effective.</t>
      <t>A bridge MUST NOT map an action to J merely because a source system uses the word <tt>approved</tt>. It MUST determine whether the source semantics are actually a judgment rather than delegation or verification.</t>
      </section>
      <section anchor="verb-d"><name>D - Delegation</name>
      <t>D means that the actor declared a delegation to the delegatee within an explicit scope.</t>
      <t>The Core semantic anchors are:</t>
      <ul spacing="normal">
        <li><tt>what.delegatee</tt>;</li>
        <li><tt>what.scope</tt>.</li>
      </ul>
      <t>A D event MUST NOT be interpreted as proof that the actor possessed legal, organizational, or technical authority to delegate.</t>
      <t>Downstream authorization, permission-chain enforcement, mandate consumption, and legal effect belong to profiles or external systems.</t>
      </section>
      <section anchor="verb-t"><name>T - Termination</name>
      <t>T means that the actor declared a referenced target no longer eligible for future reliance within a stated termination scope.</t>
      <t>The Core semantic anchors are:</t>
      <ul spacing="normal">
        <li>target through <tt>ref</tt>;</li>
        <li><tt>what.termination_scope</tt>.</li>
      </ul>
      <t>A T event MUST NOT be interpreted as:</t>
      <ul spacing="normal">
        <li>deletion of the target;</li>
        <li>retroactive invalidation of historical events;</li>
        <li>proof that all downstream systems stopped relying on the target;</li>
        <li>automatic termination of descendants;</li>
        <li>proof that prior actions were invalid.</li>
      </ul>
      <t>Cascade or downstream-effect semantics require an applicable profile or chain system.</t>
      </section>
      <section anchor="verb-v"><name>V - Verification</name>
      <t>V means that the actor evaluated a referenced target under an explicitly declared verification scope and recorded the result.</t>
      <t>The Core semantic anchors are:</t>
      <ul spacing="normal">
        <li>target through <tt>ref</tt>;</li>
        <li><tt>what.verification_scope</tt>;</li>
        <li><tt>what.result</tt>.</li>
      </ul>
      <t>A V event MUST NOT imply verification beyond its declared scope.</t>
      <t>A local statement such as "I reject proposal X" maps to J unless the source semantics specifically mean "I evaluated X under scope S and obtained result R".</t>
      </section>
    </section>
    <section anchor="scope-preservation"><name>Verification Scope Preservation</name>
      <section anchor="scope-core"><name>Core Ownership</name>
      <t>JEP-Core is the authoritative source for Core verification-scope identifiers and their meanings. This document does not create a second Core scope registry and does not redefine the meanings of Core scopes.</t>
      <t>The initial JEP-Core 0.7 scope identifiers include:</t>
      <ul spacing="normal">
        <li><tt>syntax</tt></li>
        <li><tt>cryptographic</tt></li>
        <li><tt>actor_binding</tt></li>
        <li><tt>freshness</tt></li>
        <li><tt>audience</tt></li>
        <li><tt>event_identity</tt></li>
        <li><tt>reference_integrity</tt></li>
        <li><tt>extension_processing</tt></li>
        <li><tt>chain_integrity</tt></li>
        <li><tt>credential_status</tt></li>
        <li><tt>policy_compliance</tt></li>
        <li><tt>human_review</tt></li>
        <li><tt>external_evidence</tt></li>
        <li><tt>factual_claim</tt></li>
        <li><tt>archival_integrity</tt></li>
      </ul>
      <t>This list is reproduced only to describe preservation behavior. JEP-Core controls if the list or meanings change.</t>
      </section>
      <section anchor="scope-rule"><name>Preservation Rule</name>
      <t>A semantic processor MUST preserve the exact verification-scope identifier and the associated result carried by the V event.</t>
      <t>A semantic processor MUST NOT:</t>
      <ul spacing="normal">
        <li>rename a scope in a way that changes its meaning;</li>
        <li>merge multiple distinct scopes into a stronger aggregate meaning;</li>
        <li>infer that a passing result for one scope implies a passing result for another scope;</li>
        <li>treat a profile-local scope as a global JEP-Core scope.</li>
      </ul>
      <t>For example, <tt>cryptographic</tt> does not imply <tt>actor_binding</tt>, <tt>policy_compliance</tt>, or <tt>factual_claim</tt>.</t>
      </section>
      <section anchor="scope-profile"><name>Unsupported or Profile-Defined Scopes</name>
      <t>A processor that does not implement the meaning of a recognized or profile-defined scope MUST preserve the identifier when possible and report <tt>semantic_unsupported</tt> rather than fabricating an interpretation.</t>
      <t>A profile-defined scope:</t>
      <ul spacing="normal">
        <li>MUST use a collision-resistant identifier;</li>
        <li>MUST define its semantic meaning;</li>
        <li>MUST define required evidence or procedure;</li>
        <li>MUST define non-inference boundaries;</li>
        <li>MUST NOT redefine a Core scope;</li>
        <li>MUST remain scoped to the active profile.</li>
      </ul>
      </section>
    </section>
    <section anchor="mapping"><name>Mapping External Systems to JEP</name>
      <section anchor="mapping-rule"><name>Mapping Rule</name>
      <t>A bridge MUST map according to source semantics, not source labels.</t>
      <t>The same local label MAY map to different JEP verbs in different contexts.</t>
      <t>For example:</t>
      <sourcecode type="text"><![CDATA[
approve report
  -> J, when it means "adopt this result"

approve tool access
  -> D, when it means "delegate scoped authority"

approve verification result
  -> V, only when it means "evaluate target under declared scope and result"
]]></sourcecode>
      </section>
      <section anchor="mapping-ambiguity"><name>Ambiguity</name>
      <t>When more than one JEP verb is consistent with the available source semantics, a bridge MUST report <tt>semantic_ambiguous</tt> unless an explicitly selected profile or source field resolves the ambiguity.</t>
      <t>A bridge MUST NOT resolve ambiguity by assuming authority, verification, causality, or legal effect.</t>
      </section>
      <section anchor="mapping-loss"><name>Information Loss</name>
      <t>A bridge translating from another system into JEP MUST declare known semantic information loss when the source carries semantics that are not represented in the JEP event and active profile set.</t>
      <t>Examples include loss of:</t>
      <ul spacing="normal">
        <li>authority scope;</li>
        <li>verification method;</li>
        <li>evidence provenance;</li>
        <li>termination propagation;</li>
        <li>human-review context;</li>
        <li>domain-specific state semantics.</li>
      </ul>
      </section>
      <section anchor="mapping-reverse"><name>Reverse Mapping</name>
      <t>A bridge translating JEP into another system MUST NOT emit a stronger destination meaning than the JEP event and selected profiles support.</t>
      <t>If the destination schema cannot preserve a required distinction, the bridge MUST either:</t>
      <ul spacing="normal">
        <li>report information loss;</li>
        <li>choose a weaker destination representation;</li>
        <li>or refuse the mapping.</li>
      </ul>
      </section>
      <section anchor="mapping-output"><name>JEP Output Conformance</name>
      <t>If a bridge emits a JEP event, that output MUST independently satisfy the applicable JEP-Core Producer requirements. Semantic mapping does not waive Core field, verb, canonicalization, or signature requirements.</t>
      <t>A bridge MAY construct an unsigned intermediate representation, but it MUST NOT present that intermediate representation as a conforming signed JEP event.</t>
      </section>
    </section>
    <section anchor="semantic-result"><name>Semantic Processing Result</name>
      <t>Semantic processing status is independent from JEP-Core validation status.</t>
      <t>The initial <tt>semantic_status</tt> values are:</t>
      <ul spacing="normal">
        <li><tt>semantic_conformant</tt></li>
        <li><tt>semantic_ambiguous</tt></li>
        <li><tt>semantic_unsupported</tt></li>
        <li><tt>semantic_nonconformant</tt></li>
        <li><tt>semantic_indeterminate</tt></li>
      </ul>
      <section anchor="status-meanings"><name>Status Meanings</name>
      <t><tt>semantic_conformant</tt> means the reported interpretation conforms to this document and the explicitly selected profile semantics. It does not mean that the JEP event is Core-valid.</t>
      <t><tt>semantic_ambiguous</tt> means multiple permitted interpretations remain and the available context does not select one.</t>
      <t><tt>semantic_unsupported</tt> means the event uses a semantic identifier, scope, or profile semantics that the processor does not implement.</t>
      <t><tt>semantic_nonconformant</tt> means the proposed interpretation contradicts JEP-Core verb semantics or a mandatory non-inference rule.</t>
      <t><tt>semantic_indeterminate</tt> means the processor implements the relevant semantic rule but lacks required context to complete the interpretation.</t>
      </section>
      <section anchor="result-model"><name>Minimal Result Model</name>
      <t>A semantic processor SHOULD return a structured result.</t>
      <t>If it returns a structured result, the result MUST contain <tt>semantic_status</tt>.</t>
      <t>When available from the parsed event, the result SHOULD contain:</t>
      <ul spacing="normal">
        <li><tt>event_identity</tt>;</li>
        <li><tt>verb</tt>.</li>
      </ul>
      <t>Derived semantic interpretations SHOULD be carried in <tt>interpretations</tt>. Each interpretation MUST identify:</t>
      <ul spacing="normal">
        <li><tt>kind</tt>, such as <tt>role</tt> or <tt>relation</tt>;</li>
        <li>semantic <tt>id</tt>;</li>
        <li><tt>source</tt>, identifying the Core field, verb, profile, extension, or bridge rule from which it was derived.</li>
      </ul>
      <t>The result MAY include:</t>
      <ul spacing="normal">
        <li><tt>core_status</tt>, but only when copied from an actual Core validation result;</li>
        <li><tt>profiles</tt>, but only for explicitly selected profiles;</li>
        <li><tt>warnings</tt>;</li>
        <li><tt>information_loss</tt>;</li>
        <li><tt>unsupported_identifiers</tt>.</li>
      </ul>
      <t>A semantic processor MUST NOT synthesize a Core validation result.</t>
      <t>Example:</t>
      <sourcecode type="json"><![CDATA[
{
  "semantic_status": "semantic_conformant",
  "core_status": "valid",
  "event_identity": {
    "who": "did:example:verifier-123",
    "id": "urn:uuid:018f4f8d-a1d5-7633-9b6c-63d4928819e2"
  },
  "verb": "V",
  "profiles": [],
  "interpretations": [
    {
      "kind": "role",
      "id": "jep:role:actor",
      "source": "core.who"
    },
    {
      "kind": "role",
      "id": "jep:role:verifier",
      "source": "core.verb"
    },
    {
      "kind": "relation",
      "id": "jep:relation:references",
      "source": "core.ref"
    },
    {
      "kind": "relation",
      "id": "jep:relation:verifies",
      "source": "core.verb"
    }
  ],
  "warnings": [
    "jep:non_inference:no_truth_from_cryptographic"
  ],
  "information_loss": [],
  "unsupported_identifiers": []
}
]]></sourcecode>
      </section>
    </section>
    <section anchor="non-inference"><name>Non-Inference Rules</name>
      <t>The following rules are normative.</t>
      <section anchor="ni-judgment-truth"><name>Judgment Does Not Imply Truth</name>
      <t>A J event MUST NOT be interpreted as proof of truth, correctness, legality, safety, or evidentiary sufficiency of its claim.</t>
      <t>Identifier:</t>
      <sourcecode type="text"><![CDATA[
jep:non_inference:no_truth_from_judgment
]]></sourcecode>
      </section>
      <section anchor="ni-delegation-authority"><name>Delegation Does Not Imply Authority Validity</name>
      <t>A D event MUST NOT be interpreted as proof that the delegator had authority to delegate or that the delegatee has unlimited authority.</t>
      <t>Identifier:</t>
      <sourcecode type="text"><![CDATA[
jep:non_inference:no_authority_validity_from_delegation
]]></sourcecode>
      </section>
      <section anchor="ni-termination-history"><name>Termination Does Not Delete History</name>
      <t>A T event MUST NOT be interpreted as deletion, erasure, or retroactive invalidation of historical events.</t>
      <t>Identifier:</t>
      <sourcecode type="text"><![CDATA[
jep:non_inference:no_history_deletion_from_termination
]]></sourcecode>
      </section>
      <section anchor="ni-termination-cascade"><name>Termination Does Not Imply Cascade</name>
      <t>A T event MUST NOT be interpreted as automatically terminating downstream or derived objects unless an applicable profile defines that effect.</t>
      <t>Identifier:</t>
      <sourcecode type="text"><![CDATA[
jep:non_inference:no_cascade_from_termination
]]></sourcecode>
      </section>
      <section anchor="ni-verification-scope"><name>Verification Does Not Exceed Scope</name>
      <t>A V event MUST NOT be interpreted as verification beyond its declared <tt>verification_scope</tt>.</t>
      <t>Identifier:</t>
      <sourcecode type="text"><![CDATA[
jep:non_inference:no_verification_beyond_scope
]]></sourcecode>
      </section>
      <section anchor="ni-reference-relation"><name>Reference Does Not Imply Relation</name>
      <t>A <tt>ref</tt> MUST NOT be interpreted as causality, dependency, support, endorsement, authorization, or completeness unless an explicit relation or profile defines that meaning.</t>
      <t>Identifier:</t>
      <sourcecode type="text"><![CDATA[
jep:non_inference:no_relation_from_reference
]]></sourcecode>
      </section>
      <section anchor="ni-absence"><name>Absence Does Not Imply Non-Occurrence</name>
      <t>Absence from an observed log MUST NOT be interpreted as proof of non-occurrence unless an applicable complete-log assumption is explicitly in force.</t>
      <t>Identifier:</t>
      <sourcecode type="text"><![CDATA[
jep:non_inference:no_nonoccurrence_from_absence
]]></sourcecode>
      </section>
      <section anchor="ni-crypto-truth"><name>Cryptographic Validity Does Not Imply Truth</name>
      <t>Cryptographic verification MUST NOT be interpreted as proof of substantive truth.</t>
      <t>Identifier:</t>
      <sourcecode type="text"><![CDATA[
jep:non_inference:no_truth_from_cryptographic
]]></sourcecode>
      </section>
      <section anchor="ni-binding-authority"><name>Actor Binding Does Not Imply Authority</name>
      <t>A passing actor-binding evaluation MUST NOT be interpreted as proof of authority to perform the claimed act.</t>
      <t>Identifier:</t>
      <sourcecode type="text"><![CDATA[
jep:non_inference:no_authority_from_actor_binding
]]></sourcecode>
      </section>
      <section anchor="ni-chain"><name>Chain Integrity Does Not Imply Completeness or Causality</name>
      <t>A passing chain-integrity evaluation MUST NOT be interpreted as proof that the observed chain is complete or that its edges are causal unless the active chain profile establishes those properties.</t>
      <t>Identifier:</t>
      <sourcecode type="text"><![CDATA[
jep:non_inference:no_completeness_or_causality_from_chain
]]></sourcecode>
      </section>
      <section anchor="ni-policy-law"><name>Policy Compliance Does Not Imply Lawfulness</name>
      <t>A policy-compliance result MUST NOT be generalized to legal or regulatory compliance outside the identified policy/profile.</t>
      <t>Identifier:</t>
      <sourcecode type="text"><![CDATA[
jep:non_inference:no_lawfulness_from_policy
]]></sourcecode>
      </section>
      <section anchor="ni-human-review"><name>Human Review Does Not Imply Review Quality</name>
      <t>A human-review result MUST NOT be interpreted as proof of expertise, independence, completeness, correctness, or legal sufficiency unless an applicable profile establishes those properties.</t>
      <t>Identifier:</t>
      <sourcecode type="text"><![CDATA[
jep:non_inference:no_review_quality_from_human_review
]]></sourcecode>
      </section>
      <section anchor="ni-profile-global"><name>Profile Semantics Do Not Generalize</name>
      <t>A stronger interpretation defined by one profile MUST NOT be generalized to events outside that profile.</t>
      <t>Identifier:</t>
      <sourcecode type="text"><![CDATA[
jep:non_inference:no_globalization_of_profile_semantics
]]></sourcecode>
      </section>
    </section>
    <section anchor="identifier-rules"><name>Semantic Identifier Rules</name>
      <t>Identifiers defined by this document are provisional identifiers of this Experimental Internet-Draft. They are not IANA-registered.</t>
      <t>A semantic identifier defined here MUST NOT be repurposed within this draft series.</t>
      <t>A future incompatible meaning MUST use a new identifier.</t>
      <t>Profile-defined identifiers SHOULD be collision-resistant and SHOULD identify their controlling profile.</t>
      <t>Semantic processors MUST preserve unknown identifiers when possible and MUST NOT replace them with a guessed known identifier.</t>
    </section>
    <section anchor="capabilities"><name>Semantic Processor Capabilities</name>
      <t>This document defines independent semantic capabilities rather than cumulative validation levels.</t>
      <section anchor="cap-core"><name>Core-Semantics Processor</name>
      <t>A Core-Semantics Processor:</t>
      <ul spacing="normal">
        <li>interprets J/D/T/V consistently with JEP-Core;</li>
        <li>preserves the Event Identity and Event Hash distinction;</li>
        <li>derives only the Core-derived roles and relations defined here;</li>
        <li>preserves verification-scope identifiers without broadening them;</li>
        <li>applies the non-inference rules;</li>
        <li>produces a semantic processing result.</li>
      </ul>
      </section>
      <section anchor="cap-profile"><name>Profile-Aware Semantic Processor</name>
      <t>A Profile-Aware Semantic Processor additionally:</t>
      <ul spacing="normal">
        <li>consumes an explicitly selected profile;</li>
        <li>interprets profile-defined semantic identifiers;</li>
        <li>may derive context- or profile-derived roles;</li>
        <li>preserves profile-local boundaries;</li>
        <li>reports unsupported or missing profile semantics;</li>
        <li>does not generalize profile conclusions.</li>
      </ul>
      </section>
      <section anchor="cap-bridge"><name>Bridge Semantic Processor</name>
      <t>A Bridge Semantic Processor:</t>
      <ul spacing="normal">
        <li>maps external-system semantics to JEP;</li>
        <li>reports ambiguity;</li>
        <li>reports information loss;</li>
        <li>preserves required Core distinctions;</li>
        <li>refuses or weakens mappings that would otherwise overstate meaning.</li>
      </ul>
      <t>An implementation MAY support any combination of these capabilities. It MUST declare which capabilities it implements.</t>
      </section>
    </section>
    <section anchor="jurisdiction"><name>Cross-Jurisdictional Boundary</name>
      <t>This specification is jurisdiction-neutral.</t>
      <t>It does not assign legal effect to a JEP event or semantic result.</t>
      <t>A jurisdiction, regulator, court, organization, contract, or governance system MAY define how JEP events are used as evidence. Such rules belong to an explicitly selected profile or external policy.</t>
      <t>A jurisdiction-specific profile SHOULD identify:</t>
      <ul spacing="normal">
        <li>jurisdiction or domain;</li>
        <li>issuing or controlling authority;</li>
        <li>exact semantic additions;</li>
        <li>whether legal effect is claimed;</li>
        <li>evidence assumptions;</li>
        <li>conflict-handling rules.</li>
      </ul>
      <t>A semantic processor MUST NOT infer those properties from jurisdiction, organization, or actor identifiers alone.</t>
    </section>
    <section anchor="security"><name>Security Considerations</name>
      <t>Semantic interoperability introduces security risks even when cryptographic processing is correct.</t>
      <t>Implementations MUST consider:</t>
      <ul spacing="normal">
        <li>verb inflation: mapping a local action into a J/D/T/V meaning not supported by source semantics;</li>
        <li>scope inflation: presenting a narrow V result as a broader verification;</li>
        <li>actor/signer confusion;</li>
        <li>reference laundering: treating <tt>ref</tt> as dependency, support, or causality;</li>
        <li>Event Identity / Event Hash confusion;</li>
        <li>profile confusion or silent profile switching;</li>
        <li>false complete-log assumptions;</li>
        <li>termination-cascade overreach;</li>
        <li>semantic downgrade through information loss;</li>
        <li>registry or identifier confusion.</li>
      </ul>
      <t>A bridge MUST NOT silently strengthen meaning.</t>
      <t>A semantic processor SHOULD retain provenance for every derived role, relation, and bridge mapping.</t>
    </section>
    <section anchor="privacy"><name>Privacy Considerations</name>
      <t>Semantic metadata can reveal sensitive relationships even when evidence payloads are not disclosed.</t>
      <t>Potentially sensitive metadata includes:</t>
      <ul spacing="normal">
        <li>who judged a claim;</li>
        <li>who delegated to whom;</li>
        <li>verification targets and scopes;</li>
        <li>termination targets;</li>
        <li>evidence relationships;</li>
        <li>organization or workflow relationships;</li>
        <li>profile and policy context.</li>
      </ul>
      <t>Implementations SHOULD minimize semantic metadata, avoid unnecessary stable cross-context identifiers, and use controlled references instead of embedded sensitive evidence where appropriate.</t>
      <t>A semantic processor SHOULD NOT require disclosure of external evidence merely to interpret Core J/D/T/V semantics.</t>
    </section>
    <section anchor="iana"><name>IANA Considerations</name>
      <t>This document requests no IANA actions.</t>
      <t>A future standards-track or registry specification may request registries for:</t>
      <ul spacing="normal">
        <li>semantic role identifiers;</li>
        <li>semantic relation identifiers;</li>
        <li>non-inference identifiers;</li>
        <li>semantic processing status identifiers.</li>
      </ul>
      <t>Any future registry MUST preserve the JEP-Core semantic boundary and MUST NOT permit registration to redefine J/D/T/V, Event Identity, Event Hash, or Core verification-scope semantics.</t>
    </section>
    <section anchor="examples"><name>Examples</name>
      <section anchor="ex-judgment"><name>Approval as Judgment</name>
      <t>Source meaning:</t>
      <sourcecode type="text"><![CDATA[
Reviewer accepts proposed result R.
]]></sourcecode>
      <t>Mapping:</t>
      <sourcecode type="text"><![CDATA[
J
]]></sourcecode>
      <t>The mapping does not establish that R is true.</t>
      </section>
      <section anchor="ex-delegation"><name>Approval as Delegation</name>
      <t>Source meaning:</t>
      <sourcecode type="text"><![CDATA[
Principal permits agent A to act within scope S.
]]></sourcecode>
      <t>Mapping:</t>
      <sourcecode type="text"><![CDATA[
D
what.delegatee = A
what.scope = S
]]></sourcecode>
      <t>Whether that delegation is authorized is profile-dependent.</t>
      </section>
      <section anchor="ex-verification"><name>Signature Verification</name>
      <t>Source meaning:</t>
      <sourcecode type="text"><![CDATA[
Artifact X was checked cryptographically and the check passed.
]]></sourcecode>
      <t>Mapping:</t>
      <sourcecode type="text"><![CDATA[
V
ref = X
what.verification_scope = "cryptographic"
what.result = "pass"
]]></sourcecode>
      <t>The mapping MUST NOT be interpreted as factual verification of claims inside X.</t>
      </section>
      <section anchor="ex-termination"><name>Termination</name>
      <t>Source meaning:</t>
      <sourcecode type="text"><![CDATA[
Actor declares that future reliance on delegation D is terminated within
scope S.
]]></sourcecode>
      <t>Mapping:</t>
      <sourcecode type="text"><![CDATA[
T
ref = D
what.termination_scope = S
]]></sourcecode>
      <t>No cascade is implied.</t>
      </section>
      <section anchor="ex-reference"><name>Reference Without Dependency</name>
      <t>A J event references report R.</t>
      <t>The semantic projection contains <tt>jep:relation:references</tt>.</t>
      <t>It MUST NOT add <tt>jep:relation:depends_on</tt> unless the event or selected profile explicitly declares dependency.</t>
      </section>
    </section>
    <section anchor="changes"><name>Changes from -00</name>
      <t>Major changes from <tt>draft-wang-jep-semantic-interoperability-00</tt>:</t>
      <ul spacing="normal">
        <li>aligned the document with JEP-Core 0.7;</li>
        <li>replaced "event class" terminology with Core "event verb" terminology;</li>
        <li>removed cumulative validation-level semantics;</li>
        <li>removed Core anti-replay-field semantics;</li>
        <li>aligned replay-related interpretation with Event Identity and idempotent acceptance;</li>
        <li>made Event Identity versus Event Hash a normative semantic distinction;</li>
        <li>aligned J/D/T/V wording with the minimum Core verb semantics;</li>
        <li>removed semantic requirements that implied fields not required by Core;</li>
        <li>made JEP-Core the sole authority for Core verification-scope meanings;</li>
        <li>reduced this document's scope handling to preservation and non-inference;</li>
        <li>separated Core-derived roles from context- or profile-derived roles;</li>
        <li>separated Core-derived relations from profile- or extension-declared relations;</li>
        <li>required bridge mappings to preserve information loss and ambiguity;</li>
        <li>required JEP output from a bridge to independently satisfy JEP-Core Producer requirements;</li>
        <li>renamed <tt>semantic_valid</tt> to <tt>semantic_conformant</tt> to avoid confusion with Core validation status;</li>
        <li>defined a minimal semantic result model with provenance for every derived interpretation;</li>
        <li>replaced cumulative S1/S2/S3 framing with independent semantic processor capabilities;</li>
        <li>changed semantic identifiers to provisional identifiers and requested no IANA actions in this Experimental revision;</li>
        <li>tightened profile-selection boundaries to match JEP Profiles;</li>
        <li>updated examples to use JEP-Core 0.7 fields and verification scopes.</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>
      </references>
    </references>
  </back>
</rfc>
