Markdown for LLMs
Arxo inspection 0.1
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# Arxo inspection 0.1
A read-only view over an already computed evaluation document and its pinned run context. It computes nothing, enters no hashes, and issues no new semantic verdicts; missing data is a limit state of the explanation, never a denial.
## Versions
No accepted version marker is declared.
## Top-level fields
No top-level properties: the schema root is no constraint.
## Enumerations
| location | values |
|---|---|
| `$defs/Schema` | `"law.inspection/0.1"` |
| `$defs/Operation` | `"summary"`, `"slice"`, `"diff"`, `"locate"` |
| `$defs/LimitState` | `"no_evidence"`, `"not_asked"`, `"unsupported"`, `"truncated"`, `"evaluation_failed"`, `"source_unavailable"`, `"hash_mismatch"` |
| `$defs/VerificationState` | `"verified"`, `"mismatch"`, `"unavailable"` |
| `$defs/Context/properties/route` | `"cli"`, `"mcp"`, `"wasm"`, `"sdk"`, `"case"` |
| `$defs/Select/properties/watch/items/properties/kind` | `"applied"`, `"defeated"`, `"judgment"`, `"interpretation"`, `"stage"`, `"status"` |
| `$defs/Request/if/properties/operation` | `"diff"` |
| `$defs/Answer/properties/ok` | `true` |
| `$defs/Answer/properties/verification/properties/index` | `"bound"`, `"consistent"`, `"mismatch"`, `"unavailable"` |
| `$defs/RequestError/properties/ok` | `false` |
| `$defs/RequestError/properties/error/properties/code` | `"REQUEST_NOT_OBJECT"`, `"SCHEMA_MISSING"`, `"SCHEMA_MISMATCH"`, `"OPERATION_MISSING"`, `"OPERATION_UNKNOWN"`, `"DOCUMENT_MISSING"`, `"AGAINST_MISSING"`, `"AGAINST_NOT_OBJECT"`, `"AGAINST_DOCUMENT_MISSING"`, `"SELECT_NOT_OBJECT"`, `"PAGE_NOT_OBJECT"` |
| `$defs/Bundle/properties/schema` | `"law.inspection-bundle/0.1"` |
| `$defs/Bundle/properties/index/anyOf/1/properties/inputMode` | `"single-input"`, `"reread"` |
## Raw schema
[`https://law.arxo.io/schema/inspection.schema.json`](https://law.arxo.io/schema/inspection.schema.json)
## `Schema`
Values: `"law.inspection/0.1"`.
## `Operation`
Values: `"summary"`, `"slice"`, `"diff"`, `"locate"`.
## `LimitState`
The seven limit states of an explanation.
Values: `"no_evidence"`, `"not_asked"`, `"unsupported"`, `"truncated"`, `"evaluation_failed"`, `"source_unavailable"`, `"hash_mismatch"`.
## `VerificationState`
Values: `"verified"`, `"mismatch"`, `"unavailable"`.
## `EvaluationDocument`
An evaluation document in either evaluation form, or a refusal document of the form {"error": ...} with no graph; only the object shape is checked here.
## `Context`
The pinned run context: lockfile, resources, semantics release, and route. Any field may be absent — the inspector then answers with a source_unavailable limit state naming the field.
Type: `object`.
| name | type-or-$ref | description |
|---|---|---|
| `route` | enum (5) | — |
| `release` | `string` | — |
| `programHash` | `string` | — |
| `resolutionHash` | `string` | — |
| `lock` | — | — |
| `resources` | `array` | — |
| `packages` | `array` | — |
## `Side`
Type: `object`.
Required: `document`.
| name | type-or-$ref | description |
|---|---|---|
| `document` | [`#/$defs/EvaluationDocument`](#evaluationdocument) | — |
| `snapshot` | `object` or `null` | A snapshot of the compiled program. Without it, labels and resolved names are read from the document URNs and marked source_unavailable. |
| `context` | anyOf (2) | — |
## `Select`
The address of a slice: at least one field, or watch alone (watching the whole answer). Empty means a slice over every result of the document.
Type: `object`.
| name | type-or-$ref | description |
|---|---|---|
| `query` | `string` | A query id or a result id. |
| `rule` | `string` | The stable id of a rule. |
| `position` | `string` | A position id. |
| `node` | `string` | A proof-node id. |
| `watch` | `array` | Watch conditions — filters over the slice, never new nodes: applied (a rule fired), defeated (defeated), judgment (a judgment was requested), interpretation (a reading was chosen), stage (round nodes), status (position status history). |
## `Page`
Type: `object`.
| name | type-or-$ref | description |
|---|---|---|
| `cursor` | `string` or `null` | — |
| `budgetBytes` | `integer` | — |
## `Request`
Type: `object`.
Required: `schema`, `operation`, `document`.
| name | type-or-$ref | description |
|---|---|---|
| `schema` | [`#/$defs/Schema`](#schema) | — |
| `operation` | [`#/$defs/Operation`](#operation) | — |
| `document` | [`#/$defs/EvaluationDocument`](#evaluationdocument) | — |
| `snapshot` | `object` or `null` | — |
| `context` | anyOf (2) | — |
| `against` | anyOf (2) | The second side of a diff; ignored by every other operation. |
| `select` | anyOf (2) | — |
| `page` | anyOf (2) | — |
| `bundle` | anyOf (2) | — |
| `index` | `object` or `null` | The program editor index; read only when the verification index state is bound. |
| `sources` | `object` or `null` | Current digests of author files, uri to sha256, as presented by the adapter; the inspector never reads files itself. |
## `Limit`
Type: `object`.
Required: `state`, `address`, `note`.
| name | type-or-$ref | description |
|---|---|---|
| `state` | [`#/$defs/LimitState`](#limitstate) | — |
| `address` | `string` | The address of what is missing or truncated: a document path, a snapshot path, a context field, or an operation name. |
| `note` | `string` | — |
## `Answer`
Type: `object`.
Required: `schema`, `ok`, `operation`, `verification`, `limits`, `page`.
| name | type-or-$ref | description |
|---|---|---|
| `schema` | [`#/$defs/Schema`](#schema) | — |
| `ok` | `true` | — |
| `operation` | [`#/$defs/Operation`](#operation) | — |
| `verification` | `object` | — |
| `limits` | `array` | — |
| `page` | `object` | — |
| `summary` | `object` | The summary body: origin card, queries, positions, issues, conflicts, and judgment requests. |
| `slice` | `object` | The slice body. |
| `diff` | `object` | The diff body: context, result, and justification. |
| `locate` | `object` | The locate body: the declaration address and its source spans. |
| `runId` | `string` | The id of a saved run — consumed by the law.inspect language-server route. |
## `RequestError`
The single error path: the request cannot be read. Everything else is a limit state inside a well-formed answer.
Type: `object`.
Required: `schema`, `ok`, `error`.
| name | type-or-$ref | description |
|---|---|---|
| `schema` | [`#/$defs/Schema`](#schema) | — |
| `ok` | `false` | — |
| `error` | `object` | — |
## `Bundle`
A bundle of the document, the exact snapshot, and the editor index, written by the compiler adapter that ran the evaluation, with machine output saved. Hashes keep the parts checkable; the link between them is vouched for by the producer, never by a field’s own claim.
Type: `object`.
Required: `schema`, `producer`, `document`, `snapshot`, `index`.
| name | type-or-$ref | description |
|---|---|---|
| `schema` | `"law.inspection-bundle/0.1"` | — |
| `producer` | `object` | — |
| `document` | `object` | — |
| `snapshot` | `object` | — |
| `index` | anyOf (2) | — |
| `indexUnavailable` | `string` | — |
| `sources` | `array` | — |
| `question` | `object` | — |
| `inputs` | `object` | — |