- Prefijo v2: MCH - TRACEABILITY-MASTER.yml creado - Listo para integracion como submodulo Workspace: v2.0.0 | SIMCO: v4.0.0
16 KiB
PLAN DE EJECUCION - PURGA Y REESTRUCTURACION DOCUMENTAL
Proyecto: MiChangarrito Fecha: 2026-01-10 Estado: PLANEACION COMPLETADA - PENDIENTE APROBACION Documento Base: ANALISIS-CONSOLIDADO-PURGA-DOCUMENTAL-2026-01-10.md
RESUMEN DEL PLAN
| Metrica | Valor |
|---|---|
| Total de tareas | 16 |
| Archivos a modificar | 5 |
| Archivos a crear | 4 |
| Archivos a eliminar | 1 |
| Archivos a archivar | 5 |
| Fases de ejecucion | 6 |
FASE 0: PREPARACION (PRE-REQUISITO)
Tarea 0.1: Crear Backup de Documentacion
Descripcion: Crear respaldo completo de toda la documentacion antes de iniciar cambios.
Comandos:
cd /home/isem/workspace-v1/projects/michangarrito
mkdir -p backups/docs-backup-2026-01-10
cp -r docs/ backups/docs-backup-2026-01-10/
cp -r orchestration/ backups/orchestration-backup-2026-01-10/
Validacion:
- Carpeta backup creada
- Contenido copiado correctamente
- Verificar conteo de archivos igual al original
Dependencias: Ninguna Riesgo: Bajo
Tarea 0.2: Crear Estructura de Archivado
Descripcion: Crear carpeta para archivos historicos obsoletos.
Comandos:
mkdir -p /home/isem/workspace-v1/projects/michangarrito/orchestration/analisis/historico
Validacion:
- Carpeta historico/ creada
Dependencias: Ninguna Riesgo: Bajo
FASE 1: ARCHIVADO DE DOCUMENTOS OBSOLETOS
Tarea 1.1: Mover Archivos Obsoletos a Historico
Descripcion: Mover 5 archivos de analisis obsoletos a la carpeta historico/.
Archivos a mover:
| Archivo Origen | Archivo Destino |
|---|---|
| orchestration/analisis/ANALISIS-FASE1-2026-01-06.md | orchestration/analisis/historico/ |
| orchestration/analisis/DEPENDENCIAS-ARCHIVOS-2026-01-06.md | orchestration/analisis/historico/ |
| orchestration/analisis/PLAN-FASE2-DETALLADO-2026-01-06.md | orchestration/analisis/historico/ |
| orchestration/analisis/PLAN-REFINADO-FINAL-2026-01-06.md | orchestration/analisis/historico/ |
| orchestration/analisis/VALIDACION-PLAN-VS-ANALISIS-2026-01-06.md | orchestration/analisis/historico/ |
Comandos:
cd /home/isem/workspace-v1/projects/michangarrito/orchestration/analisis
mv ANALISIS-FASE1-2026-01-06.md historico/
mv DEPENDENCIAS-ARCHIVOS-2026-01-06.md historico/
mv PLAN-FASE2-DETALLADO-2026-01-06.md historico/
mv PLAN-REFINADO-FINAL-2026-01-06.md historico/
mv VALIDACION-PLAN-VS-ANALISIS-2026-01-06.md historico/
Validacion:
- 5 archivos movidos correctamente
- Archivos accesibles en historico/
- No hay referencias rotas
Dependencias: Tarea 0.2 Riesgo: Bajo
FASE 2: ELIMINACION DE DUPLICADOS
Tarea 2.1: Extraer Contenido Unico de Duplicado
Descripcion: Antes de eliminar, extraer tabla de convenciones del archivo duplicado.
Archivo: /home/isem/workspace-v1/projects/michangarrito/docs/90-transversal/arquitectura/ARQUITECTURA-DATABASE.md
Contenido a extraer (lineas 119-137):
- Tabla de convenciones de nomenclatura
- Agregar al archivo canonico en 02-especificaciones/ARQUITECTURA-DATABASE.md
Validacion:
- Contenido unico identificado
- Contenido copiado al archivo canonico
- Verificar que no se pierde informacion
Dependencias: Ninguna Riesgo: Medio
Tarea 2.2: Eliminar Archivo Duplicado
Descripcion: Eliminar archivo duplicado despues de extraer contenido unico.
Comandos:
rm /home/isem/workspace-v1/projects/michangarrito/docs/90-transversal/arquitectura/ARQUITECTURA-DATABASE.md
# Si la carpeta queda vacia:
rmdir /home/isem/workspace-v1/projects/michangarrito/docs/90-transversal/arquitectura/
Validacion:
- Archivo eliminado
- Verificar que no hay referencias rotas en otros documentos
Dependencias: Tarea 2.1 Riesgo: Bajo
FASE 3: ACTUALIZACION DE DOCUMENTOS MAESTROS
Tarea 3.1: Actualizar docs/_MAP.md - Seccion Especificaciones
Descripcion: Corregir la seccion 02-especificaciones/ para reflejar archivos reales.
Archivo: /home/isem/workspace-v1/projects/michangarrito/docs/_MAP.md
Cambio (lineas 80-86):
DE:
├── 02-especificaciones/
│ ├── CATALOGO-PRODUCTOS.md <- Gestion de catalogo
│ ├── TEMPLATE-PRODUCTOS.md <- Templates de productos
│ ├── POS-BASICO.md <- Punto de venta
│ ├── VENTAS-DIARIAS.md <- Registro de ventas
│ ├── CALCULADORA-CAMBIO.md <- Logica de cambio
│ └── INTEGRACIONES-PAGOS.md <- Mercado Pago, Clip, CoDi
A:
├── 02-especificaciones/
│ ├── _MAP.md <- Indice local de especificaciones
│ ├── ARQUITECTURA-DATABASE.md <- Schema completo BD (9 schemas, 29 tablas)
│ ├── ESPECIFICACION-COMPONENTES.md <- Stack tecnico y modulos
│ ├── INTEGRACIONES-EXTERNAS.md <- 9 integraciones (Stripe, WhatsApp, LLM, etc)
│ ├── INVESTIGACION-REFERENCIAS.md <- Codigo reutilizable (POS-Micro, etc)
│ ├── PLAN-DESARROLLO.md <- Cronograma por epicas
│ └── CALCULADORA-CAMBIO.md <- Logica de cambio (PENDIENTE CREAR)
Validacion:
- Seccion actualizada
- Archivos listados coinciden con existentes
- Formato markdown correcto
Dependencias: Ninguna Riesgo: Bajo
Tarea 3.2: Actualizar CONTEXT-MAP.yml - Corregir Epicas
Descripcion: Corregir los IDs de epicas desplazados (MCH-012 a MCH-021).
Archivo: /home/isem/workspace-v1/projects/michangarrito/orchestration/CONTEXT-MAP.yml
Cambios en seccion epicas_por_fase (lineas 189-217):
DE:
fase3_asistente_ia:
- MCH-010-mcp-server
- MCH-011-whatsapp
- MCH-012-chat-llm
fase4_pedidos:
- MCH-013-clientes
- MCH-014-pedidos-whatsapp
- MCH-015-entregas
fase5_monetizacion:
- MCH-016-suscripciones
- MCH-017-tokens-ia
- MCH-018-pagos-online
fase6_crecimiento:
- MCH-019-offline
- MCH-020-referidos
- MCH-021-codi
- MCH-022-widgets
A:
fase3_asistente_ia:
- MCH-010-mcp-server
- MCH-011-whatsapp-service
- MCH-012-chat-llm-dueno
- MCH-013-chat-llm-cliente
fase4_pedidos_clientes:
- MCH-014-gestion-clientes
- MCH-015-pedidos-whatsapp
- MCH-016-entregas-domicilio
- MCH-017-notificaciones
fase5_monetizacion:
- MCH-018-planes-suscripciones
- MCH-019-tienda-tokens
- MCH-020-pagos-suscripcion
- MCH-021-dashboard-web
fase6_mobile_offline:
- MCH-022-modo-offline
- MCH-023-programa-referidos
- MCH-024-codi-spei
- MCH-025-widgets-atajos
fase7_expansion_latam:
- MCH-026-multi-idioma-latam
- MCH-027-integracion-sat
- MCH-028-marketplace-proveedores
Validacion:
- Todos los IDs MCH-001 a MCH-028 presentes
- Nombres coinciden con docs/_MAP.md
- Fases correctamente asignadas
- Sintaxis YAML valida
Dependencias: Ninguna Riesgo: Medio
Tarea 3.3: Actualizar ARQUITECTURA-TECNICA.md - Corregir Schemas
Descripcion: Actualizar numero de schemas de 8 a 9 (agregar auth y orders).
Archivo: /home/isem/workspace-v1/projects/michangarrito/docs/00-vision-general/ARQUITECTURA-TECNICA.md
Cambio (lineas 298-345):
- Agregar schema
autha la lista - Agregar schema
ordersa la lista - Total: 9 schemas (no 8)
Validacion:
- 9 schemas listados
- Coherente con ARQUITECTURA-DATABASE.md
- Coherente con DATABASE_INVENTORY.yml
Dependencias: Ninguna Riesgo: Bajo
Tarea 3.4: Agregar Documentacion de Credenciales
Descripcion: Documentar claramente donde se almacenan las credenciales.
Archivo: /home/isem/workspace-v1/projects/michangarrito/docs/00-vision-general/ARQUITECTURA-TECNICA.md
Contenido a agregar (nueva seccion):
## Almacenamiento de Credenciales
### Credenciales de Plataforma
- Ubicacion: Variables de entorno (.env)
- Proposito: Credenciales por defecto del sistema
- Ejemplos: STRIPE_SECRET_KEY, WHATSAPP_ACCESS_TOKEN, LLM_API_KEY
### Credenciales por Tenant
- Ubicacion: Base de datos (tabla tenant_integration_credentials)
- Proposito: Credenciales personalizadas por cada negocio
- Seguridad: Encriptadas con AES-256
- Fallback: Si no existe, usa credenciales de plataforma
### Flujo de Resolucion
1. Buscar credenciales del tenant en BD
2. Si existe y esta activa, usar credencial del tenant
3. Si no existe, usar credencial de plataforma (fallback)
4. Cache en memoria con TTL 5 minutos
Validacion:
- Seccion agregada
- Coherente con ARQUITECTURA-MULTI-TENANT-INTEGRACIONES.md
- Flujo claramente documentado
Dependencias: Ninguna Riesgo: Bajo
FASE 4: CREACION DE DOCUMENTOS FALTANTES
Tarea 4.1: Crear CALCULADORA-CAMBIO.md
Descripcion: Crear documento faltante critico sobre logica de cambio.
Archivo: /home/isem/workspace-v1/projects/michangarrito/docs/02-especificaciones/CALCULADORA-CAMBIO.md
Contenido sugerido:
# Especificacion: Calculadora de Cambio
**Proyecto:** MiChangarrito
**Fecha:** 2026-01-10
**Estado:** ESPECIFICACION
---
## 1. Proposito
Definir la logica de calculo de cambio para transacciones en efectivo,
optimizando la cantidad de billetes y monedas a devolver.
## 2. Denominaciones Mexico (MXN)
### Billetes
| Denominacion | Valor |
|--------------|-------|
| $1000 | 1000.00 |
| $500 | 500.00 |
| $200 | 200.00 |
| $100 | 100.00 |
| $50 | 50.00 |
| $20 | 20.00 |
### Monedas
| Denominacion | Valor |
|--------------|-------|
| $10 | 10.00 |
| $5 | 5.00 |
| $2 | 2.00 |
| $1 | 1.00 |
| $0.50 | 0.50 |
## 3. Algoritmo de Calculo
### Entrada
- total_venta: number (monto de la venta)
- monto_recibido: number (efectivo recibido del cliente)
### Proceso
1. Calcular cambio = monto_recibido - total_venta
2. Si cambio < 0: Error (monto insuficiente)
3. Si cambio = 0: Pago exacto (no hay cambio)
4. Si cambio > 0: Aplicar algoritmo greedy
### Algoritmo Greedy (Minimizar piezas)
function calcularCambio(cambio: number): Denominacion[] { const denominaciones = [1000, 500, 200, 100, 50, 20, 10, 5, 2, 1, 0.50]; const resultado = [];
for (const denom of denominaciones) { while (cambio >= denom) { resultado.push(denom); cambio = Math.round((cambio - denom) * 100) / 100; } }
return resultado; }
## 4. Casos Especiales
### 4.1 Redondeo
- Montos menores a $0.50 se redondean al mas cercano
- Ejemplo: $0.25 → $0.50, $0.10 → $0.00
### 4.2 Sugerencia de Monto
- Sugerir montos redondos al cliente
- Ejemplo: Total $87.50 → Sugerir "Dame $100"
### 4.3 Sin Cambio Disponible
- Alertar si no hay cambio suficiente en caja
- Sugerir pago con tarjeta o monto exacto
## 5. Integracion
### Frontend (Mobile)
- Componente: ChangeCalculator
- Pantalla: SalesScreen (despues de seleccionar efectivo)
- Muestra: Desglose visual de billetes/monedas
### Backend
- No requiere endpoint (calculo local)
- Registrar en venta: monto_recibido, cambio_dado
### Base de Datos
- Tabla: sales
- Campos: payment_amount, change_given
## 6. UI/UX
### Pantalla de Cambio
┌────────────────────────────┐ │ Total: $87.50 │ │ Recibido: $100.00 │ │ ───────────────────────── │ │ CAMBIO: $12.50 │ │ │ │ Entregar: │ │ [💵 $10] x 1 │ │ [🪙 $2] x 1 │ │ [🪙 $0.50] x 1 │ │ │ │ [Confirmar Venta] │ └────────────────────────────┘
---
**Ultima actualizacion:** 2026-01-10
Validacion:
- Archivo creado
- Denominaciones MXN correctas
- Algoritmo documentado
- Casos especiales cubiertos
Dependencias: Ninguna Riesgo: Bajo
Tarea 4.2: Crear INDICE-ARQUITECTURA.md
Descripcion: Crear documento indice que mapee todos los documentos de arquitectura.
Archivo: /home/isem/workspace-v1/projects/michangarrito/docs/INDICE-ARQUITECTURA.md
Contenido: Mapeo de documentos, ruta de lectura recomendada, temas por area.
Validacion:
- Archivo creado
- Todos los documentos de arquitectura referenciados
- Rutas de lectura por rol definidas
Dependencias: Todas las tareas de ACTUALIZAR Riesgo: Bajo
Tarea 4.3: Crear RESUMEN-ANALISIS-HISTORICO.md
Descripcion: Crear resumen consolidado de decisiones tomadas durante el proyecto.
Archivo: /home/isem/workspace-v1/projects/michangarrito/orchestration/analisis/RESUMEN-ANALISIS-HISTORICO.md
Contenido:
- Decisiones estrategicas (cambio FASE 2 a Sprint 1)
- Metricas finales del proyecto
- Lecciones aprendidas
- Referencias a archivos historicos
Validacion:
- Archivo creado
- Decisiones documentadas
- Metricas actualizadas
Dependencias: Tarea 1.1 (archivado) Riesgo: Bajo
FASE 5: VALIDACION POST-EJECUCION
Tarea 5.1: Validar Coherencia de Documentos
Descripcion: Verificar que todos los documentos son coherentes entre si.
Checklist:
| Validacion | Archivo A | Archivo B | Resultado |
|---|---|---|---|
| Numero schemas | docs/_MAP.md | ARQUITECTURA-DATABASE.md | [ ] OK |
| Numero epicas | docs/_MAP.md | CONTEXT-MAP.yml | [ ] OK |
| IDs epicas | docs/01-epicas/_MAP.md | CONTEXT-MAP.yml | [ ] OK |
| Archivos listados | docs/_MAP.md | Archivos reales | [ ] OK |
Validacion:
- Todas las coherencias verificadas
- Cero discrepancias encontradas
Dependencias: Todas las fases anteriores Riesgo: Bajo
Tarea 5.2: Verificar Referencias
Descripcion: Buscar y corregir cualquier referencia rota.
Comandos:
cd /home/isem/workspace-v1/projects/michangarrito
# Buscar referencias al archivo eliminado
grep -r "90-transversal/arquitectura/ARQUITECTURA-DATABASE" docs/ orchestration/
Validacion:
- Sin referencias rotas encontradas
- O referencias actualizadas si se encontraron
Dependencias: Tarea 2.2 Riesgo: Medio
Tarea 5.3: Validar Sintaxis YAML
Descripcion: Verificar que CONTEXT-MAP.yml tiene sintaxis valida.
Comandos:
# Usar herramienta de validacion YAML
python -c "import yaml; yaml.safe_load(open('orchestration/CONTEXT-MAP.yml'))"
Validacion:
- Sin errores de sintaxis
- Archivo parseable correctamente
Dependencias: Tarea 3.2 Riesgo: Bajo
FASE 6: DOCUMENTACION DE CIERRE
Tarea 6.1: Actualizar PLAN-MAESTRO con Estado Final
Descripcion: Marcar todas las tareas como completadas en el plan maestro.
Archivo: PLAN-MAESTRO-PURGA-DOCUMENTAL-2026-01-10.md
Validacion:
- Todas las fases marcadas como completadas
- Fechas de ejecucion registradas
Dependencias: Fase 5 Riesgo: Bajo
Tarea 6.2: Crear Reporte de Ejecucion
Descripcion: Documentar resultados de la purga documental.
Archivo: REPORTE-EJECUCION-PURGA-DOCUMENTAL-2026-01-10.md
Contenido:
- Resumen de cambios realizados
- Metricas antes/despues
- Problemas encontrados y resueltos
- Recomendaciones futuras
Validacion:
- Reporte completo
- Metricas documentadas
Dependencias: Fase 5 Riesgo: Bajo
CRONOGRAMA DE EJECUCION
| Fase | Tareas | Estimado |
|---|---|---|
| FASE 0 | 0.1, 0.2 | 15 min |
| FASE 1 | 1.1 | 10 min |
| FASE 2 | 2.1, 2.2 | 20 min |
| FASE 3 | 3.1, 3.2, 3.3, 3.4 | 45 min |
| FASE 4 | 4.1, 4.2, 4.3 | 60 min |
| FASE 5 | 5.1, 5.2, 5.3 | 20 min |
| FASE 6 | 6.1, 6.2 | 15 min |
| TOTAL | 16 tareas | ~3 horas |
APROBACION
| Rol | Nombre | Aprobacion | Fecha |
|---|---|---|---|
| Arquitecto Documentacion | - | [ ] Aprobado | - |
| Lider Tecnico | - | [ ] Aprobado | - |
| Product Owner | - | [ ] Aprobado | - |
Estado: PENDIENTE APROBACION Fecha de creacion: 2026-01-10 Version: 1.0.0