# Roadmap Corregido - MiChangarrito **Fecha:** 2026-01-17 **Versión:** 1.0.0 **Base:** Estado real del código validado --- ## Principios del Roadmap 1. **Respetar dependencias** - No iniciar épica si sus dependencias no están completas 2. **Desbloquear primero** - Priorizar épicas que desbloquean a otras 3. **Mock → Producción** - Completar integraciones mock antes de nuevas features 4. **Core antes de expansión** - Asegurar MVP funcional antes de features avanzadas --- ## Grafo de Dependencias Críticas ``` ┌─────────────────────────────────────────────────────────────┐ │ BLOQUEADORES CRÍTICOS │ │ │ │ MCH-010 (MCP Server) ────► MCH-012, MCH-013, MCH-019 │ │ ❌ VACÍO │ │ │ │ MCH-011 (WhatsApp) ────► MCH-012, MCH-013, MCH-015, MCH-017│ │ ❌ VACÍO │ │ │ └─────────────────────────────────────────────────────────────┘ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ MCH-010 │────►│ MCH-012 │────►│ MCH-013 │────►│ MCH-015 │ │ MCP Server │ │ Chat Dueño │ │ Chat Cliente│ │ Pedidos WA │ │ ❌ VACÍO │ │ ❌ BLOQ │ │ ❌ BLOQ │ │ ❌ BLOQ │ └─────────────┘ └─────────────┘ └─────────────┘ └──────┬──────┘ │ ▲ ▲ │ │ │ │ ▼ │ ┌──────┴───────────────────┘ ┌─────────────┐ │ │ │ MCH-016 │ │ ┌─────────────┐ │ Entregas │ └────►│ MCH-011 │ │ ❌ BLOQ │ │ WhatsApp │ └─────────────┘ │ ❌ VACÍO │ └──────┬──────┘ │ ▼ ┌─────────────┐ │ MCH-017 │ │Notificaciones│ │ ⚠️ PARCIAL │ └─────────────┘ ``` --- ## Plan de Desarrollo Priorizado ### SPRINT 0: Estabilización (Prerequisito) **Objetivo:** Completar integraciones mock para tener MVP funcional | Prioridad | Épica | Estado Actual | Acción | Dependencias | |-----------|-------|---------------|--------|--------------| | P0.1 | MCH-005 | ⚠️ Parcial | Agregar Mercado Pago | Ninguna | | P0.2 | MCH-020 | ⚠️ Parcial | Agregar OXXO | MCH-005 | **Entregables:** - [ ] Integración Mercado Pago funcional - [ ] Pago con OXXO para suscripciones --- ### SPRINT 1: Desbloqueo de IA (Crítico) **Objetivo:** Implementar MCH-010 y MCH-011 que desbloquean 6 épicas | Prioridad | Épica | Bloquea | Esfuerzo | Dependencias | |-----------|-------|---------|----------|--------------| | P1.1 | MCH-010 | 3 épicas | 2-3 sem | Ninguna | | P1.2 | MCH-011 | 4 épicas | 2-3 sem | Ninguna | **MCH-010 - MCP Server:** ``` Tareas: 1. Inicializar submodulo mcp-server/ 2. Configurar MCP SDK TypeScript 3. Implementar tools básicos: - buscar_producto - registrar_venta - consultar_stock - obtener_fiados 4. Implementar autenticación por tenant 5. Tests de integración ``` **MCH-011 - WhatsApp Service:** ``` Tareas: 1. Inicializar submodulo whatsapp-service/ 2. Configurar Meta Cloud API 3. Implementar webhook de verificación 4. Implementar envío/recepción de mensajes 5. Detección de tipo de usuario 6. Tests de integración ``` **Entregables:** - [ ] MCP Server corriendo en puerto 3142 - [ ] WhatsApp Service corriendo en puerto 3143 - [ ] 10+ tools MCP funcionales - [ ] Webhook WhatsApp operativo --- ### SPRINT 2: Chat LLM (Desbloqueado por Sprint 1) **Objetivo:** Implementar chat conversacional con IA | Prioridad | Épica | Dependencias | Esfuerzo | |-----------|-------|--------------|----------| | P2.1 | MCH-012 | MCH-010, MCH-011 | 1.5 sem | | P2.2 | MCH-013 | MCH-012 | 1 sem | **Dependencias verificadas:** - ✅ MCH-010 (MCP Server) - Sprint 1 - ✅ MCH-011 (WhatsApp) - Sprint 1 **Entregables:** - [ ] Dueño puede consultar vía WhatsApp - [ ] Cliente puede hacer pedidos vía WhatsApp - [ ] Tracking de tokens por conversación --- ### SPRINT 3: Pedidos y Notificaciones **Objetivo:** Completar flujo de pedidos y notificaciones | Prioridad | Épica | Dependencias | Esfuerzo | |-----------|-------|--------------|----------| | P3.1 | MCH-017 | MCH-011 | 1 sem | | P3.2 | MCH-015 | MCH-011, MCH-013, MCH-014 | 1.5 sem | | P3.3 | MCH-016 | MCH-015 | 1 sem | **Dependencias verificadas:** - ✅ MCH-011 (WhatsApp) - Sprint 1 - ✅ MCH-013 (Chat Cliente) - Sprint 2 - ✅ MCH-014 (Clientes) - Ya completo **Entregables:** - [ ] Push notifications funcionales - [ ] Flujo completo de pedidos vía WhatsApp - [ ] Sistema de entregas a domicilio --- ### SPRINT 4: Inteligencia **Objetivo:** Completar features de inteligencia artificial | Prioridad | Épica | Dependencias | Esfuerzo | |-----------|-------|--------------|----------| | P4.1 | MCH-006 | MCH-002, MCH-003 | 1.5 sem | | P4.2 | MCH-007 | MCH-003 | 1 sem | **Dependencias verificadas:** - ✅ MCH-002 (Auth) - Ya completo - ✅ MCH-003 (Productos) - Ya completo **Entregables:** - [ ] Onboarding inteligente vía WhatsApp - [ ] 500+ templates de proveedores cargados --- ### SPRINT 5: Integraciones Reales **Objetivo:** Reemplazar mocks por integraciones reales | Prioridad | Épica | Estado Actual | Esfuerzo | |-----------|-------|---------------|----------| | P5.1 | MCH-024 | Mock | 2 sem | | P5.2 | MCH-027 | Mock | 2-3 sem | **MCH-024 - CoDi/SPEI Real:** ``` Tareas: 1. Contrato con STP/Arcus para CLABE virtual 2. Certificación con Banxico para CoDi 3. Implementar generación real de QR 4. Implementar webhook de confirmación 5. Tests con dinero real (sandbox) ``` **MCH-027 - SAT Real:** ``` Tareas: 1. Contrato con PAC (Facturapi recomendado) 2. Obtener credenciales sandbox 3. Implementar generación de XML CFDI 4. Implementar timbrado real 5. Generación de PDF con formato SAT 6. Tests de timbrado en sandbox ``` --- ### SPRINT 6: Mobile y Offline **Objetivo:** Implementar aplicación móvil | Prioridad | Épica | Dependencias | Esfuerzo | |-----------|-------|--------------|----------| | P6.1 | MCH-022 | MCH-004 | 3-4 sem | | P6.2 | MCH-025 | MCH-004 | 1 sem | | P6.3 | MCH-026 | Ninguna | 1 sem | **MCH-022 - Modo Offline:** ``` Tareas: 1. Inicializar submodulo mobile/ con Expo 2. Configurar SQLite local 3. Implementar sync de productos 4. Registro offline de ventas 5. Cola de sincronización 6. Resolución de conflictos ``` --- ### SPRINT 7+: Enterprise Features **Objetivo:** Features empresariales avanzados | Épica | Dependencias | Esfuerzo | |-------|--------------|----------| | MCH-029 | Ninguna | 2-3 sem | | MCH-030 | MCH-029 | 1 sem | | MCH-031 | Ninguna | 1 sem | | MCH-032 | MCH-029, MCH-018 | 1 sem | | MCH-033 | MCH-029 | 1 sem | | MCH-034 | MCH-031, MCH-021 | 2 sem | | MCH-035 | MCH-034, MCH-021 | 2 sem | --- ## Orden de Ejecución Validado ### Secuencia Correcta (Respetando Dependencias) ``` FASE 1: Ya Completa ├── MCH-001 ✅ ├── MCH-002 ✅ ├── MCH-003 ✅ ├── MCH-004 ✅ └── MCH-008 ✅ FASE 2: Sprint 0 (Estabilización) ├── MCH-005 → Completar Mercado Pago └── MCH-020 → Completar OXXO FASE 3: Sprint 1 (Desbloqueo Crítico) ├── MCH-010 → MCP Server (NUEVO) └── MCH-011 → WhatsApp Service (NUEVO) FASE 4: Sprint 2 (Desbloqueado) ├── MCH-012 → Chat Dueño (requiere 010, 011) └── MCH-013 → Chat Cliente (requiere 012) FASE 5: Sprint 3 (Desbloqueado) ├── MCH-017 → Notificaciones (requiere 011) ├── MCH-015 → Pedidos WhatsApp (requiere 011, 013, 014) └── MCH-016 → Entregas (requiere 015) FASE 6: Sprint 4 (Independiente) ├── MCH-006 → Onboarding Inteligente └── MCH-007 → Templates FASE 7: Sprint 5 (Integraciones) ├── MCH-024 → CoDi/SPEI Real └── MCH-027 → SAT Real FASE 8: Sprint 6 (Mobile) ├── MCH-022 → Modo Offline ├── MCH-025 → Widgets └── MCH-026 → Multi-idioma FASE 9: Sprint 7+ (Enterprise) ├── MCH-029 → Infra SaaS ├── MCH-030 → OAuth (requiere 029) ├── MCH-031 → Auditoría ├── MCH-032 → Feature Flags (requiere 029, 018) ├── MCH-033 → Onboarding Wizard (requiere 029) ├── MCH-034 → Analytics (requiere 031, 021) └── MCH-035 → Reportes (requiere 034, 021) ``` --- ## Validación de Dependencias ### Verificación Pre-Sprint Antes de iniciar cada sprint, verificar: ```bash # Sprint 1 - Sin dependencias previas ✅ Puede iniciar inmediatamente # Sprint 2 - Requiere Sprint 1 □ MCH-010 (MCP Server) funcional □ MCH-011 (WhatsApp) funcional # Sprint 3 - Requiere Sprint 2 □ MCH-012 (Chat Dueño) funcional □ MCH-013 (Chat Cliente) funcional # Sprint 4 - Sin dependencias de sprints anteriores ✅ Puede ejecutarse en paralelo con Sprint 2-3 # Sprint 5 - Sin dependencias de sprints anteriores ✅ Puede ejecutarse en paralelo con Sprint 3-4 # Sprint 6 - Sin dependencias de sprints anteriores ✅ Puede ejecutarse en paralelo ``` ### Épicas que Pueden Ejecutarse en Paralelo | Grupo A | Grupo B | Grupo C | |---------|---------|---------| | MCH-010 | MCH-006 | MCH-024 | | MCH-011 | MCH-007 | MCH-027 | | | | MCH-022 | **Nota:** Los grupos pueden ejecutarse en paralelo entre sí, pero dentro de cada grupo puede haber dependencias internas. --- ## Timeline Estimado ``` Semana 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | | | | | | | | | | | | | | | | Sprint0 ██ (Estabilización) Sprint1 ██████ (MCP + WhatsApp) Sprint2 █████ (Chat LLM) Sprint3 █████ (Pedidos) Sprint4 ─────────────────────██████ (Paralelo: Inteligencia) Sprint5 ─────────────────────────────██████ (Paralelo: Integraciones) Sprint6 ████████ (Mobile) TOTAL: 16 semanas para MVP completo con IA ``` --- ## Criterios de Completitud por Sprint ### Sprint 1 Completo Cuando: - [ ] `npm run build` pasa en mcp-server/ - [ ] `npm run build` pasa en whatsapp-service/ - [ ] 10+ tools MCP responden correctamente - [ ] Webhook WhatsApp recibe mensajes - [ ] Tests de integración pasan ### Sprint 2 Completo Cuando: - [ ] Dueño puede preguntar "¿Cuánto vendí hoy?" y recibir respuesta - [ ] Cliente puede preguntar "¿Tienen refrescos?" y recibir respuesta - [ ] Tokens se consumen correctamente por conversación ### Sprint 3 Completo Cuando: - [ ] Push notification llega al dispositivo - [ ] Pedido vía WhatsApp se registra en BD - [ ] Flujo pedido → confirmación → entrega funciona --- **Generado por:** Planificación SIMCO 4.0.1 **Última actualización:** 2026-01-17