Skip to content
docs
Arxo ↗

Name an instant within a day

For LLMs7 sections

I want the status of a duty at the exact instant of the day on which it changes.

A date covers the whole day; it cannot be assigned one of two statuses:

Incorrect form
legal_time @2026-03-10;

An undeclared name in place of a window bound is a separate static rejection.

Arxo Law
language "law.core" version "0.2";
package recipes.e.r08 version "0.1.0";
namespace "urn:recipe:e-time:08";
entity Person;
relation registered(p: Person);
temporal_resolution_policy CivilDay {
utc_offset "+05:00";
day_boundary "00:00:00";
timezone "Asia/Almaty";
}
relation submitted(p: Person);
rule Report strict {
for p: Person;
when registered(p);
then duty File {
bearer p;
goal achievement {
condition submitted(p);
window [@2026-03-10T09:00:00+05:00, @2026-03-10T18:00:00+05:00);
}
};
}
Facts / cutQuestionAnswer
legal_time 10.03 without a timepositionsAMBIGUOUS_AS_OF, fatal
10.03 08:00FilePENDING
10.03 10:00FileACTIVE
10.03 18:00FileUNDETERMINED
dateless as-of stays ambiguous
Arxo Law
test "dateless as-of stays ambiguous" {
given {
context {
legal_time @2026-03-10;
decision_time @2026-03-10T12:00:00+05:00;
knowledge_time @2027-12-31T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert registered(entity_ref("urn:recipe:e-time:08:a"));
}
evaluate positions();
expect issue(AMBIGUOUS_AS_OF);
}
moment before window pends
Arxo Law
test "moment before window pends" {
given {
context {
legal_time @2026-03-10T08:00:00+05:00;
decision_time @2026-03-10T08:00:00+05:00;
knowledge_time @2027-12-31T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert registered(entity_ref("urn:recipe:e-time:08:a"));
}
evaluate positions();
expect position(File, PENDING);
}
moment inside window activates
Arxo Law
test "moment inside window activates" {
given {
context {
legal_time @2026-03-10T10:00:00+05:00;
decision_time @2026-03-10T10:00:00+05:00;
knowledge_time @2027-12-31T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert registered(entity_ref("urn:recipe:e-time:08:a"));
}
evaluate positions();
expect position(File, ACTIVE);
}
excluded end releases duty
Arxo Law
test "excluded end releases duty" {
given {
context {
legal_time @2026-03-10T18:00:00+05:00;
decision_time @2026-03-10T18:00:00+05:00;
knowledge_time @2027-12-31T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert registered(entity_ref("urn:recipe:e-time:08:a"));
}
evaluate positions();
expect position(File, UNDETERMINED);
}

The Date scene pins AMBIGUOUS_AS_OF. teaches substitutes an undeclared boundary for the window start and requires E2115: that rejection does not replace the demand for an exact cut.

The CivilDay policy defines civil days by a fixed offset, but it does not pick an arbitrary instant inside them. A wrong entry-into-force window is a different question from AMBIGUOUS_AS_OF; this recipe is about the demand for an exact cut.

A position changes status inside one day. On a 09:00–18:00 window the closed bound is excluded, and at 18:00 the term has already expired. The as-of moment is the decision time (for a dateless law date, the calendar date of the decision); every scene names its decision moment explicitly.

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

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