Enable AccountContactRelation standard object as part of data deploy
After chatting with support, it seems to be impossible to deploy an AccountContactRelation record when IsDirect = TRUE, meaning the AccountContactRelation is between a Contact and its primary Account.
When I try deploying an Account record, Contact record and the AccountContactRelation record that joins them as top-level objects in the same deployment, I receive the error "INVALIDCROSSREFERENCE_KEY:You can't associate a private contact with an account.:ContactId --", presumably because in the order of operations, the Contact hasn't been updated with the Account lookup yet.
When I try splitting this into 2 deploys, deploying the AccountContactRelation alone as part of a second deployment to an org where the Account and Contact records already exist, I receive the "DUPLICATE_VALUE:This contact already has a relationship with this account.:ContactId" error, because the AccountContactRelation was automatically created due to the Account being primary for the Contact.
My organization uses multiple business-critical fields on the AccountContactRelation object, and we cannot find a way to populate them via data deploy, and have thus far resorted to manual population or separate dataloads.

-
Steve Nelson commented
update: I received an update from the data team after posting this that solved my issue! OK to close/delete/mark solved, as deploying the Account and AccountContactRelation WITHOUT the deploying Contact as a top-level object solves our issue