Builds a normalized, model-safe ComputerUseGoalProgress note from a completed step: the
controller's reasoning summary, truncated to PROGRESS_MESSAGE_MAX_LENGTH with an ellipsis. Shared
by every goal engine that forwards progress (ProgressComputerUseEngine and the server-tier MJ
engine) so the narration shape stays identical across them.
Builds a normalized, model-safe ComputerUseGoalProgress note from a completed step: the controller's reasoning summary, truncated to PROGRESS_MESSAGE_MAX_LENGTH with an ellipsis. Shared by every goal engine that forwards progress (ProgressComputerUseEngine and the server-tier MJ engine) so the narration shape stays identical across them.