michangarrito/backups/orchestration-backup-2026-01-10/orchestration/analisis/PLAN-EJECUCION-PURGA-DOCUMENTAL-2026-01-10.md
rckrdmrd 97f407c661 [MIGRATION-V2] feat: Migrar michangarrito a estructura v2
- Prefijo v2: MCH
- TRACEABILITY-MASTER.yml creado
- Listo para integracion como submodulo

Workspace: v2.0.0 | SIMCO: v4.0.0
2026-01-10 11:28:54 -06:00

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 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):

## 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