# LDC-E1321 — Declaration the compiler does not lower ## What it means An unknown or unsupported declaration has no node the compiler can lower. Losing it silently would check a program different from the one written, so the compiler stops at the declaration instead. The same error covers a declaration whose executable node is skipped because its condition or head is outside the lowering slice, including an exception or conditional priority. Both `check` and `lower` refuse it (§210.1). Unsupported semantic fields in norm payloads, goals, and assertions also produce this error. Examples include duty policies outside the implemented slice, `termination` on a goal, `goal` or `activation` on an L3 payload, and `judgment` or `confidence` on a surface assertion. The message identifies the lost field. Assertion fields are checked on case and `given` lowering as well; the CLI refuses before emitting a partial document. The repair is to remove the declaration, or to express the same content with constructs from the lowered slice. What stays in the file all lowers. ## Example ```law language "law.core" version "0.2"; package demo.diagnostics version "0.1.0"; namespace "urn:law:demo:diagnostics"; entity Tenant; power Grant { } ``` ## Fix ```law language "law.core" version "0.2"; package demo.diagnostics version "0.1.0"; namespace "urn:law:demo:diagnostics"; entity Tenant; ``` ## Engine message The engine reports this in its own wording: ```text example.law:6:1: error LDC-E1321: unsupported declaration `power`: it has no CLIR node, and the package program differs from the written one (§210). Remove the declaration or express it with L0-slice constructs ``` ## Related - [Vocabulary](/constructs/vocabulary/) — how names are declared and which positions take them. - [Powers](/constructs/power/) — the concept this spelling reaches for.