Interface: ReferenceValue
@kortexya/reasoninglayer / ReferenceValue
Interface: ReferenceValue
Section titled “Interface: ReferenceValue”Defined in: src/types/values.ts:135
A reference to another term, by UUID or by @key designator.
Remarks
Section titled “Remarks”Produces {"type": "Reference", "value": "uuid"} for the id form and
{"type": "Reference", "value": {"sort_name": "...", "features": {...}}}
for the designator form.
⚠️ That sort_name is the WIRE spelling, written by the engine’s own serde.
Through this type the field is spelled sortName and the wire spelling is
refused — see ReferenceDesignator, which is the shape value takes.
The two forms are not interchangeable. The designator is a WRITE-side
convenience: it RESOLVES to an existing term, and the engine refuses it when
nothing matches — it never mints the target. A READ always answers the
resolved UUID form, so a response never carries a designator. Measured on
2026-09-18: a term written with
{"type":"Reference","value":{"sort_name":"invoice","features":{"number":{"type":"String","value":"INV-1"}}}}
reads back as {"type":"Reference","value":"4641cbcb-79f4-413a-b4a4-2ba5d6bebf8d"}
— the id of the invoice that already existed — and the invoice extent still
held exactly one term.
See ReferenceDesignator for the refusals the designator form can produce.
Properties
Section titled “Properties”type:
"Reference"
Defined in: src/types/values.ts:136
value:
string|ReferenceDesignator
Defined in: src/types/values.ts:137