Move TrainingInfoResponse from private nested record to dto/TrainingInfoResponse.java, add senderModels field, inject SenderModelService into OcrTrainingService so personNames covers all known senders rather than only recent-run participants. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>