diff --git a/docs/superpowers/specs/2026-08-05-movementtest-longitudinal-time-step-design.md b/docs/superpowers/specs/2026-08-05-movementtest-longitudinal-time-step-design.md new file mode 100644 index 0000000..86e5106 --- /dev/null +++ b/docs/superpowers/specs/2026-08-05-movementtest-longitudinal-time-step-design.md @@ -0,0 +1,26 @@ +# MovementTest Longitudinal Time-Step Design + +## Goal + +Reduce the observation-test longitudinal QP size without relaxing the solver accuracy, time budget, vehicle limits, or observe-only behavior. + +## Decision + +Add a configurable `OutputTimeStepSeconds` to the trajectory-observation MovementTest with a default of `0.10d` seconds. + +The EM time horizon remains `6d` seconds. At the parking-test speed limit of `0.20m/s`, a 0.10-second knot interval corresponds to at most 0.02m of travel between knots. + +## Scope + +- Add, snapshot, and validate `OutputTimeStepSeconds` in `TrajectoryObservationSettings`. +- Expose the setting in the MovementTest as a public field with a default of `0.10d`. +- Copy it to the session-local `EmPlannerConfiguration.Scheduling.OutputTimeStepSeconds`. +- Verify custom settings reach the planning request and non-positive values are rejected. + +## Non-goals + +- Keep `TimeHorizonSeconds = 6d`. +- Keep `ObserverPeriodSeconds = 0.05d`. +- Keep `SolverTimeoutSeconds = 0.50d`, `MaximumOsqpIterations = 12000`, and all `1e-5d` solver tolerances. +- Do not change production EM defaults, maps, vehicle constraints, or command output behavior. +