--- name: canary description: > Monitorização pós-deploy — detecta regressões em produção. Verifica que o deploy não quebrou nada crítico nos 15min seguintes. Baseado no gstack /canary. Eixo 2B. Usar após qualquer deploy em produção. --- # /canary — Monitorização Pós-Deploy Os primeiros 15 minutos após um deploy são os mais críticos. Esta skill verifica que tudo está OK. --- ## Quando Usar (SEMPRE após deploy produção) - Após deploy de código em produção - Após actualização de WordPress (core, plugins, temas) - Após alterações de servidor (PHP, Nginx, MySQL) - Após mudanças de DNS ou SSL - Após activação de nova funcionalidade --- ## Protocolo (15 minutos) ### Minuto 0-2 — Status Checks ```bash # 1. Site responde? curl -s -o /dev/null -w "%{http_code}" / # Esperado: 200 # 2. Admin WP responde? curl -s -o /dev/null -w "%{http_code}" /wp-admin/ # Esperado: 200 ou 302 # 3. SSL válido? curl -vI 2>&1 | grep "SSL certificate verify" # Esperado: SSL certificate verify ok # 4. Tempo de resposta aceitável? curl -s -o /dev/null -w "%{time_total}\n" / # Esperado: < 3.0 segundos ``` ### Minuto 2-5 — Funcionalidades Críticas **Para WordPress:** ```bash # Página principal carrega sem erros curl -s / | grep -c "wp-content" # Esperado: > 0 # Sem erro crítico PHP curl -s / | grep -i "fatal error\|parse error\|warning" # Esperado: sem output # WP-CLI status wp --path=/var/www/html core verify-checksums 2>&1 | tail -1 # Esperado: "WordPress installation verifies against checksums." ``` **Para aplicações:** ```bash # Health endpoint curl -s /api/health | jq '.status' # Esperado: "ok" # Database conecta? curl -s /api/health | jq '.database' # Esperado: "connected" ``` ### Minuto 5-10 — Métricas de Performance ```javascript // Via Lighthouse MCP mcp__lighthouse__get_performance_score({ url: "" }) // Esperado: >= baseline (ver /benchmark) mcp__lighthouse__get_core_web_vitals({ url: "" }) // Comparar com baseline guardado ``` ### Minuto 10-15 — Logs e Erros ```bash # Erros PHP nas últimas 15 min ssh server "tail -100 /var/log/php/error.log | grep '$(date -d '15 minutes ago' +%H:%M)'" # Erros Nginx/Apache ssh server "tail -50 /var/log/nginx/error.log" # WooCommerce (se aplicável) wp --path=/var/www/html wc log list 2>&1 | head -20 ``` --- ## Output — Relatório Canary ```markdown ## Canary Check — [Site] — [Data] [Hora] **Deploy:** [O que foi alterado] | Check | Estado | Detalhe | |-------|--------|---------| | HTTP 200 | ✅/❌ | | | SSL | ✅/❌ | | | Tempo resposta | ✅/❌ | Xs | | Sem erros PHP | ✅/❌ | | | Performance score | ✅/❌ | X% (base: Y%) | | Logs limpos | ✅/❌ | | **Resultado:** ✅ DEPLOY ESTÁVEL | ⚠️ INVESTIGAR | ❌ REVERTER ``` --- ## Critérios de Reversão Imediata ``` ❌ HTTP response != 200 → REVERTER ❌ SSL falha → REVERTER ❌ "Fatal error" em qualquer página → REVERTER ❌ Tempo resposta > 10s → INVESTIGAR ❌ Performance score caiu >15 pontos → INVESTIGAR ❌ Logs com erros críticos → INVESTIGAR ``` --- ## Escalada Automática Se algum check falha: ``` 1. NOTIFICAR: criar issue no Desk CRM com urgência P1 2. REVERTER: se erro crítico, reverter imediatamente 3. DOCUMENTAR: o que falhou e quando 4. ANALISAR: root cause antes de re-deploy ``` --- ## Healing Log ```jsonl {"date":"","issue":"","fix":"","source":"user|auto"} ``` --- *Skill /canary v1.0 | 06-04-2026 | Eixo 2B — gstack pattern*