Skip to content
docs
Arxo ↗

Arxo A3 decision table 0.1

For LLMs20 sections

Canonical typed decision table: the authoring surface of the A3 format.

Accepted schemaVersion: law.decision/0.1.

nametype-or-$refrequireddescription
schemaVersion"law.decision/0.1"yes—
kind"decision-table"yes—
id#/$defs/StableIdyes—
modeenum (2)yes—
hitPolicyenum (6)yes—
priorityOrderarrayno—
totalbooleanyes—
aggregationenum (5)no—
inputsarrayyes—
outputsarrayyes—
emit#/$defs/EmitTargetno—
rowsarrayyes—
labelsarraynoLabels of the table ITSELF — they propagate to its symbol_decl. They do not spill onto rows: a row has its own carrier, because the table generates a node for each row, and the table label would give them all the same name.
metadataobjectno—
locationvalues
properties/schemaVersion"law.decision/0.1"
properties/kind"decision-table"
properties/mode"function", "rules"
properties/hitPolicy"unique", "first", "any", "priority", "collect", "multiple"
properties/aggregation"list", "count", "sum", "min", "max"
allOf/0/if/properties/hitPolicy"priority"
allOf/1/if/properties/mode"rules"
allOf/2/if/properties/hitPolicy"collect"
$defs/LiteralTerm/properties/kind"value"
$defs/Operand/oneOf/1/properties/kind"parameter"
$defs/Condition/oneOf/0/properties/kind"any"
$defs/Condition/oneOf/1/properties/kind"comparison"
$defs/Condition/oneOf/1/properties/op"eq", "neq", "lt", "lte", "gt", "gte"
$defs/Condition/oneOf/2/properties/kind"interval"
$defs/Condition/oneOf/3/properties/kind"in"
$defs/Condition/oneOf/4/properties/kind"and"
$defs/Label/properties/status"official", "unofficial", "translation"
$defs/EmitArgument/oneOf/0/properties/kind"input"
$defs/EmitArgument/oneOf/1/properties/kind"output"
$defs/EmitArgument/oneOf/2/properties/kind"literal"
$defs/EmitTarget/properties/polarity"positive", "negative"

https://law.arxo.io/schema/decision-table.schema.json

Type: string.

Type: string.

Type: object. Required: name.

nametype-or-$refdescription
name#/$defs/StableId—
argsarray—
optionalboolean—

Definition JsonValue.

Type: object. Required: kind, type.

nametype-or-$refdescription
currencystring—
displaystring—
kind"value"—
type#/$defs/TypeRef—
unitstring—
value#/$defs/JsonValue—
factorsarrayThe multiset of base units of a quantity. unit is not parsed on read but is CHECKED against its rendering: the “base per base” grammar is ambiguous.
lowerstringLower bound of the interval, an irreducible fraction <n>/<d>.
upperstringUpper bound of the interval.
derivationstringThe derivation canon. The bounds are RECOMPUTED from it, not checked field by field.
polyarrayAlgebraic minimal-polynomial coefficients in ascending order, as ASCII-int decimal strings; verified through the canon funnel on read, never trusted.
rootinteger1-based index of the real root in ascending order; range-checked against the Sturm count on read.
exprstringReal-expression canon string; verified through the constructor funnel on read, never trusted.

Definition Operand.

Definition Condition.

Type: object. Required: id, type.

nametype-or-$refdescription
id#/$defs/LocalId—
namestring—
type#/$defs/TypeRef—

Type: object. Required: id, type.

nametype-or-$refdescription
id#/$defs/LocalId—
namestring—
type#/$defs/TypeRef—

Type: object. Required: input, condition.

nametype-or-$refdescription
input#/$defs/LocalId—
condition#/$defs/Condition—

Type: object. Required: output, value.

nametype-or-$refdescription
output#/$defs/LocalId—
value#/$defs/Operand—

Type: object. Required: id, when, then, anchors.

nametype-or-$refdescription
id#/$defs/LocalId—
whenarray—
thenarray—
anchorsarray—
labelsarrayLabels of a table row. They propagate to the nodes generated by THIS row (in mode=rules — to its rule, in mode=function — to its helper symbol); the table label does NOT spill onto rows, otherwise every row would be named after the table. Outside the semantic hash, inside the content hash of the node.

Type: string.

A copy of the label definition from the intermediate-representation schema: A3 schemas are self-contained and do not borrow even their own primitives (StableId, LiteralTerm, TypeRef).

Type: object. Required: language, status, text.

nametype-or-$refdescription
grammaticalFormsobjectMorphological forms of the label; the key is a slot from the closed dictionary of its language tag, the value is a non-empty form.
language#/$defs/LanguageTag—
statusenum (3)—
textstring—

Definition EmitArgument.

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

nametype-or-$refdescription
predicate#/$defs/StableId—
polarityenum (2)—
argsarray—

Documentation for Arxo. Writings — blog.arxo.io.

Anonymous visit counts on stats.arxo.io, no cookies.