docs← Back to article

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.

Download this articlePlain text ↗
# 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.