using Deal.Modules.Cards.Application.Abstractions;
namespace Deal.Modules.Cards.Application.Models;
///
/// Контекст перехода карточки: кто инициировал и что делать с обучением.
///
/// Переход — единый механизм (); контекст отличает действие пользователя
/// (обучать ML), системы (автоархив/очистка) и ИИ/ML (классификация). Reason — для возвратов из отсева
/// и ручных исключений, чтобы ML/ИИ учились на решении.
public sealed record TransitionContext
{
///
/// Инициатор перехода: user|system|ai|ml.
///
public required string Actor { get; init; }
///
/// Причина (возврат из отсева, ручная отмена); null — нет.
///
public string? Reason { get; init; }
///
/// Обучать ML на этом действии (действия пользователя — да; системные — нет).
///
public bool Learn { get; init; }
}