diff --git a/docs/superpowers/specs/2026-08-05-movementtest-solver-timeout-design.md b/docs/superpowers/specs/2026-08-05-movementtest-solver-timeout-design.md new file mode 100644 index 0000000..9821573 --- /dev/null +++ b/docs/superpowers/specs/2026-08-05-movementtest-solver-timeout-design.md @@ -0,0 +1,22 @@ +# MovementTest Solver Timeout Design + +## Goal + +Allow the trajectory-observation MovementTest to give OSQP enough time to produce its first test trajectory without loosening solver accuracy or vehicle safety constraints. + +## Scope + +- Add `SolverTimeoutSeconds` to `TrajectoryObservationSettings`, defaulting to `0.50` seconds. +- Validate and snapshot that setting with the existing observation settings. +- Expose it as a MovementTest field and pass it into the observation settings. +- Copy the setting to `EmPlannerConfiguration.Scheduling.SolverTimeoutSeconds` when the observation controller is created. + +## Non-goals + +- Do not change the `1e-5` OSQP or strict residual tolerances. +- Do not change vehicle, map, speed, acceleration, or control-command behavior. +- Do not modify the production EM default configuration; this is an observation-test override only. + +## Verification + +The observation verification host will prove a custom timeout survives settings snapshotting and is present on the EM planning request. Existing observation and full EM verification suites must remain green.