Research preview · 0.1.0-draft

No compatibility guarantee. Not for consequential production decisions.

Informative test corpus View tagged source

Conformance corpus

This directory contains 47 focused research-preview cases for testing the carrier, structural, and semantic requirements of Judgment Pack Core 0.1.0-draft. It is versioned with the draft but is not yet a complete or normative conformance suite. Evaluator behavior is intentionally out of scope.

manifest.json is the machine-readable case index. Its shape is defined by manifest.schema.json.

Layers

  • carrier/ contains inputs that must be rejected before schema validation. Some files are deliberately malformed JSON, and duplicate-member cases must be parsed with duplicate detection.
  • structural/ contains well-formed JSON documents that fail the normative JSON Schema. JPS testing asserts the schema's uri, date, and date-time formats even though some general-purpose JSON Schema libraries treat format as annotation-only by default.
  • semantic/ contains documents that pass structural validation but fail a prose requirement, or cannot be fully interpreted with the case's declared consumer capabilities.
  • valid/ contains documents expected to pass carrier, structural, and semantic checks. A valid result does not claim factual truth, authority, evaluator conformance, or operational fitness.

Validation proceeds in layer order. A runner should stop a case at its target layer rather than reporting downstream diagnostics for content that failed an earlier layer.

Manifest expectations

Each case records:

  • layer — the highest layer exercised by the case;
  • expectedResultvalid, invalid, or unsupported;
  • expectedDiagnostic — the primary provisional diagnostic code and JSON Pointer, or null for a valid case;
  • specSection — the draft section that motivates the expectation; and
  • optional supportedExtensions — the required-extension capabilities available to the consumer for that case. When omitted, the capability set is empty.

unsupported is distinct from invalid: the document is structurally readable and semantically well-formed, but the consumer lacks a capability named by metadata.requiredExtensions.

Diagnostic codes in this corpus are test metadata, not yet a normative cross-implementation diagnostic contract. The recorded diagnostic is the primary expected result; implementations may also report additional detail. A pointer to a missing member identifies the location the member would have occupied.

Semantic checks represented here

The semantic cases exercise collection-local identifier uniqueness; declared outcome, evidence, source, and exception-target references; reference-kind checking; recursive traversal of every condition position for evidence-present; required-extension declaration consistency; and required-extension capability negotiation.

Reference traversal must inspect every condition position, including root applicability, rule conditions, exception conditions, and arbitrarily nested all, any, and not nodes. The focused recursive fixture demonstrates the traversal requirement without defining an implementation algorithm.

Current boundary

This corpus does not yet test condition evaluation, resolution results, resource limits, canonicalization, signatures, imports, or migration behavior. Future expansion should remain focused: one primary expectation per negative fixture, with positive, boundary, and adversarial counterparts added when the corresponding semantics become normative.

Document conformance only. This corpus does not define evaluator conformance and cannot establish truth, authority, safety, or fitness.

View manifest View manifest schema

Carrier cases 2

CaseResultFocusDiagnosticSpec
carrier-invalid-jsoninvalidmalformed JSON is rejected before schema validationJPS-CARRIER-INVALID-JSON§2
carrier-duplicate-root-memberinvalidduplicate object member names are rejected during parsingJPS-CARRIER-DUPLICATE-MEMBER§2

Structural cases 19

CaseResultFocusDiagnosticSpec
structural-missing-decisioninvalidrequired root memberJPS-STRUCTURE-REQUIRED-MEMBER§4
structural-unknown-root-memberinvalidclosed root objectJPS-STRUCTURE-UNKNOWN-MEMBER§4
structural-relative-pack-idinvalidpack id is an absolute URI with format assertions enabledJPS-STRUCTURE-FORMAT-URI§5
structural-invalid-published-dateinvalidsource publication date format assertionJPS-STRUCTURE-FORMAT-DATE§6.3
structural-invalid-created-atinvalidmetadata creation timestamp format assertionJPS-STRUCTURE-FORMAT-DATE-TIME§6.8
structural-invalid-local-idinvalidlocal identifier grammarJPS-STRUCTURE-LOCAL-ID§5
structural-invalid-pack-versioninvalidthree-component pack version grammarJPS-STRUCTURE-PACK-VERSION§4
structural-invalid-fact-pathinvalidfact path syntaxJPS-STRUCTURE-FACT-PATH§7.4
structural-empty-any-conditioninvalidall and any require at least one child conditionJPS-STRUCTURE-CONDITION-ARITY§7
structural-force-outcome-missing-outcomeinvalidforce-outcome exception requires exactly its outcome operandJPS-STRUCTURE-EXCEPTION-SHAPE§6.6
structural-unqualified-extensioninvalidreverse-domain extension namespaceJPS-STRUCTURE-EXTENSION-NAME§9
structural-invalid-spec-versioninvalidexact supported specification versionJPS-STRUCTURE-SPEC-VERSION§4
structural-too-few-outcomesinvalidat least two outcomes are requiredJPS-STRUCTURE-COLLECTION-ARITY§4
structural-empty-rulesinvalidat least one rule is requiredJPS-STRUCTURE-COLLECTION-ARITY§4
structural-reserved-extension-nameinvalidspecification-reserved extension namespaceJPS-STRUCTURE-EXTENSION-NAME§9
structural-unknown-decision-memberinvalidclosed nested Core objectJPS-STRUCTURE-UNKNOWN-MEMBER§4
structural-empty-escalation-triggersinvalidconfigured handoff intent has at least one triggerJPS-STRUCTURE-ESCALATION-TRIGGERS§6.7
structural-invalid-ordered-decimalinvalidordered comparison operands use the decimal grammarJPS-STRUCTURE-DECIMAL-OPERAND§2.2
structural-invalid-in-operandinvalidmembership comparison operands are non-empty arraysJPS-STRUCTURE-IN-OPERAND§7.4

Semantic cases 26

CaseResultFocusDiagnosticSpec
semantic-duplicate-outcome-idinvalidoutcome identifiers are unique within their collectionJPS-SEMANTIC-DUPLICATE-ID§3.3
semantic-duplicate-rule-idinvalidrule identifiers are unique within their collectionJPS-SEMANTIC-DUPLICATE-ID§3.3
semantic-duplicate-evidence-idinvalidevidence requirement identifiers are unique within their collectionJPS-SEMANTIC-DUPLICATE-ID§3.3
semantic-duplicate-source-idinvalidsource identifiers are unique within their collectionJPS-SEMANTIC-DUPLICATE-ID§3.3
semantic-duplicate-exception-idinvalidexception identifiers are unique within their collectionJPS-SEMANTIC-DUPLICATE-ID§3.3
semantic-dangling-rule-outcomeinvalidrule outcome resolves to a declared outcomeJPS-SEMANTIC-UNRESOLVED-OUTCOME§3.3
semantic-dangling-fallback-outcomeinvalidfallback outcome resolves to a declared outcomeJPS-SEMANTIC-UNRESOLVED-OUTCOME§3.3
semantic-dangling-evidence-refinvalidrule evidence reference resolves to a declared evidence requirementJPS-SEMANTIC-UNRESOLVED-EVIDENCE§3.3
semantic-dangling-source-refinvalidrule source reference resolves to a declared sourceJPS-SEMANTIC-UNRESOLVED-SOURCE§3.3
semantic-dangling-exception-targetinvalidexception target resolves to a declared ruleJPS-SEMANTIC-UNRESOLVED-RULE§3.3
semantic-dangling-exception-outcomeinvalidexception outcome resolves to a declared outcomeJPS-SEMANTIC-UNRESOLVED-OUTCOME§3.3
semantic-dangling-exception-source-refinvalidexception source reference resolves to a declared sourceJPS-SEMANTIC-UNRESOLVED-SOURCE§3.3
semantic-dangling-applicability-evidenceinvalidapplicability evidence reference resolves to a declared requirementJPS-SEMANTIC-UNRESOLVED-EVIDENCE§3.3
semantic-dangling-exception-evidenceinvalidexception-condition evidence reference resolves to a declared requirementJPS-SEMANTIC-UNRESOLVED-EVIDENCE§3.3
semantic-wrong-kind-rule-outcomeinvalida rule identifier cannot satisfy an outcome referenceJPS-SEMANTIC-UNRESOLVED-OUTCOME§3.3
semantic-dangling-nested-evidence-presentinvalidreference validation recursively traverses nested condition nodesJPS-SEMANTIC-UNRESOLVED-EVIDENCE§3.3
semantic-required-extension-unsupportedunsupportedconsumer reports a declared required extension it does not supportJPS-CAPABILITY-REQUIRED-EXTENSION§9
semantic-missing-required-extension-valueinvalidrequired extension declaration corresponds to a document extension valueJPS-SEMANTIC-MISSING-REQUIRED-EXTENSION§9
valid-minimal-literalvalidminimal structurally and semantically conforming document§§2–7
valid-condition-branchesvalidliteral, all, any, not, fact, and evidence-present condition shapes§7
valid-exception-suppress-rulevalidsuppress-rule exception branch and resolved target§6.6
valid-exception-force-outcomevalidforce-outcome exception branch and resolved outcome§6.6
valid-exception-escalatevalidescalate exception branch without an outcome or target rule§6.6
valid-required-extension-supportedvalidconsumer fully interprets a declared required extension it supports§9
valid-hostile-optional-extension-valuevalidhostile-looking optional extension content remains inert data§§9–10
valid-minimal-expense-approvalvalidcomplete cross-feature expense-approval example§§4–9