Markdown for LLMs
LDC-E1330 — Bare name is not a term
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# LDC-E1330 — Bare name is not a term
## What it means
A term position needs a value with a declared origin: a package
constant, an enumeration member, a declared symbol, a presented
dependency export, or a bound rule variable. A bare name that resolves
to none of these is not a term form — accepting it would let a
reference to nothing ride the whole pipeline silently while the rule
never fires. The compiler stops at the name.
The repair depends on what the name was meant to be. An individual is
declared as a constant bound to its identifier; a variable is bound by
the rule. Either way the name resolves after the fix.
## Example
```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
entity Tenant;
const Joe: Tenant = Stranger;
```
## Fix
```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
entity Tenant;
const Joe: Tenant = entity_ref("urn:law:demo:diagnostics#Joe");
```
## Engine message
The engine reports this in its own wording:
```text
example.law:6:21: error LDC-E1330: name "Stranger" in a §53 term position resolves to no declaration: neither `const` §54, nor a §38 enum member, nor a package symbol, nor a §24 dependency export, nor a rule binder — it is unresolved name §188. A bare domain constant is NOT a term form (errata E-0032 item 1): a reference to a nonexistent symbol would pass the whole pipeline silently, and the rule would never fire. Two resolutions. If it is an individual — declare it: `const Stranger: <Type> = entity_ref("<namespace>#Stranger");`. If it is a variable — bind it with a rule binder (`for Stranger: <Type>;`). The §194 source-metadata `jurisdiction`/`authority`/`issuer` identifiers and the §47.3 judgment-declaration `authority` are not terms and require no declaration (E-0117)
```
## Related
- [Vocabulary](/constructs/vocabulary/) — how names are declared and which positions take them.
- [Facts and evidence](/constructs/facts-and-evidence/) — constants and the individuals they denote.