Markdown for LLMs
LDC-W1105 — A cross-package link the resolver never described
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# LDC-W1105 — A cross-package link the resolver never described
## What it means
A qualified name points into another package: the package before the
double colon, the symbol after it. The language allows such a link only to
a public declaration of that package. When the resolver presents the
dependency without its export list, there is nothing to check membership
against — so the link is accepted with a warning instead of being refused
or silently trusted.
The warning marks an unperformed check, not a broken link. To clear it,
present the dependency with its exports: then the same link either resolves
cleanly or becomes a hard refusal. Links that stay in this half-checked
state deserve a second look before the package ships.
## Example
```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
import dep.shapes version "0.1.0";
entity A;
relation p(a: dep.shapes::Foo) kind institutional;
```
```imports
[{"package": {"name": "dep.shapes", "version": "0.1.0", "namespace": "urn:law:dep:shapes", "semanticHash": "sha256:0"}, "contentHash": "sha256:0"}]
```
## Fix
```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
import dep.shapes version "0.1.0";
entity Foo;
entity A;
relation p(a: Foo) kind institutional;
```
## Engine message
The engine reports this in its own wording:
```text
example.law:8:15: warning LDC-W1105: dep.shapes::Foo: dependency export composition is not presented, and §24 (cross-package references target only `pub` declarations) is UNCHECKED on this type
```
## Related
- [LDC-W2101](/diagnostics/LDC-W2101/) — a bare name the dependencies could supply.