Markdown for LLMs
Present an event with a time
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# Present an event with a time
## Intention
I want to present an event that actually moves the case into the next stage.
The carrier is the event, not merely its name.
## Incorrect form and why it stays silent
A constructor without a time is rejected with `LDC-E1343`; a place in history is not taken from the decision time.
```law title="Incorrect form"
const filed: Filed = Filed {
id: "urn:recipe:n-package:01:filed",
application: entity_ref("urn:recipe:n-package:01:app")
};
```
## Correct form
An `event` has built-in `id` and `time` fields; the declaration below keeps the subject-matter field.
```law
language "law.core" version "0.2";
package recipes.n.r01 version "0.1.0";
namespace "urn:recipe:n-package:01";
entity Application;
event Filed { application: Application; }
procedure Registration(app: Application) {
state Draft initial;
state Submitted terminal;
transition Submit { from Draft; to Submitted; on Filed; }
}
const filed: Filed = Filed {
id: "urn:recipe:n-package:01:filed",
time: @2026-09-12T10:00:00+05:00,
application: entity_ref("urn:recipe:n-package:01:app")
};
```
## Frozen execution scene
| Facts | Question | Answer |
|---|---|---|
| Instance and attempt with a complete `filed` | Case in Submitted? | TRUE_ONLY, COMPUTED |
```law
test "full bearer carries case" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-13T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert procedure_instance(entity_ref("urn:recipe:n-package:01:app"));
assert attempted_transition(entity_ref("urn:recipe:n-package:01:app"), Submit, filed);
}
evaluate truth(current_state(entity_ref("urn:recipe:n-package:01:app"), Submitted));
expect truth_status == TRUE_ONLY;
expect evaluation_status == COMPUTED;
}
```
## Counterfactual
Deleting the `time` line from the constructor in part 3 is a `teaches` mutation: `check` must yield `LDC-E1343`. This is a static counterfactual; it is not presented as an executable history.
## Boundary
`entity_ref` is valid as a reference, but it does not itself present fields for folding. Deadlines and the policy that turns a date into an instant belong to book E; here an exact instant is given.
## Pitfall
Two procedures with different `on E` once produced identical output because the instance had no executable form. After the constructor was introduced, a missing `time` is a static rejection.