package validators import ( "encoding/json" "fmt" "gitea.maximumdirect.net/eric/audita/v3/internal/framework/promptcontext" ) func BuildValidationVariables(validationPayload []LLMValidationItem, transcriptDescription string) (map[string]string, error) { payloadJSON, err := json.MarshalIndent(localValidationItems(validationPayload), "", " ") if err != nil { return nil, fmt.Errorf("marshal validation payload: %w", err) } return map[string]string{ "TranscriptDescriptionBlock": promptcontext.TranscriptDescriptionBlock(transcriptDescription), "PayloadJSON": string(payloadJSON), }, nil } // localValidationItems gives each actual batch its own short references. func localValidationItems(items []LLMValidationItem) []LLMValidationItem { local := append([]LLMValidationItem(nil), items...) for i := range local { local[i].CorrectionIndex = i + 1 } return local }