Name an instant within a day
Intention
Section titled “Intention”I want the status of a duty at the exact instant of the day on which it changes.
Incorrect form and why it stays silent
Section titled “Incorrect form and why it stays silent”A date covers the whole day; it cannot be assigned one of two statuses:
legal_time @2026-03-10;An undeclared name in place of a window bound is a separate static rejection.
Correct form
Section titled “Correct form”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); } };}Frozen execution scene
Section titled “Frozen execution scene”| Facts / cut | Question | Answer |
|---|---|---|
| legal_time 10.03 without a time | positions | AMBIGUOUS_AS_OF, fatal |
| 10.03 08:00 | File | PENDING |
| 10.03 10:00 | File | ACTIVE |
| 10.03 18:00 | File | UNDETERMINED |
dateless as-of stays ambiguous
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
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
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
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);}Counterfactual
Section titled “Counterfactual”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.
Boundary
Section titled “Boundary”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.
Pitfall
Section titled “Pitfall”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.