Deba el despliegue por digestión, no por etiqueta
El commit anterior se detiene la imagen de conjunto siendo un silencioso sinop. Esto afirma lo Resultado: después del despliegue, la etiqueta se resuelve a un c...
Una reconstrucción del mismo compromiso no desplegó nada y reportó éxito
La imagen está etiquetada con el commit SHA, por lo que reconstruir el mismo commit produce una referencia de imagen idéntica. "kubectl set image". entonces no ...
Deja que un rollo termine lo que la vieja vaina estaba haciendo
Los despliegues sustituyeron a la única cápsula de cada servicio sin nada para captar las solicitudes en vuelo. Tres ajustes, aplicados en toda la flota: - pre...
Los niveles de audiencia de KB son acumulativos, igual que KbReaderScope
El filtro de recuperación coinía exactamente con el nivel de un lector: un TEAMEMBER tuvo que fósvalo aiVisibleToTeamMembers y nada más. Así que un artículo que...
Tamaño la vaina por encima de su propio techo de púrcim JVM [suelta ci]
La imagen comienza la JVM con -XX:MaxRAMPercentaje=70 -XX:-SiemprePreTouch, por lo que el solo puede tomar el 70% del límite de contenedores y pretocar mantiene...
Apreciar la descarga de kubectl contra egress escamosas [sillar ci]
dl.k8s.io sobre la egresación del corredor deja caer intermitentemente la transferencia intermedia: rl: (56) OpenSSL SSL-read: descifrado o mal registro mac q...
Lower embedding batch size to 8 to match model backend limit
The TEI backend forces max_batch_requests=8 regardless of client config. Batches of 32 were still failing with connection errors.
Batch embedding requests to respect model's max batch size of 32
The embedding model rejects requests with more than 32 inputs, but articles with large content produce 46-198 chunks. All embedding attempts were failing with 4...
Add search request/response logging to RagSearchController
Log orgId, query, result count, and full stack traces on error to diagnose 500 responses seen from AIService.
Reduce chunk size to fit all-MiniLM-L6-v2 token limit (256 max)
Chunk target was 2000 chars (~512 tokens) but the embedding model only accepts 256 tokens, causing 413 validation errors. Reduce to 800 chars (~200 tokens) with...
Use integer match filter for Qdrant searches instead of matchKeyword
The orgId and articleId payload fields are stored as integers via value(Long), but search and delete filters used matchKeyword() which only matches string/keywo...
Index KB articles for RAG on creation, not just when published
Previously the RAG pipeline only indexed PUBLISHED articles, requiring the full review/approval cycle before the AI chat could reference them. Now indexes all a...
Grant all rights when rights list is empty (rights system not yet enforced)
Rename qdrant config properties to avoid K8s env var collision
Kubernetes auto-creates QDRANT_PORT env var from the qdrant Service, which overrides the Spring property with 'tcp://ip:port' instead of an integer. Renamed to ...
Make NATS consumer startup resilient with retry logic
Consumer now retries subscription in a background thread with backoff if KB_EVENTS stream doesn't exist yet. Prevents crash loop when KBService hasn't published...
Como lo que ves enviaste?
Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.