docs← Back to article

Markdown for LLMs

LDC-E5103 — A source anchor with no package address

The source Markdown for this article. Copy it into your assistant or download it as a text file.

Download this articlePlain text ↗
# LDC-E5103 — A source anchor with no package address

## What it means

A bare name in a source anchor is read as an address inside the package:
a fragment, an edition, a publication, or a source. When the name matches
none of these, the anchor stays opaque and the trace carries no address
for it. The compiler warns and keeps the package green.

Point the anchor at something declared, qualify it toward a foreign
package, or write the external identifier as a quoted string.

## Example

```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";

source S1 { kind statute; }
edition E1 of S1 { language en; officiality official; }
fragment F1 in E1 { text en official "Duty applies."; }
entity A;
relation p(a: A) kind institutional;
relation q(a: A) kind institutional;
@source(Ghost) {
rule r1 strict { for a: A; when p(a); then q(a); }
}
```

## Fix

```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";

source S1 { kind statute; }
edition E1 of S1 { language en; officiality official; }
fragment F1 in E1 { text en official "Duty applies."; }
entity A;
relation p(a: A) kind institutional;
relation q(a: A) kind institutional;
@source(F1) {
rule r1 strict { for a: A; when p(a); then q(a); }
}
```

## Engine message

The engine reports this in its own wording:

```text
example.law:11:1: warning LDC-E5103: @source(Ghost): "Ghost" is not declared in the package as fragment/edition/publication/source — a bare name stays in `anchors` instead of a StableId, and the trace carries no §33 address (§202). A reference to a foreign package is written `пакет::Фрагмент`, an opaque external-registry identifier — as a quoted string
```

## Related

- [Sources](/constructs/sources/) — how works, editions, and fragments are declared.