Harden diagnostic handling and warning presentation

This commit is contained in:
2026-08-27 18:41:59 +00:00
parent 1025001f20
commit 079d5af337
67 changed files with 518 additions and 318 deletions

View File

@@ -51,7 +51,7 @@ func (v *Validator) Validate(_ context.Context, req contracts.TypedValidationReq
if err != nil {
return contracts.ValidationResult{Approved: true}, nil
}
warnings := make([]diagnostics.Finding, 0)
findings := make([]diagnostics.Finding, 0)
for index, scene := range req.Value.Scenes {
citedText, err := resolver.CitedText([]source.SourceRef{scene.SourceRef})
if err != nil {
@@ -59,13 +59,13 @@ func (v *Validator) Validate(_ context.Context, req contracts.TypedValidationReq
}
citedTokens := tokenSet(citedText)
if !hasGroundedToken(citedTokens, scene.Title) {
warnings = append(warnings, warning(index, "title"))
findings = append(findings, finding(index, "title"))
}
if !hasGroundedToken(citedTokens, scene.Summary) {
warnings = append(warnings, warning(index, "summary"))
findings = append(findings, finding(index, "summary"))
}
}
return diagnostics.DataQualityResult(warnings)
return diagnostics.DataQualityResult(findings)
}
func tokenSet(value string) map[string]struct{} {
@@ -98,7 +98,7 @@ func significant(token string) bool {
return !ignored
}
func warning(index int, field string) diagnostics.Finding {
func finding(index int, field string) diagnostics.Finding {
return diagnostics.Finding{
Scope: fmt.Sprintf("scenes[%d].%s", index, field),
ReasonCode: ReasonCode,