# 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.