docs← Back to article

Markdown for LLMs

LDC-E1357 — Foreign policy of the wrong kind

The source Markdown for this article. Copy it into your assistant or download it as a text file.

Download this articlePlain text ↗
# LDC-E1357 — Foreign policy of the wrong kind

## What it means

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.

## Example

```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"}
```

## Fix

```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}
```

## Engine message

The engine reports this in its own wording:

```text
$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)
```

## Related

- [LDC-E1332](/diagnostics/LDC-E1332/) — a policy axis in an unresolvable shape.
- [LDC-E1105](/diagnostics/LDC-E1105/) — reaching for a dependency nobody presents.