Markdown for LLMs
law serve decision record 0.1
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# law serve decision record 0.1
Append-only host record. `recordHash` covers the canonical bytes excluding `recordHash` and timing; `executionReceipt` carries its own receipt hash. Hash verification is performed by the journal reader.
## Versions
Accepted `schemaVersion`: `law.serve.decision-record/0.1`.
## Top-level fields
| name | type-or-$ref | required | description |
|---|---|---|---|
| `schemaVersion` | `"law.serve.decision-record/0.1"` | yes | — |
| `decisionId` | `string` | yes | — |
| `sequence` | `integer` | yes | — |
| `attempt` | `integer` | yes | — |
| `idempotencyKey` | `string` | no | — |
| `world` | `object` | yes | — |
| `engine` | `object` | yes | — |
| `request` | `object` | yes | — |
| `outcome` | oneOf (2) | yes | — |
| `executionReceipt` | [`evaluation.schema.json#/$defs/ExecutionReceipt`](/protocols/schemas/evaluation/#executionreceipt) | yes | — |
| `recordHash` | [`#/$defs/Digest`](#digest) | yes | — |
| `timing` | `object` | yes | — |
## Enumerations
| location | values |
|---|---|
| `properties/schemaVersion` | `"law.serve.decision-record/0.1"` |
| `properties/engine/properties/host` | `"law-serve-core"` |
| `$defs/ParsedHttpEnvelope/properties/proof` | `"full"`, `"omit"` |
| `$defs/CheckFileEnvelope/properties/source` | `"check-file"` |
| `$defs/DocumentOutcome/properties/kind` | `"document"` |
| `$defs/DocumentOutcome/properties/proofMode` | `"full"`, `"omitted"` |
| `$defs/DocumentOutcome/oneOf/0/properties/proofMode` | `"full"` |
| `$defs/DocumentOutcome/oneOf/1/properties/proofMode` | `"omitted"` |
| `$defs/RefusalOutcome/properties/kind` | `"refusal"` |
## Raw schema
[`https://law.arxo.io/schema/decision-record.schema.json`](https://law.arxo.io/schema/decision-record.schema.json)
## `Digest`
Type: `string`.
## `ParsedHttpEnvelope`
The exact parsed HTTP request, including a question that may later be refused by preparation.
Type: `object`.
Required: `pin`, `case`.
| name | type-or-$ref | description |
|---|---|---|
| `pin` | [`serve-envelope.schema.json#/$defs/RequestPin`](/protocols/schemas/serve-envelope/#requestpin) | — |
| `case` | `string` | — |
| `query` | `object` | — |
| `evaluate` | `string` | — |
| `queryId` | `string` | — |
| `proof` | enum (2) | — |
## `CheckFileEnvelope`
Type: `object`.
Required: `source`, `row`, `case`, `templateHash`, `caseSource`, `input`, `queryId`, `question`.
| name | type-or-$ref | description |
|---|---|---|
| `source` | `"check-file"` | — |
| `row` | `integer` | — |
| `case` | `string` | — |
| `templateHash` | [`#/$defs/Digest`](#digest) | — |
| `caseSource` | `string` or `null` | — |
| `input` | `object` | — |
| `queryId` | `string` | — |
| `question` | `object` | — |
## `DocumentOutcome`
Type: `object`.
Required: `kind`, `proofMode`, `outcomeHash`, `caseHash`, `results`.
| name | type-or-$ref | description |
|---|---|---|
| `kind` | `"document"` | — |
| `proofMode` | enum (2) | — |
| `outcomeHash` | [`#/$defs/Digest`](#digest) | — |
| `resultHash` | [`#/$defs/Digest`](#digest) | — |
| `caseHash` | [`#/$defs/Digest`](#digest) | — |
| `legalTime` | [`evaluation.schema.json#/$defs/LegalTime`](/protocols/schemas/evaluation/#legaltime) | — |
| `results` | `array` | — |
## `RefusalOutcome`
Type: `object`.
Required: `kind`, `error`.
| name | type-or-$ref | description |
|---|---|---|
| `kind` | `"refusal"` | — |
| `error` | `object` | — |
| `body` | `object` | Optional, additive: the refusal envelope exactly as the service answered it, present when the engine or preparation supplied its own body — a typed request refusal {"error": …} or the separate {"hostError": …} channel. Absent for the host's own refusals, whose envelope is {"error": {code, message}}. Replay must reproduce it verbatim. |