docs← Back to article

Markdown for LLMs

EvaluationRequest

The source Markdown for this article. Copy it into your assistant or download it as a text file.

Download this articlePlain text ↗
# EvaluationRequest

The single closed input of evaluate(request). Execution options are permitted only in case.options.

## Versions

Accepted `schemaVersion`: `law.core.evaluation-request/0.2`.

## Top-level fields

| name | type-or-$ref | required | description |
|---|---|---|---|
| `schemaVersion` | `"law.core.evaluation-request/0.2"` | yes | — |
| `semanticVersion` | `string` | yes | An exact release identity, or a line name resolved through the build's line defaults; registration, build admission and R/I equality are checked before execution. |
| `ir` | allOf (2) | yes | — |
| `case` | [`#/$defs/Case`](#case) | yes | — |
| `query` | [`query.schema.json`](/protocols/schemas/query/) | yes | — |
| `calendar` | `string` | no | Bytes of the pinned calendar resource in UTF-8 JSON; transport, not a case option. |
| `externalSnapshots` | `array` | no | — |
| `receipt` | [`evaluation.schema.json#/$defs/ExecutionReceipt`](/protocols/schemas/evaluation/#executionreceipt) | no | — |
| `editionsAsPresented` | [`evaluation.schema.json#/$defs/LegalTime`](/protocols/schemas/evaluation/#legaltime) | no | The date as of which the set of the program's normative nodes has already been projected by the caller. At this date, the case-date condition on the date of law is not executed; transport only, not included in caseHash, included in the manifest and in the semantic hash. |
| `layer` | enum (2) | no | Layer of the executing implementation. Transport only: not included in case.options, caseHash, the manifest or the semantic hash. The layered run returns a document byte-identical to the full run, or refuses before any inference with LAYER_EXCEEDED / EVIDENCE_POLICY_LAYER_CONFLICT. |

## Enumerations

| location | values |
|---|---|
| `properties/schemaVersion` | `"law.core.evaluation-request/0.2"` |
| `properties/ir/allOf/1/properties/schemaVersion` | `"law.core.ir/0.2"`, `"law.core.ir/0.3"`, `"law.core.ir/0.4"`, `"law.core.ir/0.5"`, `"law.core.ir/0.6"` |
| `properties/layer` | `"L0"`, `"L1"` |
| `$defs/FactInput/properties/provenance/properties/origin` | `"case_input"`, `"source_asserted"`, `"external_snapshot"`, `"derived"`, `"adjudicated"`, `"assumed_for_simulation"` |
| `$defs/EvaluationOptions/properties/mode` | `"advisory"`, `"compliance"`, `"regulatory"`, `"simulation"`, `"audit"` |

## Raw schema

[`https://law.arxo.io/schema/evaluation-request.schema.json`](https://law.arxo.io/schema/evaluation-request.schema.json)

## `Case`

Type: `object`.
Required: `assertions`, `context`, `options`.

| name | type-or-$ref | description |
|---|---|---|
| `assertions` | `array` | — |
| `constants` | `array` or `object` | — |
| `context` | `object` | — |
| `entityLabels` | — | Labels of case entities: StableId to a non-empty array of Legal IR labels. Presentational: outside caseHash, the manifest and resultHash. The shape is checked by the evaluator with verbatim messages, not by this schema, so all implementations refuse with one text. |
| `contextProfiles` | `object` | — |
| `evidence` | `array` | — |
| `externalData` | `array` or `object` | — |
| `options` | [`#/$defs/EvaluationOptions`](#evaluationoptions) | — |
| `solverProfile` | `string` | — |
| `supportEdges` | `array` | — |
| `verifications` | `array` | Pinned results of external document-authenticity verification. Case transport: covered by caseHash, not computed by the core. |
| `sources` | `array` | Routes for presenting records from snapshots of other cases: alias, snapshot contentHash, source, and the selected records in `use` order. Written only when the set is non-empty; covered by caseHash. |

## `CaseSource`

Type: `object`.
Required: `alias`, `snapshot`, `package`, `case`, `records`.

| name | type-or-$ref | description |
|---|---|---|
| `alias` | `string` | — |
| `snapshot` | `string` | — |
| `package` | `object` | — |
| `case` | `string` | — |
| `records` | `array` | — |

## `EvidenceVerification`

Type: `object`.
Required: `id`, `evidence`, `documentHash`, `verifier`, `outcome`, `recordedAt`.

| name | type-or-$ref | description |
|---|---|---|
| `id` | `string` | — |
| `evidence` | [`legal-ir.schema.json#/$defs/StableId`](/protocols/schemas/legal-ir/#stableid) | — |
| `documentHash` | [`legal-ir.schema.json#/$defs/Digest`](/protocols/schemas/legal-ir/#digest) | — |
| `verifier` | `string` | — |
| `outcome` | `string` | — |
| `recordedAt` | [`legal-ir.schema.json#/$defs/InstantString`](/protocols/schemas/legal-ir/#instantstring) | The moment the verification result became available. Required: a record later than knowledgeTime is not included in the output; there is no implicit Date to Instant conversion. |

## `FactInput`

Host sugar of one fact. Lowered into an assertion. Provenance is optional; a call without it is the legacy fact form. The document and the support edges travel as case.evidence and case.supportEdges, not inside this object. Confidence is carried, not evaluated.

Type: `object`.
Required: `predicate`, `args`.

| name | type-or-$ref | description |
|---|---|---|
| `predicate` | `string` | — |
| `args` | `array` | — |
| `negated` | `boolean` | — |
| `package` | `string` | — |
| `judgment` | `object` | Adjudicated answer. Authority must be the declared organ, or the assertion is rejected. |
| `provenance` | `object` | — |

## `EvaluationOptions`

Type: `object`.

| name | type-or-$ref | description |
|---|---|---|
| `mode` | enum (5) | — |
| `limits` | — | — |
| `on_accepted_conflict` | — | — |
| `selectedInterpretations` | — | — |
| `calendarSnapshot` | — | — |
| `temporalResolutionPolicy` | — | — |
| `manifestId` | — | — |
| `lockfileHash` | — | — |
| `evidenceSnapshotHash` | — | — |
| `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. |
| `policies` | — | — |