docs← Back to article

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.

Download this articlePlain text ↗
# 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.