Markdown for LLMs
LDC-E5102 — A fragment pointing at a missing edition
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# LDC-E5102 — A fragment pointing at a missing edition
## What it means
Every fragment lives in one declared edition: the `in` reference says
which edition carries the quoted text. When that name matches no edition
in the package, the fragment cannot be placed and the compiler refuses
the dangling reference.
Declare the edition, or correct the name after `in`. The same refusal
covers an alignment endpoint that names something other than a local
fragment.
The same error covers a local `fragment.parent` that is missing or names
another declaration kind. A qualified foreign parent must resolve to a
public fragment in the pinned context; a wrong target kind is E5102,
while a missing context or export is E1105.
It also rejects a missing or wrong-kind edition target of `publication.of`
or `revision.previous` / `revision.next`. Revision endpoints are checked
even when the edge carries no operations. A publication without `of` is
rejected as well.
## Example
```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
source S1 { kind statute; }
edition E1 of S1 { language en; officiality official; }
fragment F1 in Missing { text en official "Duty applies."; }
```
## Fix
```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
source S1 { kind statute; }
edition E1 of S1 { language en; officiality official; }
fragment F1 in E1 { text en official "Duty applies."; }
```
## Engine message
The engine reports this in its own wording:
```text
example.law:7:16: error LDC-E5102: fragment "F1": edition "Missing" is not declared (§194: unresolved fragment)
```
## Related
- [Sources](/constructs/sources/) — how works, editions, and fragments are declared.