Markdown for LLMs
LDC-E5203 — Non-string content hash on a fragment
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# 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.