Sdms-977
// 1. Stream copy (multipart, server‑side if supported) val copyResult = dst.copyObjectFrom(src, request.objectKey)
auditSuccess(request)
// 4. Delete source (if policy permits) if (request.deleteSource) src.deleteObject(request.objectKey) sdms-977
// 2. Verify checksum if (copyResult.checksum != request.expectedChecksum) auditFail(request, "checksum mismatch") throw MigrationException("Checksum verification failed") // 1. Stream copy (multipart