fn create_uploads_tarball(uploads_dir: &Path, out_path: &Path) -> Result<()>
把 uploads 目录打成 tar.gz(排除可重建的 .cache/ 与 VCS 占位 .gitkeep)。 阻塞 IO + CPU(gzip),调用方须放 spawn_blocking。 uploads_dir 显式传入(而非写死相对路径)便于测试注入临时目录。