# LDC-E5207 — Pinning without a declared status ## What it means Byte pinning is a declared status, not something the compiler infers from a stray hash. When an edition — or one of its publications — carries a `content_hash` but the edition declares no `materialization_status`, the package claims pinned bytes without saying what kind of pinning that is. The compiler warns and asks for the status to be written down. Declaring the status is the whole fix. ## 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; content_hash "sha256:ab"; } ``` ## 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; content_hash "sha256:ab"; } ``` ## Engine message The engine reports this in its own wording: ```text example.law:6:9: warning LDC-E5207: edition "E": byte pinning is declared (edition or publication `content_hash`), but `materialization_status` is not declared — §27.2 requires declaring the status, not deriving it from publication presence ``` ## Related - [Sources](/constructs/sources/) — how editions declare their byte status.