Markdown for LLMs
LDC-W1301 — A public declaration without labels or anchors
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# LDC-W1301 — A public declaration without labels or anchors
## What it means
A public normative declaration speaks for the package to the outside
world, so it should carry its provenance: a human label and an anchor to
the source it formalizes. A public declaration with neither is not
wrong — the package still checks — but the debt is recorded: which
declarations arrived without their papers, to be labeled later.
Adding the label and the source anchor clears the warning. Private
declarations never owe either.
## Example
```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
relation known() kind institutional;
pub rule Bare strict { then known(); }
```
## Fix
```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
entity Applicant;
```
## Engine message
The engine reports this in its own wording:
```text
example.law:6:1: warning LDC-W1301: public normative declaration `Bare` lacks §218 labels and §33 @source anchors; 0.2 warns and records the debt in label-ratchet but does not reject the file
```
## Related
- [Sources](/constructs/sources/) — how declarations anchor to pinned text.