Correlated varying intercepts -- can I use gr(cov = ?)?

Hi everyone, I’m looking for some advice.

I am a political scientist and am doing some research on democracy. I have 11 different dichotomous measures of democracy, each of which takes the value 0 if some country in some year was non-democratic and 1 if it was. I’d like to fit a 2 parameter IRT model to these data. The problem, however, is that the measures are not independent, since some draw on others for inspiration/to corroborate unfamiliar cases. As such, there is a risk of double-counting cases.

To my mind, this is akin to the problem that phylogenetic regression tries to solve, except here the relationship between my measures is more ambiguous (and it’s not like I can test their DNA). Nevertheless, can I simply compute the measures’ covariance matrix and pass this to the cov = argument in the gr() function to account for the relationship between the measures? Or is there something more sophisticated that I need to do to account for this?

For what it’s worth, the proposed approach of trying to find a maximum likelihood covariance matrix (which would need to be on the logit scale, but how are you going to find the maximum-likelihood covariance matrix for the logits?), and then treating that as fixed in a separate estimation step, doesn’t feel very comfortable to me.

On the other hand, this feels like precisely the use case for multivariate probit regression, which leads to a well identified covariance matrix that you can estimate from data. See 1.15 Multivariate outcomes | Stan User’s Guide But unfortunately, this is not something that to my knowledge exists in brms (see Seemingly unrelated / Multivariate Probit Regression · Issue #1366 · paul-buerkner/brms · GitHub)