Skip to content

fix(alerts): alinear alertas Telegram con el filtro de probes del panel - #74

Open
icosaedro-git wants to merge 2 commits into
mainfrom
claude/telegram-alerts-logs-mismatch-2aa5b7
Open

fix(alerts): alinear alertas Telegram con el filtro de probes del panel#74
icosaedro-git wants to merge 2 commits into
mainfrom
claude/telegram-alerts-logs-mismatch-2aa5b7

Conversation

@icosaedro-git

Copy link
Copy Markdown
Owner

Resumen

Las alertas de Telegram de error (tool_error, etc.) y de muro de pago (paywall hit) no aplicaban el mismo filtro de tráfico probe/scanner que ya usa el panel de analítica (/analytics/data). Resultado: un directory scraper o monitor de uptime (ej. agentstatus-probe) podía disparar alertas 🟠/🟡 a Telegram para llamadas con payload vacío, mientras esas mismas filas quedaban invisibles en el panel — la divergencia reportada por el usuario tras recibir 4 alertas tool_error sin verlas reflejadas en los registros.

Cambios

  • src/analytics/surface.ts: nuevo isProbeClient(clientName), gemelo JS del IS_PROBE_SQL que ya usa el panel — deriva de las mismas constantes (PROBE_CLIENTS, PROBE_NAME_PATTERNS), para que ambos caminos no vuelvan a divergir.
  • src/analytics/logger.ts / src/mcp/server.ts: se propaga clientName hasta los dos puntos donde se dispara una alerta.
  • src/alerts/error-alerts.ts: maybeAlertError y maybeAlertPaywallHit ahora descartan la alerta cuando isProbeClient(clientName) es true (mismo punto lógico donde el panel excluye), y el mensaje de Telegram incluye client_name normalizado además del User-Agent crudo.
  • test/probe-alert-suppression.ts: test de regresión para el predicado.

maybeAlertBusinessSignal no se toca — sus disparadores (compra, primera llamada pagada, sin-saldo de payer identificado) no pueden ocurrir para un probe sin wallet.

Test plan

  • npm run typecheck sin errores
  • npx tsx test/probe-alert-suppression.ts → OK
  • Confirmar en producción que un probe conocido (agentstatus-probe u otro con %probe%) ya no genera alerta Telegram tras el deploy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant