X_STORAGE_OBJECT_CHANGED
Means
the object changed while it was being promoted
Typical cause
the pending object is not the revision promoteAttachment read: the upload URL stays valid until it expires, so the uploader overwrote it between the sniff and the copy
Fix
promoteAttachment({ disk, key, orgId, target, policy }) once the upload has finished: it reads the object again