Yes, we briefly touched on issues related to the non-decision time parameter in this previous post.
In your case @pbranc even though you have a very tight prior on the intercept (i.e., population-level mean), the actual participant-wise non-decision time values could still vary widely, due to the random effect on the intercept of the non-decision time by participants.
As a starting point, you could try to remove the random intercept on the non-decision time, so just estimating a single value population-level mean:
formula <- brms::bf(
# drift rate formula
rt | dec(response) ~ x1+ x2+ (x2|p|subID) + (1|Stimulus),
# boundary separation formula
bs ~ 1 + (1|p|subID),
# non-decision time formula
ndt ~ 1,
# starting point formula
bias ~ 1 + (1|p|subID)
)
and see if that way, you’re at least able to get some sampling going.
If you then want to go a step further with participant-wise adjustments to the non-decision time, you’ll probably have to follow the suggestion of @mingqian.guo by using brms::make_stancode
and brms::make_standata
, and manually tweak the Stan code to enforce constraints on participant-wise non-decision time values.