//! Shared dynamic-execution logic for Werkbank.
//!
//! The soft-PLC provisioning + industrial-protocol probing that turns a control-
//! logic artifact into findings: provision an ephemeral OpenPLC, load the program,
//! start it, probe it over Modbus/OPC-UA/EtherNet-IP, DAST its web endpoint, tear
//! it down. Extracted from the compliance agent (#183) so both the agent (in
//! process) and the Werkbank runner (WB-04) run identical logic.
//!
//! - [`ics`] — read-only industrial-protocol probing.
//! - [`plc`] — ephemeral soft-PLC provisioning + the provision-and-test loop.

pub mod error;
pub mod ics;
pub mod plc;

mod fingerprint;

pub use error::ExecError;
