Reuse indexes for D&D citation validation

This commit is contained in:
2026-07-25 12:53:48 +00:00
parent 9d1356a20e
commit 7a66095912
7 changed files with 55 additions and 21 deletions

View File

@@ -48,9 +48,13 @@ func (v *Validator) Validate(_ context.Context, req contracts.TypedValidationReq
if shape.Validate(req.Value) != nil || !sourceRefsValid(req.Source, req.Value) {
return contracts.ValidationResult{Approved: true}, nil
}
resolver, err := shared.NewCitationResolver(req.Source)
if err != nil {
return contracts.ValidationResult{Approved: true}, nil
}
warnings := make([]contracts.Warning, 0)
for index, scene := range req.Value.Scenes {
citedText, err := shared.CitedText(req.Source, []source.SourceRef{scene.SourceRef})
citedText, err := resolver.CitedText([]source.SourceRef{scene.SourceRef})
if err != nil {
return contracts.ValidationResult{Approved: true}, nil
}