Markdown for LLMs
LDC-E1320 — Case import without a version
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# LDC-E1320 — Case import without a version
## What it means
A case is computation input, and its world must be reproducible down
to the exact dependency releases it ran against. An import without a
version leaves that world undefined: any release could satisfy it, and
two runs could compute in two different worlds. The compiler stops at
the versionless import rather than guessing a release.
The repair is to pin the exact version on the import. Program sources
may leave the version to the lockfile; a case may not, because the
case itself is the input whose recorded world must be exact.
## Example
```run
{"argv": ["lower-case", "$ROOT/case.law"], "files": {"case.law": "language \"law.core\" version \"0.2\";\npackage demo.diagnostics version \"0.1.0\";\nnamespace \"urn:law:demo:diagnostics\";\n\nimport dep.shapes;\n\nentity A;\n\ncase Solo {\n context {\n legal_time @2026-08-26;\n }\n}\n"}, "expect": "LDC-E1320"}
```
## Fix
```run
{"argv": ["lower-case", "$ROOT/case.law"], "files": {"case.law": "language \"law.core\" version \"0.2\";\npackage demo.diagnostics version \"0.1.0\";\nnamespace \"urn:law:demo:diagnostics\";\n\nimport dep.shapes version \"0.1.0\";\n\nentity A;\n\ncase Solo {\n context {\n legal_time @2026-08-26;\n }\n}\n"}, "expect": null}
```
## Engine message
The engine reports this in its own wording:
```text
$ROOT/case.law:5:1: error LDC-E1320: the case imports dep.shapes without a version (§169: unpinned package) — give the exact version: computation input must be reproducible
```
## Related
- [LDC-E1315](/diagnostics/LDC-E1315/) — lowering a file that declares no case.
- [LDC-E1110](/diagnostics/LDC-E1110/) — naming a version the dependency does not carry.