Markdown for LLMs
Arxo Core Evaluation Result and Proof Graph
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# Arxo Core Evaluation Result and Proof Graph
Reference page for the `evaluation.schema.json` JSON schema.
## Versions
Accepted `schemaVersion`: `law.core.evaluation/0.1`, `law.core.evaluation/0.2`, `law.core.evaluation/0.3`.
## Top-level fields
| name | type-or-$ref | required | description |
|---|---|---|---|
| `conflicts` | `array` | no | — |
| `issues` | `array` | no | — |
| `manifest` | [`#/$defs/EvaluationManifest`](#evaluationmanifest) | yes | — |
| `positions` | `array` | no | — |
| `proofGraph` | [`#/$defs/ProofGraph`](#proofgraph) | yes | — |
| `resultHash` | [`#/$defs/Digest`](#digest) | yes | — |
| `results` | `array` | yes | — |
| `schemaVersion` | enum (3) | yes | — |
| `executionReceipt` | [`#/$defs/ExecutionReceipt`](#executionreceipt) | no | — |
| `evidenceAcceptance` | [`#/$defs/EvidenceAcceptanceReport`](#evidenceacceptancereport) | no | — |
| `admissionReport` | [`admission-report.schema.json`](/protocols/schemas/admission-report/) | no | — |
## Enumerations
| location | values |
|---|---|
| `$defs/ApplicabilityStatus` | `"APPLICABLE"`, `"NOT_APPLICABLE"`, `"UNDETERMINED"`, `"CONFLICTED"` |
| `$defs/ConflictReport/properties/unresolvedReason` | `"INCOMPARABLE"`, `"EQUAL_PRIORITY"`, `"STRICT_CONFLICT"`, `"PRIORITY_CYCLE"`, `"MISSING_PRIORITY_FACT"`, `"INTERPRETATION_DIVERGENCE"` |
| `$defs/EvaluationManifest/properties/mode` | `"advisory"`, `"compliance"`, `"regulatory"`, `"simulation"`, `"audit"` |
| `$defs/EvaluationManifest/properties/derivedAdmission/properties/profile` | `"admission.ground-reexecution/0.1"` |
| `$defs/EvaluationManifest/allOf/0/if/properties/semantics` | `"law.core/0.1.0"` |
| `$defs/EvaluationResult/allOf/0/if/properties/resultKind` | `"PROPOSITION"` |
| `$defs/EvaluationResult/allOf/1/if/properties/resultKind` | `"RULE_APPLICATION"` |
| `$defs/EvaluationResult/allOf/2/if/properties/resultKind` | `"NORM_POSITION"` |
| `$defs/EvaluationResult/allOf/3/if/properties/resultKind` | `"COMPLIANCE"` |
| `$defs/EvaluationResult/allOf/4/if/properties/resultKind` | `"CONSTRAINT"` |
| `$defs/EvaluationStatus` | `"COMPUTED"`, `"MISSING_INPUT"`, `"MISSING_POLICY"`, `"REQUIRES_JUDGMENT"`, `"NON_EXECUTABLE"`, `"EXTERNAL_UNAVAILABLE"`, `"INTERPRETATION_REQUIRED"`, `"SOURCE_RESOLUTION_FAILED"`, `"PRIORITY_CONFLICT"`, `"UNRESOLVED_NORMATIVE_CONFLICT"`, `"CONFLICTED_INPUTS"`, `"TYPE_ERROR"`, `"RUNTIME_ERROR"`, `"RESOURCE_LIMIT"` |
| `$defs/Issue/properties/severity` | `"info"`, `"warning"`, `"error"`, `"fatal"` |
| `$defs/NormativeStatus` | `"CREATED"`, `"PENDING"`, `"ACTIVE"`, `"SATISFIED"`, `"VIOLATED"`, `"WAIVED"`, `"SUSPENDED"`, `"TERMINATED"`, `"EXPIRED"`, `"UNDETERMINED"`, `"AVAILABLE"`, `"EXERCISED"`, `"VALIDLY_EXERCISED"`, `"INVALIDLY_EXERCISED"`, `"CONFLICTED"`, `"DEFEATED"` |
| `$defs/PositionInstance/properties/modality` | `"duty"`, `"liberty"`, `"power"`, `"immunity"` |
| `$defs/ProofNode/allOf/0/if/properties/kind` | `"rule_application"` |
| `$defs/ProofNode/allOf/1/if/properties/kind` | `"norm_creation"`, `"norm_status_transition"`, `"defeat"`, `"source_resolution"`, `"candidate_closure"`, `"constraint_check"`, `"judgment"`, `"external_snapshot_read"`, `"evidence_projection"`, `"support_admission"`, `"procedure_step"`, `"procedure_history"`, `"derived_admission"` |
| `$defs/ProofNode/allOf/2/if/properties/kind` | `"derived_admission"` |
| `$defs/ProofNode/allOf/2/then/properties/attributes/properties/profile` | `"admission.ground-reexecution/0.1"` |
| `$defs/ProofNode/allOf/2/then/properties/attributes/properties/semantics` | `"law.core/0.2.6"` |
| `$defs/ProofNode/properties/kind` | `"assertion"`, `"rule_application"`, `"function_evaluation"`, `"priority_decision"`, `"defeat"`, `"source_resolution"`, `"interpretation_selection"`, `"norm_creation"`, `"norm_status_transition"`, `"query_evaluation"`, `"external_snapshot_read"`, `"judgment"`, `"candidate_closure"`, `"constraint_check"`, `"evidence_projection"`, `"support_admission"`, `"procedure_step"`, `"procedure_history"`, `"cone_completion"`, `"derived_admission"` |
| `$defs/ProofNode/properties/outcome` | `"DEFEATED"` |
| `$defs/TemporalInterval/properties/end/oneOf/2` | `"infinity"` |
| `$defs/TemporalInterval/properties/start/oneOf/2` | `"-infinity"` |
| `$defs/TriggerStatus` | `"SATISFIED"`, `"NOT_SATISFIED"`, `"UNDETERMINED"`, `"CONFLICTED"` |
| `$defs/TruthStatus` | `"TRUE_ONLY"`, `"FALSE_ONLY"`, `"BOTH"`, `"NEITHER"` |
| `$defs/ResultKind` | `"DATA"`, `"COLLECTION"`, `"PROPOSITION"`, `"RULE_APPLICATION"`, `"NORM_POSITION"`, `"COMPLIANCE"`, `"CONSTRAINT"`, `"GRAPH"` |
| `$defs/EvidenceDecisionReason` | `"AUTHENTICATION_HASH_MISMATCH"`, `"AUTHENTICATION_MISSING"`, `"AUTHENTICATION_NOT_AVAILABLE"`, `"AUTHENTICATION_UNBOUND"`, `"EDGE_NOT_CURRENT"`, `"EDGE_POLICY_MISMATCH"`, `"EVIDENCE_NOT_AVAILABLE"`, `"EVIDENCE_NOT_CURRENT"`, `"EVIDENCE_NOT_DECLARED"`, `"FIELD_NOT_BOUND"`, `"FIELD_TYPE_MISMATCH"`, `"NEGATED_PROPOSITION"`, `"NO_ACCEPTANCE_RULE_APPLIED"`, `"RELATION_NOT_EXECUTABLE"` |
| `$defs/EvidenceDecision/properties/polarity` | `"positive"`, `"negative"` |
| `$defs/EvidenceDecision/properties/decision` | `"accepted"`, `"rejected"` |
| `$defs/EvidenceFactProvenance/properties/origin` | `"case_input"`, `"source_asserted"`, `"external_snapshot"`, `"derived"`, `"adjudicated"`, `"assumed_for_simulation"` |
| `$defs/EvidenceBlockedAssertion/properties/reason` | `"PROTECTED_PREDICATE_REQUIRES_EVIDENCE"` |
| `$defs/EvidenceBlockerConjunct/properties/trigger` | `"SATISFIED"`, `"NOT_SATISFIED"`, `"UNDETERMINED"`, `"CONFLICTED"` |
| `$defs/BlockerHeadArgument/properties/status` | `"UNEVALUATED"` |
| `$defs/BlockerContinuation/properties/trigger` | `"SATISFIED"`, `"NOT_SATISFIED"`, `"UNDETERMINED"`, `"CONFLICTED"` |
| `$defs/BlockerDefeat/properties/reason` | `"strict-opposition"`, `"priority"`, `"defeater"` |
| `$defs/WhyNotStage/properties/outsideDomain` | `true` |
| `$defs/EvidenceBlocker/properties/applicability` | `"APPLICABLE"`, `"NOT_APPLICABLE"`, `"UNDETERMINED"` |
| `$defs/EvidenceBlocker/properties/trigger` | `"SATISFIED"`, `"NOT_SATISFIED"`, `"UNDETERMINED"`, `"CONFLICTED"` |
| `$defs/EvidenceBlocker/properties/strength` | `"strict"`, `"defeasible"`, `"defeater"` |
| `$defs/EvidenceBlocker/properties/truncated` | `true` |
| `properties/schemaVersion` | `"law.core.evaluation/0.1"`, `"law.core.evaluation/0.2"`, `"law.core.evaluation/0.3"` |
| `allOf/0/if/properties/schemaVersion` | `"law.core.evaluation/0.2"` |
| `allOf/0/then/properties/proofGraph/properties/nodes/items/if/properties/kind` | `"defeat"` |
| `allOf/1/if/properties/schemaVersion/not` | `"law.core.evaluation/0.3"` |
| `allOf/1/then/not/anyOf/2/properties/proofGraph/properties/nodes/contains/properties/kind` | `"derived_admission"` |
| `allOf/2/then/properties/schemaVersion` | `"law.core.evaluation/0.3"` |
| `allOf/3/if/properties/proofGraph/properties/nodes/contains/properties/kind` | `"derived_admission"` |
| `allOf/3/then/properties/schemaVersion` | `"law.core.evaluation/0.3"` |
## Raw schema
[`https://law.arxo.io/schema/evaluation.schema.json`](https://law.arxo.io/schema/evaluation.schema.json)
## `ApplicabilityStatus`
Values: `"APPLICABLE"`, `"NOT_APPLICABLE"`, `"UNDETERMINED"`, `"CONFLICTED"`.
## `ConflictReport`
Type: `object`.
Required: `id`, `positive`, `negative`, `positiveCandidates`, `negativeCandidates`, `unresolvedReason`.
| name | type-or-$ref | description |
|---|---|---|
| `defeatedCandidates` | `array` | — |
| `id` | [`#/$defs/StableId`](#stableid) | — |
| `interpretations` | `array` | — |
| `negative` | [`#/$defs/JsonValue`](#jsonvalue) | — |
| `negativeCandidates` | `array` | — |
| `positive` | [`#/$defs/JsonValue`](#jsonvalue) | — |
| `positiveCandidates` | `array` | — |
| `priorityEdges` | `array` | — |
| `sourceAnchors` | `array` | — |
| `unresolvedReason` | enum (6) | — |
## `Date`
Type: `string`.
## `Digest`
Type: `string`.
## `EvaluationManifest`
Type: `object`.
Required: `id`, `semantics`, `programHash`, `lockfileHash`, `caseHash`, `legalTime`, `decisionTime`, `knowledgeTime`, `resolvedEditions`, `externalSnapshots`, `semanticHash`.
| name | type-or-$ref | description |
|---|---|---|
| `calendarSnapshot` | `string` | — |
| `caseHash` | [`#/$defs/Digest`](#digest) | — |
| `decisionTime` | anyOf (2) | — |
| `evidenceSnapshotHash` | [`#/$defs/Digest`](#digest) | — |
| `externalSnapshots` | `object` | — |
| `id` | [`#/$defs/StableId`](#stableid) | — |
| `interpretations` | `array` | — |
| `jurisdictionProfile` | `string` | Canon profile in the unified grammar `<id>/<version>#sha256:<64 hex>`. Present only for a computation over a package with a named profile. For documents of the 0.1 line (`semantics` = `law.core/0.1.0`, the vendored release), the field keeps its former free-form string. |
| `knowledgeTime` | anyOf (2) | — |
| `editionsAsPresented` | [`#/$defs/LegalTime`](#legaltime) | The date as of which the set of editions was presented by the caller. Present only for a computation with this transport field in the request; without it the field is absent and the document is byte-identical to before. |
| `legalTime` | anyOf (2) | In 0.2 and later, null means a computation without a temporal slice; a consumer of the date requires an explicit legal time. |
| `lockfileHash` | [`#/$defs/Digest`](#digest) | — |
| `mode` | enum (5) | — |
| `policies` | `object` | — |
| `programHash` | [`#/$defs/Digest`](#digest) | — |
| `theoryHash` | [`#/$defs/Digest`](#digest) | — |
| `artifactHash` | [`#/$defs/Digest`](#digest) | — |
| `resolvedEditions` | `object` | — |
| `semantics` | `string` | — |
| `timezone` | `string` or `null` | — |
| `timezoneDbSnapshot` | `string` | — |
| `temporalResolutionPolicy` | [`#/$defs/StableId`](#stableid) | — |
| `solverProfile` | `string` | — |
| `evidencePolicy` | [`#/$defs/StableId`](#stableid) | — |
| `evidencePolicyProfile` | `string` | — |
| `evidencePolicyHash` | [`#/$defs/Digest`](#digest) | — |
| `semanticHash` | [`#/$defs/Digest`](#digest) | — |
| `derivedAdmission` | `object` | — |
## `EvaluationResult`
Type: `object`.
Required: `id`, `query`, `resultKind`, `evaluationStatus`, `proof`, `normativeStatusSupports`.
| name | type-or-$ref | description |
|---|---|---|
| `applicabilityStatus` | [`#/$defs/ApplicabilityStatus`](#applicabilitystatus) | — |
| `conflicts` | `array` | — |
| `evaluationStatus` | [`#/$defs/EvaluationStatus`](#evaluationstatus) | — |
| `evidence` | `array` | — |
| `id` | [`#/$defs/StableId`](#stableid) | — |
| `judgmentRequests` | `array` | — |
| `manifest` | [`#/$defs/StableId`](#stableid) | — |
| `missingInputs` | `array` | — |
| `normativeStatus` | [`#/$defs/NormativeStatus`](#normativestatus) | — |
| `proof` | [`#/$defs/StableId`](#stableid) | — |
| `query` | [`#/$defs/StableId`](#stableid) | — |
| `sourceAnchors` | `array` | — |
| `target` | [`#/$defs/StableId`](#stableid) | — |
| `triggerStatus` | [`#/$defs/TriggerStatus`](#triggerstatus) | — |
| `truthStatus` | [`#/$defs/TruthStatus`](#truthstatus) | — |
| `value` | [`#/$defs/JsonValue`](#jsonvalue) | — |
| `normativeStatusSupports` | `array` | — |
| `resultKind` | [`#/$defs/ResultKind`](#resultkind) | — |
## `EvaluationStatus`
Values: `"COMPUTED"`, `"MISSING_INPUT"`, `"MISSING_POLICY"`, `"REQUIRES_JUDGMENT"`, `"NON_EXECUTABLE"`, `"EXTERNAL_UNAVAILABLE"`, `"INTERPRETATION_REQUIRED"`, `"SOURCE_RESOLUTION_FAILED"`, `"PRIORITY_CONFLICT"`, `"UNRESOLVED_NORMATIVE_CONFLICT"`, `"CONFLICTED_INPUTS"`, `"TYPE_ERROR"`, `"RUNTIME_ERROR"`, `"RESOURCE_LIMIT"`.
## `InputRequirement`
Type: `object`.
Required: `id`, `kind`, `description`.
| name | type-or-$ref | description |
|---|---|---|
| `description` | `string` | — |
| `expectedType` | `string` | — |
| `id` | [`#/$defs/StableId`](#stableid) | — |
| `kind` | `string` | — |
| `relatedNode` | [`#/$defs/StableId`](#stableid) | — |
## `Instant`
Type: `string`.
## `Issue`
Type: `object`.
Required: `code`, `severity`, `message`.
| name | type-or-$ref | description |
|---|---|---|
| `code` | `string` | — |
| `details` | [`#/$defs/JsonValue`](#jsonvalue) | — |
| `message` | `string` | — |
| `relatedNodes` | `array` | — |
| `severity` | enum (4) | — |
## `JsonObject`
Type: `object`.
## `JsonValue`
Definition `JsonValue`.
## `JudgmentRequest`
Type: `object`.
Required: `id`, `predicate`, `authority`, `request`.
| name | type-or-$ref | description |
|---|---|---|
| `authority` | [`#/$defs/StableId`](#stableid) | — |
| `evidence` | `array` | — |
| `id` | [`#/$defs/StableId`](#stableid) | — |
| `predicate` | [`#/$defs/StableId`](#stableid) | — |
| `proof` | [`#/$defs/StableId`](#stableid) | — |
| `request` | [`#/$defs/JsonValue`](#jsonvalue) | — |
| `requestSchema` | [`#/$defs/JsonValue`](#jsonvalue) | — |
## `NormativeStatus`
Lifecycle states of a legal position. `AVAILABLE`, `EXERCISED`, `VALIDLY_EXERCISED` and `INVALIDLY_EXERCISED` are reserved and not produced in 0.2: the power, liberty and immunity lifecycle is created, active, suspended, terminated or expired only. Exercise validity is an event property, read via the POWER_INVALID_EXERCISE issue and the std literal invalidly_exercised(position), not via this enum.
Values: `"CREATED"`, `"PENDING"`, `"ACTIVE"`, `"SATISFIED"`, `"VIOLATED"`, `"WAIVED"`, `"SUSPENDED"`, `"TERMINATED"`, `"EXPIRED"`, `"UNDETERMINED"`, `"AVAILABLE"`, `"EXERCISED"`, `"VALIDLY_EXERCISED"`, `"INVALIDLY_EXERCISED"`, `"CONFLICTED"`, `"DEFEATED"`.
## `PositionInstance`
Type: `object`.
Required: `id`, `template`, `modality`, `holder`, `status`, `createdBy`, `manifest`.
| name | type-or-$ref | description |
|---|---|---|
| `activationEvent` | [`#/$defs/StableId`](#stableid) | — |
| `beneficiary` | [`#/$defs/StableId`](#stableid) | — |
| `counterparty` | [`#/$defs/StableId`](#stableid) | — |
| `createdBy` | [`#/$defs/StableId`](#stableid) | — |
| `holder` | [`#/$defs/StableId`](#stableid) | — |
| `id` | [`#/$defs/StableId`](#stableid) | — |
| `manifest` | [`#/$defs/StableId`](#stableid) | — |
| `modality` | enum (4) | — |
| `payload` | [`#/$defs/JsonValue`](#jsonvalue) | — |
| `proof` | [`#/$defs/StableId`](#stableid) | — |
| `status` | [`#/$defs/NormativeStatus`](#normativestatus) | — |
| `statusHistory` | `array` | — |
| `template` | [`#/$defs/StableId`](#stableid) | — |
## `ProofGraph`
Type: `object`.
Required: `nodes`, `roots`, `proofHash`.
| name | type-or-$ref | description |
|---|---|---|
| `nodes` | `array` | — |
| `proofHash` | [`#/$defs/Digest`](#digest) | — |
| `roots` | `array` | — |
## `PriorityPathStep`
Type: `object`.
Required: `priorityRule`, `higher`, `lower`, `conditionWitnesses`.
| name | type-or-$ref | description |
|---|---|---|
| `priorityRule` | [`#/$defs/StableId`](#stableid) | — |
| `higher` | [`#/$defs/StableId`](#stableid) | — |
| `lower` | [`#/$defs/StableId`](#stableid) | — |
| `conditionWitnesses` | `array` | — |
## `ProofNode`
Type: `object`.
Required: `id`, `kind`, `conclusion`, `premises`.
| name | type-or-$ref | description |
|---|---|---|
| `applicabilityStatus` | [`#/$defs/ApplicabilityStatus`](#applicabilitystatus) | — |
| `attributes` | `object` | — |
| `conclusion` | [`#/$defs/JsonValue`](#jsonvalue) | — |
| `evidence` | `array` | — |
| `id` | [`#/$defs/StableId`](#stableid) | — |
| `interpretation` | [`#/$defs/StableId`](#stableid) | — |
| `kind` | enum (20) | — |
| `outcome` | `"DEFEATED"` | — |
| `premises` | `array` | — |
| `priorityPath` | `array` | — |
| `rule` | [`#/$defs/StableId`](#stableid) | — |
| `sourceAnchors` | `array` | — |
| `substitution` | `object` | — |
| `triggerStatus` | [`#/$defs/TriggerStatus`](#triggerstatus) | — |
## `StableId`
Type: `string`.
## `StatusTransition`
Type: `object`.
Required: `status`, `at`, `proof`.
| name | type-or-$ref | description |
|---|---|---|
| `at` | [`#/$defs/Instant`](#instant) | — |
| `proof` | [`#/$defs/StableId`](#stableid) | — |
| `reason` | `string` | — |
| `status` | [`#/$defs/NormativeStatus`](#normativestatus) | — |
## `TemporalInterval`
Type: `object`.
Required: `startInclusive`, `endInclusive`.
| name | type-or-$ref | description |
|---|---|---|
| `axis` | `string` | — |
| `end` | oneOf (3) | — |
| `endInclusive` | `boolean` | — |
| `start` | oneOf (3) | — |
| `startInclusive` | `boolean` | — |
## `TriggerStatus`
Values: `"SATISFIED"`, `"NOT_SATISFIED"`, `"UNDETERMINED"`, `"CONFLICTED"`.
## `TruthStatus`
Values: `"TRUE_ONLY"`, `"FALSE_ONLY"`, `"BOTH"`, `"NEITHER"`.
## `NormativeStatusSupport`
Type: `object`.
Required: `status`, `truthStatus`, `proof`.
| name | type-or-$ref | description |
|---|---|---|
| `status` | [`#/$defs/NormativeStatus`](#normativestatus) | — |
| `truthStatus` | [`#/$defs/TruthStatus`](#truthstatus) | — |
| `valid` | [`#/$defs/TemporalInterval`](#temporalinterval) | — |
| `proof` | `array` | — |
## `LegalTime`
Definition `LegalTime`.
## `ResultKind`
Values: `"DATA"`, `"COLLECTION"`, `"PROPOSITION"`, `"RULE_APPLICATION"`, `"NORM_POSITION"`, `"COMPLIANCE"`, `"CONSTRAINT"`, `"GRAPH"`.
## `EvidenceAcceptanceReport`
Report of the acceptance phase. Present only when an evidence policy is selected; without a policy the document is byte-identical to before.
Type: `object`.
Required: `policy`, `profile`, `closureHash`, `decisions`, `documents`, `blocked`.
| name | type-or-$ref | description |
|---|---|---|
| `policy` | [`#/$defs/StableId`](#stableid) | — |
| `profile` | `string` | — |
| `closureHash` | [`#/$defs/Digest`](#digest) | — |
| `decisions` | `array` | — |
| `documents` | `array` | — |
| `blocked` | `array` | — |
## `EvidenceDecisionReason`
Closed dictionary of acceptance reasons.
Values: `"AUTHENTICATION_HASH_MISMATCH"`, `"AUTHENTICATION_MISSING"`, `"AUTHENTICATION_NOT_AVAILABLE"`, `"AUTHENTICATION_UNBOUND"`, `"EDGE_NOT_CURRENT"`, `"EDGE_POLICY_MISMATCH"`, `"EVIDENCE_NOT_AVAILABLE"`, `"EVIDENCE_NOT_CURRENT"`, `"EVIDENCE_NOT_DECLARED"`, `"FIELD_NOT_BOUND"`, `"FIELD_TYPE_MISMATCH"`, `"NEGATED_PROPOSITION"`, `"NO_ACCEPTANCE_RULE_APPLIED"`, `"RELATION_NOT_EXECUTABLE"`.
## `EvidenceDecision`
Type: `object`.
Required: `edge`, `evidence`, `relation`, `literal`, `decision`, `reasons`.
| name | type-or-$ref | description |
|---|---|---|
| `edge` | [`#/$defs/StableId`](#stableid) | — |
| `evidence` | [`#/$defs/StableId`](#stableid) | — |
| `relation` | `string` | — |
| `literal` | [`#/$defs/JsonValue`](#jsonvalue) | — |
| `polarity` | enum (2) | — |
| `decision` | enum (2) | — |
| `reasons` | `array` | — |
| `proof` | [`#/$defs/StableId`](#stableid) | — |
| `blockers` | `array` | Present for support that reached the rules and was not accepted. |
| `provenance` | [`#/$defs/EvidenceFactProvenance`](#evidencefactprovenance) | — |
## `EvidenceFactProvenance`
Provenance of the case assertion whose literal equals the literal of the support (the smallest assertion id wins). Present only when that assertion was produced by an extractor (a was_generated_by provenance edge carrying an `extractor`) or carries a quote; earlier reports do not get the field.
Type: `object`.
Required: `origin`.
| name | type-or-$ref | description |
|---|---|---|
| `origin` | enum (6) | Origin of the assertion; extraction is not a new origin. |
| `evidence` | [`#/$defs/StableId`](#stableid) | First id of the assertion's evidence[], otherwise the target of its was_derived_from edge. |
| `quote` | [`#/$defs/JsonValue`](#jsonvalue) | attributes.quote of the provenance edge, carried verbatim. |
| `confidence` | [`#/$defs/JsonValue`](#jsonvalue) | Confidence of the extractor edge, carried verbatim; the core does not read it (the package evidence policy does, via its confidence field). |
## `EvidenceDocumentReport`
Type: `object`.
Required: `evidence`, `available`, `current`, `notes`.
| name | type-or-$ref | description |
|---|---|---|
| `evidence` | [`#/$defs/StableId`](#stableid) | — |
| `available` | `boolean` | — |
| `current` | `boolean` | — |
| `notes` | `array` | — |
| `authentications` | `array` | — |
## `EvidenceBlockedAssertion`
Assertion of a protected predicate that did not enter the support: the policy cannot be bypassed.
Type: `object`.
Required: `assertion`, `predicate`, `origin`, `reason`.
| name | type-or-$ref | description |
|---|---|---|
| `assertion` | [`#/$defs/StableId`](#stableid) | — |
| `predicate` | [`#/$defs/StableId`](#stableid) | — |
| `origin` | `string` | — |
| `reason` | `"PROTECTED_PREDICATE_REQUIRES_EVIDENCE"` | — |
## `ExecutionReceipt`
Type: `object`.
Required: `implementation`, `implementationConformance`, `receiptHash`.
| name | type-or-$ref | description |
|---|---|---|
| `implementation` | `string` | — |
| `implementationConformance` | `string` | — |
| `startedAt` | [`#/$defs/Instant`](#instant) | — |
| `finishedAt` | [`#/$defs/Instant`](#instant) | — |
| `resourceUsage` | [`#/$defs/JsonObject`](#jsonobject) | — |
| `signature` | [`#/$defs/JsonObject`](#jsonobject) | — |
| `receiptHash` | [`#/$defs/Digest`](#digest) | — |
## `EvidenceBlockerConjunct`
One conjunct of a policy rule's body and its state: an evaluation over the phase store.
Type: `object`.
Required: `kind`, `literal`, `trigger`.
| name | type-or-$ref | description |
|---|---|---|
| `literal` | [`#/$defs/JsonValue`](#jsonvalue) | — |
| `trigger` | enum (4) | — |
| `detail` | `string` | — |
| `kind` | `string` | Kind of conjunct: established \| not_known \| supported \| monotone \| refuted \| unknown \| guard. |
| `stage` | [`#/$defs/WhyNotStage`](#whynotstage) | — |
## `BlockerHeadArgument`
Computed argument of a candidate rule's head (`call`, arithmetic, `let`). Equality with the goal argument is not checked: the value must not be treated as established in the explanation; `term` is the head term itself as in the CLIR.
Type: `object`.
Required: `position`, `term`, `status`.
| name | type-or-$ref | description |
|---|---|---|
| `position` | `integer` | — |
| `term` | [`#/$defs/JsonValue`](#jsonvalue) | — |
| `status` | enum (1) | — |
| `detail` | `string` | — |
## `BlockerContinuation`
Continuation of the goal substitution by store witnesses in a `why_not` rule blocker: `bindings` are the variables bound by witnesses (not by the goal) with their values; `conjuncts` mark every body conjunct under the continuation; `trigger` and `detail` summarise this continuation only — there is no verdict over continuations.
Type: `object`.
Required: `bindings`, `trigger`, `detail`, `conjuncts`.
| name | type-or-$ref | description |
|---|---|---|
| `bindings` | `object` | — |
| `trigger` | enum (4) | — |
| `detail` | `string` | — |
| `conjuncts` | `array` | — |
## `BlockerDefeat`
Defeat of the blocker rule's application concluding the goal, read from the proof graph of the same document: `application` and `defeat` are proof node ids; `reason` is the defeat node's `attributes.reason`; `opponentRules` are the rules of opponent applications among the defeat node's premises (sorted, unique); `priorityRules` are the `priorityRule` of the defeat node's `priorityPath` steps in written order.
Type: `object`.
Required: `application`, `defeat`, `reason`, `opponentRules`, `priorityRules`.
| name | type-or-$ref | description |
|---|---|---|
| `application` | [`#/$defs/StableId`](#stableid) | — |
| `defeat` | [`#/$defs/StableId`](#stableid) | — |
| `reason` | enum (3) | — |
| `opponentRules` | `array` | — |
| `priorityRules` | `array` | — |
## `WhyNotStage`
Round of an executable `stage` named by a `why_not` report: same shape as `attributes.stage` of a `rule_application` node (the `index` is the index value — integer or ISO date — not a term) when the index lies in the domain, and `{name, index, outsideDomain: true}` outside it. On a rule blocker it names the round of the goal; on a conjunct, the round of the conjunct literal after substitution. Written by `why_not` only, and only in programs with an executable `stage`.
Type: `object`.
Required: `name`, `index`.
| name | type-or-$ref | description |
|---|---|---|
| `name` | `string` | — |
| `index` | `integer` or `string` | — |
| `rank` | `integer` | — |
| `outsideDomain` | `true` | — |
## `EvidenceBlocker`
Breakdown of the NO_ACCEPTANCE_RULE_APPLIED reason for one policy rule. Same shape as `why_not` blockers; `headArguments` appears only for a rule with a computed head argument, and is written non-empty. `strength`, `continuations`, `truncated` and `defeats` belong to `why_not` rule blockers only: policy blockers and transition blockers never carry them; `continuations` and `defeats` are written non-empty, `truncated` only as `true`. `stage` is likewise `why_not`-only and appears only in programs with an executable `stage`.
Type: `object`.
Required: `rule`, `applicability`, `trigger`, `conjuncts`.
| name | type-or-$ref | description |
|---|---|---|
| `rule` | [`#/$defs/StableId`](#stableid) | — |
| `headArguments` | `array` | — |
| `stage` | [`#/$defs/WhyNotStage`](#whynotstage) | — |
| `applicability` | enum (3) | — |
| `trigger` | enum (4) | — |
| `detail` | `string` | — |
| `conjuncts` | `array` | — |
| `strength` | enum (3) | — |
| `continuations` | `array` | — |
| `truncated` | `true` | — |
| `defeats` | `array` | — |