Skip to content
docs
Arxo ↗

LDC-E1357 — Foreign policy of the wrong kind

For LLMs5 sections

A case context can borrow a policy from another package by qualified name — but the position decides what kind of thing fits: a deadline axis takes a deadline policy, a temporal axis a temporal one. The compiler checks the target’s kind against the position, not just its name. A public name of the wrong kind is refused at the axis: borrowing an entity where a policy belongs would silently change what the case runs under.

The repair is to point at a real policy of the needed kind, or to declare one locally. The name resolving is not enough; the kind must match the seat.

run
{"argv": ["lower-case", "$ROOT/case.law", "--imports", "$ROOT/imports.json"], "files": {"case.law": "language \"law.core\" version \"0.2\";\npackage demo.diagnostics version \"0.1.0\";\nnamespace \"urn:law:demo:diagnostics\";\n\nentity A;\n\ncase Solo {\n context {\n legal_time @2026-08-26;\n deadline_policy dep.shapes::Cal;\n }\n}\n", "imports.json": "[{\"package\": {\"name\": \"dep.shapes\", \"version\": \"0.1.0\", \"namespace\": \"urn:law:dep:shapes\", \"semanticHash\": \"sha256:0\"}, \"contentHash\": \"sha256:0\", \"exports\": [\"Cal\"], \"exportKinds\": {\"Cal\": \"entity\"}}]"}, "expect": "LDC-E1357"}
run
{"argv": ["lower-case", "$ROOT/case.law", "--imports", "$ROOT/imports.json"], "files": {"case.law": "language \"law.core\" version \"0.2\";\npackage demo.diagnostics version \"0.1.0\";\nnamespace \"urn:law:demo:diagnostics\";\n\nentity A;\n\ncase Solo {\n context {\n legal_time @2026-08-26;\n deadline_policy dep.shapes::Cal;\n }\n}\n", "imports.json": "[{\"package\": {\"name\": \"dep.shapes\", \"version\": \"0.1.0\", \"namespace\": \"urn:law:dep:shapes\", \"semanticHash\": \"sha256:0\"}, \"contentHash\": \"sha256:0\", \"exports\": [\"Cal\"], \"exportKinds\": {\"Cal\": \"deadline_policy\"}}]"}, "expect": null}

The engine reports this in its own wording:

Output
$ROOT/case.law:10:25: error LDC-E1357: deadline_policy axis §168.2 dep.shapes::Cal: target has kind "entity", but this position allows only "deadline_policy" (§24)

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

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