Canary Watch — Monitoreo Post-Despliegue
Cuándo Usarlo
- Después de desplegar a producción o staging
- Después de fusionar un PR riesgoso
- Cuando quieras verificar que una corrección realmente funcionó
- Monitoreo continuo durante una ventana de lanzamiento
- Después de actualizar dependencias
Cómo Funciona
Monitorea una URL desplegada en busca de regresiones. Se ejecuta en un bucle hasta que se detiene o hasta que la ventana de monitoreo expira.
Qué Monitorea
1. Estado HTTP — ¿la página devuelve 200?
2. Errores de Consola — ¿errores nuevos que no estaban antes?
3. Fallos de Red — ¿llamadas API fallidas, respuestas 5xx?
4. Rendimiento — ¿regresión de LCP/CLS/INP respecto a la línea base?
5. Contenido — ¿desaparecieron elementos clave? (h1, nav, footer, CTA)
6. Salud de API — ¿los endpoints críticos responden dentro del SLA?
7. Activos Estáticos — ¿las solicitudes JS, CSS, imágenes y fuentes devuelven 2xx/3xx con tipos de contenido esperados?
8. Streams SSE — ¿los extremos event-stream se conectan y reciben un evento inicial o heartbeat?
Modos de Monitoreo
Verificación rápida (por defecto): pase único, reporta resultados
/canary-watch https://miapp.com
Vigilancia sostenida: revisa cada N minutos durante M horas
/canary-watch https://miapp.com --interval 5m --duration 2h
Modo diff: compara staging vs producción
/canary-watch --compare https://staging.miapp.com https://miapp.com
Umbrales de Alerta
critical: # alerta inmediata
- Estado HTTP != 200
- Cantidad de errores de consola > 5 (solo errores nuevos)
- LCP > 4s
- Endpoint API devuelve 5xx
- Activo estático devuelve 4xx/5xx
- Endpoint SSE no puede conectar o se cae antes del primer heartbeat
warning: # marcar en reporte
- LCP aumentó > 500ms respecto a la línea base
- CLS > 0.1
- Nuevas advertencias de consola
- Tiempo de respuesta > 2x la línea base
- Tipo de contenido de activo estático cambió inesperadamente
- Latencia del heartbeat SSE > 2x la línea base
info: # solo registro
- Variación menor de rendimiento
- Nuevas solicitudes de red (¿scripts de terceros agregados?)
Notificaciones
Cuando se cruza un umbral crítico:
- Notificación de escritorio (macOS/Linux)
- Opcional: webhook de Slack/Discord
- Registro en
~/.claude/canary-watch.log
Salida
## Reporte Canary — miapp.com — 2026-03-23 03:15 PST
### Estado: SALUDABLE ✓
| Verificación | Resultado | Línea Base | Delta |
|-------|--------|----------|-------|
| HTTP | 200 ✓ | 200 | — |
| Errores de consola | 0 ✓ | 0 | — |
| LCP | 1.8s ✓ | 1.6s | +200ms |
| CLS | 0.01 ✓ | 0.01 | — |
| API /health | 145ms ✓ | 120ms | +25ms |
| Activos estáticos | 42/42 ✓ | 42/42 | — |
| SSE /events | conectado ✓ | conectado | +80ms heartbeat |
### No se detectaron regresiones. El despliegue está limpio.
Integración
Combínalo con:
/browser-qapara verificación pre-despliegue- Hooks: agrégalo como hook PostToolUse en
git pushpara verificar automáticamente después de despliegues - CI: ejecútalo en GitHub Actions después del paso de despliegue