pub enum NodeState {
Speculative,
Frontier,
Committed,
Stale,
Pruned,
}Expand description
Node lifecycle state on the causal model (ADR-058 / ADR-056).
A grafted branch that coheres collapses (commits) to the trunk; one that
does not is held off main_line and pruned — the same branch/merge/prune
semantics as git (“causal collapse modeled on the git tree”).
Variants§
Speculative
A candidate branch not yet grafted into the working set.
Frontier
Grafted and live in the working window this run.
Committed
Promoted (collapsed) onto the durable trunk (L3).
Stale
Aged out of the live window; origin retained on the chain, re-graftable.
Pruned
Contradicted/revised; dropped off main_line.
Implementations§
Source§impl NodeState
impl NodeState
Sourcepub fn can_transition_to(self, next: NodeState) -> bool
pub fn can_transition_to(self, next: NodeState) -> bool
Whether self → next is a legal per-turn lifecycle transition
(ADR-062 D2). The spine is Speculative → Frontier → Committed;
soft/hard rebases drop to Stale/Pruned. Pruned is terminal.
Committed → Stale models aging a committed node out of the live window
(it stays re-graftable on the chain); Stale → Frontier is the re-graft.
Trait Implementations§
impl Copy for NodeState
impl Eq for NodeState
impl StructuralPartialEq for NodeState
Auto Trait Implementations§
impl Freeze for NodeState
impl RefUnwindSafe for NodeState
impl Send for NodeState
impl Sync for NodeState
impl Unpin for NodeState
impl UnsafeUnpin for NodeState
impl UnwindSafe for NodeState
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more