Classify source relatedness as data-quality advisories

This commit is contained in:
2026-08-27 15:49:53 +00:00
parent 1f1967c8d2
commit ccba2ce3f9
25 changed files with 232 additions and 189 deletions

View File

@@ -13,10 +13,9 @@ import (
)
const (
Key = "extract/dnd/combat-turns/source_relatedness"
WarningReasonCode = "combat_turn_not_near_source"
OmittedReasonCode = "combat_turn_relatedness_warnings_omitted"
policy = "dnd.combat_turns.validator.source_relatedness.v2"
Key = "extract/dnd/combat-turns/source_relatedness"
ReasonCode = "combat_turn_not_near_source"
policy = "dnd.combat_turns.validator.source_relatedness.v2"
)
type Options struct{}
@@ -59,16 +58,13 @@ func (v *Validator) Validate(_ context.Context, req contracts.TypedValidationReq
}
warnings = append(warnings, contracts.Warning{
Scope: fmt.Sprintf("combat_turns[%d]", turnIndex),
ReasonCode: WarningReasonCode,
ReasonCode: ReasonCode,
Message: diagnostics.Aggregate("combat turn not near source", []string{
fmt.Sprintf("actor %s was not found in cited source text", diagnostics.Quote(turn.Actor)),
}),
})
}
return contracts.ValidationResult{
Approved: true,
Warnings: diagnostics.LimitWarnings(warnings, "combat_turns", OmittedReasonCode),
}, nil
return diagnostics.DataQualityResult(warnings)
}
func actorAppearsInCitedText(citedText string, actor string) bool {
return shared.ContainsTokenSequence(citedText, actor)