Tencent/WeKnora · error

failed to validate graph result scope: %w

Error message

failed to validate graph result scope: %w

What it means

Tag-based scope resolution for graph results failed: knowledgeIDsMatchingAnyTag errored while checking which candidate documents match the request's tag scope, so the filter cannot certify the remaining results and fails closed.

Source

Thrown at internal/agent/tools/scope_authorization.go:286

				"graph result document %s belongs to knowledge base %s, expected %s",
				result.KnowledgeID, result.KnowledgeBaseID, kbID,
			)
		}
		if _, ok := explicitSet[result.KnowledgeID]; !ok {
			remainingIDs = append(remainingIDs, result.KnowledgeID)
		}
	}
	var tagMatches map[string]bool
	if len(tagIDs) > 0 {
		if knowledgeService == nil {
			return nil, fmt.Errorf("knowledge service is unavailable for tag-scoped graph filtering")
		}
		var err error
		tagMatches, err = knowledgeIDsMatchingAnyTag(
			ctx, remainingIDs, tagIDs, knowledgeService.GetKnowledgeTags,
		)
		if err != nil {
			return nil, fmt.Errorf("failed to validate graph result scope: %w", err)
		}
	}

	filtered := make([]*types.SearchResult, 0, len(results))
	for _, result := range results {
		if result == nil || result.KnowledgeID == "" {
			continue
		}
		_, explicit := explicitSet[result.KnowledgeID]
		if explicit || tagMatches[result.KnowledgeID] {
			filtered = append(filtered, result)
		}
	}
	return filtered, nil
}

func knowledgeIDsMatchingAnyTag(
	ctx context.Context,

View on GitHub (pinned to 988cbb0330)

Solutions

  1. Inspect the chained inner error from the tag lookup
  2. Check knowledge/tag service health
  3. Retry transient tag-resolution failures
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at internal/agent/tools/scope_authorization.go:286 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of Tencent/WeKnora@988cbb0330 (2026-09-02). Data as JSON: /api/errors/647b0c84c5262684. Report an issue: GitHub.