====== 10.2 Node Lifecycle ====== [[fxdemo:05-part:start | Go To Top ]] [[fxdemo:05-part:10-node-implementation-pattern:start | Return to Node Implementation Pattern ]] Each Phase 0 [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Node]] should follow a defined [[dido:99_annexes:annex-b-terms-and-definitions:l:lifecycle|Lifecycle]]. The Lifecycle gives the team a shared way to describe Node execution, observe Node state, and diagnose runtime behavior. The Node Lifecycle should support the following operational states, where applicable: - Starting - Running - Degraded - Recovering - Stopping - Stopped - Failed - Unknown A Node should publish Lifecycle state changes through the approved [[dido:99_annexes:annex-b-terms-and-definitions:c:control_plane|Control Plane]] status topic. The Node should report ''Starting'' when it begins initialization, ''Running'' when it completes startup and can perform its role, ''Stopping'' when it begins controlled shutdown, ''Stopped'' when it completes controlled shutdown, and ''Failed'' when it cannot continue safely. A Node may report ''Degraded'' when it can continue running with reduced capability. A Node may report ''Recovering'' when it attempts to restore normal operation after a recoverable failure. The team should define clear criteria before using ''Degraded'' or ''Recovering'' so that those states carry consistent meaning across Nodes. The ''Unknown'' state should describe an observer's lack of current status, not a normal state that a healthy Node publishes about itself. ---- © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.