docs← Back to article

Markdown for LLMs

LDC-E1327 — Fact group from an unpresented dependency

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

Download this articlePlain text ↗
# LDC-E1327 — Fact group from an unpresented dependency

## What it means

A foreign fact group materializes bytewise from the resolve context:
the compiler copies the producer's nodes — identifiers, package, and
provenance intact — into the local package. When the named dependency
was never presented, there are no bytes to copy, and an empty
materialization would silently invent facts. The compiler stops at
the group line instead.

The repair is to present the dependency with its fact groups, and
reach only for groups the context actually carries. A group nobody
presented is either a missing dependency or a misspelled name — the
fix declares which.

## 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";

facts dep.other::Things;

entity A;
```

```imports
[{"package": {"name": "dep.shapes", "version": "0.1.0", "namespace": "urn:law:dep:shapes", "semanticHash": "sha256:0"}, "contentHash": "sha256:0", "factGroups": {"Things": [{"id": "urn:law:dep:shapes#T1", "kind": "assert", "package": "urn:law:dep:shapes"}]}}]
```

## 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";

facts dep.shapes::Things;

entity A;
```

## Engine message

The engine reports this in its own wording:

```text
example.law:7:18: error LDC-E1327: fact group dep.other::Things: dependency "dep.other" is not presented by the resolve context (§23) — there is nothing to materialize
```

## Related

- [LDC-E1104](/diagnostics/LDC-E1104/) — an import the resolve context never presents.
- [Facts and evidence](/constructs/facts-and-evidence/) — asserting what holds.