Lifecycle boundaries
For LLMs3 sections
What the construct does NOT do in 0.2: scope, reserved values, neighbouring constructs, and the selection rule.
Does not
Section titled “Does not”- Not produce
expiredon a duty. The API value exists; the ladder never gives it: the post-window answer is the lifecycle outcomes. - Not produce
available/exercised/validly_exercisedon a power. Exercise validity is an event property, not a position status: an invalid attempt gives theinvalidly_exercised(position)literal and issuePOWER_INVALID_EXERCISE; a valid one silently materializes the effect. The listed values are reserved by syntax, but no implementation produces them (a test passes vacuously). - Not thaw frozen transformations. A refused power and an
immunity-blocked effect create nothing; the power itself
stays
ACTIVE(the locks are on the effect). - Not mix days. With a date-moment, a status changing inside the day
(activation, window expiry, lifting) gives refusal
AMBIGUOUS_AS_OF, not an “end of day” answer: the case must name a moment. - Not read
legal_timefor statuses. The law axis selects editions; the decision axis isdecision_time. Coinciding dates are a special case, not the rule. - Not derive completeness from silence. Neither a closed window nor an absent counterexample proves anything by itself: support, a certificate, closure, or a decision is needed.
Reserved and closed
Section titled “Reserved and closed”NormativeStatus:UNDETERMINED,CONFLICTED,DEFEATED— API values over status kinds;CONFLICTEDrequiresnormative_status_supports.DEFEATEDis not a lifecycle kind: it is absent fromstatusHistory, there is no transition into it — a position is created that way.- Suspension shifts the window end by the total length of the suspensions covering the window;
waived/terminatedoutranksatisfied/violated/expired;terminatednever becomesexpired; a partial waiver (violation) excludes only the breach.
Neighbours and the selection rule
Section titled “Neighbours and the selection rule”- The status ladder vs the std waiver/suspension/termination acts: the first is what became of the position; the second is what did it (who, when, in what scope). A status without an act is the engine’s conclusion; an act without a status is silence until the ladder is recomputed.
violated(P)vs a subject-matter predicate (*_violated(...)): the first is the engine’s fact about a position, the second is the author’s fact about the world. Breach chains build from the first.DEFEATEDvsCONFLICTED: defeated ground (the position is gone) vs incompatible supports (the position stands, the law argues).- Condition activation vs event activation: “true now” vs
“exactly when”; an event gives the addressee, a window from
e.time.start, and an instance per addressee — before the first addressee there is no instance at all. positions()vstruth()vswhy_not: the norm’s fate vs the world’s fact vs the explanation of absence.
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.