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);