Skip to content
docs
Arxo ↗

LDC-E1343 — Event constructor misses required fields

For LLMs5 sections

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.

Arxo 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 };
Arxo 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 };

The engine reports this in its own wording:

Output
example.law:10:20: error LDC-E1343: event constructor `urn:law:demo:diagnostics#Filed`: required field `id` is not set (§79.1)

Documentation for Arxo. Writings — blog.arxo.io.

Anonymous visit counts on stats.arxo.io, no cookies.