I was able to configure custom component spacing with a custom rule:
(rule partOverlap
(constraint courtyard_clearance (min 0.1mm)))
That appears to work well. Can even allow courtyards to overlap a little of you set min to negative!
Is there any way this rule can be enforced during component placement, like spacing for traces is during routing?