Skip to content
docs
Arxo ↗

NON_EXECUTABLE — The question calls something with no executable meaning

For LLMs4 sections

Packages can declare boundaries: functions or relations whose signature is fixed but whose computation belongs to a system outside the package. Calls into such a boundary have a type but no runnable body here. When a question depends on one of those calls, the engine cannot execute it and says so, instead of inventing a value.

This status is about executability, not truth. The question may be perfectly well-formed; there is simply no computation behind one of its steps in this setup.

Arxo Law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
entity Applicant;
relation resident(a: Applicant) kind empirical;
relation high_risk(a: Applicant) kind institutional;
external opaque function risk_score(a: Applicant) -> Decimal {
capability "demo-risk";
}
rule RiskFlag strict {
for a: Applicant;
when resident(a) and risk_score(a) >= 2;
then high_risk(a);
}
lawtest
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
test "opaque call is not executable" {
given {
context { legal_time @2026-03-01; decision_time @2026-03-01T09:00:00Z; knowledge_time @2026-03-01T09:00:00Z; timezone "UTC"; }
assert resident(entity_ref("urn:demo:diagnostics:ann")) { origin case_input; }
}
evaluate truth(high_risk(entity_ref("urn:demo:diagnostics:ann")));
expect evaluation_status == NON_EXECUTABLE;
}

The scoring function is declared but computed elsewhere. The flag that depends on its value cannot be derived here.

Either connect the boundary to the system that computes it, so the call has a value, or reframe the question to avoid the unexecutable step. Do not work around it by asserting the call’s value by hand unless that value genuinely comes from the owning system.

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

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