Found during the Piccolo #321 end-to-end smoke. Bare DirectTrajOptProblem construction (no du/ddu spline machinery) + a TerminalObjective-class objective stalls Ipopt into restoration ('Error in step computation', inf_du ~1e3 at iteration 1) and returns dynamics-violating points. Reproduces with NO warp on pinned DTO 0.10.1 — not a warp regression.
Evaluator verified CORRECT: a runtime-patched MOI.eval_objective probe returns the full objective (~99.9) at every solver probe with properly packed z — the defect is downstream in the Ipopt step computation (Ipopt's displayed 0 is scaled output, not an objective drop).
Repro + probe: the smoke/debug scripts are preserved in the piccolo-stack-program audit trail (session-20260829, L12); construction shape = bare problem + TerminalObjective on a warp-free 1q unitary. Suspected seam: bare-problem objective scaling/regularization defaults vs the SmoothPulseProblem battle-tested path (whose solves converge with the same objective class).
Found during the Piccolo #321 end-to-end smoke. Bare
DirectTrajOptProblemconstruction (no du/ddu spline machinery) + a TerminalObjective-class objective stalls Ipopt into restoration ('Error in step computation', inf_du ~1e3 at iteration 1) and returns dynamics-violating points. Reproduces with NO warp on pinned DTO 0.10.1 — not a warp regression.Evaluator verified CORRECT: a runtime-patched MOI.eval_objective probe returns the full objective (~99.9) at every solver probe with properly packed z — the defect is downstream in the Ipopt step computation (Ipopt's displayed 0 is scaled output, not an objective drop).
Repro + probe: the smoke/debug scripts are preserved in the piccolo-stack-program audit trail (session-20260829, L12); construction shape = bare problem + TerminalObjective on a warp-free 1q unitary. Suspected seam: bare-problem objective scaling/regularization defaults vs the SmoothPulseProblem battle-tested path (whose solves converge with the same objective class).