Markdown for LLMs
LDC-E1329 — Duplicate clause in a rule block
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# LDC-E1329 — Duplicate clause in a rule block
## What it means
Some rule clauses are scalars: one scope, one effective moment, one
defeat per block. Repeating one would force the compiler to pick
silently between two records the author both wrote, so the repetition
stops the check at the second occurrence. (Repeated `when` lines are
the deliberate exception — they conjoin.)
The repair is to keep one: merge the two records into the intended
single clause. One block carries each scalar once.
## Example
```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
relation p(x: Text) kind institutional;
relation q(x: Text) kind institutional;
rule R1 strict {
scope p(v0);
scope p(v0);
for v0: Text;
when p(v0);
then q(v0);
}
```
## Fix
```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
relation p(x: Text) kind institutional;
relation q(x: Text) kind institutional;
rule R1 strict {
scope p(v0);
for v0: Text;
when p(v0);
then q(v0);
}
```
## Engine message
The engine reports this in its own wording:
```text
example.law:9:5: error LDC-E1329: duplicate `scope` clause in rule — at most one per block (§94, E-0114)
```
## Related
- [Strict rules](/constructs/rule-strict/) — rule blocks and the clauses they carry.