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