| Internet-Draft | JEP Semantic Interoperability | September 2026 |
| Wang | Expires 30 March 2027 | [Page] |
This document defines semantic interoperability requirements for the Judgment Event Protocol (JEP) [JEP].¶
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.¶
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.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 30 March 2027.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
Syntactic and cryptographic interoperability do not guarantee semantic interoperability.¶
Two systems may both process the same JEP event while assigning different meaning to local words such as approve, verify, revoke, review, or delegate.¶
This document answers:¶
When independent systems interpret the same JEP event, what meaning must they preserve, and what conclusions must they not add?¶
JEP-Core is authoritative for:¶
(who,id);¶
This document MUST NOT redefine any of those semantics.¶
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.¶
JEP Profiles [JEP-PROFILES] defines deployment-specific trust, identity, credential, acceptance, archival, chain, and policy rules.¶
JEP Conformance [JEP-CONFORMANCE] defines executable conformance expectations, validation-result structure, schemas, test-vector categories, and reference-validator behavior.¶
This document defines neither trust policy nor Core validation behavior. It defines only interpretation constraints and bridge behavior.¶
This document does not define:¶
The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals.¶
A JEP event is a signed protocol statement carrying one J/D/T/V verb.¶
A semantic processor MUST distinguish:¶
what the event says at the protocol layer from what an external system chooses to conclude from that statement¶
Core validity does not imply external truth. Semantic interpretability does not imply Core validity.¶
A conforming semantic processor MUST preserve:¶
who;¶
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.¶
Semantic mapping MUST distinguish:¶
Event Identity = (who,id) = which JEP event Event Hash = which exact signed artifact¶
A bridge referring to the logical event SHOULD preserve Event Identity.¶
A bridge that needs byte-specific or signature-specific identity MAY also preserve Event Hash.¶
A processor MUST NOT use Event Hash as a substitute for stable Event Identity when the semantic question concerns which event instance is referenced.¶
Unless an explicitly selected profile states otherwise, semantic interpretation is open-world.¶
Therefore:¶
A complete-log or closed-world assumption MUST be explicit and belongs to the profile or chain system that defines it.¶
Profiles MAY define stronger or domain-specific interpretation.¶
Such interpretation MUST remain scoped to the selected profile.¶
A semantic processor MUST NOT generalize a profile-local conclusion into a global JEP conclusion.¶
Profile selection MUST follow the explicit-selection rules of JEP Profiles. This document MUST NOT infer a profile merely from actor syntax, credential presence, aud, or extension shape.¶
A semantic projection is a machine-readable interpretation derived from a JEP event and explicitly selected context without changing the Core event.¶
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.¶
The following provisional roles can be derived directly from Core semantics:¶
jep:role:actor: the entity claimed by who. This does not establish actor/key binding, authority, competence, or legal capacity.¶
jep:role:delegatee: for D, the entity identified by what.delegatee.¶
jep:role:verifier: for V, the actor in its role as the entity recording the scoped evaluation. This does not imply competence beyond the declared verification scope.¶
The following roles require context beyond the minimum Core event:¶
jep:role:signer: the key holder that produced the event signature. The signer is not necessarily the actor; actor/key binding is profile-defined.¶
jep:role:subject: 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.¶
jep:role:relying_party: an entity that consumes or acts on a JEP event. This is processing context and is not necessarily encoded in the event.¶
A semantic result MUST identify the source of a context- or profile-derived role.¶
The following provisional relations can be derived from Core verb or field semantics:¶
jep:relation:references: the event explicitly references another object through ref. This does not imply causality, dependency, support, endorsement, authorization, or completeness.¶
jep:relation:judges: a J event expresses or adopts a judgment about the claim, choice, classification, recommendation, or proposed result represented by the event.¶
jep:relation:delegates_to: a D event declares a scoped delegation from its actor to what.delegatee. This does not establish authority to delegate.¶
jep:relation:terminates_future_reliance_on: a T event declares that the target identified by ref is no longer eligible for future reliance within what.termination_scope. This does not delete history or establish cascade effects.¶
jep:relation:verifies: a V event records that its actor evaluated the target identified by ref under what.verification_scope and recorded what.result. This does not imply verification beyond the declared scope.¶
The following relations MAY be used by profiles or extensions but MUST NOT be derived from ref alone:¶
A profile defining one of these relations MUST specify its exact meaning, required fields, and non-inference boundaries.¶
J means that the actor expressed or adopted a judgment.¶
Typical mappings include:¶
A J event MUST NOT be interpreted as proof that the judged claim is true, authorized, lawful, safe, or externally effective.¶
A bridge MUST NOT map an action to J merely because a source system uses the word approved. It MUST determine whether the source semantics are actually a judgment rather than delegation or verification.¶
D means that the actor declared a delegation to the delegatee within an explicit scope.¶
The Core semantic anchors are:¶
A D event MUST NOT be interpreted as proof that the actor possessed legal, organizational, or technical authority to delegate.¶
Downstream authorization, permission-chain enforcement, mandate consumption, and legal effect belong to profiles or external systems.¶
T means that the actor declared a referenced target no longer eligible for future reliance within a stated termination scope.¶
The Core semantic anchors are:¶
A T event MUST NOT be interpreted as:¶
Cascade or downstream-effect semantics require an applicable profile or chain system.¶
V means that the actor evaluated a referenced target under an explicitly declared verification scope and recorded the result.¶
The Core semantic anchors are:¶
A V event MUST NOT imply verification beyond its declared scope.¶
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".¶
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.¶
The initial JEP-Core 0.7 scope identifiers include:¶
syntax¶
cryptographic¶
actor_binding¶
freshness¶
audience¶
event_identity¶
reference_integrity¶
extension_processing¶
chain_integrity¶
credential_status¶
policy_compliance¶
human_review¶
external_evidence¶
factual_claim¶
archival_integrity¶
This list is reproduced only to describe preservation behavior. JEP-Core controls if the list or meanings change.¶
A semantic processor MUST preserve the exact verification-scope identifier and the associated result carried by the V event.¶
A semantic processor MUST NOT:¶
For example, cryptographic does not imply actor_binding, policy_compliance, or factual_claim.¶
A processor that does not implement the meaning of a recognized or profile-defined scope MUST preserve the identifier when possible and report semantic_unsupported rather than fabricating an interpretation.¶
A profile-defined scope:¶
A bridge MUST map according to source semantics, not source labels.¶
The same local label MAY map to different JEP verbs in different contexts.¶
For example:¶
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"¶
When more than one JEP verb is consistent with the available source semantics, a bridge MUST report semantic_ambiguous unless an explicitly selected profile or source field resolves the ambiguity.¶
A bridge MUST NOT resolve ambiguity by assuming authority, verification, causality, or legal effect.¶
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.¶
Examples include loss of:¶
A bridge translating JEP into another system MUST NOT emit a stronger destination meaning than the JEP event and selected profiles support.¶
If the destination schema cannot preserve a required distinction, the bridge MUST either:¶
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.¶
A bridge MAY construct an unsigned intermediate representation, but it MUST NOT present that intermediate representation as a conforming signed JEP event.¶
Semantic processing status is independent from JEP-Core validation status.¶
The initial semantic_status values are:¶
semantic_conformant¶
semantic_ambiguous¶
semantic_unsupported¶
semantic_nonconformant¶
semantic_indeterminate¶
semantic_conformant 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.¶
semantic_ambiguous means multiple permitted interpretations remain and the available context does not select one.¶
semantic_unsupported means the event uses a semantic identifier, scope, or profile semantics that the processor does not implement.¶
semantic_nonconformant means the proposed interpretation contradicts JEP-Core verb semantics or a mandatory non-inference rule.¶
semantic_indeterminate means the processor implements the relevant semantic rule but lacks required context to complete the interpretation.¶
A semantic processor SHOULD return a structured result.¶
If it returns a structured result, the result MUST contain semantic_status.¶
When available from the parsed event, the result SHOULD contain:¶
Derived semantic interpretations SHOULD be carried in interpretations. Each interpretation MUST identify:¶
kind, such as role or relation;¶
id;¶
source, identifying the Core field, verb, profile, extension, or bridge rule from which it was derived.¶
The result MAY include:¶
core_status, but only when copied from an actual Core validation result;¶
profiles, but only for explicitly selected profiles;¶
warnings;¶
information_loss;¶
unsupported_identifiers.¶
A semantic processor MUST NOT synthesize a Core validation result.¶
Example:¶
{
"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": []
}
¶
The following rules are normative.¶
A J event MUST NOT be interpreted as proof of truth, correctness, legality, safety, or evidentiary sufficiency of its claim.¶
Identifier:¶
jep:non_inference:no_truth_from_judgment¶
A T event MUST NOT be interpreted as deletion, erasure, or retroactive invalidation of historical events.¶
Identifier:¶
jep:non_inference:no_history_deletion_from_termination¶
A T event MUST NOT be interpreted as automatically terminating downstream or derived objects unless an applicable profile defines that effect.¶
Identifier:¶
jep:non_inference:no_cascade_from_termination¶
A V event MUST NOT be interpreted as verification beyond its declared verification_scope.¶
Identifier:¶
jep:non_inference:no_verification_beyond_scope¶
A ref MUST NOT be interpreted as causality, dependency, support, endorsement, authorization, or completeness unless an explicit relation or profile defines that meaning.¶
Identifier:¶
jep:non_inference:no_relation_from_reference¶
Absence from an observed log MUST NOT be interpreted as proof of non-occurrence unless an applicable complete-log assumption is explicitly in force.¶
Identifier:¶
jep:non_inference:no_nonoccurrence_from_absence¶
Cryptographic verification MUST NOT be interpreted as proof of substantive truth.¶
Identifier:¶
jep:non_inference:no_truth_from_cryptographic¶
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.¶
Identifier:¶
jep:non_inference:no_completeness_or_causality_from_chain¶
A policy-compliance result MUST NOT be generalized to legal or regulatory compliance outside the identified policy/profile.¶
Identifier:¶
jep:non_inference:no_lawfulness_from_policy¶
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.¶
Identifier:¶
jep:non_inference:no_review_quality_from_human_review¶
A stronger interpretation defined by one profile MUST NOT be generalized to events outside that profile.¶
Identifier:¶
jep:non_inference:no_globalization_of_profile_semantics¶
Identifiers defined by this document are provisional identifiers of this Experimental Internet-Draft. They are not IANA-registered.¶
A semantic identifier defined here MUST NOT be repurposed within this draft series.¶
A future incompatible meaning MUST use a new identifier.¶
Profile-defined identifiers SHOULD be collision-resistant and SHOULD identify their controlling profile.¶
Semantic processors MUST preserve unknown identifiers when possible and MUST NOT replace them with a guessed known identifier.¶
This document defines independent semantic capabilities rather than cumulative validation levels.¶
A Core-Semantics Processor:¶
A Profile-Aware Semantic Processor additionally:¶
A Bridge Semantic Processor:¶
An implementation MAY support any combination of these capabilities. It MUST declare which capabilities it implements.¶
This specification is jurisdiction-neutral.¶
It does not assign legal effect to a JEP event or semantic result.¶
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.¶
A jurisdiction-specific profile SHOULD identify:¶
A semantic processor MUST NOT infer those properties from jurisdiction, organization, or actor identifiers alone.¶
Semantic interoperability introduces security risks even when cryptographic processing is correct.¶
Implementations MUST consider:¶
ref as dependency, support, or causality;¶
A bridge MUST NOT silently strengthen meaning.¶
A semantic processor SHOULD retain provenance for every derived role, relation, and bridge mapping.¶
Semantic metadata can reveal sensitive relationships even when evidence payloads are not disclosed.¶
Potentially sensitive metadata includes:¶
Implementations SHOULD minimize semantic metadata, avoid unnecessary stable cross-context identifiers, and use controlled references instead of embedded sensitive evidence where appropriate.¶
A semantic processor SHOULD NOT require disclosure of external evidence merely to interpret Core J/D/T/V semantics.¶
This document requests no IANA actions.¶
A future standards-track or registry specification may request registries for:¶
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.¶
Source meaning:¶
Reviewer accepts proposed result R.¶
Mapping:¶
J¶
The mapping does not establish that R is true.¶
Source meaning:¶
Principal permits agent A to act within scope S.¶
Mapping:¶
D what.delegatee = A what.scope = S¶
Whether that delegation is authorized is profile-dependent.¶
Source meaning:¶
Artifact X was checked cryptographically and the check passed.¶
Mapping:¶
V ref = X what.verification_scope = "cryptographic" what.result = "pass"¶
The mapping MUST NOT be interpreted as factual verification of claims inside X.¶
Source meaning:¶
Actor declares that future reliance on delegation D is terminated within scope S.¶
Mapping:¶
T ref = D what.termination_scope = S¶
No cascade is implied.¶
A J event references report R.¶
The semantic projection contains jep:relation:references.¶
It MUST NOT add jep:relation:depends_on unless the event or selected profile explicitly declares dependency.¶
Major changes from draft-wang-jep-semantic-interoperability-00:¶
semantic_valid to semantic_conformant to avoid confusion with Core validation status;¶