pub async fn safe_read_to_string_async(path: &Path) -> Result<(PathBuf, String)>
Async variant: validate path and read file contents in one atomic step.