Markdown for LLMs
LDC-E5205 — Pinned edition needs a fragment hash
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# LDC-E5205 — Pinned edition needs a fragment hash
## What it means
An edition whose declared status says its bytes are pinned promises that
every fragment text can be re-verified against a digest. The promise is
kept fragment by fragment: each fragment carrying official text must carry
its own `content_hash`. When a fragment has text but no hash, the edition
claim is backed by nothing at that spot, and the compiler reports the
fragment. Editions without a pinned status carry no such duty.
## Example
```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
source S { kind law; }
edition E of S { language ru-KZ; officiality official; materialization_status PINNED_UNOFFICIAL_COPY; }
fragment F in E { kind article; locator "article/1";
text ru-KZ official """Статья 1. Взнос."""; }
```
## Fix
```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
source S { kind law; }
edition E of S { language ru-KZ; officiality official; materialization_status ABSTRACT_ONLY; }
fragment F in E { kind article; locator "article/1";
text ru-KZ official """Статья 1. Взнос."""; }
```
## Engine message
The engine reports this in its own wording:
```text
example.law:7:10: error LDC-E5205: fragment "F": edition "E" declares pinned bytes (§27.2), so the fragment official text must carry `content_hash` — §194 formalization source text hash missing
```
## Related
- [Sources](/constructs/sources/) — how fragments pin their official text.