diff --git a/README.md b/README.md index c015d51..5704a7a 100644 --- a/README.md +++ b/README.md @@ -179,6 +179,13 @@ bun test ## 📅 Roadmap & Priorities (Updated Plan) +### MVP — Próximos pasos (prioridad actual) +1) Rate limiting básico: bucket en memoria por remitente (p. ej., 10/min), respuesta amable al exceder, desactivado en NODE_ENV=test. +2) Recordatorios diarios por DM: preferencia por usuario (daily|off, por defecto off), hora fija local (p. ej., 08:30 TZ), un DM con resumen compacto de “tus tareas”. +3) 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. +4) Sincronización mínima de miembros: obtener y cachear miembros de grupos activos con TTL, uso no bloqueante; base para futuras validaciones/UX. +5) Ampliar test suite: cubrir recordatorios, rate limiting, actualización de nombres, sync de miembros y casos extremos de ResponseQueue. + ### Phase 1: User & Group Foundation (Highest Priority - In Progress) - [x] **Create WhatsApp ID Normalization Utility:** (`src/utils/whatsapp.ts`) Handle different ID formats. - [x] **Implement `ensureUserExists`:** (`src/db.ts`) Add users to DB on first interaction. diff --git a/STATUS.md b/STATUS.md index 9897707..ebbc464 100644 --- a/STATUS.md +++ b/STATUS.md @@ -53,8 +53,11 @@ - 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. Métricas y observabilidad de ResponseQueue (/metrics). -2. Gestión de tareas: eliminación y mejoras de edición. +1. Rate limiting básico (bucket en memoria por remitente; desactivado en tests). +2. Recordatorios diarios por DM (opt-in daily|off; hora fija local; resumen compacto). +3. Refinar ContactsService (caché/nombres; TTL configurable; robustez ante fallos; sin red en tests). +4. Sincronización mínima de miembros (cacheada; no bloqueante). +5. Ampliar test suite (recordatorios, rate limiting, contactos, sync de miembros, ResponseQueue). ## 🐞 Problemas conocidos - En chats privados, WhatsApp no renderiza chips de mención para terceros; en grupos sí se resuelven al nombre local de cada receptor. El bot incluye nombres en el texto cuando los conoce y números como @dígitos para acción rápida; no hay reescritura por receptor. @@ -76,8 +79,11 @@ ## ▶️ Para continuar ahora Propuesta inmediata: -- Métricas y observabilidad de ResponseQueue (contadores, latencias, tamaño de cola) y endpoint /metrics. -- Gestión de tareas: eliminación y edición básica. +- Rate limiting básico (bucket en memoria por remitente; desactivado en tests). +- Recordatorios diarios por DM (opt-in daily|off; hora fija local; resumen compacto). +- 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, rate limiting, contactos, sync de miembros, ResponseQueue). Para que pueda proponer cambios de código, añade estos archivos a este chat: - `src/services/command.ts`