# LDC-E1343 โ€” Event constructor misses required fields ## What it means An event value is a complete record: the identifier and the timestamp are mandatory on every constructor, and every non-optional field the event type declares must be given. A constructor that omits a required field, sets one twice, or carries a field the type never declared describes no event, so the compiler stops at the constructor. The repair is to complete the record: set the identifier and the timestamp, give every required field, and drop what the type does not declare. A complete constructor denotes exactly one event. ## Example ```law language "law.core" version "0.2"; package demo.diagnostics version "0.1.0"; namespace "urn:law:demo:diagnostics"; entity Tenant; const Joe: Tenant = entity_ref("urn:law:demo:diagnostics#Joe"); event Filed { tenant: Tenant; } const Ev1: Filed = Filed { tenant: Joe }; ``` ## Fix ```law language "law.core" version "0.2"; package demo.diagnostics version "0.1.0"; namespace "urn:law:demo:diagnostics"; entity Tenant; const Joe: Tenant = entity_ref("urn:law:demo:diagnostics#Joe"); event Filed { tenant: Tenant; } const Ev1: Filed = Filed { id: "ev-1", time: @2026-01-01T00:00:00Z, tenant: Joe }; ``` ## Engine message The engine reports this in its own wording: ```text example.law:10:20: error LDC-E1343: event constructor `urn:law:demo:diagnostics#Filed`: required field `id` is not set (ยง79.1) ``` ## Related - [Procedures](/constructs/procedure/) โ€” events as the carriers transitions fire on. - [LDC-E1344](/diagnostics/LDC-E1344/) โ€” a transition must name a declared event.