//! Control-plane state for Ursula dynamic node registration, group placement,
//! and manual group migration.
//!
//! The crate is intentionally pure data plus deterministic state transitions:
//! no I/O, no async, and no wall-clock reads.
pub use ControlCommand;
pub use ControlResponse;
pub use ClusterNode;
pub use DataGroupPlacement;
pub use GroupMigration;
pub use LearnerStatus;
pub use MetaConfig;
pub use MigrationPhase;
pub use NodeId;
pub use NodeState;
pub use ControlPlaneState;
pub use GroupPlacementView;
pub use PlacementNode;