====== Índice de documentación de PAE ====== ===== Qué es este repo ===== PAE es un monorepo Android multi-módulo con dos aplicaciones coordinadas: * ''Machine'': ejecuta entregas en campo con validaciones de peso, evidencia por cámara, verificación facial y persistencia local. * ''RutaPAE'': coordina operación de ruta, visibilidad de máquinas, integración P2P y soporte de sincronización con backend. Objetivo principal: mantener una operación confiable y auditable bajo conectividad intermitente y variabilidad de hardware. ===== Stack ===== * Android + Kotlin + Gradle (KTS) * Jetpack Compose * Coroutines + WorkManager * CameraX + ML Kit + ONNX Runtime * Persistencia local basada en SQLite (+ capacidades vectoriales en ''VectorialDB'') * Comunicación P2P guiada por contrato (''Contract'', ''DirectLink'') * Servicios de sincronización HTTP (''MachineDomain'', ''RutaPAEDomain'') ===== Ambientes ===== * ''development'' * ''qa'' * ''production'' (actualmente mapeado a dominio preproductivo en la configuración vigente) La selección de host/ambiente se define por configuración de runtime y variables de build. ===== Mapa de documentación ===== ==== ''arquitectura/'' ==== * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:arquitectura:vision-general|Vision General]] * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:arquitectura:capas-y-modulos|Capas Y Modulos]] * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:arquitectura:ciclo-de-vida-de-datos|Ciclo De Vida De Datos]] ==== ''dispositivos/'' ==== * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:dispositivos:bascula|Bascula]] * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:dispositivos:camara|Camara]] ==== ''operacion-sin-conexion/'' ==== * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:operacion-sin-conexion:estados-de-maquina|Estados De Maquina]] * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:operacion-sin-conexion:arquitectura-p2p|Arquitectura P2p]] * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:operacion-sin-conexion:estrategia-de-sincronizacion|Estrategia De Sincronizacion]] ==== ''flujos-clave/'' ==== * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:flujos-clave:flujo-de-entrega|Flujo De Entrega]] * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:flujos-clave:flujo-de-generacion-de-embedding|Flujo De Generacion De Embedding]] * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:flujos-clave:flujo-del-gestor-de-estados|Flujo Del Gestor De Estados]] * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:flujos-clave:ciclo-de-vida-de-jornada|Ciclo De Vida De Jornada]] * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:flujos-clave:flujo-de-sincronizacion-http|Flujo De Sincronizacion Http]] * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:flujos-clave:filtrado-de-jornadas-en-shift-selection|Filtrado De Jornadas En Shift Selection]] ==== ''api/'' ==== * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:api:puntos-finales|Puntos Finales]] * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:api:contratos-p2p|Contratos P2p]] * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:api:modelo-de-errores|Modelo De Errores]] ==== ''decisiones/'' ==== * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:decisiones:adr-0001-secuencia-del-gestor-de-estados|Adr 0001 Secuencia Del Gestor De Estados]] * [[ada:howto:sicoferp:factory:new-migracion-sicoferp:machine:decisiones:adr-0002-persistencia-primero-local|Adr 0002 Persistencia Primero Local]] ===== Fuentes de verdad ===== * ''settings.gradle.kts'' para límites y composición de módulos. * ''gradle/libs.versions.toml'' para versiones de dependencias. * ''MachineDomain/src/main/java/co/ada/domain/DomainManager.kt'' para armado del flujo y estados. * ''MachineDomain/src/main/java/co/ada/domain/state/StateManager.kt'' para orquestación y recuperación. * ''MachineDomain/src/main/java/co/ada/domain/state/states/*.kt'' para comportamiento de cada estado. * ''MachineData/src/main/java/co/ada/data/emitters/*'' para señales de estado/mensaje. * ''MachineData/src/main/java/co/ada/data/local/Server.kt'' para hosts por ambiente. ===== Ultima verificacion ===== * Fecha: ''2026-04-23'' * Método: revisión manual de código + reconciliación de documentación. * Alcance: estructura de docs, flujo de estados, stack base y mapeo de ambientes. ===== Nota ===== Las carpetas legadas (''explicaciones/'', ''referencia/'', ''guias/'', ''producto/'') se mantienen para compatibilidad mientras se consolida la nueva estructura. ====== PAE | Solución Comercial para Gestión de Entregas en Campo ====== ===== Entregas con evidencia, control y continuidad operativa ===== **PAE** es una plataforma para organizaciones que ejecutan entregas en territorio y necesitan operar con orden, trazabilidad y velocidad, incluso en contextos de conectividad intermitente. Su enfoque es simple: convertir procesos manuales y dispersos en un flujo digital confiable, medible y auditable. ===== El problema que resuelve ===== La jornada empieza bien, pero a mitad del día aparece el riesgo real: una ruta sin señal, registros incompletos y coordinación por llamadas o mensajes dispersos. Al final, surge la pregunta crítica: **¿qué se entregó, a quién y con qué evidencia?** Cuando esa respuesta no es inmediata, la operación entra en tensión: * se pierde visibilidad del avance por ruta y sede * aumentan errores y retrabajo administrativo * crece el riesgo de incumplimiento ante auditoría * las decisiones llegan tarde, cuando el problema ya impactó la jornada * las confirmaciones de entrega se basan en confianza de boca a boca, no en evidencia verificable **Ese es el problema de fondo:** no solo falta digitalización; falta control operativo confiable en tiempo real. ==== Qué resuelve PAE de forma concreta ==== PAE resuelve tres brechas críticas: - **Brecha de continuidad:** evita detener la operación por conectividad (modelo offline-first). - **Brecha de confianza en datos:** asegura evidencia y trazabilidad verificable por entrega. - **Brecha de control diario:** entrega visibilidad accionable para corregir desvíos durante la ejecución. ===== Qué cambia con PAE ===== PAE estandariza la ejecución de cada entrega y asegura evidencia operativa desde el punto de atención. ==== Flujo operativo ==== - **Inicio de atención:** se identifica y abre la entrega. - **Captura de evidencia:** se registran datos críticos de la atención. - **Validación de reglas:** se verifica integridad y consistencia. - **Confirmación de entrega:** la atención queda cerrada y trazable. - **Actualización de avance:** el estado de la jornada se consolida automáticamente. - **Sincronización inteligente:** con internet se sincroniza al momento; sin internet, continúa offline y sincroniza después. ===== Beneficios de negocio ===== * **Trazabilidad completa:** evidencia por entrega para control interno y auditoría. * **Continuidad operativa real:** el equipo no se detiene por fallas de red. * **Mayor productividad:** menos pasos manuales y menos reprocesos. * **Decisiones con datos diarios:** visibilidad clara de metas, pendientes y cumplimiento. * **Base para mejora continua:** información estructurada para análisis y optimización. ===== Organizaciones para las que encaja mejor ===== PAE aporta alto valor en: * programas sociales o alimentarios con cobertura territorial * operaciones de campo multisede o multiruta * procesos con alto volumen diario de entregas * entornos con exigencia de evidencia y cumplimiento ===== Propuesta de valor ===== PAE se diferencia por tres pilares de valor: - **Continuidad operativa offline-first** La operación no se detiene por fallas de conectividad; el equipo continúa en campo y sincroniza cuando hay red. - **Cumplimiento y defensa ante auditoría** Cada entrega queda trazada con evidencia verificable, reduciendo riesgos de incumplimiento y discusiones operativas. - **Control operativo accionable** Consolida avance, pendientes y desempeño por ruta/sede para corregir desvíos durante la jornada y no al final del mes. ===== Implementación recomendada ===== - **Diagnóstico operativo:** sedes, volumen, flujo actual y brechas. - **Piloto controlado:** operación en entorno real con KPIs definidos. - **Escalamiento progresivo:** despliegue por sedes o regiones. - **Acompañamiento continuo:** soporte, ajustes y evolución funcional. ===== KPIs sugeridos ===== * ''% de entregas con evidencia completa'' * ''% de sincronizaciones exitosas'' * ''tiempo promedio por entrega'' * ''reducción de reprocesos administrativos'' * ''% de cumplimiento diario por ruta/sede'' ===== Mensaje comercial clave ===== **PAE no es solo una app de campo.** Es un sistema de ejecución operativa que transforma entregas en resultados medibles, auditables y escalables.