Today is 2026-05-13 but the dataset was calibrated for early 2025.
'Last year' queries (date > 2025-05-13) returned 0 rows because all
records were 2023-2025-04.
Shifted year by +1 for 46/50 rows. Kept old dates for 4 Charlie rows
that drive the overdue_procedures narrative in member_insights.json
(Annual Physical 2024-05-15, Dental Cleaning 2025-01-10, Vision Exam
2023-08-22, Blood Test 2024-11-04 — these MUST stay old to remain overdue).
Charlie's X Ray (2025-03-28 → 2026-03-28) is now recent, so 'last year
at City Hospital' returns Charlie + Diana + Frank + Bob + Ethan + Henry +
Isabel + Maria with recent visits.
El LLM de watsonx Orchestrate estaba alucinando nombres de columnas
(procedure_name en lugar de procedure) y los valores de procedimientos
en español sin traducir. Dos fixes:
1. Backend (benefits_api.py): mapas _COLUMN_ALIASES y _VALUE_ALIASES
resuelven aliases comunes (procedure_name, name, plan, etc.) y
traducciones ES→EN (radiografía → X Ray, resonancia → MRI, etc.)
antes de aplicar el filtro. Mensajes de error ahora listan columnas
válidas para que el agente se corrija solo.
2. OpenAPI spec (yaml + json): description de cada operación ahora
enumera explícitamente las columnas válidas y los valores válidos
del campo procedure, más una sección VALUE MAPPING ES→EN para que
el LLM no tenga que adivinar.
- Reemplaza emojis por iconos SVG estilo Lucide en cards landing y descargas
- Paleta refinada: slate grays + navy + accent amber-700 (B45309)
- Hero con grid pattern sutil y gradients radiales
- Cards con sombras suaves y borders, hover lift
- Header sticky con backdrop-filter
- Tipografía Inter con tracking ajustado
- Botones con flechas SVG inline