Skip to content
docs
Arxo ↗

LDC-E2113 — An external snapshot function missing required items

For LLMs5 sections

An external snapshot function is a typed boundary to outside data, and the boundary is only complete with all its pieces: a result type, the capability it runs under, and a binding path saying where the snapshot comes from. A missing piece — or a binding that is not a plain dotted path — leaves the boundary underspecified, and the compiler names exactly which item is absent.

Supplying each required item, with the binding as a dotted path, completes the declaration and clears the diagnostic.

Arxo Law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
entity Currency;
external snapshot function rate(from: Currency) -> Decimal {
capability "nbk.exchange-rates";
snapshot_from resolve_snapshot();
}
Arxo Law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
entity Currency;
external snapshot function rate(from: Currency) -> Decimal {
capability "nbk.exchange-rates";
snapshot_from context.exchange_rate_snapshot;
}

The engine reports this in its own wording:

Output
example.law:8:17: error LDC-E2113: external snapshot function "rate": `snapshot_from` must be a dotted binding path, because ExternalDecl.snapshotBinding is a string (§47.2, legal-ir.schema.json)

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

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