# LDC-E5203 — Non-string content hash on a fragment ## What it means A fragment pins its official text with a `content_hash`: a single string naming the digest the text was pinned with. The compiler hashes the text itself and compares the two values. When the field holds anything but a string, there is nothing to compare, so the compiler stops at the field — write the digest as one quoted string. ## 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 ABSTRACT_ONLY; } fragment F in E { kind article; locator "article/1"; text ru-KZ official """Статья 1. Взнос."""; content_hash 42; } ``` ## 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:9:3: error LDC-E5203: fragment "F": content_hash is not a string ``` ## Related - [Sources](/constructs/sources/) — how fragments pin their official text.