I understand that the discrepancy function for PPC with continuous variables has recently undergone revision, but the discrepancy function for ordinal variables is unchanged. I was hoping to get some clarification on how this was calculated.
According to the technical appendices, the discrepancy function is the same as the (then) version for continuous variables, but estimated using the underlying y*. In this case, that would make the sample and model-implied variance-covariance matrices polychoric correlations, correct?
Also, how are the sample and model-implied means incorporated here? When using the probit link, y* variables are standard normal, and so these means should be fixed at zero. Does this imply that only the variance-covariance matrices are used in the discrepancy function?
Correct. The discrepancy function is based on the polychoric correlations.
Regrading the means the answers is slightly complicated. For variables with more than two categories the means are fixed to 0. For binary variables the means are generally included (threshold=-mean) but they are not included if a binary variable is a mediator. When the means are fixed to zero the discrepancy function will essentially use just the variance covariance matrix. Note however that output:tech10 produces variable specific PPC where just the means/values of specific categories are tested.