The phase a gate decision is judged against: the run's own, or the one its
gate ledger derives when that is further along.
Two records need the ledger's answer rather than the phase field's. A paused
or closed run holds no position in the sequence at all, and yet the ordinary
reason a run is paused is a question about the very packet its pending gate
covers — which a human answers by deciding that gate. And a phase can simply
lag its own ledger for a while: an advancePhase: false approval signs the
gate without moving the phase, and the engine's convergence rule (D5) writes
the advance on its next tick. A gate signed but not yet walked past is a
record mid-transition, not a run that skipped anything.
A phase ahead of the ledger is the opposite case and keeps its own value,
so the decision is judged where the record actually claims to be — refusing
is the safe direction when those two disagree that way.
The phase a gate decision is judged against: the run's own, or the one its gate ledger derives when that is further along.
Two records need the ledger's answer rather than the phase field's. A paused or closed run holds no position in the sequence at all, and yet the ordinary reason a run is paused is a question about the very packet its pending gate covers — which a human answers by deciding that gate. And a phase can simply lag its own ledger for a while: an
advancePhase: falseapproval signs the gate without moving the phase, and the engine's convergence rule (D5) writes the advance on its next tick. A gate signed but not yet walked past is a record mid-transition, not a run that skipped anything.A phase ahead of the ledger is the opposite case and keeps its own value, so the decision is judged where the record actually claims to be — refusing is the safe direction when those two disagree that way.