Deadlines and calendar: boundaries
For LLMs3 sections
What the construct does NOT do: limits, reserved values, neighbouring constructs and the selection rule.
Does not do
Section titled “Does not do”- Not read
local_pathdirectly. The executor does not read bytes byresourceURI: the normative path is the nearestlaw.lockresources[]line (calendar-dataset,law.calendar/0.1, relativepath,contentHash=datasetHash). A mismatch is a loud refusal naming the lock and the node, notMISSING_CALENDAR. - Not store bytes in CLIR. The declaration’s
content_hashis a digest of the dataset content, not the node’s semantic hash; the dataset itself is not part of CLIR. - Not measure months/years. “How many months between dates” has no answer
without a rounding convention: measurements are only
days_between(days) andhours_between(hours, with no convention at all). Months/years are only built by step. - Not derive duration from a unit.
1 monthhas no single length in days — the core does not choose one;policy.month_endsets it. - Not shift a schedule silently. A
recurringschedule’soveranchor is immutable,start_countdoes not apply to it: applying it would mean silently shifting the whole schedule by a day. - Not read context axes. Calendar terms take the date from the
question itself; they need neither
legal_timenordecision_time. - Not interpret the policy.
rollmust beno_roll,include_end—trueon the calendar step; otherwise —MISSING_POLICY, not interpretation.
Reserved and closed
Section titled “Reserved and closed”DeadlinePolicyfields are closed:start_count,include_end,rollmandatory;cutoff,month_endoptional; field repetition forbidden; an extra field is a refusal.rollon the calendar step is onlyno_roll; months/years plus roll — only by composition throughadd_business_dayswith zero.- Dataset rules: each weekday exactly once,
working = true— non-overlapping intervals, an override replaces the whole week, dates unique and insidevalid;24:00:00— only as an end. Violations go to the semantic validator, not JSON Schema. - Incomplete
timezone_db, incomplete coverage, mismatchedcontent_hash— errors before computation.
Neighbours and the selection rule
Section titled “Neighbours and the selection rule”add_calendar_periodvsadd_business_days: calendar units without a calendar vs business days with an always-snapshot. See the selection table inREADME.md.- Step vs measurement: “N ahead” vs “how many between” (
days_between). - Boundaries (
month_start_of,year_end_of, …) vs step: boundaries read neither calendar nor policy; the step reads the policy. - Query
deadline(duty) vsdue_onfact: a period as a position’s fate vs a period as a concluded date. The directory examples give the second; the first is the lifecycle ladder (see lifecycle statuses). - Policy in context (inline vs profile): the case names it — inline;
reused —
context profile+extends. No ambient policies. - Official calendar vs snapshot: the source is external context; only the pinned digest dataset executes.
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.