Not stated in your problem is the assumption that the step pulses are sent in a serial burst and not actually commutating the motor as they were done in 1st generation servo machines. This could be a 100kHz rate supported by Arduino CNC shields or any other required speed by specific design.
So acceleration can be computed ahead of time and limited by the feed-forward design parameters for max velocity and max acceleration. Acceleration depends on the electro-mechanical design limitations but when raised too high can create under-damped oscillations or overshoot due to the step input = broad-band spectrum generated when switching from constant de-acceleration mode to position error mode.
After the target has been reached within 1/2 track by the servo position count method ( sensor or counter) it switches from acceleration, velocity control mode to position control mode.
For a linear servo, a position error sensor is cycling and is used to count tracks and thus velocity and acceleration can be measured and regulated. Acceleration can also be increased or limited by linear current feedback or current limit control.
When switched to position control signal (PES) mode, the PES can be regulated with the motor current to null the position error. But since position is the 2nd integration of acceleration or current, the lag causes phase margin to be inherently unstable without compensation.
In stepper type servos such as floppy disk drives (FDD) and some CNC machines will use a micro-controller unit (MCU or uC) with specialized microcode to limit the velocity and de/acceleration then using the required step size for torque and resolution tradeoffs will apply the final step current to minimize overshoot and ringing. Microsteps give more resolution but less torque. This sub-step size can range from 1 to 64 and is pre-determined by design.
Implementation Specific solutions have not been defined because that restricts the choices and arbitrarily assumes budget, size and design parameters not given.