Skip to content
docs
Arxo ↗

Lifecycle boundaries

For LLMs3 sections

What the construct does NOT do in 0.2: scope, reserved values, neighbouring constructs, and the selection rule.

  • Not produce expired on a duty. The API value exists; the ladder never gives it: the post-window answer is the lifecycle outcomes.
  • Not produce available/exercised/validly_exercised on a power. Exercise validity is an event property, not a position status: an invalid attempt gives the invalidly_exercised(position) literal and issue POWER_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_time for statuses. The law axis selects editions; the decision axis is decision_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.
  • NormativeStatus: UNDETERMINED, CONFLICTED, DEFEATED — API values over status kinds; CONFLICTED requires normative_status_supports.
  • DEFEATED is not a lifecycle kind: it is absent from statusHistory, 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/terminated outrank satisfied/violated/expired; terminated never becomes expired; a partial waiver (violation) excludes only the breach.
  • 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.
  • DEFEATED vs CONFLICTED: 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() vs truth() vs why_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.