pub async fn safe_read_dir(path: &Path) -> Result<(PathBuf, ReadDir)>
Async variant: validate path and read directory in one atomic step.