docs← Back to article

Markdown for LLMs

LDC-E1301 — Missing namespace header

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

Download this articlePlain text ↗
# LDC-E1301 — Missing namespace header

## What it means

Three headers open every file: the language line, the package line, and
the namespace the identifiers resolve into. Without the namespace the
compiler has nothing to bind identifiers to, so lowering cannot start
and the check stops at the top of the file.

The repair is one line: declare the namespace the package owns. The
namespace stays fixed for the life of the package — renaming it moves
every identifier the package ever minted.

## Example

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

entity Applicant;
```

## 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:1:1: error LDC-E1301: namespace is required for lowering (§14: StableId is bound to namespace)
```

## Related

- [Vocabulary](/constructs/vocabulary/) — how names are declared and which positions take them.