# MovementTest OSQP Iteration Limit Design ## Goal Allow the trajectory-observation MovementTest to configure the OSQP iteration cap separately from the solver time budget, with a default that can be reached within the existing 0.50-second test budget. ## Decision Add an integer `MaximumOsqpIterations` setting with a default of `12000`. The current target machine completes 4000 iterations in about 153ms. The 12000-iteration default is therefore expected to fit approximately within the existing 0.50-second `SolverTimeoutSeconds` budget. A 20000-iteration default would likely be cut short by the time budget first. ## Scope - Add, snapshot, and validate `MaximumOsqpIterations` in `TrajectoryObservationSettings`. - Expose it as a public MovementTest parameter with default `12000`. - Copy it to `EmPlannerConfiguration.Solver.MaximumOsqpIterations` for an observation session. - Prove that a custom value is present on the emitted EM planning request. ## Non-goals - Do not modify `SolverTimeoutSeconds` from its current 0.50-second test default. - Do not relax `AbsoluteTolerance`, `RelativeTolerance`, or `StrictResidualTolerance` from `1e-5`. - Do not change the production EM defaults, vehicle constraints, map, or observe-only command policy.