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