# 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:** ```bash 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:** ```bash 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:** ```bash 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:** ```bash 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:** ```markdown ├── 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:** ```markdown ├── 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:** ```yaml 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:** ```yaml 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 `auth` a la lista - Agregar schema `orders` a 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):** ```markdown ## 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:** ```markdown # 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:** ```bash 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:** ```bash # 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