Arquitectura
Flow Audit es una herramienta de línea de comandos local: entra evidencia y sale un informe. Hoy existen el esqueleto, el modelo canónico y el dataset sintético. Las cinco etapas que convierten la evidencia en hallazgos siguen siendo diseño.
Pipeline
Las cinco etapas son diseño. Llegan en los milestones M1 a M5 y ninguna se ejecuta hoy. El informe demo es una maqueta hecha a mano, no generada.
Componentes
Disposición hexagonal (ADR 0002). El dominio no importa nada fuera de src/domain/ y un test rompe el build si eso cambia. Una flecha significa «depende de».
domain/
El modelo canónico: eventos, catálogo, pedidos, recorridos, hallazgos e impacto. No tiene E/S, ni reloj, ni archivos. Aquí vivirán la reconstrucción y las cinco reglas. Hoy: los tipos.
ports/
Las cuatro interfaces de las que depende el resto del motor: EvidenceSource, CatalogSource, ReportRenderer y Clock. Hoy: las cuatro están declaradas; los adaptadores que implementan dos de ellas no existen.
adapters/
El mundo exterior. Un reloj y los serializadores de exporte de los cuatro sistemas. Se les unirán los lectores de ingesta (M1) y el renderizador HTML (M4). Hoy: clock/ y export/; ingest/ y report/ están vacíos.
app/
El caso de uso runAudit(). Unirá ingesta, reconstrucción, detección, cuantificación y renderizado, y no posee ningún formato. Hoy: un esqueleto que no devuelve hallazgos.
cli/
Parseo de argumentos, ayuda y códigos de salida. Dos comandos: audit y dataset. Hoy: los dos corren; audit sale con código 2 porque no hay fuente de evidencia.
dataset/
Un generador determinista con semilla fija. Escribe la evidencia sintética de Ortelis: 5.000 pedidos en septiembre de 2026 y las tasas de impacto. Hoy: corre y los exportes son idénticos byte a byte.
Qué se ejecuta hoy
deno task check comprueba tipos del CLI, el generador, el adaptador de reloj y los tests. Pasa.
deno task test pasa 34 tests en cinco suites: dataset, serializadores, frontera de arquitectura, frontera de licencia y esqueleto.
deno task audit imprime el mensaje de esqueleto y sale con código 2. Todavía no hay fuente de evidencia.
deno task dataset regenera los 5.000 pedidos desde una semilla fija. Dos ejecuciones producen exportes idénticos byte a byte.
Diseño
Concepto core
Flow Audit será una herramienta de auditoría. Leerá los registros de cuatro sistemas y reconstruirá el recorrido de cada pedido. Para cada pérdida calculará las horas, los dólares y la evidencia.
Analogía física
Imagina un paquete que cruza cuatro almacenes. Cada almacén anota solo sus propias entradas y salidas.
Nadie sabe dónde el paquete estuvo parado tres días. Flow Audit juntará las cuatro libretas. Marcará el almacén donde el paquete esperó y sumará el costo de esa espera.
Mecánica técnica
- Ingesta. Leerá los exportes de catálogo, OMS, BPM y aprovisionamiento.
- Reconstrucción. Unirá los eventos de un pedido con una ventana de tiempo, porque los sistemas no comparten identificador.
- Reglas. Cinco reglas detectarán fallas sin reintento, esperas manuales, timers vencidos, duplicados y falta de identificador.
- Impacto. Multiplicará los pedidos afectados por los minutos de trabajo y por el costo de la hora cargada.
- Severidad. Derivará la severidad de las horas por mes. Nadie la asignará a mano.
- Informe. Generará un HTML autocontenido y un
findings.jsoncon la evidencia de cada hallazgo.
Fórmula de impacto prevista
- Horas por mes = pedidos afectados × minutos de trabajo por pedido ÷ 60
- USD por mes = horas por mes × USD 45 por hora cargada
- Ejemplo con el dataset sintético (R02). 5.000 pedidos × 5 min ÷ 60 = 417 h. 417 h × USD 45 = USD 18.750.
Licencia y componentes de terceros
- Motor. MIT. El código, el modelo canónico y las reglas se pueden leer, usar y cambiar.
- Sitio. MIT para el código. Las dos fuentes conservan su licencia: P052 bajo AGPL-3.0 con excepción de incrustación, Source Sans 3 bajo OFL-1.1.
- Fuente de la demo. Un servicio TMF propio, MIT, sobre el dataset sintético. Está marcado como simulado.
- Sistemas de prueba. bss-oss-rust se lee solo por HTTP, en una máquina local. No se distribuye aquí, no forma parte de la demo pública y conserva su licencia.
- Frontera. No se copia ni vendoriza código de terceros, y no se commitea ninguna captura de otro sistema. Al repositorio solo entra dato sintético.
- Marcas. TM Forum y TMF son de TM Forum. Flow Audit es independiente y no está certificado ni respaldado por TM Forum.