CULTIVA IA
Conductor · Track Manager
cultivai-platform / sprint-2026-06
3 tracks activos Semana del 10–16 Jun 2026 v2.4.1

Sprint · Semana 24 / Junio 2026

cultivai-platform  ·  4 desarrolladores  ·  Framework Conductor 2.x

3
Tracks
5
En Prog.
41%
Completado
Tracks Activos 2
# portal-clientes_20260610  ·  @sara
Portal de Clientes — Dashboard de Campañas IA
Portal web para que los clientes de CULTIVA IA visualicen métricas de sus campañas en tiempo real: CTR, alcance, ROI estimado y alertas automatizadas.
feature in-progress
5 / 12 tareas  ·  Fase 2/3
Fase 1
Foundation
a3f72bc
Fase 2
Core Logic ⟳
 
Fase 3
Integration
 
Plan — Fase 2 (activa)
[x]
Task 2.1: Diseño del componente MetricCard
e1a90c3
[x]
Task 2.2: Endpoint GET /api/campaigns/:id/metrics
b4d12f7
[~]
Task 2.3: Lógica de polling y caché Redis (30s TTL)
[ ]
Task 2.4: Filtros por rango de fechas en dashboard
[ ]
Task 2.5: Alertas de umbral (ROI < 1.5x → notificación)
[ ]
Verify 2.1: Test integración — métricas reales vs. mock data
Fase Checkpoint SHA Fecha Estado
Fase 1 — Foundation a3f72bc 2026-06-12 ✓ Aprobado
Fase 2 — Core Logic ◌ Pendiente
Fase 3 — Integration ◌ Pendiente
# fix-webhook-slack_20260613  ·  @david
Bug: Webhooks de Slack dejan de responder tras 24h
Los listeners de Slack integrados en el módulo de notificaciones se desconectan silenciosamente después de 24h activos. Afecta al 100% de los clientes con integración Slack.
bug bloqueado
0 / 6 tareas  ·  Fase 0/2
Fase 1
Reproducción
 
Fase 2
Fix + Regresión
 
Plan — Fase 1 (pendiente inicio)
[ ]
Task 1.1: Escribir test que reproduce desconexión a las 24h
[!]
Task 1.2: Configurar entorno con token Slack Enterprise para tests
⚠ Bloqueado: esperando token de @admin
[ ]
Task 1.3: Documentar pasos de reproducción manual
[ ]
Verify 1.1: Test falla consistentemente antes del fix
Tracks Completados 1
# refactor-api-client_20260609  ·  @ana
Refactor: Cliente HTTP unificado con autenticación compartida
Reestructuración del cliente HTTP para centralizar la lógica de autenticación JWT y OAuth2 en todos los módulos (campaigns, analytics, crm, webhooks).
refactor completado
12 / 12 tareas  ·  3/3 fases  ·  Completado 2026-06-15 · 5 días
Fase 1
Preparación
c2b11ae
Fase 2
Refactoring
d9f44bb
Fase 3
Cleanup
f72c09d
Registro tracks.md
Track ID Tipo Estado Fase Iniciado Responsable
portal-clientes_20260610 feature in-progress 2/3 2026-06-10 @sara
fix-webhook-slack_20260613 bug bloqueado 0/2 2026-06-13 @david
refactor-api-client_20260609 refactor completado 3/3 2026-06-09 @ana
Spec + Plan — portal-clientes_20260610
spec.md
plan.md
metadata.json
Portal de Clientes — Dashboard de Campañas IA
Track feature para dar a los clientes de CULTIVA IA visibilidad en tiempo real sobre el rendimiento de sus automatizaciones e integraciones de IA.
Requisitos Funcionales
FR-1: Dashboard de Métricas en Tiempo Real
El cliente debe visualizar CTR, alcance total, ROI estimado y coste por lead de cada campaña activa, actualizados cada 30 segundos.
✓ Aceptación: Panel carga en <1.5s y métricas coinciden con datos internos en margen ±2%.
FR-2: Filtros por Período Temporal
El usuario puede filtrar por: últimas 24h, 7 días, 30 días, o rango personalizado (picker de fechas).
✓ Aceptación: Filtro aplica en <500ms sin recarga de página.
FR-3: Alertas de Umbral Automáticas
El sistema envía notificación (email + Slack si integrado) cuando ROI cae por debajo del umbral configurado por cliente (default 1.5x).
✓ Aceptación: Alerta llega en <2 minutos tras detección del umbral.
Requisitos No Funcionales
NFR-1: Rendimiento
API de métricas debe responder en <200ms p95, con caché Redis de 30s TTL.
Verificación: k6 load test — 100 usuarios concurrentes, p95 < 200ms.
Criterios de Aceptación
  • Dashboard renderiza métricas reales de al menos 1 campaña de test
  • API /campaigns/:id/metrics autenticada con JWT cliente
  • Filtros de fecha funcionan sin recarga
  • Alerta de ROI disparada y recibida en Slack de prueba
  • Test e2e con Playwright pasa en CI/CD
  • Documentación de uso en Notion actualizada
Alcance
✓ En Alcance
  • Dashboard web React
  • API REST de métricas
  • Caché Redis
  • Sistema de alertas
  • Auth JWT por cliente
✗ Fuera de Alcance
  • App móvil nativa
  • Exportación a PDF
  • Configuración de campañas
  • White-label personalizado
Riesgos
RiesgoImpactoMitigación
Latencia Redis en pico de usuarios Medio Pool de conexiones + fallback a DB directa con rate-limit
Cambio de API de métricas internas Bajo Capa adaptadora con contratos de interfaz tipados
Token Slack bloqueado (track fix-webhook) Alto Usar mock Slack en dev hasta que @admin provea el token
Plan de Implementación — portal-clientes_20260610
Track ID: portal-clientes_20260610
Creado: 2026-06-10
Estado: in-progress
Estimación: 4–5 días
1
Fase 1: Foundation · Completada · SHA: a3f72bc
[x]
Task 1.1: Scaffolding del módulo portal-clientes f1c23ab
Estructura de carpetas, router Next.js, layout base, variables de entorno
[x]
Task 1.2: Modelos de datos CampaignMetrics + schema Prisma 9d4e77c
Entidades: Campaign, MetricSnapshot, AlertRule, ClientUser
[x]
Task 1.3: Middleware de autenticación JWT por tenant a3f72bc
[x]
Verify 1.1: Tests unitarios de auth pasan, migración limpia a3f72bc
2
Fase 2: Core Logic · En progreso
[x]
Task 2.1: Componente MetricCard (React + Recharts) e1a90c3
[x]
Task 2.2: Endpoint GET /api/campaigns/:id/metrics b4d12f7
Retorna CTR, alcance, ROI, coste/lead. Validación Zod. Error handling.
[~]
Task 2.3: Polling + caché Redis (TTL 30s)
useInterval hook, invalidación selectiva, manejo de stale data
[ ]
Task 2.4: Filtros de fecha en dashboard
[ ]
Task 2.5: Sistema de alertas de umbral
Cron cada 5min, comparar con AlertRule, disparar email + Slack
[ ]
Verify 2.1: Test integración métricas reales vs. mock
3
Fase 3: Integration · Pendiente
[ ]
Task 3.1: Tests e2e Playwright — flujo completo cliente
[ ]
Task 3.2: Actualizar product.md y API docs (OpenAPI)
[ ]
Task 3.3: Deploy staging + QA manual con cliente piloto
[ ]
Verify 3.1: Todos los criterios de aceptación verificados
FaseCheckpoint SHAFechaEstado
Fase 1 — Foundation a3f72bc 2026-06-12 ✓ Aprobado
Fase 2 — Core Logic ◌ Pendiente
Fase 3 — Integration ◌ Pendiente