//! Load, validate, and execute Reflection modes as NCL DAG contracts.
//!
//! A [`mode::ReflectionMode`] is a typed DAG of [`mode::ActionStep`]s with
//! explicit actor assignments, dependency edges, and error strategies. The
//! [`executor`] validates the DAG contract before executing any step, ensuring
//! that declared `depends_on` ordering and actor policies are respected.
//!
//! Depends on `stratum-graph` and `stratum-state` for DAG traversal and FSM
//! state tracking. The `nats` feature gates the `nats` module and event
//! publishing.

pub mod dag;
pub mod error;
pub mod executor;
pub mod mode;

pub use error::ReflectionError;
pub use executor::{ModeRun, RunContext};
pub use mode::{
    ActionStep, Actor, Converge, ConvergeStrategy, Dependency, DependencyKind, ErrorStrategy,
    Guard, GuardSeverity, OnError, ReflectionMode,
};
