Group-level and population level monotonic predictor

I am trying to estimate a psychometric function by condition, where some conditions are within and some between participants.

Y is a binomial outcome
X1 is a binomial within participant predictor
X2 is a binomial between participants predictor
X3 is an ordinal within participant predictor

My model formula is

Y ~ 0 + X1 : X2 + X1:X2:mo(X3) + (0 + X1 + X1:mo(X3) | SubjectID)

Brms gives me a very understandable:

Error: Special group-level terms require corresponding population-level terms

However, this was not an issue when X3 was modeled as a continuous variable, and I am not sure how to overcome the issue, given that X2 does not belong to the varying effects.

Is the only solution to change the formula to

Y ~ 1 + X1 * X2 * mo(X3) + (1 + X1 * mo(X3) | SubjectID)

which is more inconvenient for my purpose?

Why can’t you include all the varying terms in the population terms with

Y ~ 0 + X1 + X1:X2 + X1:X2:mo(X3) + X1:mo(X3) + (0 + X1 + X1:mo(X3) | SubjectID)

Then you’d have all the varying effects in the population-level terms as well. It might also make sense to include X3 (or mo(X3)) along with its interactions, but that depends on the data and questions.

Thanks. That runs. It’d be very convenient for me to have separate intercepts and slopes per each condition (the 4 combinations of x1,x2 values), which motivated the question. But I can always calculate them post-hoc.

Just to make sure, when having:

X1:X2:mo(X3) + X1:mo(X3)

in the model I get two values for X1:mo(X3) and 2 values for X1:X2:mo(X3).
Would the two values for X1:mo(X3) correspond to the mean between the two X2 conditions or the parameter estimate for when X2 is 0 (or the baseline value for X2)?