@ -84,7 +84,7 @@ Estado: la tabla response_queue ya está creada e incluida en los tests de DB.
## Flujo del worker continuo (MVP)
- Se inicia al arrancar el servidor (desactivado en tests).
- Ciclo: seleccionar hasta un pequeño batch de mensajes queued, marcar processing, enviar a Evolution API, marcar sent o failed según respuesta.
- Sin reintentos; logs mínimos y no sensibles.
- Reintentos con backoff exponencial + jitter y recuperación de processing; logging moderado.
## Limitaciones actuales
- Sin orden garantizado por chat (pendiente serialización por destinatario).
@ -185,7 +185,7 @@ bun test
## 📅 Roadmap & Priorities (Updated Plan)
### MVP — Próximos pasos (prioridad actual)
1) Afinar recordatorios por DM (daily/weekly): encabezados, hora configurable y pequeños ajustes de formato.
1) Afinar recordatorios por DM (daily/weekly): hora configurable por usuario y pequeños ajustes de formato.
2) Refinar ContactsService: mejorar heurística de nombre, invalidación temprana en CHATS_UPDATE/CONTACTS_UPDATE, TTL configurable, robustez ante fallos, sin llamadas de red en tests.
3) Sincronización mínima de miembros: obtener y cachear miembros de grupos activos con TTL, uso no bloqueante; base para futuras validaciones/UX.
4) Ampliar test suite: actualización de nombres, sync de miembros y casos extremos de ResponseQueue.
@ -353,21 +353,21 @@ Este apartado documenta las decisiones de UX aprobadas para el MVP y su evoluci
- Servicio `ContactsService` con caché en memoria (TTL) y actualización por webhooks (CONTACTS_UPDATE/CHATS_UPDATE); fallback a Evolution API para obtener nombres. Se usa para mostrar nombres en los textos (con fallback a números). En entorno de test evita llamadas de red para acelerar y aislar la suite.
- **UX de Notificaciones**
- Confirmación por DM al creador siempre (en una sola línea con id y descripción) y DM a cada asignado (excluyendo al creador).
- Confirmación por DM al creador (encabezado: 📝 <id> “desc”, con líneas de fecha 📅 y dueño 🚫👤/👤) y DM a cada asignado (📬, excluye al creador); fechas vencidas marcadas con ⚠️.
- Notificación opcional al grupo controlada por `NOTIFY_GROUP_ON_CREATE` (false por defecto), incluyendo menciones para visibilidad.
- Política solo DM: el bot no publica respuestas en grupos; todos los mensajes de salida se envían por DM al autor (salvo la notificación opcional anterior).
- **Validaciones de Usuario**
@ -59,7 +59,7 @@
- Refinar políticas de caché (TTL, invalidación) y ampliar compatibilidad de endpoints; en DM, WhatsApp no pinta chips de mención de terceros (limitación del cliente).
## ➡️ Próximos Pasos Prioritarios
1. Afinar recordatorios por DM (daily/weekly): encabezados, hora configurable y pequeños ajustes de formato.
1. Afinar recordatorios por DM (daily/weekly): hora configurable por usuario y pequeños ajustes de formato.
2. Refinar ContactsService (caché/nombres; TTL configurable; robustez ante fallos; sin red en tests).
3. Sincronización mínima de miembros (cacheada; no bloqueante).
4. Ampliar test suite (contactos, sync de miembros, ResponseQueue).
@ -84,7 +84,7 @@
## ▶️ Para continuar ahora
Propuesta inmediata:
- Recordatorios diarios por DM (opt-in daily|off; hora fija local; resumen compacto).
- Afinar recordatorios por DM (daily/weekly): hora configurable por usuario; encabezados ⏰ y formato de mensajes ya actualizados.
- Refinar ContactsService (caché y nombres; TTL configurable; robustez ante fallos; sin red en tests).
- Sincronización mínima de miembros (cacheada; no bloqueante).
- Ampliar test suite (recordatorios, contactos, sync de miembros, ResponseQueue).