docs← Back to article

Markdown for LLMs

Name the date of a historical question

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

Download this articlePlain text ↗
# Name the date of a historical question

## Intention

I want to ask about a rule on a 2024 date while keeping a later knowledge cut.

## Incorrect form and why it stays silent

The decision date does not replace the date of the law:

```law title="Incorrect form"
context { decision_time @2027-12-31T09:00:00+05:00; }
```

## Correct form

```law
language "law.core" version "0.2";
package recipes.e.r06 version "0.1.0";
namespace "urn:recipe:e-time:06";

entity Person;
relation registered(p: Person);

source Act { kind law; jurisdiction "none"; number "E6"; }
edition Old of Act {
    language ru;
    officiality official;
    materialization_status ABSTRACT_ONLY;
    in_force [@2024-01-01, @2025-01-01);
}
fragment OldArticle in Old { kind article; locator "article/1"; text ru unofficial "Учебная редакция: зарегистрированное лицо допускается в 2024 году."; }
relation admitted(p: Person);
@source(OldArticle)
rule Admit strict { for p: Person; when registered(p); then admitted(p); }
```

## Frozen execution scene



| Facts / cut | Question | Answer |
|---|---|---|
| legal_time 2024, later knowledge | admitted | TRUE_ONLY |
| legal_time 2026, same knowledge | admitted | NEITHER, EDITION_NOT_APPLICABLE |
| legal_time missing | truth | CONTEXT_FIELD_MISSING |

```law
test "historical date admits" {
    given {
        context {
            legal_time @2024-06-01;
            decision_time @2027-12-31T09:00:00+05:00;
            knowledge_time @2027-12-31T09:00:00+05:00;
            timezone "Asia/Almaty";
        }
        assert registered(entity_ref("urn:recipe:e-time:06:a"));
    }
    evaluate truth(admitted(entity_ref("urn:recipe:e-time:06:a")));
    expect truth_status == TRUE_ONLY;
}
```

```law
test "later law date excludes edition" {
    given {
        context {
            legal_time @2026-06-01;
            decision_time @2027-12-31T09:00:00+05:00;
            knowledge_time @2027-12-31T09:00:00+05:00;
            timezone "Asia/Almaty";
        }
        assert registered(entity_ref("urn:recipe:e-time:06:a"));
    }
    evaluate truth(admitted(entity_ref("urn:recipe:e-time:06:a")));
    expect truth_status == NEITHER;
    expect issue(EDITION_NOT_APPLICABLE);
}
```

```law
test "missing law date refuses context" {
    given {
        context {
            decision_time @2027-12-31T09:00:00+05:00;
            knowledge_time @2027-12-31T09:00:00+05:00;
            timezone "Asia/Almaty";
        }
        assert registered(entity_ref("urn:recipe:e-time:06:a"));
    }
    evaluate truth(admitted(entity_ref("urn:recipe:e-time:06:a")));
    expect issue(CONTEXT_FIELD_MISSING);
}
```

## Counterfactual

The scene without legal_time intentionally has expect: FAIL: the runner gets CONTEXT_FIELD_MISSING before an evaluation-document is created; the issue expectation cannot execute. The exact rejection code of both implementations is additionally checked. teaches combines a dating in_force with timeless, which is rejected because mutually exclusive applicability modes cannot be mixed.

## Boundary

This is a synthetic edition, not a historical finding about a real act. Choice of knowledge and choice of law are different axes; an empty context is allowed only for a computation with no temporal consumer.

## Pitfall

Binding a node to an inapplicable edition must exclude it.