async fn dry_run<T: Transport, C: Clock>( args: &PairArgs, ctx: &mut LauncherCtx<'_>, engine: &Engine<T, C>, directory: &Path, controller: &str, title: &str, ) -> Result<i32, ToolError>