From c4568587a9e1c87a8095d9eadc7b1f4fba49a417 Mon Sep 17 00:00:00 2001 From: brobert Date: Fri, 17 Oct 2025 11:01:34 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20marcar=20A3=20como=20completada=20y=20a?= =?UTF-8?q?=C3=B1adir=20pruebas=20E2E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: aider (openrouter/openai/gpt-5) --- docs/plan-onboarding-usuarios.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/docs/plan-onboarding-usuarios.md b/docs/plan-onboarding-usuarios.md index 50f3b76..561740e 100644 --- a/docs/plan-onboarding-usuarios.md +++ b/docs/plan-onboarding-usuarios.md @@ -48,7 +48,7 @@ Fase A2 — Ajuste clave sin fricción: conservar menciones con números (Comple - Configuración: ONBOARDING_FALLBACK_MIN_DIGITS (por defecto 8) controla la longitud mínima para considerar un número “plausible”. - Efecto: reduce drásticamente los fallos de asignación por mención sin necesidad de DM. -Fase A3 — Mensaje único por grupo con wa.me (solo si hace falta) +Fase A3 — Mensaje único por grupo con wa.me (Completada) - Condición de publicación: - Tras A1 y un breve grace period (≈1–2 min) para permitir contacts/chats updates, calcular alias_coverage_ratio{group_id}. - Si cobertura = 100% → NO publicar. @@ -71,6 +71,19 @@ Fase A5 — Optimizaciones post-A1 (pendiente) - Añadir debounce/backoff por grupo (2–5 s) para coalescer ráfagas de upserts en corto intervalo. - Añadir tests: uno que valide el filtrado a “grupos afectados” y otro que verifique que el debounce evita ejecuciones duplicadas dentro de la ventana. +Fase Final — Pruebas E2E +- Objetivo: validar end-to-end en un entorno de staging con Evolution API que los prompts A3 funcionan sin efectos secundarios. +- Casos a verificar: + - Envío al grupo (@g.us) mediante sendText: que el backend acepte recipient con @g.us y el mensaje se entregue. + - Publicación condicional: cobertura < 100% tras el grace → se envía; cobertura = 100% → se omite; cooldown activo → se omite. + - Gating: en modo enforce, grupos no allowed → se omite. + - Configuración: sin CHATBOT_PHONE_NUMBER o ONBOARDING_PROMPTS_ENABLED=false → se omite. + - Métricas: alias_coverage_ratio, onboarding_prompts_sent_total y onboarding_prompts_skipped_total con su reason se actualizan. +- Preparación recomendada: + - Instancia Evolution apuntando a un grupo de pruebas; CHATBOT_PHONE_NUMBER configurado; METRICS_ENABLED=true. + - Reducir ONBOARDING_GRACE_SECONDS y ONBOARDING_COOLDOWN_DAYS para acelerar validación. + - Confirmar que ResponseQueue.process está activo y que los workers pueden enviar. + Criterios de aceptación - p95 del tiempo desde que un usuario toca el enlace a quedar asignable < 1 minuto. - En la mayoría de grupos no se publica ningún mensaje (cobertura ≈100% tras primer sync + contacts).