docs← Back to article

Markdown for LLMs

Arxo Fact Protocol fact set 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 Fact Protocol fact set 0.1

The facts of one external record produced by a source mapping: pins of the mapping, the model, and the record bytes; the facts in the host FactInput form with typed model terms and provenance; the record as an evidence item; and a trace of the JSON Pointers each fact was read from. facts and evidence pass unchanged into the facts and evidence of a law_ask call or of the Fact Protocol envelope {pin, facts, evidence, query}; the pin, the query, and the case context belong to the caller. The trace stays outside the facts: FactInput provenance is never extended. The contentHash self-pin excludes its own field; no time or host is stored inside, so equal inputs give equal bytes.

## Versions

Accepted `schemaVersion`: `law.fact-set/0.1`.

## Top-level fields

| name | type-or-$ref | required | description |
|---|---|---|---|
| `schemaVersion` | `"law.fact-set/0.1"` | yes | — |
| `mapping` | `object` | yes | — |
| `model` | `object` | yes | — |
| `record` | `object` | yes | — |
| `facts` | `array` | yes | In the order of the mapping's fact entries; within an entry, by the scope instance's entity id compared as bytes — independent of array order in the record. |
| `evidence` | `array` | yes | Empty when the mapping declares no evidence section, otherwise exactly one item: the record. |
| `trace` | `array` | yes | One entry per fact, same order: the mapping fact entry and the absolute JSON Pointers of the values it was read from. |
| `contentHash` | [`screen-binding.schema.json#/$defs/Digest`](/protocols/schemas/screen-binding/#digest) | yes | — |

## Enumerations

| location | values |
|---|---|
| `properties/schemaVersion` | `"law.fact-set/0.1"` |

## Raw schema

[`https://law.arxo.io/schema/fact-set.schema.json`](https://law.arxo.io/schema/fact-set.schema.json)