_continue_forecast_after_confirm()'s bridge was repeating forecast_theta[-1] to cover the real-world wait, but that's whatever value the simulation happened to log the instant WAIT_USER tripped - often still mid-ramp, not the step's actual hold target. The real controller stays enabled and actively holding throughout WAIT_USER, so capture its setpoint (tc.get_theta_soll_set()) in recv() before calling Sud.confirm() - confirming synchronously pushes the next step's own target onto it - and use that to fill the gap instead. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DkkuG48uHFCGKe6dPSERFk