docs← Back to article

Markdown for LLMs

LDC-E1403 — Requirement on a reserved feature

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

Download this articlePlain text ↗
# LDC-E1403 — Requirement on a reserved feature

## What it means

Some registry features are reserved: named, described, but not
implemented. Requiring one for a declaration is informational — the requirement
cannot constrain what the compiler does not yet know how to do — so
the compiler warns and keeps parsing rather than refusing. The warning
marks the requirement as a note to the future, not a guard that holds today.

The repair is to drop the requirement until the feature lands, or to require
an active feature instead. A reserved name will become meaningful;
until then it only documents intent.

## Example

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

@requires_feature("law.cnl/0.1")
entity A;
```

## Fix

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

entity A;
```

## Engine message

The engine reports this in its own wording:

```text
example.law:5:1: warning LDC-E1403: feature "law.cnl/0.1" is reserved and not implemented; it is informational, so parsing continues — Контролируемый естественный язык как образ вербализатора (LS §5). Информационная: поверхность авторинга, а не семантика.
```

## Related

- [LDC-E1402](/diagnostics/LDC-E1402/) — a requirement on an unknown feature.
- [LDC-E1401](/diagnostics/LDC-E1401/) — a language line the engine does not support.