using Deal.Modules.Discovery.Application.Abstractions; using Deal.Modules.Discovery.Application.Exceptions; using Deal.Modules.Discovery.Application.Extensions; using Deal.Modules.Discovery.Application.Registrars; using Deal.Modules.Discovery.Application.Services; namespace Deal.Modules.Discovery.Application.Models; /// /// Агрегат оценки выборки сообщений (python evaluate_sample L197–226: fit_count/total/fit_ratio/per_message). /// /// Сколько сообщений подошли под задачу. /// Всего сообщений выборки. /// Доля подходящих (fit_count / total; 0 при пустой выборке). /// Вердикты по сообщениям во входном порядке. public sealed record DiscoveryEvalSample( int FitCount, int Total, double FitRatio, IReadOnlyList PerMessage);