Cambios realizados: - Corregido estado de 10 épicas que estaban mal documentadas - MCH-010, MCH-011: Pendiente (submodulos vacíos, BLOQUEANTES) - MCH-012, MCH-013: Pendiente (bloqueados por dependencias) - MCH-006, MCH-007: Pendiente (sin implementación) - MCH-022, MCH-026: Pendiente (sin implementación) - MCH-024, MCH-027: Parcial/Mock (requieren integración real) Documentos nuevos: - ESTADO-REAL-EPICAS.md: Estado validado vs código - ROADMAP-CORREGIDO.md: Plan de desarrollo respetando dependencias Estadísticas reales: - Completadas: 14 (40%) - Parciales/Mock: 4 (11%) - Pendientes: 10 (29%) - Planificadas: 7 (20%) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
383 lines
12 KiB
Markdown
383 lines
12 KiB
Markdown
# 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
|