pub async fn dispatch_module(
module_id: &str,
matches: &ArgMatches,
registry: &Arc<dyn RegistryProvider>,
_executor: &Arc<dyn ModuleExecutor + 'static>,
apcore_executor: &Executor,
) -> !Expand description
Execute a module by ID: validate → collect input → validate schema → approve → execute → audit → output.
Calls std::process::exit with the appropriate code; never returns normally.