| Automatización | Capa | Estado | Prueba / Fuente | Problema | Rec. |
|---|---|---|---|---|---|
cron-reports.sh VPS crontab · /opt/nutriflow/scripts/ |
Local runtime | ⚠ Obsoleta | VPS migrado hace 3 meses · sin log reciente | Migración a nube sin dar de baja el cron original | ✕ Cut |
weekly-digest.yml GitHub Actions · .github/workflows/ |
Repo CI | ✓ Activa | gh run list --workflow=weekly-digest.yml → última: hace 4 días | — | ✓ Keep |
n8n: NF-CRON-001 n8n VPS · nf-cron-001 workflow |
n8n (VPS) | ⊕ Solapada | n8n UI → workflow activo · mismo PDF informe que weekly-digest.yml | Duplica weekly-digest.yml — dos informes idénticos enviados cada semana | ✕ Cut |
ci.yml GitHub Actions · .github/workflows/ci.yml |
Repo CI | ✓ Activa | gh run list --workflow=ci.yml → 100% verde últimas 20 runs | — | ✓ Keep |
stripe-invoice-sync.yml GitHub Actions · .github/workflows/ |
Repo CI | ⚠ Obsoleta | gh run list --workflow=stripe-invoice-sync.yml → último run: 23 días · sin fallo ni éxito confirmado | Posible conflicto con Stripe Webhook → Edge Function (misma función) | ⚙ Fix Next |
deploy-staging.yml GitHub Actions · .github/workflows/ |
Repo CI | ✓ Activa | gh run list --workflow=deploy-staging.yml → última merge develop: hace 2 días · OK | — | ✓ Keep |
notify-slack.yml GitHub Actions · .github/workflows/ |
Repo CI | ✗ Rota | gh run list --workflow=notify-slack.yml → último run: error "invalid_auth" Slack token | Token Slack expirado; mismo token que mcp-slack | ⚙ Fix Next |
Stripe Webhook → handle-payment Supabase Edge Function · /functions/handle-payment |
Conector externo | ✓ Activa | Supabase dashboard → 342 invocaciones últimas 24h · 0 errores | — | ✓ Keep |
Stripe Webhook → Zapier #4421 Zapier · Zap ID 4421 → Google Sheets |
Conector externo | ⊕ Solapada | Zapier dashboard → tarea activa · mismo evento payment_intent.succeeded | Duplica handle-payment · Google Sheets no es fuente de verdad | ✕ Cut |
Typeform → Zapier #3105 Zapier → Airtable → email |
Conector externo | ✗ Rota | Zapier history → error "AUTHENTICATION_REQUIRED" Airtable · hace 11 días | API key Airtable expirada; flujo de bienvenida caído | ✕ Cut |
n8n: NF-ONBOARDING-001 n8n VPS · nf-onboarding-001 workflow |
n8n (VPS) | ⊕ Solapada | n8n UI → activo · mismo trigger Typeform que Zapier #3105 | Cubre el mismo flujo que el Zapier roto — de hecho lo reemplazó sin darlo de baja | ✓ Keep |
mcp-supabase Claude Code MCP · settings.json |
MCP local | ✓ Activa | mcp list → supabase: connected · token < 30 días | — | ✓ Keep |
mcp-stripe Claude Code MCP · settings.json |
MCP local | ✓ Activa | mcp list → stripe: connected · token < 30 días | — | ✓ Keep |
mcp-github Claude Code MCP · settings.json |
MCP local | ✓ Activa | mcp list → github: connected · PAT válido | — | ✓ Keep |
mcp-notion Claude Code MCP · settings.json |
MCP local | ⚠ Obsoleta | settings.json → configurado · token Notion sin rotar 6 meses · no verificado recientemente | Token probablemente inválido; Notion no es parte del stack activo | ✕ Cut |
mcp-slack Claude Code MCP · settings.json |
MCP local | ✗ Rota | mismo token que notify-slack.yml → error "invalid_auth" confirmado | Token compartido con GitHub Actions roto; afecta dos superficies | ⚙ Fix Next |
sync-customers.py scripts/ · manual · sin docs |
Script local | ⚠ Obsoleta | git log -- scripts/sync-customers.py → último commit hace 47 días · llamado manualmente | Sin documentación; riesgo de duplicar datos si se ejecuta junto a handle-payment | ⚙ Fix Next |
export-analytics.sh scripts/ · manual · PostHog → CSV |
Script local | ⚠ Obsoleta | git log -- scripts/export-analytics.sh → último uso hace 2 meses · sin cron · sin CI | Uso esporádico; reemplazable por mcp-supabase + PostHog API directamente | ✕ Cut |
seed-demo.js scripts/ · referenciado desde ci.yml |
Script local | ✓ Activa | ci.yml line 42: node scripts/seed-demo.js · runs con CI · sin errores | — | ✓ Keep |
Monitoreo de errores en producción — no existe — |
— | ◌ Ausente | No hay Sentry, ni alerta de edge function en Supabase configurada | Sin alerta de errores en producción — los fallos pasan desapercibidos | ⚙ Fix Next |
Rotación automática de tokens/secrets — no existe — |
— | ◌ Ausente | 2 de 4 roturas directamente causadas por tokens expirados sin rotación | Causa raíz sistémica: tokens se expiran silenciosamente | ⚙ Fix Next |
| Automatización | Acción | Motivo | Prioridad |
|---|---|---|---|
ci.yml |
✓ Keep | Tests + build canónico. Sin solapamiento. 100% verde. | — |
weekly-digest.yml |
✓ Keep | Canal canónico para el informe semanal. Verificado activo. | — |
Stripe Webhook → handle-payment |
✓ Keep | Edge Function verificada, 0 errores, fuente de verdad para pagos. | — |
n8n: NF-ONBOARDING-001 |
✓ Keep | Canal canónico de onboarding (reemplazó Zapier #3105). Activo y correcto. | — |
mcp-supabase + mcp-stripe + mcp-github |
✓ Keep | Tres MCPs del stack activo con tokens válidos. | — |
seed-demo.js |
✓ Keep | Requerido por CI. Funcional. | — |
deploy-staging.yml |
✓ Keep | Pipeline de staging verificado y activo. | — |
stripe-invoice-sync.yml ← merge |
⊕ Merge | Lógica absorbible por handle-payment. Verificar solapamiento y eliminar el Actions workflow. | Media |
notify-slack.yml + mcp-slack |
⚙ Fix Next | Rotar token Slack Bot. Añadir secreto a GitHub Secrets y a MCP config. Implementar política de rotación (90 días). | Alta |
sync-customers.py |
⚙ Fix Next | Documentar, añadir guarda idempotente o integrar en handle-payment para eliminar doble vía. | Media |
Monitoreo + rotación de secrets |
⚙ Fix Next | Añadir Sentry/Supabase alerts. Crear cron de rotación en GitHub Actions para secrets críticos. | Alta |
cron-reports.sh (VPS) |
✕ Cut | Servidor migrado. Sin logs. Suplantado por weekly-digest.yml. | — |
n8n: NF-CRON-001 |
✕ Cut | Duplica weekly-digest.yml. Equipo recibe dos informes idénticos. | — |
Stripe Webhook → Zapier #4421 |
✕ Cut | Duplica handle-payment. Google Sheets no es fuente de verdad. Riesgo de doble escritura. | — |
Typeform → Zapier #3105 |
✕ Cut | Roto hace 11 días. Reemplazado por NF-ONBOARDING-001. Eliminar para evitar confusión. | — |
mcp-notion |
✕ Cut | No forma parte del stack activo. Token sin verificar 6 meses. Eliminar de settings.json. | — |
export-analytics.sh |
✕ Cut | Uso esporádico, sin cron, sin CI. Reemplazable por mcp-supabase en tiempo real. | — |