# 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.