OptionalContextMulti-tenant runtime context — filters results to a specific tenant/dimension.
OptionalEntitiesFor EntitySearchProvider / FullTextSearchProvider: only search these entities.
OptionalExternalFor vector and 3rd-party index providers (Elasticsearch, Typesense, AzureAISearch, OpenSearch): only query these external indexes. Each entry carries its IndexType, native identifier, rendered MetadataFilter, and any ExternalIndexConfig.
OptionalQueryOptional per-provider query rewrites. Map key is the provider's DriverClass or
SourceType. Provider uses this in place of the raw query when present.
OptionalScopeAdvanced scope config passed through verbatim. Providers may inspect this for provider-specific knobs (e.g., vector namespace, route key).
OptionalStorageFor StorageSearchProvider: only search these accounts/folders.
Constraints assembled from one or more
SearchScoperecords and handed to each provider so the provider can narrow its retrieval to the scoped surface and apply native permission / metadata push-down.Providers that receive
scopeConstraintsMUST implement permission push-down (see Section 3.6 of plans/search-scopes-rag-plus.md) — no result the calling user cannot see should ever enter RRF/re-rank.