Catálogo
Tuxpas S.A.C / AJE Group / Pedido Sugerido MLOps

Plan de traspaso · handover

Define cuándo y cómo AJE opera la plataforma de forma autónoma al cierre del proyecto en la semana 10
Código
DOC-AF-09
Fase
Análisis Funcional · sem 1 (18 → 22 may)
Fecha
2026-05-15
Autor
Adrian Ulloa · Squad Lead Tuxpas

Resumen

Este documento es el plan operacional de traspaso del proyecto Pedido Sugerido. Articula la transición desde el modelo "Tuxpas opera · AJE observa" hacia "AJE opera de forma autónoma · Tuxpas acompaña ante incidentes". Es el complemento natural del Catálogo de Monitoring ([[DOC-AF-08-monitoring]]): este define quién responde y aquél define a qué responde.

El traspaso se materializa en cinco bloques:

  1. Sesiones de capacitación (6 sesiones de 2h, distribuidas en sem 9 y 10)
  2. Runbooks operacionales (6 runbooks en formato Markdown, versionados en el repo)
  3. Documentación entregada (15 artefactos · diagramas · matrices · políticas)
  4. Criterios "AJE autónomo" (6 pruebas concretas que validan la autonomía)
  5. Acompañamiento post-entrega (2 semanas de garantía + plan de comunicación)

El cierre formal del traspaso lo certifica la Acta de Conformidad ([[DOC-AF-10-acta-conformidad]]).


Filosofía del traspaso

Tres principios

  1. Documentación como producto · no como subproducto · Los runbooks no son notas internas; son artefactos versionados, revisados y testeados con AJE en escenarios reales. Si AJE no puede ejecutar un runbook sin asistencia, el runbook no está terminado.

  2. Capacitación dialogada · no expositiva · Cada sesión combina 30% explicación, 50% hands-on con el ambiente productivo (en una corrida controlada) y 20% Q&A. AJE conduce los últimos 20 minutos del ejercicio sin Tuxpas guiando.

  3. Autonomía progresiva · no instantánea · Durante las 2 semanas de acompañamiento post-entrega, AJE responde primero y Tuxpas valida; no al revés. Tuxpas interviene únicamente si AJE escala o si una alerta Critical no es atendida en SLA.

Riesgo principal y mitigación

El riesgo recurrente en traspasos MLOps es la dependencia residual: AJE acepta el traspaso formal pero, ante el primer incidente real, escala a Tuxpas porque no tiene el contexto profundo del pipeline. Mitigación:


Sesiones de capacitación

Cronograma resumen

# Sesión Sem Día propuesto Duración Facilitador Asistentes obligatorios
1 Operación diaria del pipeline 9 Lun 20 jul 2h Tuxpas Dev Sr (Joseph) AJE oncall + AJE analyst
2 Monitoreo y respuesta a alertas 9 Mié 22 jul 2h Tuxpas SL (Adrian) AJE oncall
3 Agregar países nuevos al pipeline 9 Vie 24 jul 2h Tuxpas Dev Sr AJE analyst
4 Promoción de modelos en Registry 10 Lun 27 jul 2h Tuxpas SL AJE analyst + AJE gov
5 Reentrenamiento y manejo de drift 10 Mié 29 jul 2h Tuxpas SL + Dev Sr AJE analyst + AJE oncall
6 Troubleshooting y recorrido de runbooks 10 Vie 31 jul 2h Tuxpas Dev Sr AJE oncall

Total: 12 horas de capacitación distribuidas en 2 semanas. Sesiones grabadas y almacenadas en S3 (bucket aje-dev-analytics-artifacts-s3, prefix pedido_sugerido/handover/recordings/) con retención de 1 año.

Sesión 1 · Operación diaria del pipeline

Objetivo: AJE entiende qué pasa cada día sin que alguien lo gatille y qué herramienta usar para inspeccionar resultados.

Agenda (2h):

Min Bloque Contenido
0–10 Apertura Recordar el objetivo de la sesión, qué saldrá del ejercicio
10–35 Arquitectura recap Diagrama de flujo (EventBridge → Lambda → SM Pipeline → Outputs) · revisar [[DOC-AF-05-arquitectura]]
35–60 Tour de la consola Console walkthrough · SageMaker Studio · CloudWatch Logs · S3 outputs · DynamoDB config
60–90 Hands-on · ejercicio 1 AJE conduce: localizar la última corrida de Ecuador en SM Studio, identificar duración, verificar que los outputs llegaron a S3
90–110 Hands-on · ejercicio 2 AJE conduce: leer la configuración de Ecuador en DynamoDB y entender qué pasa si cambia min_qty
110–120 Q&A · cierre Pendientes · próxima sesión

Material entregado:

Criterio de éxito: AJE oncall completa ambos ejercicios sin asistencia en una corrida del día siguiente (martes 21 jul).

Sesión 2 · Monitoreo y respuesta a alertas

Objetivo: AJE distingue Critical / Warning / Info, interpreta correctamente cada alarma del catálogo y ejecuta la mitigación inicial.

Agenda:

Min Bloque Contenido
0–15 Recap Repasar el modelo de severidades · SLA por nivel (DOC-AF-08)
15–45 Tour del catálogo Recorrer las 21 alarmas · explicar qué dispara cada una y cómo se diferencia de las cercanas
45–75 Hands-on · alerta simulada Tuxpas dispara una falla controlada en el step Limpieza · AJE oncall recibe la alerta, identifica causa, ejecuta runbook de troubleshooting
75–105 Hands-on · alerta de drift Tuxpas inyecta una distribución alterada en datos de validación · AJE interpreta el reporte de Model Monitor
105–120 Q&A Casos extremos · alertas duplicadas

Material entregado:

Criterio de éxito: AJE oncall responde correctamente a una alerta inyectada por Tuxpas en una ventana de 1h posterior a la sesión (sin asistencia).

Sesión 3 · Agregar países nuevos al pipeline

Objetivo: AJE puede onboardar un país nuevo (p. ej. Bolivia · Argentina) sin involucrar a Tuxpas.

Agenda:

Min Bloque Contenido
0–15 Recap Modelo de configuración multi-país en DynamoDB · estructura del prefix en S3
15–45 Checklist conceptual Recorrer el checklist de [[RB-03-agregar-pais]]: validación de schemas · creación de config · trigger inicial
45–90 Hands-on · onboarding ficticio AJE conduce: agregar un país ficticio "Sandbox" usando datos sintéticos · ejecutar pipeline · validar outputs
90–110 Hands-on · troubleshooting Tuxpas inyecta 2 errores típicos (schema mal · prefix mal nombrado) · AJE diagnostica
110–120 Q&A Casos especiales · países con schema divergente

Material entregado:

Criterio de éxito: AJE analyst onboarda un país sandbox sin asistencia, antes del final de sem 10.

Sesión 4 · Promoción de modelos en el Registry

Objetivo: AJE entiende el flujo Register → Pending → Approved/Rejected y conduce una aprobación real.

Agenda:

Min Bloque Contenido
0–20 Recap conceptual Modelo de Stages en SageMaker Model Registry · qué significa Approved en este proyecto (DOC-AF-04)
20–50 Tour del Registry Recorrer un Model Package real · revisar métricas · ver Model Card · ver historial de aprobaciones
50–80 Hands-on · aprobación AJE analyst aprueba un modelo nuevo (con métricas mejores que baseline) desde Studio · firma con su usuario · documenta razón
80–105 Hands-on · rechazo AJE rechaza un modelo "trampa" (métricas peores) · documenta razón
105–120 Q&A Reversibilidad · qué hacer si se aprueba por error

Material entregado:

Criterio de éxito: AJE analyst aprueba y rechaza, respectivamente, dos modelos en una ventana de 24h post-sesión.

Sesión 5 · Reentrenamiento y manejo de drift

Objetivo: AJE sabe cuándo el sistema reentrenará solo (Nivel 3), cuándo debe intervenir y qué hacer ante drift recurrente.

Agenda:

Min Bloque Contenido
0–25 Marco conceptual Tres tipos de drift (Schema · Data · Concept) · árboles de decisión de respuesta
25–60 Tour del retrain loop Revisar la Lambda de retrain · cooldown · disparadores · DynamoDB de retrain history
60–95 Hands-on · drift simulado Tuxpas inyecta drift de datos en un país · AJE observa cómo el sistema reacciona (Nivel 3 activado) · AJE valida el modelo nuevo
95–115 Cuándo intervenir manualmente Casos en los que el retrain automático no debería correr · cómo pausarlo desde Studio
115–120 Q&A

Material entregado:

Criterio de éxito: AJE pausa exitosamente un retrain en curso y lo reactiva luego.

Sesión 6 · Troubleshooting y recorrido de runbooks

Objetivo: AJE recorre cada runbook entregado, los ubica en el repo, valida que están comprensibles y los aprueba formalmente.

Agenda:

Min Bloque Contenido
0–15 Repo tour Estructura del repo de docs · cómo se versionan los runbooks · quién aprueba un cambio
15–95 Recorrido por runbook Para cada uno de los 6 runbooks: AJE lo lee, identifica un paso ambiguo o débil, sugiere mejora · Tuxpas ajusta in situ
95–115 Sandbox de incidentes Tuxpas plantea 3 incidentes ficticios · AJE elige y ejecuta el runbook correcto
115–120 Cierre Firma de aprobación de runbooks

Material entregado:

Criterio de éxito: AJE firma el acta interna confirmando que los 6 runbooks están listos para uso productivo.


Runbooks entregados

Todos los runbooks viven en aje-analytics-model-pedido-sugerido/docs/runbooks/ versionados con el código. Cada uno sigue una plantilla común:

# RB-XX · Título
## Cuándo ejecutar
## Pre-requisitos · accesos · credenciales
## Pasos numerados (1, 2, 3...)
## Validación post-ejecución
## Rollback (si aplica)
## Escalamiento (a quién y cuándo)
## Anexos · comandos · queries

RB-01 · Operación diaria del pipeline

Cuándo: Cada mañana, antes de las 10:00 hora Perú, AJE oncall revisa la salud del pipeline del día anterior.

Pasos (resumen, 12 en total):

  1. Abrir SageMaker Studio · revisar la lista de ejecuciones del último día (esperadas: 7 países)
  2. Confirmar que todas terminaron con estado Succeeded
  3. Para cualquier Failed o Stopped · ir a CloudWatch Logs y leer el último log group
  4. Validar que los outputs llegaron a s3://aje-dev-analytics-artifacts-s3/pedido_sugerido/output/{pais}/
  5. (...)

RB-02 · Respuesta a alertas

Cuándo: Apenas llega una alerta del SNS topic.

Lógica del runbook:

  1. Critical (SLA <30 min) · responder de inmediato, escalar si no se resuelve en 60 min
  2. Warning (SLA <4h) · documentar en DynamoDB de incidentes
  3. Info (sin SLA) · log only

Anexo importante: tabla de mapping alarma → runbook específico (p. ej. alarma 11 schemadrift → RB-03 sección "schemas divergentes").

RB-03 · Agregar país nuevo

Cuándo: Negocio AJE solicita incluir un nuevo país en el pipeline.

Pasos: 35+, agrupados en 5 fases:

Fase Acción
1 · Preparación Validar formato del schema · acordar prefix en S3 · acordar config
2 · Configuración Crear item en DynamoDB · cargar archivo de mapeo de productos
3 · Smoke test Ejecutar pipeline manualmente · validar outputs
4 · Habilitación Agregar el país al EventBridge schedule
5 · Validación post-go-live Monitorear las primeras 3 corridas

RB-04 · Promoción de modelos

Cuándo: Llega notificación de "Model Package registered as Pending".

Pasos: 15, agrupados en 3 fases:

Fase Acción
1 · Inspección Revisar métricas vs baseline · revisar Model Card
2 · Decisión Aprobar / Rechazar según gates definidos en [[DOC-AF-04-metricas-criterios]]
3 · Documentación Llenar campo Description con razón de la decisión · log en DynamoDB

RB-05 · Drift y retraining

Cuándo: Llega alerta de tipo datadrift, schemadrift o ndcgdrop.

Pasos: 20+, con árbol de decisión inicial:

¿Qué tipo de drift?
├─ Schema · halt pipeline · investigar fuente · escalar a AJE analyst
├─ Data · PSI > 0.25 · validar features · permitir retrain automático en Nivel 3
└─ Concept · NDCG dropped 5%+ por 2 semanas · revisar lógica de negocio · forzar retrain

RB-06 · Troubleshooting general

Cuándo: Cualquier escenario no cubierto por los runbooks anteriores.

Es el "manual de bolsillo": índice de los 30 errores más comunes identificados durante el desarrollo Nivel 1 y 2, cada uno con su causa raíz típica y los primeros 3 pasos de diagnóstico.


Documentación entregada

Inventario completo de artefactos entregados al cierre del proyecto. Todos en el repo aje-analytics-model-pedido-sugerido y publicados en https://aje-mlops-docs.tuxpas.com/.

# Artefacto Tipo Ubicación Owner
1 DOC-AF-01 · Inventario de scripts MD + HTML docs/analisis-funcional/ Tuxpas
2 DOC-AF-02 · Schema de datos MD + HTML docs/analisis-funcional/ Tuxpas
3 DOC-AF-03 · Convenciones de nombrado MD + HTML docs/analisis-funcional/ Tuxpas
4 DOC-AF-04 · Métricas y criterios MD + HTML docs/analisis-funcional/ Tuxpas
5 DOC-AF-05 · Arquitectura MD + HTML + diagrama PNG docs/analisis-funcional/ Tuxpas
6 DOC-AF-06 · Estimación de esfuerzo MD + HTML docs/analisis-funcional/ Tuxpas
7 DOC-AF-07 · RTM y DoD MD + HTML docs/analisis-funcional/ Tuxpas
8 DOC-AF-08 · Catálogo de monitoring MD + HTML docs/analisis-funcional/ Tuxpas
9 DOC-AF-09 · Plan de traspaso (este doc) MD + HTML docs/analisis-funcional/ Tuxpas
10 DOC-AF-10 · Acta de conformidad MD + PDF firmado docs/analisis-funcional/ AJE + Tuxpas
11 Runbooks RB-01 .. RB-06 MD docs/runbooks/ Tuxpas + revisado AJE
12 Diagramas C4 (L1 contexto, L2 contenedores) PNG + draw.io fuente docs/diagramas/ Tuxpas
13 Política de IAM · roles y trust policies JSON infra/policies/ Tuxpas
14 Reporte final de pruebas (regression suite) HTML + JSON docs/test-reports/ Tuxpas
15 Backlog priorizado de mejoras (Nivel 4+) MD docs/roadmap-futuro.md Tuxpas + AJE

Persistencia post-cierre: todos los artefactos quedan en el repo bajo control de AJE. El dominio aje-mlops-docs.tuxpas.com se traslada a un bucket de AJE en la sem 10, con un redirect activo desde el bucket de Tuxpas por 3 meses.


Criterios "AJE autónomo"

Pruebas concretas que validan que AJE puede operar sin Tuxpas. Estos criterios deben cumplirse antes de firmar la [[DOC-AF-10-acta-conformidad]].

# Criterio Validación Responsable Estado
1 AJE ejecuta una corrida manual del pipeline desde Studio sin asistencia Logs muestran ejecución completa exitosa · timestamp registrado AJE oncall
2 AJE responde a una alerta Critical inyectada por Tuxpas en SLA (<30 min) Captura de Slack/correo con timestamp de respuesta · acción correcta ejecutada AJE oncall
3 AJE aprueba un modelo en Registry usando criterios de DOC-AF-04 sin asistencia Model Package aprobado · campo Description completo · log en DynamoDB AJE analyst
4 AJE onboarda un país sandbox completo (config + smoke test + habilitación) sin asistencia Pipeline del país sandbox corre exitosamente · output en S3 AJE analyst
5 AJE pausa y reanuda un retrain en curso sin asistencia Estado del retrain Lambda muestra pause/resume · DynamoDB lo registra AJE oncall
6 AJE diagnostica un incidente ficticio del RB-06 en <15 min sin asistencia Comentario en ticket interno con causa raíz correcta · pasos de mitigación AJE oncall

Regla: si al cierre de la sem 10 alguno de los 6 criterios no se cumple, se extiende el acompañamiento post-entrega 1 semana sin costo adicional para AJE. Si al final de esa extensión persiste, se acuerda una propuesta de soporte extendido formal.


Acompañamiento post-entrega

Plan de 2 semanas de garantía

Tras la firma de la Acta de Conformidad y el go-live a producción, Tuxpas acompaña durante 2 semanas calendario (sem 11 y 12) bajo el siguiente modelo:

Aspecto Detalle
Horario de respuesta L–V · 09:00 a 18:00 hora Perú
Canal primario Slack channel compartido #aje-pedido-sugerido-warranty
Canal secundario Correo tuxpasdevs@gmail.com con copia al SL
SLA Critical <2h en respuesta · <8h en mitigación (no resolución definitiva)
SLA Warning <8h en respuesta · <48h en mitigación
Modo operación Silent pair · AJE responde primero · Tuxpas observa y valida
Reuniones 2 por semana · martes y jueves · 30 min · revisión de incidentes
Costo Incluido en el precio del proyecto · sin facturación adicional

Qué cubre

Mecanismo de cierre del acompañamiento

Al final de la sem 12, se realiza una reunión de cierre formal (60 min) con:

Si al cierre quedan issues abiertos, se documentan en el acta con responsable y fecha-objetivo. Tuxpas mantiene best-effort por 30 días adicionales para esos issues específicos.


Plan de comunicación

Canales activos durante el warranty

Canal Propósito Frecuencia Owner
Slack #aje-pedido-sugerido-warranty Operación diaria · alertas · Q&A Continuo Compartido
Correo a AJE (stakeholders) Reporte semanal de status Viernes 17:00 Tuxpas SL
Reunión status warranty Revisión sincrónica de incidentes Martes y jueves 10:00 Tuxpas SL
Slack #aje-pedido-sugerido-incidentes Tracking individual de incidentes Critical Por incidente AJE oncall
Reunión de cierre Cierre formal de warranty Una vez · viernes sem 12 Tuxpas SL + AJE PM

Reporte semanal de warranty

Plantilla del reporte que Tuxpas envía cada viernes durante las 2 semanas de warranty:

== AJE Pedido Sugerido · Warranty Status · Semana N ==

Incidentes esta semana:
- Critical: X (Y resueltos · Z en curso)
- Warning: X
- Info: X

Tiempo total de Tuxpas en warranty esta semana: X horas

Issues abiertos:
- ID-001 · descripción · responsable · fecha objetivo
- (...)

Próxima semana · foco:
- (...)

Próximos pasos

Acciones inmediatas (durante semana del AF · 18–22 may)

  1. Validar este plan con AJE (Sesión 2 · jueves 21 may) · puntos de discusión: cantidad de sesiones, fechas tentativas, modelo de warranty
  2. Confirmar disponibilidad de los responsables AJE para las 6 sesiones de capacitación
  3. Acordar los canales de comunicación (qué Slack workspace usaremos · creación del channel)
  4. Reservar las fechas en calendario AJE ya en el AF, incluso si las agendas detalladas se ajustan después

Acciones durante el proyecto (sem 2–8)

  1. Escribir los 6 runbooks en paralelo al desarrollo (cada uno se completa cuando el feature correspondiente está operativo)
  2. Validar drafts de cada runbook con AJE en una reunión informal mensual de 30 min
  3. Grabar versiones tentativas de las sesiones 1 y 2 a mediados del proyecto, para que AJE las pueda pre-visualizar

Acciones inmediatas pre-traspaso (sem 9 · semana antes de las sesiones)

  1. Compilar PDF de los 6 runbooks · entregar como pre-lectura 5 días antes de la primera sesión
  2. Confirmar accesos AWS de AJE (SageMaker Studio · CloudWatch · DynamoDB · S3)
  3. Smoke test de los 6 ejercicios hands-on en un ambiente espejo

Acción de cierre (viernes sem 10)

  1. Firma de la [[DOC-AF-10-acta-conformidad]] · habilitación del warranty