pub struct PlanExecutor { /* private fields */ }Expand description
Dry-run ActionExecutor — never mutates state.
Dispatch is registry-validated (M4-B S1): every action’s
Action::name is looked up in the embedded plugin Registry so
unknown action kinds surface as ExecError::UnknownAction with the
same taxonomy as crate::execute::FsExecutor. The planner keeps its
own dry-run implementations (the Tier-1 crate::plugin::ActionPlugin
set is wet-run only) and uses the registry purely as a name oracle.
Useful for grex plan, CI validation, and unit-testing pack semantics.
Safe to call across threads; Clone bumps the inner Arc refcount.
Implementations§
Source§impl PlanExecutor
impl PlanExecutor
Sourcepub fn new() -> Self
pub fn new() -> Self
Construct a fresh planner backed by the full Tier-1 built-in
registry (Registry::bootstrap). Matches the pre-M4-B
constructor shape so existing test sites continue to compile.
Sourcepub fn with_registry(registry: Arc<Registry>) -> Self
pub fn with_registry(registry: Arc<Registry>) -> Self
Construct a planner backed by an explicit registry. Primarily for
tests that want to exercise ExecError::UnknownAction or share
a single registry instance with the wet-run executor.
Trait Implementations§
Source§impl ActionExecutor for PlanExecutor
impl ActionExecutor for PlanExecutor
Source§impl Clone for PlanExecutor
impl Clone for PlanExecutor
Source§fn clone(&self) -> PlanExecutor
fn clone(&self) -> PlanExecutor
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more