docs← Back to article

Markdown for LLMs

LDC-E1346 — Recurring schedule that never advances

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

Download this articlePlain text ↗
# LDC-E1346 — Recurring schedule that never advances

## What it means

A recurring goal unfolds into dated instances: the step must be
positive, the horizon must end, and dates pair with calendrical steps
while instants pair with durations. A schedule whose step is zero or
negative never advances; an open horizon bounds nothing; a date-step
pairing measures with the wrong clock. Any of these stops the compiler
at the schedule.

The repair is to advance: a positive step, a finite horizon, and a
step the bounds understand. A schedule that moves forward lowers
exactly as written.

## Example

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

entity Tenant;
relation trig(t: Tenant) kind empirical;
relation done(t: Tenant) kind institutional;
rule R defeasible {
    for t: Tenant;
    when trig(t);
    then duty D {
        bearer t;
        beneficiary t;
        goal recurring every 0 calendar_month over [@2026-01-01, @2027-01-01) { achievement { condition done(t); window [occurrence.start, occurrence.end); } };
    };
}
```

## Fix

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

entity Tenant;
relation trig(t: Tenant) kind empirical;
relation done(t: Tenant) kind institutional;
rule R defeasible {
    for t: Tenant;
    when trig(t);
    then duty D {
        bearer t;
        beneficiary t;
        goal recurring every 1 calendar_month over [@2026-01-01, @2027-01-01) { achievement { condition done(t); window [occurrence.start, occurrence.end); } };
    };
}
```

## Engine message

The engine reports this in its own wording:

```text
example.law:14:14: error LDC-E1346: `recurring` of norm "D": schedule step is non-positive — occurrences do not advance, and the schedule is not finite (§124.4.1)
```

## Related

- [Duties](/constructs/duty/) — what a duty head must carry.
- [Deadlines and calendar](/constructs/deadline-calendar/) — schedules and the horizons they run on.