| Internet-Draft | JAC | September 2026 |
| Wang | Expires 30 March 2027 | [Page] |
- Workgroup:
- Network Working Group
- Internet-Draft:
- draft-wang-jac-03
- Published:
- Intended Status:
- Experimental
- Expires:
JAC: Declared Dependency Graphs for JEP Events and Receipts
Abstract
This document defines JAC-2, a minimal declared-dependency graph profile for the Judgment Event Protocol (JEP) [JEP].¶
JAC-2 binds a signed JEP event to zero or more declared parent dependencies through one critical JEP extension. JEP Event Identity is used for logical JEP event dependencies; Event Hash is used only when an exact signed artifact must also be pinned. Digest-addressed receipt or external records can be linked without becoming JEP events.¶
JAC-2 defines dependency-link structure, partial-fragment semantics, cycle handling, chain validation checks, and non-inference boundaries. It does not determine factual causality, responsibility, fault, authorization validity, workflow correctness, legal effect, or regulatory compliance.¶
Status of This Memo
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 Notice
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.¶
1. Introduction
Agent and automated systems often produce signed events whose interpretation depends on earlier events, records, tool outputs, receipts, or other digest-addressed artifacts.¶
JEP-Core intentionally does not define causal-chain or dependency-graph semantics. JAC provides one optional chain profile for that purpose.¶
The narrow JAC question is:¶
Which parent dependencies did this signed event declare, and is the observed dependency fragment structurally and cryptographically consistent under the selected JAC rules?¶
A declared dependency is not a protocol-level finding of real-world causality.¶
JEP Profiles [JEP-PROFILES] defines profile selection and composition rules. JEP Conformance [JEP-CONFORMANCE] defines structured validation and test-harness conventions. JEP Receipt Profile [JEP-RECEIPT] defines a portable receipt format that MAY be referenced by digest from JAC.¶
Where this document conflicts with JEP-Core, JEP-Core controls.¶
2. Requirements Language
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.¶
3. Scope and Terminology
3.1. JAC-2 Defines
JAC-2 defines:¶
- one profile identifier;¶
- one critical dependency extension;¶
- zero-or-more parent links per JEP event;¶
- logical JEP-event parent references using Event Identity;¶
- optional exact-artifact pinning using Event Hash;¶
- digest-addressed non-JEP parent references;¶
- partial-fragment and unresolved-parent semantics;¶
- cycle detection for resolved dependency fragments;¶
- independent JAC validation checks;¶
- dependency-graph validation result semantics.¶
3.2. JAC-2 Does Not Define
JAC-2 does not define:¶
- new JEP verbs;¶
- a new event format;¶
- a new signature or hash format;¶
- a replacement for Event Identity or Event Hash;¶
- automatic delegation, authorization, or termination propagation;¶
- factual causality;¶
- complete real-world history;¶
- responsibility, fault, negligence, intent, fairness, or entitlement;¶
- task, workflow, state-machine, handoff, or result semantics;¶
- legal liability or regulatory compliance;¶
- a mandatory bundle, transport, archive, or ledger.¶
3.3. Declared Dependency
A signed statement that the current JEP event depends on or is based on an identified parent according to the relation semantics selected for the link.¶
The baseline relation defined by JAC-2 is declared-dependency.¶
3.5. Dependency Fragment
A set of JEP events and referenced parent objects observed together for JAC validation.¶
A Dependency Fragment is partial by default.¶
JAC retains the term "chain" for continuity, but the JAC-2 baseline data model is a directed dependency graph: it MAY branch and join because an event can declare zero or more parents.¶
3.6. Resolved Parent
A parent for which the verifier has obtained the referenced object or exact artifact needed by the requested validation context.¶
3.7. Unresolved Parent
A syntactically valid parent reference for which the referenced object is not available or cannot be resolved in the requested validation context.¶
An unresolved parent is not proof that the parent does not exist.¶
4. Profile and Extension Identifiers
4.1. JAC-2 Profile Identifier
The profile identifier is:¶
https://humanjudgment.org/jep/profiles/jac/2¶
The human-readable label JAC-2 MAY be used in documentation.¶
The identifier is a publisher-controlled HTTPS URI. Dereferencing it is not required for validation.¶
4.2. Dependency Extension Identifier
The dependency extension identifier is:¶
https://humanjudgment.org/jep/extensions/dependency/2¶
A JEP event claiming JAC-2 conformance MUST carry this extension in ext and MUST list the extension identifier in ext_crit.¶
A verifier that cannot process this critical extension cannot claim successful JAC-2 validation.¶
4.3. Version Boundary
JAC-2 is not wire-compatible with JAC-Core-1 from draft-wang-jac-02.¶
JAC-Core-1 used a single digest-oriented based_on link and commonly treated JEP Event Hash as the parent-event reference. JAC-2 instead supports multiple parents and uses Event Identity for logical JEP event references.¶
Historical JAC-Core-1 events MUST NOT be silently rewritten as JAC-2 events.¶
5. Relationship to JEP-Core
JAC-2 relies on JEP-Core for:¶
- the signed event object;¶
- J/D/T/V semantics;¶
- Event Identity
(who,id);¶ - Event Hash;¶
- the JEP Signing Payload;¶
- signature validation;¶
-
ref;¶ -
extandext_crit;¶ - independent validation checks;¶
- validation modes;¶
- idempotent acceptance.¶
JAC-2 MUST NOT redefine any of those semantics.¶
A JAC dependency link is separate from JEP ref.¶
JEP ref retains the meaning defined by JEP-Core. The JAC dependency extension declares graph edges used by JAC chain processing.¶
An implementation MUST NOT infer a JAC dependency solely from JEP ref.¶
A deployment MAY use both JEP ref and JAC parent links in one event.¶
6. JAC Dependency Extension
6.1. Extension Shape
The JAC-2 dependency extension MUST be a JSON object containing:¶
profile MUST equal https://humanjudgment.org/jep/profiles/jac/2.¶
parents MUST be a JSON array containing zero or more Parent Link objects.¶
An empty parents array declares that the event is a JAC root in the observed dependency structure. It does not prove that the event had no external predecessors in the real world.¶
No other members are defined by the JAC-2 baseline extension.¶
The order of entries in parents has no semantic meaning.¶
6.2. Parent Link
A Parent Link MUST be a JSON object containing:¶
relation MUST equal declared-dependency for the JAC-2 baseline.¶
parent MUST be a Parent Reference defined in Section 6.3.¶
A future profile MAY define additional relation identifiers. Such identifiers MUST be absolute URIs, MUST be collision-resistant, and MUST define:¶
- exact edge semantics;¶
- required parent fields;¶
- graph-processing rules;¶
- cycle rules if different from JAC-2;¶
- non-inference boundaries.¶
An additional relation MUST NOT silently redefine declared-dependency.¶
6.3. Parent Reference
A Parent Reference MUST be a JSON object containing kind.¶
kind MUST be one of:¶
JEP Event Parent¶
When kind is jep-event, the Parent Reference MUST contain event_identity.¶
event_identity MUST be an object containing non-empty string members who and id.¶
The Parent Reference MAY additionally contain:¶
event_hash, when present, MUST be a valid JEP algorithm-tagged digest string and pins one exact signed artifact for the identified event.¶
uri, when present, is a retrieval hint only.¶
The logical dependency node is Event Identity, not Event Hash.¶
A verifier MUST NOT create two logical JAC nodes merely because two valid signed artifacts for the same Event Identity have different Event Hash values.¶
If the same Event Identity resolves to conflicting unsigned JEP event content, JEP Event Identity conflict processing applies and JAC dependency-graph validation MUST NOT report success.¶
Digest Record Parent¶
When kind is digest-record, the Parent Reference MUST contain digest.¶
digest MUST be an algorithm-tagged digest string.¶
The Parent Reference MAY additionally contain:¶
If present, profile MUST be an absolute URI, record_type and media_type MUST be non-empty strings, and uri MUST be an absolute URI.¶
These members are descriptive and MUST NOT replace digest integrity.¶
If profile equals https://humanjudgment.org/jep/profiles/receipt/1, the referenced record is claiming the JEP Receipt Profile namespace. A verifier MUST NOT claim Receipt Profile validity unless that record was separately validated under the applicable Receipt Profile rules.¶
6.4. Duplicate Parent Links
Within one dependency extension, two Parent Links MUST NOT identify the same logical parent under the same relation.¶
For jep-event, logical equality is Event Identity equality.¶
For digest-record, logical equality is exact digest-string equality.¶
A producer MAY refer to the same logical parent under two different profile-defined relations only when the semantics of those relations require that distinction.¶
6.5. Self-Dependency
A JAC event MUST NOT contain a jep-event parent whose Event Identity equals the current event's Event Identity.¶
A self-dependency is a JAC structural failure.¶
7. Examples
7.1. JAC Root
{
"jep": "1",
"id": "urn:uuid:018f4f8d-0000-7000-8000-000000000001",
"verb": "J",
"who": "did:example:agent-a",
"when": 1790424000,
"what": {
"claim": "begin-analysis"
},
"ext": {
"https://humanjudgment.org/jep/extensions/dependency/2": {
"profile": "https://humanjudgment.org/jep/profiles/jac/2",
"parents": []
}
},
"ext_crit": [
"https://humanjudgment.org/jep/extensions/dependency/2"
],
"sig": "..."
}
¶
7.2. Single JEP Parent
{
"jep": "1",
"id": "urn:uuid:018f4f8d-0000-7000-8000-000000000002",
"verb": "J",
"who": "did:example:agent-b",
"when": 1790424010,
"what": {
"claim": "use-prior-analysis"
},
"ext": {
"https://humanjudgment.org/jep/extensions/dependency/2": {
"profile": "https://humanjudgment.org/jep/profiles/jac/2",
"parents": [
{
"relation": "declared-dependency",
"parent": {
"kind": "jep-event",
"event_identity": {
"who": "did:example:agent-a",
"id": "urn:uuid:018f4f8d-0000-7000-8000-000000000001"
}
}
}
]
}
},
"ext_crit": [
"https://humanjudgment.org/jep/extensions/dependency/2"
],
"sig": "..."
}
¶
7.3. Multiple Parents with Exact Artifact Pin
{
"profile": "https://humanjudgment.org/jep/profiles/jac/2",
"parents": [
{
"relation": "declared-dependency",
"parent": {
"kind": "jep-event",
"event_identity": {
"who": "did:example:agent-a",
"id": "urn:uuid:018f4f8d-0000-7000-8000-000000000001"
},
"event_hash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
},
{
"relation": "declared-dependency",
"parent": {
"kind": "digest-record",
"digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"profile": "https://humanjudgment.org/jep/profiles/receipt/1",
"record_type": "behavior",
"media_type": "application/json"
}
}
]
}
¶
The second example fragment is the extension value only.¶
8. Dependency Graph Semantics
8.1. Direction
Each Parent Link creates a directed edge:¶
current event -> declared parent¶
The edge means only that the current event declares the parent as a dependency under the stated relation.¶
It does not, by itself, mean that the parent caused the current event.¶
8.2. Multiple Parents
A JAC event MAY declare multiple parents.¶
Multiple parents do not imply equal weight, joint sufficiency, complete input coverage, or causal exhaustiveness.¶
JAC-2 does not define a parent ordering.¶
8.3. Roots
An event with an empty parents array is a declared JAC root.¶
Root status is local to the declared JAC dependency structure.¶
A root declaration MUST NOT be interpreted as proof that no earlier real-world event, input, instruction, or cause existed.¶
8.4. Acyclicity
The baseline declared-dependency relation is acyclic.¶
A resolved dependency fragment containing a directed cycle under declared-dependency is invalid under JAC-2.¶
Cycle detection operates on logical JEP Event Identity nodes and digest-record digest identities.¶
An unresolved parent cannot by itself prove that a cycle exists or does not exist outside the observed fragment.¶
8.5. Partial Observation
JAC-2 uses an open-world, partial-fragment default.¶
A valid observed fragment does not imply that:¶
- all parents were disclosed;¶
- all relevant events were observed;¶
- all real-world causes were represented;¶
- the fragment is a complete chain;¶
- the declared root is a real-world first cause.¶
A profile claiming complete-log or closed-world semantics MUST define those assumptions explicitly.¶
8.6. Unresolved Parents
An unresolved parent reference MAY remain structurally valid.¶
Whether unresolved parent resolution is required depends on the requested validation context.¶
A verifier MUST NOT convert an unresolved parent into a fabricated success, missing-parent fault, or proof of non-existence.¶
9. Receipt and External Record Dependencies
A JAC digest-record parent is identified by digest.¶
JAC verifies only the properties requested by the JAC validation context.¶
Digest equality establishes integrity identity for the referenced record; it does not establish the truth or sufficiency of that record.¶
If a referenced record declares another profile, such as JEP Receipt Profile, that profile's validity MUST be reported separately from JAC status.¶
JAC MUST NOT convert Receipt Profile validity into causal validity, authorization validity, or completeness.¶
10. Validation Model
10.1. Layer Separation
A JAC validation result separates:¶
- underlying JEP validation status;¶
- JAC profile checks;¶
- JAC overall status;¶
- fragment completeness statement.¶
JAC MUST NOT overwrite the JEP validation result.¶
10.2. Validation Contexts
JAC-2 defines two profile validation contexts:¶
link validates one event's dependency extension and parent-reference structure. Parent resolution is not required unless exact artifact integrity is explicitly requested.¶
fragment validates an observed multi-node dependency fragment. It requires cycle analysis over all resolved in-scope nodes and evaluates parent integrity according to the requested fragment policy.¶
A JEP implementation MAY invoke JAC fragment validation from JEP chain mode.¶
JAC context names are profile-local and are not new JEP validation modes.¶
10.3. JAC Checks
The initial JAC-2 check identifiers are:¶
-
https://humanjudgment.org/jep/profiles/jac/2#profile-binding¶ -
https://humanjudgment.org/jep/profiles/jac/2#dependency-extension¶ -
https://humanjudgment.org/jep/profiles/jac/2#parent-reference¶ -
https://humanjudgment.org/jep/profiles/jac/2#parent-resolution¶ -
https://humanjudgment.org/jep/profiles/jac/2#parent-integrity¶ -
https://humanjudgment.org/jep/profiles/jac/2#duplicate-parent¶ -
https://humanjudgment.org/jep/profiles/jac/2#self-dependency¶ -
https://humanjudgment.org/jep/profiles/jac/2#cycle¶ -
https://humanjudgment.org/jep/profiles/jac/2#fragment-consistency¶ -
https://humanjudgment.org/jep/profiles/jac/2#completeness-assumption¶
Check statuses use the JEP conformance vocabulary:¶
A verifier MUST NOT report an unperformed JAC check as pass.¶
10.4. Required Link Checks
For link context, the required JAC checks are:¶
parent-resolution and parent-integrity are required only when the requested link-validation policy requires parent material or exact-artifact checking.¶
cycle is not required for isolated link validation.¶
10.5. Required Fragment Checks
For fragment context, the required checks are:¶
- all required
linkchecks for every in-scope JAC event;¶ -
parent-resolutionfor every parent that the requested fragment policy says must be resolved;¶ -
parent-integrityfor every resolved parent carrying an exact-artifact pin or digest-record reference;¶ -
cycle;¶ -
fragment-consistency;¶ -
completeness-assumption.¶
If a required parent cannot be resolved and no required check has failed, JAC overall status is indeterminate.¶
fragment-consistency passes only when each included JEP Event Identity maps to one non-conflicting unsigned event content, all resolved parent identities are consistent with their references, and multiple artifacts for one Event Identity are treated as one logical node.¶
completeness-assumption passes when the verifier reports partial, or when an explicitly selected completeness profile authorizes complete-under-profile and all checks required by that profile pass.¶
10.6. Completeness Statement
A JAC result MUST report one of:¶
The default is partial.¶
complete-under-profile MUST NOT be reported unless an explicitly selected profile defines the closed-world or complete-log assumptions and all required checks for those assumptions passed.¶
JAC-2 alone never establishes real-world causal completeness.¶
10.7. JAC Overall Status
The JAC overall status is one of:¶
For the requested JAC context:¶
-
invalidmeans the underlying required JEP validation is invalid or at least one required JAC check failed;¶ -
indeterminatemeans no required check failed but the underlying required JEP validation is indeterminate or at least one required JAC check is unsupported, not checked, or indeterminate;¶ -
validmeans the underlying required JEP validation is valid and every required JAC check passed or was not applicable.¶
valid does not mean causally true or complete.¶
10.8. Validation Procedure
A fragment validator SHOULD:¶
- validate each in-scope JEP event under the requested JEP mode and profiles;¶
- process the critical JAC dependency extension;¶
- verify the JAC profile identifier;¶
- parse and validate all Parent Links;¶
- reject duplicate or self-dependencies;¶
- resolve required parent objects;¶
- verify Event Identity and optional Event Hash pins for JEP-event parents;¶
- verify digest integrity for available digest-record parents;¶
- construct the logical dependency graph;¶
- detect cycles over the resolved in-scope fragment;¶
- evaluate fragment consistency;¶
- evaluate the declared completeness assumption;¶
- return JEP results, JAC checks, JAC overall status, and completeness separately.¶
11. Validation Result Example
{
"jac_status": "valid",
"profile": "https://humanjudgment.org/jep/profiles/jac/2",
"context": "fragment",
"completeness": "partial",
"subject_event": {
"who": "did:example:agent-b",
"id": "urn:uuid:018f4f8d-0000-7000-8000-000000000002"
},
"checks": {
"https://humanjudgment.org/jep/profiles/jac/2#profile-binding": "pass",
"https://humanjudgment.org/jep/profiles/jac/2#dependency-extension": "pass",
"https://humanjudgment.org/jep/profiles/jac/2#parent-reference": "pass",
"https://humanjudgment.org/jep/profiles/jac/2#parent-resolution": "pass",
"https://humanjudgment.org/jep/profiles/jac/2#parent-integrity": "pass",
"https://humanjudgment.org/jep/profiles/jac/2#duplicate-parent": "pass",
"https://humanjudgment.org/jep/profiles/jac/2#self-dependency": "pass",
"https://humanjudgment.org/jep/profiles/jac/2#cycle": "pass",
"https://humanjudgment.org/jep/profiles/jac/2#fragment-consistency": "pass",
"https://humanjudgment.org/jep/profiles/jac/2#completeness-assumption": "pass"
},
"warnings": [
"fragment-is-partial"
],
"errors": []
}
¶
The result does not assert factual causality or complete history.¶
12. Verification Events
A JEP V event MAY record a JAC evaluation.¶
The V event MUST satisfy JEP-Core V requirements.¶
JAC-2 defines the following provisional profile-specific verification scopes:¶
-
https://humanjudgment.org/jep/profiles/jac/2#link-validation¶ -
https://humanjudgment.org/jep/profiles/jac/2#fragment-validation¶ -
https://humanjudgment.org/jep/profiles/jac/2#parent-integrity¶ -
https://humanjudgment.org/jep/profiles/jac/2#cycle-check¶
A V event MUST identify its target through JEP ref.¶
what.result records the semantic result of the declared V scope. It MUST NOT be confused with the independent per-check status vocabulary used by a JAC validator.¶
A V event MUST NOT imply chain completeness or causality beyond its declared scope.¶
13. Interaction with Delegation and Termination
JAC dependency edges do not create authorization.¶
A D event that also carries JAC dependency links remains a JEP Delegation statement. Whether the delegation is authorized belongs to the applicable delegation or mandate profile.¶
A T event that also carries JAC dependency links remains a JEP Termination statement.¶
JAC-2 does not define automatic termination cascade.¶
If a chain or domain profile requires a parent termination to change child eligibility, that profile MUST define:¶
- which edge relations propagate the effect;¶
- which termination scopes are relevant;¶
- whether propagation is prospective or retrospective;¶
- how unresolved descendants are handled;¶
- how conflicting termination declarations are handled.¶
The existence of a JAC edge alone MUST NOT be treated as a termination propagation rule.¶
14. Optional Domain Semantics
Earlier JAC revisions defined extension identifiers for state, assignment, handoff, results, capability claims, input/output references, and declared breaks.¶
JAC-2 removes those items from the narrow waist.¶
Such semantics MAY be defined by separate profiles or domain specifications, but they MUST NOT be inferred from the baseline declared-dependency relation.¶
A domain profile defining additional dependency relations or adjacent metadata SHOULD specify:¶
15. Conformance
15.1. JAC-2 Producer
A conforming JAC-2 Producer MUST:¶
- produce a JEP event conforming to the applicable JEP Producer requirements;¶
- include the JAC dependency extension;¶
- list it in
ext_crit;¶ - use the JAC-2 profile identifier;¶
- use only defined Parent Reference forms;¶
- use Event Identity for logical JEP-event parents;¶
- use Event Hash only as an optional exact-artifact pin;¶
- reject self-dependency before signing;¶
- avoid duplicate parent links.¶
15.2. JAC-2 Link Verifier
A conforming JAC-2 Link Verifier MUST:¶
15.3. JAC-2 Fragment Verifier
A conforming JAC-2 Fragment Verifier MUST additionally:¶
- build graph nodes from logical Event Identity and digest-record identity;¶
- resolve parents required by the selected fragment policy;¶
- verify required exact-artifact and digest pins;¶
- detect baseline
declared-dependencycycles;¶ - report fragment completeness explicitly;¶
- avoid inferring omitted parents or real-world causes from a valid fragment.¶
16. Security Considerations
A valid JAC chain result does not establish factual causality.¶
Implementations MUST consider:¶
- Event Identity/Event Hash confusion;¶
- duplicate or conflicting Event Identity reuse;¶
- self-dependency;¶
- dependency cycles;¶
- forged or substituted digest records;¶
- unresolved parents;¶
- omitted parents;¶
- selective export of a misleading fragment;¶
- profile confusion;¶
- unknown critical extensions;¶
- false complete-log assumptions;¶
- semantic inflation from dependency to causality;¶
- authorization inference from dependency;¶
- termination-cascade inference from dependency.¶
Exact artifact pins MUST be verified when required by the validation context.¶
A verifier MUST NOT treat a URI retrieval location as integrity identity.¶
A verifier MUST NOT convert missing or unavailable parent material into proof that no parent exists.¶
17. Privacy Considerations
Dependency graphs can reveal:¶
- actor relationships;¶
- organizational structure;¶
- workflow topology;¶
- task dependencies;¶
- receipt relationships;¶
- tool or resource usage;¶
- timing and coordination patterns;¶
- hidden participants through correlation.¶
Implementations SHOULD minimize stable identifiers when they are not needed for interoperability.¶
Digest references can still enable correlation and dictionary attacks.¶
Partial exports MAY be used to reduce disclosure, but partial exports MUST NOT be presented as complete histories unless an applicable completeness profile supports that claim.¶
18. Non-Inference Boundary
JAC-2 records declared dependency structure.¶
A successful JAC validation MUST NOT be presented, by itself, as proof:¶
- that a declared dependency is a real-world cause;¶
- that all causes or parents were disclosed;¶
- that the fragment is complete;¶
- that a parent authorized a child;¶
- that a child correctly followed a parent;¶
- that a delegation chain is valid;¶
- that termination propagated;¶
- that an assignment or handoff was valid;¶
- that a result was correct;¶
- that responsibility, fault, or liability belongs to any actor;¶
- that a legal or regulatory requirement was satisfied.¶
External profiles MAY use JAC evidence when making such determinations, but those conclusions remain outside JAC-2.¶
19. IANA Considerations
This document requests no IANA actions.¶
The JAC-2 profile identifier, dependency-extension identifier, JAC check identifiers, and JAC verification-scope identifiers are publisher-controlled HTTPS URI identifiers.¶
Future specifications MAY define registries if deployment experience shows that a stable shared registry is needed.¶
20. Changes from -02
Major changes from draft-wang-jac-02:¶
- aligned JAC with JEP-Core 0.7, JEP Profiles-01, and JEP Conformance-01;¶
- removed the HJS technical dependency from JAC-Core and aligned optional receipt references with JEP Receipt Profile;¶
- introduced JAC-2 as an incompatible profile revision;¶
- replaced
https://jac.org/chainwith publisher-controlled JEP namespace identifiers;¶ - replaced the single
based_onfield with aparentsarray supporting zero or more parent dependencies;¶ - changed logical JEP parent identity from Event Hash to Event Identity;¶
- retained Event Hash only as optional exact signed-artifact pinning;¶
- introduced explicit
jep-eventanddigest-recordParent Reference forms;¶ - defined empty
parentsas a declared JAC root without claiming a real-world first cause;¶ - prohibited duplicate parent links and self-dependency;¶
- defined baseline dependency direction and acyclicity;¶
- defined open-world partial-fragment semantics;¶
- defined unresolved-parent behavior;¶
- defined
linkandfragmentvalidation contexts without creating new JEP validation modes;¶ - defined independent JAC checks and
valid/invalid/indeterminateresult semantics;¶ - added explicit
partialversuscomplete-under-profilecompleteness reporting;¶ - removed state, assignment, handoff, result, capability, input/output, and declared-break extensions from the JAC narrow waist;¶
- removed nonce and legacy replay assumptions;¶
- removed examples that used pre-0.7 JEP field semantics;¶
- clarified that JAC edges do not create authorization or termination cascade;¶
- changed IANA language to request no action.¶
21. References
21.1. Normative References
- [JEP]
- Wang, Y., "Judgment Event Protocol (JEP)", Work in Progress, Internet-Draft, draft-wang-jep-judgment-event-protocol-07, , <https://datatracker.ietf.org/doc/html/draft-wang-jep-judgment-event-protocol-07>.
- [JEP-CONFORMANCE]
- Wang, Y., "JEP Conformance and Test Suite", Work in Progress, Internet-Draft, draft-wang-jep-conformance-01, , <https://datatracker.ietf.org/doc/html/draft-wang-jep-conformance-01>.
- [JEP-PROFILES]
- Wang, Y., "JEP Profiles and Interoperability", Work in Progress, Internet-Draft, draft-wang-jep-profiles-01, , <https://datatracker.ietf.org/doc/html/draft-wang-jep-profiles-01>.
- [JEP-RECEIPT]
- Wang, Y., "JEP Receipt Profile: Verifiable Behavior and Evidence Receipts", Work in Progress, Internet-Draft, draft-wang-jep-receipt-profile-00, , <https://datatracker.ietf.org/doc/html/draft-wang-jep-receipt-profile-00>.
- [RFC2119]
- Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, , <https://www.rfc-editor.org/rfc/rfc2119>.
- [RFC8174]
- Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, , <https://www.rfc-editor.org/rfc/rfc8174>.