# BACKLOG.md > Ítems pendientes que no entran en el sprint actual. El agente NO los ejecuta > sin aprobación del director (Nivel 3 salvo indicación contraria). --- ## Seguridad ### [SEC-001] Actualizar Next.js — CVE pendiente en 15.3.3 - **Estado:** Pendiente - **Prioridad:** Alta - **Contexto:** Next.js 15.3.3 tiene un CVE conocido. La versión no se actualizó en la tarea del 2026-06-02 para no mezclar cambios con el fix de producción de chromedriver. Actualizar en el próximo ciclo de mantenimiento. - **Acción:** `npm install next@latest` + verificar que el build y la app sigan funcionando antes de deployar. - **Nota:** revisar changelog de Next.js por breaking changes antes de actualizar. --- ## Técnico / Deuda ### [TECH-001] `npm audit` reporta 2 vulnerabilidades en deps de producción - **Estado:** Pendiente de revisión - **Contexto:** `npm audit` señala 1 moderate + 1 critical. Evaluar con `npm audit --json` si afectan el runtime de la app o solo herramientas de build. - **Acción:** `npm audit fix` (o fix manual) y re-verificar build. ### [TECH-002] Mockup `formulario_mapeo.html` no encontrado en el árbol de trabajo - **Estado:** Pendiente - **Contexto:** El BRIEF Sprint 2 lo cita como "contrato visual". El agente diseñó la UI basándose en SEED_SPEC.md. Requiere validación visual del director contra el mockup original. ### [TECH-003] Auditoría a11y interactiva pendiente (foco, aria-expanded, widgets) - **Estado:** Pendiente - **Contexto:** La auditoría de Etapa 2A se corrió sobre el HTML SSR estático (jsdom). La verificación de componentes interactivos (foco al abrir bloque condicional, aria-expanded en triggers, operación solo con teclado) requiere auditoría en browser real. - **Acción:** Correr axe-cli con Chrome 149+ (o actualizar Chrome a 149) y hacer test manual de navegación por teclado. --- ## Features *(Sprint 3 y posteriores — ver ARCHITECTURE.md y BRIEF por sprint)* ### [BACKLOG-001] Consentimiento inicial editable desde admin - **Estado:** hoy el texto del consentimiento está hardcoded en `consent-screen.tsx`. - **Necesidad:** cuando se construya el motor de formularios (builder), el texto del consentimiento debe ser editable por encuesta desde la administración, para reflejar cambios en política de privacidad o ajustes específicos por tipo de relevamiento. - **Bloquea:** implementación del builder visual. - **Decisión cerrada:** la edición es desde admin, no desde el código. --- ### [BACKLOG-002] Fase 2 — Motor genérico de formularios - **Estado:** Diferido post-deadline - **Contexto:** En Sprint 4 se construye un intérprete del esquema declarativo específico para el formulario de cuidadores (ADR-005, Fase 1). Una vez entregado ese caso, el intérprete se extrae a un motor universal que interprete cualquier esquema definido en `questions.conditional_rules` + campos de instanciación, sin hardcodear ningún formulario. El formulario de cuidadores se vuelve el primer caso de prueba del motor sin reescribir el contrato de datos. - **Dependencia:** Fase 1 completada (Sprint 4 — wizard funcional). - **Ver:** ADR-005 (`docs/adr/ADR-005-esquema-declarativo-formularios.md`). - Dashboard / reportes (Sprint 3) - Formulario de consentimiento + persistencia de respuestas (Etapa 2B) - Builder visual de encuestas (post-validación del caso fijo) - Integración LLM para análisis de texto libre (diferenciador) - Modo B / controller_role dual (reservado en esquema) - Columnas `qi_gender` / `qi_modality` en `responses` — decisión Nivel 3 abierta (ver hallazgo en SEED_SPEC.md)