That line is going to break because this line
adaptation = pm.Deterministic("adaptation",
mu_adap[exp_idx] +
(adaptation_offset * sigma_adap[exp_idx])
)
creates 1 value of adaptation per participant. Asking for adaptation[participant_idx,exp_idx] still assumes you have 2 values per participant.