LDC-E1342 — Priority role the definition never exports
For LLMs5 sections
What it means
Section titled “What it means”A priority may order generated rules through the roles their template
exports: Instance.role names the rule the definition assigned to that
role. A role the definition never exported resolves to no rule, and an
edge into the void would read as law as written — so the compiler
stops at the side instead.
The repair is to export the role from the definition, or to point the priority at a role that is exported. Every side then lands on a rule that exists.
Example
Section titled “Example”language "law.core" version "0.2";package demo.diagnostics version "0.1.0";namespace "urn:law:demo:diagnostics";
entity Person;entity Choice;entity SpecialChoice : Choice;entity Other;const Selected: SpecialChoice = entity_ref("urn:choice:selected");const Wrong: Other = entity_ref("urn:choice:wrong");relation eligible(p: Person, choice: Choice) kind empirical;relation applicable(p: Person, choice: Choice) kind institutional;expansion fixed { params { subject: binder; choice: value; ground: relation(subject, choice); result: relation(subject, choice); } exports { outcome = self/result; } emit rule self/result defeasible { for subject; when ground(subject, choice); then result(subject, choice); scope from self; effective from self; labels from self; source from self; }}expand fixed Result { label en official "Fixed option"; bind subject = person: Person; choice = Selected; ground = eligible; result = applicable; effective [@2026-01-01, @2027-01-01);}priority P1 { prefer Result.outcome over Result.ghost; reason explicit_exception;}language "law.core" version "0.2";package demo.diagnostics version "0.1.0";namespace "urn:law:demo:diagnostics";
entity Person;entity Choice;entity SpecialChoice : Choice;entity Other;const Selected: SpecialChoice = entity_ref("urn:choice:selected");const Wrong: Other = entity_ref("urn:choice:wrong");relation eligible(p: Person, choice: Choice) kind empirical;relation applicable(p: Person, choice: Choice) kind institutional;expansion fixed { params { subject: binder; choice: value; ground: relation(subject, choice); result: relation(subject, choice); } emit rule self/result defeasible { for subject; when ground(subject, choice); then result(subject, choice); scope from self; effective from self; labels from self; source from self; }}expand fixed Result { label en official "Fixed option"; bind subject = person: Person; choice = Selected; ground = eligible; result = applicable; effective [@2026-01-01, @2027-01-01);}Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.