4.5 Análisis de las Rutas de Ejecución (Base Universal)
El diagrama maestro se segmenta lógicamente utilizando la nomenclatura de comandos del binario de consola (dotmng). Sin embargo, es crucial destacar que estos flujos representan la base de ejecución universal del sistema (el Core de la aplicación).
Gracias a la estricta separación de responsabilidades (Arquitectura Limpia), la lógica de negocio está totalmente desacoplada de la capa de presentación. Esto garantiza que estas mismas secuencias se reutilizan al 100% independientemente de la vía de entrada que dispare la acción: CLI, UI o HeadLess
A continuación se detalla el comportamiento de estas rutas de ejecución:
- info / version / help: Comandos de primer nivel sin impacto en la base de datos. Orientados a la usabilidad (UX) en terminal, proporcionan ayuda contextual, métricas rápidas del entorno y versión del binario.
- check: Representa el flujo de auditoría de solo lectura. El sistema recupera el estado anterior (hashes), obtiene las entidades actuales del disco y compara los hashes para determinar qué archivos han mutado sin alterar la base de datos local.
- update: El flujo más crítico y extenso. Tras realizar el descubrimiento y comparación de hashes (similar a check), este proceso sí persiste los cambios en la base de datos SQLite. Clasifica dinámicamente las entidades, aplica las reglas de ignorados globales y resuelve conflictos de estado.
- apps check: Auditoría focalizada únicamente en las rutas de las aplicaciones ya vinculadas en el inventario local.
- apps list: Extrae la información consolidada de la base de datos para mostrar al usuario el estado actual del inventario, incluyendo la resolución de conflictos.
- apps bind / unbind: Flujos de acción directa sobre el modelo relacional, permitiendo al usuario crear (bind) o romper (unbind) relaciones manuales entre rutas físicas y aplicaciones.
- apps help: Ayuda contextual aislada para las operaciones de este submódulo.
-
Estos subcomandos constituyen las interfaces reservadas para
futuras iteraciones del proyecto.
unknown orquestará el flujo de red hacia la
API/IA para la clasificación de huérfanos, mientras que
utils englobará utilidades del sistema (como
copias en
tar.gz, exportación de settings o purgado de caché).
Decisión Arquitectónica: Al documentar el sistema de esta manera, se garantiza que cualquier futuro desarrollador pueda trazar el origen y destino de los datos para cualquier comando ejecutado en la terminal, minimizando la curva de aprendizaje del código base.