docs← Back to article

Markdown for LLMs

Arxo counterfactual input 0.1

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

Download this articlePlain text ↗
# Arxo counterfactual input 0.1

Finite, hash-pinned candidate worlds for a counterfactual declaration: alternative inputs the search may explore.

## Versions

Accepted `schemaVersion`: `law.core.counterfactual-input/0.1`.

## Top-level fields

| name | type-or-$ref | required | description |
|---|---|---|---|
| `schemaVersion` | `"law.core.counterfactual-input/0.1"` | yes | — |
| `kind` | `"counterfactual-input"` | yes | — |
| `id` | [`#/$defs/StableId`](#stableid) | yes | — |
| `programHash` | [`#/$defs/Digest`](#digest) | yes | — |
| `caseHash` | [`#/$defs/Digest`](#digest) | yes | — |
| `counterfactual` | [`#/$defs/StableId`](#stableid) | yes | — |
| `costModel` | [`#/$defs/StableId`](#stableid) | yes | — |
| `candidates` | `array` | yes | — |
| `contentHash` | [`#/$defs/Digest`](#digest) | yes | — |
| `metadata` | `object` | no | — |

## Enumerations

| location | values |
|---|---|
| `properties/schemaVersion` | `"law.core.counterfactual-input/0.1"` |
| `properties/kind` | `"counterfactual-input"` |
| `$defs/SetConst/properties/kind` | `"setConst"` |
| `$defs/AddAssertion/properties/kind` | `"addAssertion"` |
| `$defs/RemoveAssertion/properties/kind` | `"removeAssertion"` |
| `$defs/SetContext/properties/kind` | `"setContext"` |

## Raw schema

[`https://law.arxo.io/schema/counterfactual-input.schema.json`](https://law.arxo.io/schema/counterfactual-input.schema.json)

## `StableId`

Type: `string`.

## `Digest`

Type: `string`.

## `DecimalString`

Type: `string`.

## `JsonValue`

Definition `JsonValue`.

## `SetConst`

Type: `object`.
Required: `kind`, `target`, `value`.

| name | type-or-$ref | description |
|---|---|---|
| `kind` | `"setConst"` | — |
| `target` | [`#/$defs/StableId`](#stableid) | — |
| `value` | [`legal-ir.schema.json#/$defs/Term`](/protocols/schemas/legal-ir/#term) | — |

## `AddAssertion`

Type: `object`.
Required: `kind`, `assertion`.

| name | type-or-$ref | description |
|---|---|---|
| `kind` | `"addAssertion"` | — |
| `assertion` | [`legal-ir.schema.json#/$defs/Assertion`](/protocols/schemas/legal-ir/#assertion) | — |

## `RemoveAssertion`

Type: `object`.
Required: `kind`, `assertion`.

| name | type-or-$ref | description |
|---|---|---|
| `kind` | `"removeAssertion"` | — |
| `assertion` | [`#/$defs/StableId`](#stableid) | — |

## `SetContext`

Type: `object`.
Required: `kind`, `target`, `value`.

| name | type-or-$ref | description |
|---|---|---|
| `kind` | `"setContext"` | — |
| `target` | `string` | — |
| `value` | [`#/$defs/JsonValue`](#jsonvalue) | — |

## `Operation`

Definition `Operation`.

## `Candidate`

Type: `object`.
Required: `id`, `cost`, `operations`.

| name | type-or-$ref | description |
|---|---|---|
| `id` | [`#/$defs/StableId`](#stableid) | — |
| `cost` | [`#/$defs/DecimalString`](#decimalstring) | — |
| `operations` | `array` | — |
| `metadata` | `object` | — |