Terminal Launcher

Modelled on crate::dashboard::open_directory’s CommandRunner pattern: the trait carries a mock implementation (MockTerminalLauncher) so tests can verify the correct env and cwd are passed without opening real windows.

Security

All OS commands are invoked via argument-vector execution (Command::new(program).args(args)) — never through a shell (sh -c "…"). On macOS, the working directory is single-quote-escaped (''\'') before embedding in the shell fragment passed to Terminal.app.

The caller is responsible for validating that cwd is an authorised path (e.g., under ~/.stackie/storage/ or the user’s home directory) before passing it to launch. This module validates only existence and type.