The API returns {"models":[...]} rather than a bare array. Added MlModelsResponse wrapper class and updated LoadModelHistory to unwrap the list before iterating, preventing the deserialization exception in TrainingController.