R2 supports bucket locking (https://developers.cloudflare.com/r2/buckets/bucket-locks/), this allows for writing new objects to a bucket but prevents overwriting. I'm not 100% sure this will work for our bucket structure, but I think we should look into using it since the majority of our assets are static and should never change
cc @nodejs/build since this requires someone with write access to R2