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