docs← Back to article

Markdown for LLMs

Deadlines and calendar: corpus forms

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

Download this articlePlain text ↗
# Deadlines and calendar: corpus forms

Analysis of real fragments: package identifier, act name, the key fragment, form rating
(exemplary / debatable / wrong-form choice) and why.

Corpus-wide counts relevant to periods (508 packages): `N months/years` — 769 in 56 packages (a `Quantity` with a unit, not a duration); `days_between` in a guard — 188 packages; rule-variable window bounds — 563 versus 3,929 literals; `window` — 4,674 occurrences in 257 packages; `deadline` as a `Date` variable/parameter name in a window bound — 687 in 18 (NOT a norm keyword).

## Law

### 1. French Civil Code — limitation by calendar step (exemplary, inspected)

Package `fr.code_civil` — French Civil Code (France), prescription title:

```law
rule EcheanceCinqAns(c: Causa, depart: Date) strict {
    label fr official "délai de cinq ans, compté par jours";
    ...
    when point_de_depart_cinq_ans_le(c, depart)
        and prescription_non_interrompue(c);
    then echeance_prescription_le(c, add_calendar_period(depart, 5 calendar_year));
}
```

Exemplary: the five-year period — an `add_calendar_period` step, the policy —
a case-context line (`deadline_policy OECD_CODE_CIVIL_PRESCRIPTION` in
every scenario test).
The leap edge (29.02.2000 + 30 years → 28.02.2030) is closed by the same policy
with `month_end`. The same form — in the directory examples.

### 2. Turkish Constitution — months and years by step, not days (exemplary, inspected)

Package `tr.constitution` — Turkish Constitution (Türkiye), judiciary title:

```law
// Пять месяцев — КАЛЕНДАРНАЯ единица; шаг делает `add_calendar_period`,
rule ConcreteReviewFiveMonthTerm(c: JudicialCase, received: Date) strict {
    ...
    when referral_received_on(c, received);
    then constitutional_decision_due_on(c, add_calendar_period(received, 5 calendar_month));
}
```

And the moratorium year
on electoral-law changes in the same package — `held < add_calendar_period(in_force, 1
calendar_year)` with the comment "a year is not measured in days without a leap
decision the text never took". Exemplary twice: the period unit
comes from the text, the comment pins why not days.

### 3. Home medicine — policy and context profile (exemplary, inspected)

Package `med.home_child` — home child-care guidance (medical corpus):

```law
// Политики сроков дела, которые сценарии пакета подавали встроенным
// `deadline_policy { … }` (форма 0.1; в 0.2 — LDC-E1333): объявлены
// именованно с теми же полями, сценарии ссылаются на них по имени.
deadline policy CASE_SAME_DAY_NO_ROLL_MONTH_END_LAST_DAY { start_count same_day; include_end true; roll no_roll; month_end last_day_of_month; }
```

And one scenario test: the
`ORVI_DEADLINE` profile with a policy, `context extends`. Exemplary: the form migration named in the comment; the rule reads the period through another
package, and the case carries the policy.

## Standard and regulation

### 4. EU Regulation 261/2004 — measurement instead of a step (exemplary, inspected)

Package `eu.transport.air_passenger_rights` — EU air passenger rights rules (European Union):

```law
// СЕМИДНЕВНЫЙ СРОК СЧИТАЕТСЯ `days_between`, А НЕ `add_business_days`, и это
// E-0029) — даже для единицы `calendar_day`, которая ничего не пропускает, —
// а календаря нерабочих дней для двадцати семи государств-членов не
// устанавливает ни один закреплённый источник. ...
```

Exemplary as a "not counting" decision: "within seven days" is an interval
condition (`days_between`), not a forward step. The comment also pins the second
reading point (the text does not name the period start — the chosen reading is "from
the option choice", not a default).

## Religion and customs

### 5. Halal certification — business days as a case fact (exemplary, inspected)

Package `id.halal` — Indonesian halal certification rules (Indonesia):

```law
// СРОКИ В РАБОЧИХ ДНЯХ НЕ ВЫЧИСЛЯЮТСЯ, И ПРИЧИНА НАЗВАНА. ... Терм
// календарь Индонезии задаётся ежегодным совместным решением трёх министров
// (SKB), которого настоящий пакет не закрепляет. ... Поэтому число истекших
// рабочих дней приходит фактом дела, а СРАВНЕНИЕ с установленным законом
// пределом — здесь, литералом в правиле.
```

Exemplary: the boundary named, not bypassed — the threshold is formalized and
checkable by a pair of cases on both sides of the boundary; only the counting stays
untaken, and it is untaken by name. The anti-model ("weekends-only snapshot") is
taken apart there too: the period would expire earlier than real — a mistake to
the dangerous side.

## Calendar data

### 6. German holidays — `law.calendar/0.1` dataset (exemplary)

Package `de.labor.burlg` — German nationwide holiday calendar (Germany):

```json
{
  "id": "urn:de:corpus:clir:bgb-fristen#kalender-bundesweit",
  "overrides": [ { "date": "1991-01-01", "intervals": [], "working": false }, ... ]
}
```

Exemplary for calendar datasets: an immutable versioned dataset with weekly
schedules and date overrides; digest over the resource's exact bytes,
the `law.lock` line (`calendar-dataset`, `law.calendar/0.1`) — the normative
resolution path, not a `resource` URI. A state's official calendar is
external context: read as data, pinned by digest, not part of CLIR.