Markdown for LLMs
LDC-E1362 — Case use without a snapshot
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# LDC-E1362 — Case use without a snapshot
## What it means
A case composes external input through named snapshots: a top-level
`snapshot` declaration binds an alias to an exported file, and the
case body attaches it with `use`. A `use` that names no declared
snapshot attaches nothing — the alias points nowhere, so the case
would compute with input missing. The compiler stops at the use
rather than running a case whose composition is incomplete.
The repair is to declare the snapshot the use names, or to drop the
use. An alias with no declaration is either a missing snapshot or a
leftover reference — the fix declares which.
## 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\nentity A;\n\ncase Solo {\n context {\n legal_time @2026-08-26;\n }\n\n use Ghost {\n record \"urn:law:demo:diagnostics#r1\";\n }\n}\n"}, "expect": "LDC-E1362"}
```
## 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\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:12:5: error LDC-E1362: use Ghost: no snapshot with this alias is declared — a declaration `snapshot Ghost "<path>";` (§168.5)
```
## Related
- [LDC-E1363](/diagnostics/LDC-E1363/) — a snapshot in a file that takes none.
- [LDC-E1315](/diagnostics/LDC-E1315/) — lowering a file that declares no case.