- • Dos búsquedas en paralelo: semántica (embeddings e5-small sobre pgvector) y léxica (ts_rank_cd)
- • Se fusionan por RRF (Reciprocal Rank Fusion) en una ventana de 20 candidatos
- • El embedding es local, in-process y $0 — el mismo motor que usa Nova para el MATCH
- • El reranker Cohere reordena los 20 y manda el top-5; si el proveedor externo falla, degrada a RRF
- • Filtro por security_level según el clearance del request — fail-closed a 'público'
- • Solo texto anonimizado sale del box hacia Cohere y el LLM (ver capa PII)
- • El LLM recibe solo el top-5 ya filtrado y reordenado
- • La respuesta lleva provenance: de qué chunks salió cada afirmación
- • Es un RAG sobre documentos — distinto del RAG sobre el catálogo de capacidades (MATCH)