Android CI / RC / Android · lint, tests, debug APK, release compile (push) Successful in 3m41s
DH V2 CI / API · typecheck, tests, build (push) Successful in 31s
DH V2 CI / WEB · typecheck, build (push) Successful in 19s
Production dependency audit / API · production dependencies (push) Successful in 9s
Production dependency audit / WEB · production dependencies (push) Successful in 8s
DH V2 CI / Docker / scripts contract (push) Successful in 1m14s
7.1 KiB
7.1 KiB
Auditoría integral DH V2 · F6.8 · 15/09/2026
Alcance
Revisión del árbol activo API V3, WEB V2 y Android de campo contra el modelo funcional vigente. La auditoría distingue superficie activa, compatibilidad histórica y código fuente retirado/no enrutable para no confundir legado con funcionalidad productiva.
1. Acceso, usuarios, roles y perfil
- El acceso autenticado, permisos y cambio de contraseña siguen aislados por permisos.
- La firma reutilizable del inspector se administra en Mi perfil y se consulta desde Android antes del cierre del Acta.
- Corrección F6.8: Android ya no presume que existe la firma. Si se configura después de haber guardado un cierre pendiente, “Volver a verificar” reintenta automáticamente la sincronización.
- Corrección F6.8: cola y caché offline están separadas por
userId; un segundo usuario del mismo dispositivo no puede sincronizar ni reutilizar datos locales del anterior.
2. Planificación e Inspecciones
- Flujo activo: oficina planifica; la APK inicia y cierra la ejecución física.
- Contexto vigente: Departamento → Área → Yacimiento; Operadora temporal del Área; el Yacimiento fija el alcance físico.
- La planificación activa no usa fecha de fin prevista. Las referencias
plannedEndAtencontradas pertenecen al subsistema Survey retirado y no están en rutas activas. - Corrección F6.8: inicio y cierre de Inspección quedan persistidos localmente si se pierde conectividad y se sincronizan en orden al recuperarla. Un rechazo funcional del servidor revierte el estado optimista local.
3. Actas
- Una Inspección puede contener múltiples Actas, manteniendo como máximo una en borrador simultáneamente.
- La urgencia se define al bloquear/cerrar el contenido del Acta completa; no pertenece individualmente a cada Hallazgo.
- El Acta bloqueada es inmutable y pasa a firma. La firma del inspector proviene del perfil; la persona acompañante firma por cada Acta.
- Flujo activo de acompañante: conforme, disconformidad con motivo o negativa a firmar con motivo. La opción de crear nuevas ausencias fue retirada de la interfaz;
ABSENTse conserva únicamente para leer registros históricos. - Corrección crítica F6.8: Android enviaba
uploadMode=ONLINE, valor inválido para la API. Se reemplazó porIMMEDIATEy la cola offline usaDEFERRED. - Corrección F6.8: alta, bloqueo, responsable, manifestación, firma y sellado pueden quedar en cola local sin perderse.
4. Hallazgos y evidencia
- Los Hallazgos pertenecen a un Acta explícita y a un elemento de Inventario incluido en ella.
- El catálogo se resuelve por Tipo de instalación/subinstalación y mantiene OTROS como salida no restrictiva.
- Corrección F6.8: alta de Hallazgo y carga de evidencia usan UUID de cliente para que un reintento offline no duplique registros.
- Corrección F6.8: cada fotografía se revisa antes de incorporarse: usar, volver a tomar o eliminar; conserva GPS y fecha de captura.
- Se mantienen múltiples fotografías por Hallazgo.
5. Inventarios
- Jerarquía activa: Departamento → Área → Yacimiento → Instalación → Subinstalación.
- Corrección de nomenclatura: la antigua expresión visible “clasificación técnica/familia técnica” se presenta como “Tipo de instalación” o “Tipo de subinstalación”. Los nombres físicos internos de tablas/variables se conservan para evitar migraciones destructivas.
- Altas en campo conservan GPS y foto obligatoria antes de habilitar Hallazgos.
- Corrección F6.8: creación, selección, foto y asociación al Acta pueden persistirse offline con identidad estable e idempotencia de servidor.
- Historial, dossier y consulta temporal siguen separados del estado actual para no reescribir historia.
6. Acta documental, fotos y Dashboard
- Desvío corregido: la ficha de Acta mezclaba demasiada información administrativa y el PDF/fotos no eran contenido principal.
- F6.8 agrega “Documento del Acta” con apertura y descarga del PDF real sellado.
- Las fotos de Hallazgos se muestran como miniaturas dentro del Acta.
- Las fotos de Inventario se limitan a eventos de campo de la misma Inspección y a elementos incluidos en esa Acta; no se mezclan fotos históricas de otras visitas.
- La proyección documental anterior queda sólo como referencia colapsada, no como sustituto del PDF oficial.
7. Seguimiento, verificaciones y vencimientos
- El seguimiento administrativo permanece separado de la captura de campo.
- Respuesta de empresa, documentación, fechas informadas y verificación física conservan trazabilidad sin reabrir el Acta.
- La planificación de verificaciones continúa basada en Hallazgos abiertos y no reemplaza el plazo administrativo del Acta.
- No se detectaron rutas activas que vuelvan a asignar la urgencia al Hallazgo.
8. Informes, GEDO y entrega documental
- Flujo activo confirmado: Acta → INF → oficialización GEDO/IF.
- Un INF corresponde a una sola Acta; una Inspección con varias Actas puede producir varios INF.
- El circuito legacy de aprobación/firma final por Director fue retirado de la superficie activa; sus menciones permanecen sólo en migraciones reversibles/historia.
- La entrega documental y SMTP continúan bajo permisos administrativos y trazabilidad.
9. Importaciones y compatibilidad histórica
- El módulo API de importaciones se conserva, pero la antigua pantalla de importación fue retirada deliberadamente de las rutas WEB en F5; no se reactivó durante F6.8 para no mezclar el contrato anterior con el modelo autoritativo actual.
- Las páginas Survey y campos como
plannedEndAtexisten como fuente histórica sin ruta activa; los módulos Survey tampoco están registrados enAppModule. - Se mantienen redirects
/activos→/inventariosy valores históricos de estados de Acta únicamente para compatibilidad de enlaces/datos existentes.
10. Offline, consistencia y seguridad de sincronización
- Room persiste operaciones y contexto descargado; WorkManager reintenta sólo con red disponible.
- Las operaciones dependientes se procesan en orden estable y la cola se detiene ante un error funcional permanente para no ejecutar hijos sobre un padre rechazado.
- Las operaciones críticas usan identificadores de cliente y columnas de idempotencia para evitar duplicados tras cortes/reintentos.
- Los archivos pendientes se almacenan dentro del espacio privado de la aplicación hasta quedar sincronizados.
Barreras de aceptación F6.8
- API: build + suite integral de contratos/unidad.
- WEB: typecheck/build de producción.
- Android: compilación Debug/Release, tests unitarios, APK Debug instalable y lint por variante dentro de los límites del VPS.
- Deploy productivo: backup previo, migraciones, recreación API/WEB, health/versiones y ausencia de migraciones pendientes.
Compatibilidad intencional que NO debe eliminarse a ciegas
- Estados/eventos históricos de Acta (
READY,CLOSED,RECTIFIED,ABSENT) para lectura de expedientes existentes. - Rutas antiguas
/activoscomo redirección de compatibilidad. - Migraciones históricas y textos de rollback: no se reescriben.
- Fuentes Survey/legacy no enrutadas: no forman parte del producto activo, pero sirven a contratos históricos y rollback.