PPC for data with known measurement uncertainty

Yes you are right, however i dont see why you need to specify the shape of Y_max, maybe try:

Y_max = pm.Uniform('Y_max', lower=0, upper = X_shared * a + b)