# LDC-E1373 โ€” Source link outside the dictionary ## What it means A source annotation records how a declaration relates to its source: it formalizes it, quotes it, interprets it, and so on. Its named attributes are limited to `relation`, `coverage`, and `quote`. Unknown attribute names and relation/coverage values outside their closed dictionaries are refused at the annotation, including declarations nested in an interpretation. Valid attributes are preserved in typed anchor nodes; a misspelled name must not silently disappear during lowering. Quote shape and inclusion are checked separately by E5208. The repair is to use one of the listed relations. The annotation describes the link; it must speak the language the tooling reads. ## Example ```law language "law.core" version "0.2"; package demo.diagnostics version "0.1.0"; namespace "urn:law:demo:diagnostics"; @source(relation = "bogus") entity A; ``` ## Fix ```law language "law.core" version "0.2"; package demo.diagnostics version "0.1.0"; namespace "urn:law:demo:diagnostics"; @source(relation = "formalizes") entity A; ``` ## Engine message The engine reports this in its own wording: ```text example.law:5:1: error LDC-E1373: @source: relation = "bogus" โ€” value outside the ยง33 dictionary (allowed: formalizes, interprets, quotes, paraphrases, derives_from, applies, limits, invalidates, distinguishes); a link attribute is not lowered into CLIR (errata E-0183), and a typo is otherwise caught by nothing ``` ## Related - [Sources](/constructs/sources/) โ€” anchoring declarations to their sources.