Markdown for LLMs
LDC-E2704 — A precedent with no date
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# LDC-E2704 — A precedent with no date
## What it means
A precedent is anchored in time: its date orders it against later
holdings, overrulings, and court ranks. A precedent with no date — or
with a value the compiler cannot read as a date — floats outside that
order, so nothing may follow or overrule it. The compiler refuses the
precedent until the date is written.
The fix gives the date as a temporal literal. Dates that run
backwards — an overruling earlier than the date it overrules — and
references to rules the package never declares fail under sibling shapes
of the same check.
## Example
```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
entity Case;
entity Item;
relation clear(c: Case, i: Item) kind empirical;
relation vague(c: Case, i: Item) kind empirical;
factors Deal {
for c: Case, i: Item;
domain clear(c, i), vague(c, i);
plaintiff clear;
defendant vague;
courts Alpha;
}
precedent P1 of Deal {
court Alpha;
plaintiff clear;
defendant vague;
outcome clear(c, i);
}
```
## Fix
```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
entity Case;
entity Item;
relation clear(c: Case, i: Item) kind empirical;
relation vague(c: Case, i: Item) kind empirical;
factors Deal {
for c: Case, i: Item;
domain clear(c, i), vague(c, i);
plaintiff clear;
defendant vague;
courts Alpha;
}
precedent P1 of Deal {
court Alpha;
decided @2020-01-01;
plaintiff clear;
defendant vague;
outcome clear(c, i);
}
```
## Engine message
The engine reports this in its own wording:
```text
example.law:16:11: error LDC-E2704: precedent P1: `decided` is required and is a date (§276.3/§276.6)
```
## Related
- [Facts and evidence](/constructs/facts-and-evidence/) — what an assertion carries.
- [Time](/constructs/time/) — how dates are written and read.