Tencent/WeKnora · error

failed to validate document scope: %w

Error message

failed to validate document scope: %w

What it means

The fine-grained document-scope check (searchTargetsAllowKnowledgeID) itself errored — e.g. tag lookup against the knowledge service failed — so the system cannot decide whether the document is allowed and fails closed by denying authorization.

Source

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

	}
	if knowledgeService == nil {
		return nil, fmt.Errorf("knowledge service is unavailable")
	}
	knowledge, err := knowledgeService.GetKnowledgeByIDOnly(ctx, knowledgeID)
	if err != nil || knowledge == nil {
		if err == nil {
			err = fmt.Errorf("empty result")
		}
		return nil, fmt.Errorf("document %s not found: %w", knowledgeID, err)
	}
	if !searchTargets.ContainsKB(knowledge.KnowledgeBaseID) {
		return nil, fmt.Errorf("knowledge base %s is not within the current Agent scope", knowledge.KnowledgeBaseID)
	}
	allowed, err := searchTargetsAllowKnowledgeID(
		ctx, searchTargets, knowledge.ID, knowledge.KnowledgeBaseID, knowledgeService,
	)
	if err != nil {
		return nil, fmt.Errorf("failed to validate document scope: %w", err)
	}
	if !allowed {
		return nil, fmt.Errorf("document %s is not within the current @mention scope", knowledge.ID)
	}
	return knowledge, nil
}

// authorizeChunkInSearchTargets is the chunk/FAQ counterpart of
// authorizeKnowledgeInSearchTargets. A chunk ID is accepted only after the
// server resolves its owning document and validates that document against the
// full KB/document/tag scope.
func authorizeChunkInSearchTargets(
	ctx context.Context,
	searchTargets types.SearchTargets,
	chunkID string,
	chunkService interfaces.ChunkService,
	knowledgeService interfaces.KnowledgeService,
) (*types.Chunk, error) {

View on GitHub (pinned to 988cbb0330)

Solutions

  1. Inspect the chained inner error for the underlying service failure
  2. Check knowledge/tag service availability
  3. Retry transient service failures during scope validation
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at internal/agent/tools/scope_authorization.go:86 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/33e16970784c5a5b. Report an issue: GitHub.