namespace GB5Shared.DTO.Qualifier
{
///
/// A single finding produced by a qualifier rule condition evaluation.
/// Findings are collected into QualifierResult.Findings and returned to the caller.
///
public sealed class QualifierFinding
{
public FindingSeverity Severity { get; init; }
public string Code { get; init; } = string.Empty;
public string Message { get; init; } = string.Empty;
/// JSONPath to the offending field in the source document (e.g. "$.Header.Amount").
public string? DocumentPath { get; init; }
/// 0-based line index for line-level findings; null for document-level.
public int? LineIndex { get; init; }
/// Group key for group-level findings (from QualifierFactBag groups).
public string? GroupKey { get; init; }
public int QualifierId { get; init; }
public string QualifierCode { get; init; } = string.Empty;
}
}