@@ -479,6 +479,8 @@ func (e *Engine) executeArticleResearchQuery(ctx context.Context, trigger string
|
||||
|
||||
assessed := e.rankResearchCandidates(ctx, question, fetched, true)
|
||||
accepted := make([]model.ResearchResult, 0, len(assessed))
|
||||
thinkingFilter := e.effectiveThinkingFilter()
|
||||
researchCategories := e.categoriesForNodeIDs(nodeIDs)
|
||||
for _, candidate := range assessed {
|
||||
item := candidate.Result
|
||||
assessment := candidate.Assessment
|
||||
@@ -493,6 +495,15 @@ func (e *Engine) executeArticleResearchQuery(ctx context.Context, trigger string
|
||||
if question.ExpectActionable && !assessment.Actionable {
|
||||
acceptedByGate = false
|
||||
}
|
||||
researchNode := model.Node{Kind: "external", Origin: "research", URI: item.URL, ExternalID: item.URL, Categories: researchCategories}
|
||||
if !thinkingFilter.Matches(researchNode) {
|
||||
acceptedByGate = false
|
||||
if strings.TrimSpace(item.AssessmentReason) == "" {
|
||||
item.AssessmentReason = "Die Quelle liegt außerhalb des wirksamen Thinking-Quellenfilters."
|
||||
} else {
|
||||
item.AssessmentReason += " · außerhalb des wirksamen Thinking-Quellenfilters"
|
||||
}
|
||||
}
|
||||
metadata := mergeResearchMetadata(startMetadata, map[string]any{"result_url": item.URL, "result_title": item.Title, "relevance": item.Relevance, "source_quality": item.SourceQuality, "source_quality_score": item.SourceQualityScore, "actionable": item.Actionable, "covered_gap_ids": item.CoveredGapIDs, "assessment_reason": item.AssessmentReason})
|
||||
if !acceptedByGate {
|
||||
stats.Rejected++
|
||||
|
||||
Reference in New Issue
Block a user