Inefficient sampling with small experimental uncertainties

The problem here is the extreme differences in scale – because the erry are so small the posterior for the latent y will be very, very, very narrow relative to the posterior for the other parameters. Stan will try to adapt to compensate but in problems like this it can do only so much.

You can reduce the burden on the adaptation by rescaling the problem, although it will be a bit tricky here. The easier solution is to recognize that you can marginalize out the latent y analytically to give the equivalent model

model{
    sigma ~ cauchy( 0 , 1 );    // Prior on scatter
    b1 ~ normal( 0 , 1 );      // prior on slope
    a ~ normal( 0 , 1 );       // prior on intercept
    obsy ~ normal(mu , sqrt(square(sigma) + square(erry)) );
}