From 7cebc08c907f0472a0937f9a78e6f53c898c78e2 Mon Sep 17 00:00:00 2001 From: blublinsky Date: Mon, 6 Jul 2026 12:26:35 +0100 Subject: [PATCH] OLS-3432 Add dynamic product filtering spec to RAG docs Add behavioral rule and planned change for LLM-driven selection of additional OpenShift-related products in the OKP Solr search tool. Co-authored-by: Cursor --- .ai/spec/what/rag.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.ai/spec/what/rag.md b/.ai/spec/what/rag.md index 00d5f08f4..e6b74efaa 100644 --- a/.ai/spec/what/rag.md +++ b/.ai/spec/what/rag.md @@ -22,6 +22,8 @@ The RAG subsystem augments LLM responses with relevant documentation so that ans 9. Tool calling is enabled when Solr hybrid is configured, even without MCP servers. This ensures OKP retrieval works in non-agentic deployments. +10. [PLANNED: OLS-3432] The `search_openshift_documentation` tool must support dynamic product filtering via an optional `additional_products` argument. At startup, available OpenShift-related products are discovered from Solr (facet query on `product:*openshift*`), excluding `openshift_container_platform` and ROSA products (`red_hat_openshift_service_on_aws`, `red_hat_openshift_service_on_aws_classic_architecture`). The discovered product names are listed in the tool description so the LLM can select relevant products per query. When `additional_products` is provided, the Solr `fq` becomes a compound OR: OCP (version-pinned) + each additional product (no version filter — layered products use independent versioning). Invalid product names are rejected. When `additional_products` is absent or empty, the filter is the static baseline (OCP-only, or OCP+ROSA on ROSA clusters). ROSA products are never in the dynamic list — they are handled by the static filter from OLS-1894. + ## Behavioral Rules — BYOK Retrieval (Customer Content) 1. BYOK FAISS vector indexes are built offline from customer-supplied Markdown documentation. Indexes are loaded from the local filesystem at startup and are never built or modified at runtime. @@ -124,5 +126,5 @@ Customers can supply their own documentation as additional RAG indexes, so that - [PLANNED: OLS-1872] BYOK — internal web source integration (Git, Confluence). - [PLANNED: OLS-1812] Add embedding model path to CRD for each index, enabling per-index embedding model configuration through the operator. - [PENDING] OKP server-side embedding — if OKP team confirms, the granite model can be removed from the service image. -- [PLANNED] Multi-product OKP filtering — product-scoped retrieval for OpenStack and other layered products. +- [PLANNED: OLS-3432] Dynamic product filtering — LLM-driven selection of additional OpenShift-related products (Pipelines, GitOps, Service Mesh, etc.) via tool argument. Depends on OLS-3310. - [PLANNED] Multi-version OKP support — query specific OCP version documentation.