Relevo · matrices de estado
Una pantalla de captura acepta cualquier cosa. Una matriz de estado decide qué puede pasar después.
Esta es la página donde se ve si detrás hay un sistema o una hoja de cálculo con bordes. Abajo están los estados y las transiciones reales de un sistema de embarques internacionales generado por la plataforma, con su condición, su plazo y su ruta de escalamiento, leídos de su origen y no redactados para esta página.
Por qué esta página existe, y qué prueba
Relevo observa cómo trabaja su equipo en la computadora para quitarle lo repetitivo. Para que eso signifique algo hace falta que debajo haya un sistema con reglas, no una colección de formularios: si el trabajo que se observa consiste en teclear lo mismo en tres pantallas que aceptan cualquier cosa, lo que se automatiza es el desorden. Esta página enseña el piso sobre el que se para el argumento.
Un formulario acepta lo que usted escriba. Si el campo pide un estatus, admite cualquiera de la lista, en cualquier orden, capturado por cualquiera. Un formulario no sabe que un embarque no puede estar «en tránsito» si su acuerdo de carga nunca se envió al proveedor, ni que quien aprueba un ajuste de tarifa fuera de rango no es quien lo propuso.
Una matriz de estado sí lo sabe, porque no guarda un valor: guarda el conjunto de movimientos permitidos. Declara los estados que una cosa puede tener, por cada par de estados, si el paso de uno al otro existe, qué condición tiene que cumplirse antes, en cuántas horas se compromete y a quién se escala si esas horas se vencen. Lo que no está en la matriz no se puede hacer, y no porque el botón esté escondido: porque el movimiento no existe.
La pregunta que separa un sistema de una pantalla de captura es ésta: «¿qué pasa si alguien intenta hacerlo al revés?».
Un expediente que se puede llenar en cualquier orden no es un expediente. Y una automatización montada encima de ese expediente sólo repite el error más rápido.
Anatomía de una transición, y el hueco que este proyecto tiene
Conviene ver el esqueleto antes de las matrices, porque explica qué se puede afirmar y qué no. Una transición del motor no es una flecha en un diagrama: es un renglón con campos, y cada campo es una regla.
Lo que el motor guarda por cada transición y por cada estado
| Campo | Qué significa | Cuántas lo traen en el proyecto de este sistema en el motor |
|---|---|---|
| Estado origen y estado destino | El par de estados que la transición conecta. El motor los guarda como valores, no como nombres: se resuelven contra el catálogo de estados | 213 de 213 |
| Acción | El nombre del movimiento en lenguaje del negocio: «aprobar LCA», no «actualizar estatus» | 213 de 213 |
| Condición | Lo que tiene que ser verdad para que el paso se permita: «último trayecto completado; timestamp real de descarga registrado» | 208 de 213 |
| Plazo en horas | Las horas de compromiso de esa transición, no del proceso entero | 122 de 213 |
| Rol de escalamiento | A quién sube el asunto si el plazo se vence sin que el movimiento ocurra | 157 de 213 |
| Notificaciones | A quién se avisa cuando la transición ocurre, o qué aviso se dispara | 50 de 213 |
| Rol autorizado | Quién puede dar el paso. El permiso no se escribe en la transición: vive en la matriz de rol por estado, que es donde se puede revisar de un vistazo quién mueve qué | 568 filas |
| Marca de reingreso | Si el movimiento es una vuelta legítima a un estado anterior y no la corrección de un error | 0 de 213 |
| Estado: valor, nombre y etiqueta | Cada estado con su valor numérico, su nombre técnico y su etiqueta visible | 157 estados |
| Rol por estado, con su participación y sus permisos | Quién edita, quién supervisa, quién sólo consulta y quién puede mover el estado, con permiso de consulta, alta, modificación, baja, exportación, impresión y configuración | 568 filas |
Conteos medidos contra la base del motor de la casa, el proyecto de este sistema, con corte de servidor del 27 de septiembre de 2026, 13:53:43. La base mezcla collations, de modo que las consultas que unen tablas llevan COLLATE DATABASE_DEFAULT.
El renglón destacado merece leerse despacio, porque es lo que separa esta página de un folleto. El campo de rol autorizado de la transición está vacío en las 213: el motor sabe qué movimiento existe, con qué condición y con qué plazo, pero en este proyecto no escribe en la transición quién lo ejecuta. Quién puede moverlo está en otra tabla, la de rol por estado, con 568 filas, y ahí sí se puede decir con precisión. Por eso las matrices de abajo publican condición, plazo y escalamiento, y el permiso por rol va en su propia sección.
En el motor de estados que corre dentro de los sistemas generados hay dos campos más que vale la pena nombrar: requiere comentario y requiere evidencia. Son columnas que ese motor consulta antes de permitir el movimiento y exige al ejecutarlo. Al ejecutar, escribe el historial de la entidad con estado anterior y estado nuevo y una bitácora con la operación marcada como cambio de estado, el valor anterior y el valor nuevo.
El inventario: diecinueve ciclos de vida
El proyecto de este sistema en el motor es un sistema de gestión logística de embarques internacionales: seis módulos, 178 pantallas, ocho roles, 48 procesos de negocio y 53 entidades. Su capa de ciclos de vida tiene 19 máquinas de estado, con 157 estados y 213 transiciones, más 568 asignaciones de rol por estado. Todo lo que sigue en esta página sale de ahí. El nombre del cliente del proyecto está enmascarado como «cliente A» en el propio origen, y así se queda.
Hay un hecho del inventario que conviene decir antes de que alguien lo note solo: nueve entidades cargan dos ciclos de vida cada una. El embarque, el trayecto, el proveedor, el acuerdo de carga, el activo, el ajuste de tarifa, el comprobante fiscal del trayecto, la incidencia y la solicitud de embarque aparecen dos veces: una con código nombrado y otra con código numerado, la segunda con más estados y más transiciones. El conductor es el único que trae un solo ciclo. Nueve pares más el conductor son los diecinueve. Por qué hay dos generaciones del mismo diseño en la misma base, el motor no lo dice, y aquí no se infiere: se publican las diecinueve, agrupadas por generación, y se dice cuál es cuál.
Los 19 ciclos de vida del proyecto, con sus estados, transiciones y filas de rol por estado
| Código del ciclo | Ciclo de vida | Estados | Transiciones | Filas de rol por estado |
|---|---|---|---|---|
| WF_17351 | Trayecto | 16 | 24 | 62 |
| WF_17350 | Embarque | 16 | 21 | 72 |
| WF_17341 | Solicitud de embarque | 15 | 20 | 66 |
| WF_17354 | Incidencia | 12 | 19 | 43 |
| WF_17346 | Activo | 8 | 16 | 32 |
| WF_17377 | Ajuste de tarifa | 9 | 12 | 33 |
| WF_17352 | Load Confirmation Agreement | 9 | 11 | 18 |
| WF_17356 | CFDI de trayecto | 9 | 10 | 33 |
| WF_17345 | Proveedor | 7 | 10 | 29 |
| WF_EMBARQUE | Embarque · diseño base | 8 | 10 | 22 |
| WF_PROVEEDOR | Proveedor transportista · diseño base | 6 | 10 | 22 |
| WF_TRAYECTO | Trayecto · diseño base | 7 | 8 | 20 |
| WF_ACTIVO | Activo, unidad o caja · diseño base | 5 | 8 | 19 |
| WF_INCIDENCIA | Incidencia en trayecto · diseño base | 6 | 7 | 22 |
| WF_CONDUCTOR | Conductor | 4 | 6 | 13 |
| WF_LCA | Load Confirmation Agreement · diseño base | 6 | 6 | 18 |
| WF_SOLICITUD_EMBARQUE | Solicitud de embarque · diseño base | 5 | 6 | 10 |
| WF_CFDI_TRAYECTO | CFDI de trayecto · diseño base | 5 | 5 | 18 |
| WF_AJUSTE_TARIFA | Ajuste de tarifa · diseño base | 4 | 4 | 16 |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Diecinueve ciclos de vida es el tamaño real de una operación de embarques internacionales. Un sistema que le ofrece tres estatus en un desplegable no está simplificando: está dejando dieciséis recorridos sin registro.
Matriz 1 · la más importante
Embarque: el recorrido completo, de borrador a documentación archivada
El embarque es la unidad sobre la que se responde ante el cliente, ante el proveedor de transporte y ante la autoridad fiscal. Su ciclo de vida numerado tiene dieciséis estados y veintiuna transiciones, y contiene los tres cortes que más dinero mueven: la validación antes de programar, la aprobación del acuerdo de carga antes de iniciar el tránsito y el registro del comprobante fiscal antes de cerrar.
- Estados: Borrador · Pendiente de Validación · Programado · Pendiente de Asignación · En Revisión · Proveedor Asignado · LCA Generado · LCA Aprobado · En Tránsito · Con Incidencia · Descargado · CFDI Registrado · Documentación Archivada · Cerrado · Cancelado · Devuelto a ADN.
Matriz de estado · Embarque (WF_17350) · 16 estados, 21 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| BORRADOR (1) | PENDIENTE_VALIDACION (2) | Enviar a validación | Datos obligatorios completos: cliente, orden de compra adjunta, origen, destino, fecha de recolección y plantilla de ruta seleccionada | 4 | Coordinador de Operaciones |
| PENDIENTE_VALIDACION (2) | PROGRAMADO (3) | Generar folio único | Validación automática de completitud y coherencia de datos aprobada; folio único generado por el sistema | 1 | Ejecutivo ADN |
| PENDIENTE_VALIDACION (2) | BORRADOR (1) | Rechazar por datos inválidos | Validación automática detecta errores de formato, campos obligatorios faltantes o incoherencias lógicas | — | Ejecutivo ADN |
| PROGRAMADO (3) | PENDIENTE_ASIGNACION (4) | Notificar a operaciones | Folio único asignado y confirmación enviada al cliente; notificación automática generada para el equipo de operaciones | 2 | Coordinador de Operaciones |
| PROGRAMADO (3) | CANCELADO (15) | Cancelar embarque | Solicitud de cancelación aprobada antes de iniciar revisión operativa | — | — |
| PENDIENTE_ASIGNACION (4) | EN_REVISION (5) | Tomar embarque para revisión | Coordinador de Operaciones selecciona el embarque del panel de pendientes; estado actualizado para evitar asignación simultánea | 8 | Coordinador de Operaciones |
| PENDIENTE_ASIGNACION (4) | CANCELADO (15) | Cancelar embarque pendiente | Solicitud de cancelación justificada antes de iniciar revisión | — | — |
| EN_REVISION (5) | PROVEEDOR_ASIGNADO (6) | Confirmar listo para asignación | Validación manual y automática de datos, documentación y ruta completada exitosamente por el Coordinador de Operaciones | 4 | Coordinador de Operaciones |
| EN_REVISION (5) | DEVUELTO_A_ADN (16) | Devolver a ADN por datos insuficientes | Coordinador de Operaciones detecta inconsistencias, datos faltantes o documentación inválida que requieren corrección por parte del Ejecutivo ADN | — | Ejecutivo ADN |
| DEVUELTO_A_ADN (16) | PENDIENTE_VALIDACION (2) | Reenviar a validación tras corrección | Ejecutivo ADN corrige los datos observados y reenvía la solicitud para nueva validación | 24 | Coordinador de Operaciones |
| PROVEEDOR_ASIGNADO (6) | LCA_GENERADO (7) | Generar LCA automáticamente | Proveedor asignado (interno o externo), tarifa pactada confirmada, recursos específicos asignados (unidad, operador, placas) y datos del embarque completos | 2 | Coordinador de Operaciones |
| LCA_GENERADO (7) | LCA_APROBADO (8) | Aprobar LCA | Coordinador de Operaciones verifica tarifa, instrucciones de transporte, datos del proveedor, tipo de unidad, horarios y normativas de cruce fronterizo | 4 | Coordinador de Operaciones |
| LCA_GENERADO (7) | PROVEEDOR_ASIGNADO (6) | Rechazar LCA y reasignar proveedor | Coordinador de Operaciones detecta errores en tarifa, datos de proveedor o instrucciones que requieren corrección y nueva asignación | — | Coordinador de Operaciones |
| LCA_APROBADO (8) | EN_TRANSITO (9) | Iniciar tránsito | LCA enviado automáticamente al proveedor y acuse de recibo registrado; embarque en ejecución | 48 | Monitorista de Tráfico |
| EN_TRANSITO (9) | CON_INCIDENCIA (10) | Registrar incidencia | Monitorista de Tráfico, Operador de Unidad o sistema detecta anomalía durante el trayecto (retraso, problema mecánico, incidente aduanero, desviación de ruta) | 1 | Coordinador de Operaciones |
| EN_TRANSITO (9) | DESCARGADO (11) | Confirmar descarga | Último trayecto completado; Coordinador de Operaciones o Monitorista de Tráfico confirma entrega y descarga exitosa con timestamp real y datos de activos | — | — |
| CON_INCIDENCIA (10) | EN_TRANSITO (9) | Resolver incidencia | Incidencia cerrada con resolución documentada, causa raíz registrada, acciones preventivas definidas y trayecto retomado | 8 | Coordinador de Operaciones |
| CON_INCIDENCIA (10) | DESCARGADO (11) | Confirmar descarga con incidencia resuelta | Incidencia resuelta y último trayecto completado; entrega confirmada con evidencia | — | — |
| DESCARGADO (11) | CFDI_REGISTRADO (12) | Registrar CFDI del proveedor | Coordinador de Operaciones o Gerente Administrativo valida y registra el folio fiscal CFDI del proveedor de transporte; estructura válida y dentro del rango de deducibilidad | 48 | Gerente Administrativo |
| CFDI_REGISTRADO (12) | DOCUMENTACION_ARCHIVADA (13) | Archivar documentación automáticamente | Sistema recopila, valida, estructura y carga al repositorio seguro: folio, OC PDF, LCAs, historial de estados, eventos de auditoría y CFDIs; integridad verificada | 4 | Administrador del Sistema |
| DOCUMENTACION_ARCHIVADA (13) | CERRADO (14) | Cerrar formalmente el embarque | Documentación archivada correctamente, evaluación de proveedor registrada, activos liberados y notificación de cierre enviada al equipo ADN y al cliente | 24 | — |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Tres renglones dicen la página entera. El primero: no existe transición de «Borrador» a «Programado». Para programar hay que pasar por «Pendiente de Validación», y para eso los datos obligatorios —cliente, orden de compra adjunta, origen, destino, fecha de recolección y plantilla de ruta— tienen que estar completos. El segundo: no existe transición de «LCA Generado» a «En Tránsito». Hay que aprobar el acuerdo de carga, y esa aprobación exige verificar tarifa, instrucciones de transporte, datos del proveedor, tipo de unidad, horarios y normativas de cruce fronterizo.
El tercero es el que un director financiero reconoce de inmediato: el paso a «Cerrado» no sale de «Descargado». Sale de «Documentación Archivada», y antes hubo que registrar el comprobante fiscal del proveedor y archivar folio, orden de compra, acuerdos de carga, historial de estados y eventos de auditoría con su integridad verificada. Un embarque entregado y sin comprobante no se cierra en este sistema; se queda visible en «Descargado», que es exactamente donde debe verse.
El embarque que se facturó sin expediente deja de ser una sorpresa de fin de mes cuando la matriz no permite cerrarlo sin él.
Trayecto: la carrera de relevos, con bloqueo entre etapas
Un embarque de exportación no es un viaje: son tres o cuatro. El tramo nacional, el cruce fronterizo, el tramo del otro lado. Cada uno tiene su proveedor, su tarifa, su unidad, su operador y su estado, y el siguiente no se habilita hasta que el anterior cerró. Ése es el ciclo con más transiciones del proyecto: dieciséis estados y veinticuatro movimientos.
Vale la pena mirar dos cosas mientras lee la tabla. La primera, que el rechazo no es un callejón: «Proveedor Seleccionado» vuelve a «Listo para Asignar» cuando el proveedor no cumple habilitaciones o la tarifa no se acuerda, y «Devuelto a Revisión» regresa a «En Revisión» cuando las observaciones se atienden. La segunda, que la incidencia no saca al trayecto del recorrido: «Con Incidencia» tiene salida de vuelta a «En Tránsito», salida directa a «Descargado» con evidencia y observaciones, y salida a «Cancelado» sólo cuando la severidad es alta y no puede resolverse.
Matriz de estado · Trayecto (WF_17351) · 16 estados, 24 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| PENDIENTE_ASIGNACION (1) | EN_REVISION (2) | Seleccionar trayecto para revisión | El trayecto es el siguiente en la secuencia lógica del embarque y el embarque está en estado Pendiente de Asignación | 4 | Coordinador de Operaciones |
| PENDIENTE_ASIGNACION (1) | CANCELADO (15) | Cancelar trayecto | El embarque asociado ha sido cancelado o el trayecto ya no es requerido | — | Administrador del Sistema |
| EN_REVISION (2) | LISTO_PARA_ASIGNAR (3) | Confirmar revisión y habilitar asignación | Datos del trayecto completos, fechas coherentes, documentación adjunta validada y ruta viable | 8 | Coordinador de Operaciones |
| EN_REVISION (2) | DEVUELTO_A_REVISION (16) | Devolver trayecto por datos incompletos | Se detectan inconsistencias, datos faltantes o documentación inválida durante la revisión manual | — | Coordinador de Operaciones |
| EN_REVISION (2) | CANCELADO (15) | Cancelar trayecto en revisión | El embarque asociado ha sido cancelado | — | Administrador del Sistema |
| DEVUELTO_A_REVISION (16) | EN_REVISION (2) | Reenviar trayecto corregido a revisión | Las observaciones del Coordinador de Operaciones han sido atendidas y los datos corregidos | 24 | Coordinador de Operaciones |
| LISTO_PARA_ASIGNAR (3) | PROVEEDOR_SELECCIONADO (4) | Seleccionar proveedor | Proveedor identificado (interno o externo) que cumple con jurisdicción, disponibilidad y capacidad requerida | 12 | Coordinador de Operaciones |
| LISTO_PARA_ASIGNAR (3) | CANCELADO (15) | Cancelar trayecto sin proveedor disponible | No existe proveedor disponible y el embarque no puede continuar | — | Administrador del Sistema |
| PROVEEDOR_SELECCIONADO (4) | TARIFA_CONFIRMADA (5) | Confirmar tarifa pactada | Tarifa pre-cargada aceptada o ajuste de tarifa aprobado dentro de rangos permitidos o por Gerente Administrativo | 4 | Gerente Administrativo |
| PROVEEDOR_SELECCIONADO (4) | LISTO_PARA_ASIGNAR (3) | Rechazar proveedor seleccionado | El proveedor no cumple con habilitaciones, disponibilidad real o la tarifa no puede ser acordada | — | Coordinador de Operaciones |
| TARIFA_CONFIRMADA (5) | LCA_GENERADO (6) | Generar LCA automáticamente | Folio único verificado, proveedor asignado, tarifa confirmada, instrucciones de seguridad y cláusulas de responsabilidad consolidadas | 1 | sistema |
| LCA_GENERADO (6) | LCA_APROBADO (7) | Aprobar LCA | Tarifa, instrucciones de transporte, datos del proveedor, tipo de unidad, horarios y normativas de cruce fronterizo verificados por el Coordinador de Operaciones | 8 | Coordinador de Operaciones |
| LCA_GENERADO (6) | TARIFA_CONFIRMADA (5) | Rechazar LCA y solicitar corrección | Se detectan errores en tarifa, datos del proveedor, instrucciones o normativas en el LCA generado | — | Coordinador de Operaciones |
| LCA_APROBADO (7) | PROVEEDOR_ASIGNADO (8) | Enviar LCA al proveedor y registrar acuse | LCA aprobado enviado automáticamente al correo del proveedor y timestamp de envío registrado | 1 | sistema |
| PROVEEDOR_ASIGNADO (8) | EN_TRANSITO (9) | Iniciar tránsito del trayecto | Proveedor ha confirmado recepción del LCA y la unidad ha iniciado el trayecto | 48 | Coordinador de Operaciones |
| PROVEEDOR_ASIGNADO (8) | CANCELADO (15) | Cancelar trayecto asignado | El embarque es cancelado antes del inicio del tránsito | — | Administrador del Sistema |
| EN_TRANSITO (9) | DESCARGADO (11) | Registrar descarga del trayecto | Operador o Coordinador confirma que la mercancía fue descargada en destino, con timestamp real y datos de activos registrados | — | Coordinador de Operaciones |
| EN_TRANSITO (9) | CON_INCIDENCIA (10) | Registrar incidencia en trayecto | Se detecta una anomalía (manual por Operador/Monitorista o automática por el sistema) que impacta el trayecto | — | Monitorista de Tráfico |
| CON_INCIDENCIA (10) | EN_TRANSITO (9) | Resolver incidencia y retomar tránsito | La incidencia ha sido resuelta, causa raíz registrada y el trayecto puede continuar | — | Coordinador de Operaciones |
| CON_INCIDENCIA (10) | DESCARGADO (11) | Registrar descarga con incidencia resuelta | La mercancía fue descargada en destino a pesar de la incidencia, con evidencia y observaciones registradas | — | Coordinador de Operaciones |
| CON_INCIDENCIA (10) | CANCELADO (15) | Cancelar trayecto por incidencia crítica | La incidencia es de severidad alta y no puede resolverse, imposibilitando la continuación del trayecto | — | Administrador del Sistema |
| DESCARGADO (11) | CFDI_REGISTRADO (12) | Registrar CFDI del proveedor | Folio fiscal CFDI validado en estructura, proveedor activo en catálogo y fecha de emisión dentro del rango aceptable para deducibilidad | 72 | Coordinador de Operaciones |
| CFDI_REGISTRADO (12) | PROVEEDOR_EVALUADO (13) | Registrar evaluación de desempeño del proveedor | Datos de evaluación completos: cumplimiento de tiempo, calidad del servicio, observaciones y evidencias adjuntas | 48 | Coordinador de Operaciones |
| PROVEEDOR_EVALUADO (13) | CERRADO (14) | Cerrar trayecto | Activos liberados, documentación archivada, evaluación de proveedor consolidada en historial y evento de auditoría registrado | 24 | sistema |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
El cierre del trayecto es el renglón que un comprador de sistemas debería pedir por escrito: para llegar a «Cerrado» hay que pasar por «Proveedor Evaluado», y la evaluación exige cumplimiento de tiempo, calidad del servicio, observaciones y evidencias adjuntas. La evaluación del proveedor no es un reporte que alguien arma en diciembre: es una condición de cierre de cada trayecto.
Solicitud de embarque: dónde nace el trabajo que se repite
Esta matriz es la que conecta directamente con lo que Relevo observa. La solicitud de embarque es el punto donde una persona captura: plantilla de ruta, cliente, orden de compra adjunta, datos diferenciales, campos obligatorios. Es el paso que se hace cientos de veces al día y el que produce la hora recuperable que el sistema cuantifica.
Fíjese en el circuito de devolución, porque es donde se va el tiempo que nadie mide. «En Validación» puede rechazar a «Devuelto a ADN» por errores de formato, coherencia o campos faltantes; «Devuelto a ADN» vuelve a «En Validación» tras la corrección, con plazo de ocho horas; y «En Revisión por Operaciones» puede devolver otra vez. Cada vuelta de ese circuito es trabajo de captura repetido, y es precisamente la clase de tarea que el tablero de oportunidades ordena por veces al día y segundos por vez.
Matriz de estado · Solicitud de embarque (WF_17341) · 15 estados, 20 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| BORRADOR (1) | EN_VALIDACION (2) | Enviar a validación | Plantilla de ruta seleccionada, cliente asignado, OC adjunta, datos diferenciales capturados y campos obligatorios completos | 4 | Ejecutivo ADN |
| EN_VALIDACION (2) | PENDIENTE_ASIGNACION (3) | Generar folio y notificar a Operaciones | Validación automática de completitud y coherencia exitosa; folio único generado por el sistema | 1 | sistema |
| EN_VALIDACION (2) | DEVUELTO_A_ADN (15) | Rechazar por datos inválidos | Validación automática detecta errores de formato, coherencia o campos obligatorios faltantes | — | Ejecutivo ADN |
| DEVUELTO_A_ADN (15) | EN_VALIDACION (2) | Reenviar a validación tras corrección | Ejecutivo ADN corrigió los datos observados y reenvía la solicitud | 8 | Coordinador de Operaciones |
| PENDIENTE_ASIGNACION (3) | EN_REVISION_OPERACIONES (4) | Tomar solicitud para revisión | Coordinador de Operaciones selecciona la solicitud del panel de pendientes | 8 | Coordinador de Operaciones |
| EN_REVISION_OPERACIONES (4) | DEVUELTO_A_ADN (15) | Devolver a ADN para corrección | Coordinador de Operaciones detecta inconsistencias o datos faltantes durante la revisión manual | — | Ejecutivo ADN |
| EN_REVISION_OPERACIONES (4) | PROVEEDOR_ASIGNADO (5) | Confirmar listo para asignación de proveedor | Validación automática y manual exitosas; datos completos y coherentes; trayectos validados secuencialmente | 4 | Coordinador de Operaciones |
| PROVEEDOR_ASIGNADO (5) | LCA_GENERADO (6) | Generar LCA automáticamente | Proveedor seleccionado (interno o externo), tarifa pactada confirmada, recursos asignados (unidad, operador, placas) | 2 | sistema |
| LCA_GENERADO (6) | LCA_APROBADO (7) | Aprobar LCA | Coordinador de Operaciones verifica tarifa, instrucciones de transporte, datos del proveedor, tipo de unidad, horarios y normativas de cruce fronterizo | 4 | Coordinador de Operaciones |
| LCA_GENERADO (6) | PROVEEDOR_ASIGNADO (5) | Rechazar LCA y reasignar proveedor | Coordinador de Operaciones detecta errores en tarifa, datos de proveedor o instrucciones del LCA | — | Coordinador de Operaciones |
| LCA_APROBADO (7) | EN_TRANSITO (8) | Iniciar tránsito | LCA enviado al proveedor y acuse de recibo registrado; trayecto activo iniciado | 24 | sistema |
| EN_TRANSITO (8) | CON_INCIDENCIA (9) | Registrar incidencia | Operador de Unidad, Monitorista de Tráfico o sistema detecta anomalía durante el trayecto | — | Monitorista de Tráfico |
| CON_INCIDENCIA (9) | EN_TRANSITO (8) | Resolver incidencia y retomar tránsito | Incidencia cerrada con causa raíz registrada, acciones correctivas ejecutadas y ETA actualizado | 48 | Coordinador de Operaciones |
| EN_TRANSITO (8) | DESCARGADO (10) | Confirmar descarga | Último trayecto completado; timestamp real de descarga registrado; datos finales de activos (caja, placas) capturados; evidencia fotográfica adjunta | — | Coordinador de Operaciones |
| CON_INCIDENCIA (9) | DESCARGADO (10) | Confirmar descarga con incidencia resuelta | Incidencia cerrada y último trayecto completado; timestamp real de descarga registrado | — | Coordinador de Operaciones |
| DESCARGADO (10) | CFDI_REGISTRADO (11) | Registrar CFDI del proveedor | Folio fiscal CFDI validado, RFC del proveedor verificado, fecha de emisión dentro del rango aceptable y CFDI asociado al trayecto y embarque | 48 | Coordinador de Operaciones |
| CFDI_REGISTRADO (11) | CERRADO (12) | Cerrar formalmente el embarque | Evaluación de desempeño del proveedor registrada, activos liberados, resumen de cierre generado y notificación formal enviada al equipo ADN | 24 | Coordinador de Operaciones |
| CERRADO (12) | DOCUMENTACION_ARCHIVADA (13) | Archivar documentación automáticamente | Sistema recopila, valida, empaqueta y carga al repositorio toda la documentación del embarque (OC, LCAs, CFDIs, POD, historial de auditoría); integridad verificada | 2 | sistema |
| BORRADOR (1) | CANCELADO (14) | Cancelar solicitud en borrador | Ejecutivo ADN o Administrador cancela la solicitud antes de enviarla a validación | — | — |
| PENDIENTE_ASIGNACION (3) | CANCELADO (14) | Cancelar solicitud pendiente | Administrador o Coordinador de Operaciones cancela la solicitud antes de iniciar revisión | — | Administrador del Sistema |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Cuatro de las veinte transiciones llevan en su propio nombre la marca de automáticas —generar el folio único y notificar a Operaciones, generar el acuerdo de carga, iniciar el tránsito al registrarse el acuse y archivar la documentación—, y en esas cuatro el rol declarado en la columna de escalamiento es el propio sistema. Ése es el límite honesto de lo que hoy está automatizado dentro del sistema de embarques; lo que Relevo añade encima es la automatización del trabajo humano que rodea a las otras dieciséis.
La hora que se recupera no sale de mover el embarque más rápido. Sale de dejar de teclear dos veces lo mismo para que el embarque se mueva.
Incidencia: la severidad como estado, y el escalamiento como plazo
El retraso, la falla mecánica, el incidente aduanero y la desviación de ruta no son un campo de texto: son una entidad con doce estados y diecinueve transiciones, donde la severidad es un estado y no una etiqueta, y donde el escalamiento trae su plazo en horas.
Los umbrales están escritos en las condiciones, y se transcriben tal cual: severidad baja si el retraso estimado es menor a dos horas y no hay riesgo para la carga o el operador; media entre dos y ocho horas o problema operativo moderado; alta por encima de ocho horas, falla mecánica grave, incidente de seguridad o riesgo a la integridad de la carga. Y la reclasificación existe en los dos sentidos que importan: de baja a media cuando la evaluación detallada revela más impacto, y de media a alta cuando la situación escala.
Matriz de estado · Incidencia (WF_17354) · 12 estados, 19 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| REGISTRADA (1) | EN_VALIDACION (2) | Enviar para validación | Datos esenciales de la incidencia capturados y confirmados por el operador | 1 | Coordinador de Operaciones |
| REGISTRADA (1) | CANCELADA (12) | Cancelar registro | El operador determina que el evento no constituye una incidencia real | — | — |
| EN_VALIDACION (2) | CLASIFICADA_BAJA (3) | Clasificar severidad baja | Retraso estimado menor a 2 horas y sin riesgo para la carga o el operador | 2 | Coordinador de Operaciones |
| EN_VALIDACION (2) | CLASIFICADA_MEDIA (4) | Clasificar severidad media | Retraso estimado entre 2 y 8 horas o problema operativo moderado | 2 | Coordinador de Operaciones |
| EN_VALIDACION (2) | CLASIFICADA_ALTA (5) | Clasificar severidad alta | Retraso estimado mayor a 8 horas, problema mecánico grave, incidente de seguridad o riesgo a la integridad de la carga | 1 | Coordinador de Operaciones |
| CLASIFICADA_BAJA (3) | EN_ATENCION_BAJA (6) | Iniciar atención directa | Incidencia de baja severidad asignada al operador o monitorista para gestión directa | 2 | Coordinador de Operaciones |
| CLASIFICADA_BAJA (3) | CLASIFICADA_MEDIA (4) | Reclasificar a severidad media | La evaluación detallada revela mayor impacto del estimado inicialmente | — | Coordinador de Operaciones |
| CLASIFICADA_MEDIA (4) | ESCALADA_SUPERVISOR (7) | Escalar a supervisor | Incidencia de severidad media requiere intervención del supervisor y comunicación proactiva al cliente | 1 | Coordinador de Operaciones |
| CLASIFICADA_MEDIA (4) | CLASIFICADA_ALTA (5) | Reclasificar a severidad alta | La situación escala y supera los criterios de severidad media | — | Coordinador de Operaciones |
| CLASIFICADA_ALTA (5) | ESCALADA_DIRECCION (8) | Escalar a dirección - activar gestión de crisis | Incidencia de alta severidad notificada automáticamente a Dirección General y Supervisor de Operaciones | 1 | Gerente Administrativo |
| EN_ATENCION_BAJA (6) | RESUELTA (10) | Registrar resolución | Acciones correctivas ejecutadas y ETA actualizado; incidencia de baja severidad resuelta | 4 | Coordinador de Operaciones |
| EN_ATENCION_BAJA (6) | ESCALADA_SUPERVISOR (7) | Escalar por agravamiento | La incidencia de baja severidad se agrava durante la atención y requiere escalamiento al supervisor | — | Coordinador de Operaciones |
| ESCALADA_SUPERVISOR (7) | EN_CONTINGENCIA (9) | Activar contingencia | Supervisor determina necesidad de acciones de contingencia: proveedor alternativo, ruta alternativa o reasignación de recursos | 2 | Coordinador de Operaciones |
| ESCALADA_SUPERVISOR (7) | RESUELTA (10) | Registrar resolución desde supervisor | Incidencia de severidad media resuelta con nuevo ETA comunicado al cliente | 8 | Coordinador de Operaciones |
| ESCALADA_SUPERVISOR (7) | ESCALADA_DIRECCION (8) | Escalar a dirección por crisis | La situación supera la capacidad de gestión del supervisor y requiere intervención de dirección | — | Gerente Administrativo |
| ESCALADA_DIRECCION (8) | EN_CONTINGENCIA (9) | Ejecutar plan de contingencia de crisis | Dirección aprueba y activa plan de contingencia para incidencia de alta severidad | 2 | Coordinador de Operaciones |
| EN_CONTINGENCIA (9) | RESUELTA (10) | Registrar resolución de contingencia | Acciones de contingencia ejecutadas exitosamente y trayecto retomado o finalizado | 24 | Coordinador de Operaciones |
| RESUELTA (10) | CERRADA (11) | Cerrar incidencia | Resolución, causa raíz, tiempo de impacto y acciones preventivas registrados y validados | 48 | Gerente Administrativo |
| RESUELTA (10) | EN_VALIDACION (2) | Reabrir para reclasificación | Se detectan datos incompletos o incorrectos en la resolución que requieren corrección | — | Coordinador de Operaciones |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Dos detalles que un jefe de tráfico agradece. El primero: «Resuelta» no lleva directo a «Cerrada» sin condición. Para cerrar hacen falta resolución, causa raíz, tiempo de impacto y acciones preventivas registradas y validadas, con plazo de 48 horas. El segundo: «Resuelta» tiene vuelta a «En Validación» cuando se detectan datos incompletos o incorrectos en la resolución. Reabrir una incidencia es un movimiento previsto, no un arreglo a mano en la base.
Acuerdo de carga, activo, tarifa, comprobante fiscal y proveedor
Cinco matrices más de la generación numerada, transcritas completas. Sostienen cinco afirmaciones distintas: que el acuerdo de carga vence si el proveedor no confirma, que el activo se reserva antes de asignarse, que el ajuste de tarifa dentro de rango se aprueba solo y fuera de rango sube a gerencia, que el comprobante fiscal tiene su propio recorrido hasta quedar deducible y archivado, y que sólo un proveedor aprobado participa en la asignación.
La del acuerdo de carga trae el renglón operativo más útil de todo el proyecto: si el proveedor no confirma la recepción dentro del plazo de veinticuatro horas, el acuerdo pasa a «Vencido sin Confirmación» por sí solo, y desde ahí se reenvía al mismo proveedor o se cancela para buscar otro. La ausencia de respuesta es un estado, no un silencio que alguien tiene que recordar.
Matriz de estado · Load Confirmation Agreement (WF_17352) · 9 estados, 11 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| BORRADOR (1) | GENERADO (2) | Generar LCA automáticamente | Embarque con folio único asignado, proveedor seleccionado, tarifa pactada confirmada y datos completos validados | 1 | Coordinador de Operaciones |
| GENERADO (2) | EN_REVISION (3) | Iniciar revisión del LCA | LCA generado en PDF y almacenado en repositorio seguro | 4 | Coordinador de Operaciones |
| EN_REVISION (3) | APROBADO (5) | Aprobar LCA | Tarifa pactada, instrucciones de transporte, datos del proveedor, tipo de unidad, horarios y normativas de cruce fronterizo verificados y conformes | — | — |
| EN_REVISION (3) | RECHAZADO (4) | Rechazar LCA | Se detectan discrepancias en tarifa, datos del proveedor, instrucciones de transporte o normativas aplicables | — | Coordinador de Operaciones |
| EN_REVISION (3) | CANCELADO (9) | Cancelar LCA | El embarque o trayecto asociado fue cancelado antes de la aprobación del LCA | — | — |
| RECHAZADO (4) | BORRADOR (1) | Regenerar LCA con correcciones | Correcciones indicadas por el Coordinador de Operaciones aplicadas a los datos del embarque o proveedor | 2 | sistema |
| APROBADO (5) | ENVIADO_PROVEEDOR (6) | Enviar LCA al proveedor | LCA aprobado por el Coordinador de Operaciones y datos de contacto del proveedor validados | 1 | Coordinador de Operaciones |
| ENVIADO_PROVEEDOR (6) | CONFIRMADO_PROVEEDOR (7) | Registrar confirmación de recepción del proveedor | Proveedor confirma recepción del LCA vía correo electrónico, portal de proveedores o confirmación manual del operador | 24 | Coordinador de Operaciones |
| ENVIADO_PROVEEDOR (6) | VENCIDO (8) | Marcar LCA como vencido sin confirmación | El proveedor no confirma la recepción del LCA dentro del SLA de 24 horas establecido | 24 | Coordinador de Operaciones |
| VENCIDO (8) | ENVIADO_PROVEEDOR (6) | Reenviar LCA al proveedor | Coordinador de Operaciones decide reenviar el LCA al mismo proveedor tras gestión manual | 4 | Coordinador de Operaciones |
| VENCIDO (8) | CANCELADO (9) | Cancelar LCA vencido y reasignar proveedor | El proveedor no responde tras reenvío o se decide cambiar de proveedor para el trayecto | — | Coordinador de Operaciones |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Matriz de estado · Activo (WF_17346) · 8 estados, 16 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| BORRADOR (1) | PENDIENTE_VALIDACION (2) | Enviar a validación | Datos obligatorios del activo capturados (tipo, número económico, placas, propietario) | 4 | Administrador del Sistema |
| BORRADOR (1) | INACTIVO (8) | Cancelar registro | Activo descartado antes de completar el alta | — | — |
| PENDIENTE_VALIDACION (2) | DISPONIBLE (3) | Aprobar y activar activo | Validación automática de unicidad, formato y datos fiscales superada; sin vínculos conflictivos | 8 | Administrador del Sistema |
| PENDIENTE_VALIDACION (2) | BORRADOR (1) | Rechazar y devolver a borrador | Datos incompletos o inconsistentes detectados en la validación | 4 | Coordinador de Operaciones |
| PENDIENTE_VALIDACION (2) | INACTIVO (8) | Rechazar y dar de baja | Activo duplicado o inválido confirmado por el Administrador del Sistema | — | — |
| DISPONIBLE (3) | RESERVADO (4) | Reservar activo | Activo seleccionado tentativamente para un trayecto; verificación de disponibilidad en rango de fechas exitosa | 2 | Coordinador de Operaciones |
| DISPONIBLE (3) | EN_MANTENIMIENTO (7) | Enviar a mantenimiento | Mantenimiento preventivo o correctivo programado o detectado | — | Administrador del Sistema |
| DISPONIBLE (3) | INACTIVO (8) | Inactivar activo | Sin vínculos activos con embarques o asignaciones; confirmación del Administrador del Sistema | — | Administrador del Sistema |
| RESERVADO (4) | ASIGNADO (5) | Confirmar asignación a trayecto | Verificación final de disponibilidad superada; placas, unidad y operador sin conflictos de asignación simultánea | 1 | Coordinador de Operaciones |
| RESERVADO (4) | DISPONIBLE (3) | Liberar reserva | Trayecto cancelado o activo sustituido antes de la asignación definitiva | — | — |
| ASIGNADO (5) | EN_TRANSITO (6) | Iniciar tránsito | LCA aprobado y enviado al proveedor; trayecto en estado activo | 2 | Coordinador de Operaciones |
| ASIGNADO (5) | DISPONIBLE (3) | Liberar activo por cancelación de asignación | Trayecto cancelado o reasignado a otro activo antes del inicio del tránsito | — | — |
| EN_TRANSITO (6) | DISPONIBLE (3) | Liberar activo tras descarga | Embarque marcado como Descargado; timestamp real de descarga registrado; datos finales de activo capturados | 4 | Coordinador de Operaciones |
| EN_TRANSITO (6) | EN_MANTENIMIENTO (7) | Enviar a mantenimiento desde tránsito | Incidencia mecánica grave detectada durante el trayecto; activo requiere revisión antes de nueva asignación | — | Administrador del Sistema |
| EN_MANTENIMIENTO (7) | DISPONIBLE (3) | Finalizar mantenimiento y reactivar | Mantenimiento concluido; activo verificado como operativo | — | Administrador del Sistema |
| EN_MANTENIMIENTO (7) | INACTIVO (8) | Dar de baja desde mantenimiento | Activo declarado irreparable o fuera de vida útil; sin vínculos activos con embarques | — | Administrador del Sistema |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Matriz de estado · Ajuste de tarifa (WF_17377) · 9 estados, 12 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| BORRADOR (1) | PROPUESTO (2) | Proponer ajuste de tarifa | El Coordinador de Operaciones captura el ajuste propuesto con justificación y lo envía para validación | 4 | Administrador del Sistema |
| BORRADOR (1) | CANCELADO (9) | Cancelar ajuste | El Coordinador de Operaciones decide no continuar con el ajuste propuesto | — | — |
| PROPUESTO (2) | EN_VALIDACION (3) | Enviar a validación automática | El ajuste propuesto es enviado al sistema para validación contra rangos permitidos y políticas internas | 1 | Administrador del Sistema |
| PROPUESTO (2) | CANCELADO (9) | Cancelar ajuste | El Coordinador de Operaciones cancela el ajuste antes de enviarlo a validación | — | — |
| EN_VALIDACION (3) | APROBADO_AUTOMATICO (4) | Aprobar automáticamente | El ajuste propuesto se encuentra dentro de los rangos de tolerancia predefinidos y cumple con las políticas internas | 1 | — |
| EN_VALIDACION (3) | PENDIENTE_AUTORIZACION (5) | Escalar para autorización | El ajuste propuesto excede los rangos de tolerancia predefinidos o no cumple con las políticas internas, requiriendo aprobación del Gerente Administrativo | 2 | Gerente Administrativo |
| APROBADO_AUTOMATICO (4) | CONFIRMADO (8) | Confirmar tarifa aprobada automáticamente | El Administrador del Sistema confirma la tarifa aprobada automáticamente y actualiza los registros del trayecto | 4 | Coordinador de Operaciones |
| PENDIENTE_AUTORIZACION (5) | APROBADO (6) | Aprobar ajuste de tarifa | El Gerente Administrativo revisa y aprueba el ajuste de tarifa que excede los rangos de tolerancia | 24 | Administrador del Sistema |
| PENDIENTE_AUTORIZACION (5) | RECHAZADO (7) | Rechazar ajuste de tarifa | El Gerente Administrativo revisa y rechaza el ajuste de tarifa que excede los rangos de tolerancia | 24 | Coordinador de Operaciones |
| APROBADO (6) | CONFIRMADO (8) | Confirmar tarifa aprobada por gerente | El Administrador del Sistema confirma la tarifa aprobada por el Gerente Administrativo y actualiza los registros del trayecto | 4 | Coordinador de Operaciones |
| RECHAZADO (7) | BORRADOR (1) | Revisar y reenviar ajuste | El Coordinador de Operaciones revisa el ajuste rechazado, realiza correcciones y lo reenvía para una nueva validación | 8 | Administrador del Sistema |
| RECHAZADO (7) | CANCELADO (9) | Cancelar ajuste rechazado | El Coordinador de Operaciones decide no continuar con el ajuste tras el rechazo del Gerente Administrativo | — | — |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Matriz de estado · CFDI de trayecto (WF_17356) · 9 estados, 10 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| PENDIENTE_REGISTRO (1) | REGISTRADO (2) | Registrar folio CFDI | Folio fiscal ingresado, RFC del proveedor capturado y trayecto seleccionado | 24 | Coordinador de Operaciones |
| REGISTRADO (2) | EN_VALIDACION (3) | Enviar a validación | Datos del CFDI completos y proveedor activo en catálogo | 4 | Administrador del Sistema |
| EN_VALIDACION (3) | VALIDADO (4) | Aprobar validación | Estructura del folio fiscal correcta, fecha de emisión dentro del rango aceptable y monto consistente con el trayecto | 8 | Administrador del Sistema |
| EN_VALIDACION (3) | RECHAZADO (5) | Rechazar CFDI | Estructura inválida, fecha fuera de rango o monto no coincide con el acuerdo del trayecto | 8 | Coordinador de Operaciones |
| RECHAZADO (5) | REGISTRADO (2) | Corregir y reregistrar CFDI | Operador corrige el folio o datos del CFDI rechazado | 48 | Administrador del Sistema |
| RECHAZADO (5) | CANCELADO (9) | Cancelar CFDI | CFDI no puede ser corregido o el trayecto fue cancelado | — | Administrador del Sistema |
| VALIDADO (4) | ASOCIADO (6) | Asociar CFDI a trayecto y embarque | CFDI validado correctamente y trayecto en estado cerrado o descargado | 4 | Coordinador de Operaciones |
| ASOCIADO (6) | DEDUCIBLE (7) | Marcar como deducible | CFDI asociado correctamente al trayecto y embarque, estatus de deducibilidad actualizado | 24 | Gerente Administrativo |
| DEDUCIBLE (7) | ARCHIVADO (8) | Archivar CFDI | XML y PDF del CFDI cargados en repositorio documental y evidencia de pago adjunta | 72 | Administrador del Sistema |
| ASOCIADO (6) | CANCELADO (9) | Cancelar CFDI asociado | CFDI cancelado ante el SAT o trayecto anulado por el proveedor | — | Administrador del Sistema |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Matriz de estado · Proveedor (WF_17345) · 7 estados, 10 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| BORRADOR (1) | EN_REVISION (2) | Enviar a revisión | Información legal, fiscal, bancaria, de contacto y capacidades operativas capturadas y validadas en formato | 48 | complianceofficer |
| EN_REVISION (2) | PENDIENTE_APROBACION (3) | Solicitar aprobación | Validación automática de datos superada y revisión manual de documentos completada por compliance officer | 72 | Administrador del Sistema |
| EN_REVISION (2) | RECHAZADO (4) | Rechazar en revisión | Datos o documentos incompletos, inválidos o no conformes detectados durante la revisión | — | Coordinador de Operaciones |
| PENDIENTE_APROBACION (3) | ACTIVO (5) | Aprobar y activar proveedor | Revisión manual aprobada, habilitaciones vigentes y cumplimiento contractual verificado | 24 | — |
| PENDIENTE_APROBACION (3) | RECHAZADO (4) | Rechazar aprobación | Documentación no cumple con estándares de compliance o requisitos regulatorios | — | Coordinador de Operaciones |
| RECHAZADO (4) | BORRADOR (1) | Corregir y reenviar | Proveedor corrige observaciones indicadas en el rechazo | 120 | complianceofficer |
| ACTIVO (5) | SUSPENDIDO (6) | Suspender proveedor | Incumplimiento contractual, habilitaciones vencidas o anomalías detectadas durante la operación | — | Administrador del Sistema |
| ACTIVO (5) | INACTIVO (7) | Dar de baja proveedor | Sin vínculos activos con embarques o asignaciones en curso y confirmación del administrador | — | Administrador del Sistema |
| SUSPENDIDO (6) | ACTIVO (5) | Reactivar proveedor | Causas de suspensión resueltas y habilitaciones renovadas o cumplimiento restaurado | 48 | complianceofficer |
| SUSPENDIDO (6) | INACTIVO (7) | Dar de baja desde suspensión | Sin vínculos activos y decisión definitiva de baja confirmada por administrador | — | Administrador del Sistema |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
En la matriz del ajuste de tarifa está escrita una regla de control interno que normalmente vive en un correo: el ajuste dentro de los rangos de tolerancia predefinidos pasa a «Aprobado Automáticamente», y el que los excede pasa a «Pendiente de Autorización» y espera la decisión del gerente administrativo, con plazo de veinticuatro horas. El umbral decide la ruta. Nadie tiene que acordarse de escalar.
Y en la del proveedor está la otra: de «Pendiente de Aprobación» sólo se llega a «Activo» con revisión manual aprobada, habilitaciones vigentes y cumplimiento contractual verificado. Un proveedor suspendido vuelve a activo únicamente cuando las causas se resuelven y las habilitaciones se renuevan. El catálogo de proveedores deja de ser una lista y se vuelve un estado.
Los diez ciclos del diseño base, también transcritos
Éstos son los diez ciclos de código nombrado. Se publican completos por la misma razón por la que se publican los otros nueve: están en el motor. Son más cortos, en varios casos, traen condiciones que la generación numerada no repite —la unicidad del registro de transportista, la liberación del conductor al cierre del embarque, la baja del activo por fin de vida útil— de modo que no son un borrador descartable.
Aquí también aparece el único ciclo sin gemelo: el del conductor. Cuatro estados y seis transiciones, con la condición que un permisionario reconoce al instante: para poner un conductor disponible hay que tener habilitaciones, certificaciones y permisos vigentes validados, y se inactiva cuando esas habilitaciones vencen.
Matriz de estado · Embarque, diseño base (WF_EMBARQUE) · 8 estados, 10 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| BORRADOR (1) | PENDIENTE_ASIGNACION (2) | Generar folio y enviar a asignacion | Datos completos y coherentes; folio unico generado | 24 | Administrador del Sistema |
| PENDIENTE_ASIGNACION (2) | VALIDADO (3) | Confirmar embarque listo para asignacion | Validacion manual y automatica aprobada | 12 | Gerente Administrativo |
| PENDIENTE_ASIGNACION (2) | BORRADOR (1) | Devolver embarque a ADN | Falta informacion o documentacion incompleta | — | — |
| VALIDADO (3) | EN_TRANSITO (4) | Iniciar transito (LCA enviada) | Trayectos asignados y LCA enviada | — | Coordinador de Operaciones |
| EN_TRANSITO (4) | DESCARGADO (5) | Registrar descarga | Timestamp real de descarga registrado | — | — |
| DESCARGADO (5) | ENTREGADO (6) | Confirmar entrega final | Entrega verificada y confirmada | 24 | Gerente Administrativo |
| ENTREGADO (6) | CERRADO (7) | Cerrar y archivar documentacion | Resumen de cierre generado y documentacion archivada | 48 | Administrador del Sistema |
| BORRADOR (1) | CANCELADO (8) | Cancelar embarque | Sin vinculos con embarques activos | — | — |
| PENDIENTE_ASIGNACION (2) | CANCELADO (8) | Cancelar embarque | Sin vinculos con embarques activos | — | — |
| VALIDADO (3) | CANCELADO (8) | Cancelar embarque | Sin trayectos en curso | — | — |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Matriz de estado · Trayecto, diseño base (WF_TRAYECTO) · 7 estados, 8 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| DISPONIBLE (1) | SELECCIONADO (2) | Seleccionar trayecto para asignacion | Secuencia de trayecto valida | — | — |
| DISPONIBLE (1) | EXCEPCION (7) | Solicitar permiso especial de secuencia | Secuencia fuera de orden; requiere autorizacion | 8 | Administrador del Sistema |
| EXCEPCION (7) | SELECCIONADO (2) | Autorizar excepcion y seleccionar | Permiso especial aprobado | — | — |
| SELECCIONADO (2) | ASIGNADO (3) | Asignar recursos o proveedor | Disponibilidad de unidad, operador y placas verificada | 12 | Administrador del Sistema |
| SELECCIONADO (2) | DISPONIBLE (1) | Liberar trayecto seleccionado | Seleccion cancelada o sin recursos disponibles | — | — |
| ASIGNADO (3) | LCA_ENVIADO (4) | Enviar LCA y registrar timestamp | Solicitud de asignacion validada | — | Coordinador de Operaciones |
| LCA_ENVIADO (4) | EN_CURSO (5) | Iniciar trayecto en ruta | LCA confirmada por proveedor | — | — |
| EN_CURSO (5) | COMPLETADO (6) | Completar trayecto | Trayecto finalizado; habilita siguiente trayecto pendiente | — | Coordinador de Operaciones |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Matriz de estado · Proveedor transportista (WF_PROVEEDOR) · 6 estados, 10 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| REGISTRADO (1) | EN_VALIDACION (2) | Enviar a validacion | Informacion legal y fiscal capturada | 24 | Coordinador de Operaciones |
| EN_VALIDACION (2) | HABILITADO (4) | Habilitar proveedor | Validacion automatica y revision manual aprobadas; USDOT unico | 48 | Gerente Administrativo |
| EN_VALIDACION (2) | RECHAZADO (3) | Rechazar validacion | Documentacion incompleta o USDOT duplicado | 48 | Gerente Administrativo |
| RECHAZADO (3) | EN_VALIDACION (2) | Reenviar a validacion | Datos corregidos por el proveedor | — | — |
| RECHAZADO (3) | INACTIVO (6) | Descartar proveedor | No procede el alta | — | — |
| HABILITADO (4) | SUSPENDIDO (5) | Suspender proveedor | Incidencia operativa o documental temporal | — | — |
| SUSPENDIDO (5) | HABILITADO (4) | Reactivar proveedor | Incidencia resuelta y revalidada | 72 | Gerente Administrativo |
| SUSPENDIDO (5) | INACTIVO (6) | Inactivar proveedor | Baja definitiva del catalogo | — | — |
| HABILITADO (4) | INACTIVO (6) | Inactivar proveedor | Cese de relacion comercial | — | — |
| INACTIVO (6) | HABILITADO (4) | Rehabilitar proveedor | Reincorporacion aprobada por compliance | 72 | Gerente Administrativo |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Matriz de estado · Load Confirmation Agreement, diseño base (WF_LCA) · 6 estados, 6 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| GENERADO (1) | VERIFICADO (2) | Verificar datos del LCA generado | Tarifa, datos del proveedor, tipo de unidad, horarios y normativas de cruce verificados | 24 | Administrador del Sistema |
| VERIFICADO (2) | ENVIADO (3) | Aprobar y enviar LCA al proveedor | LCA aprobado y datos del proveedor validados para envio | 12 | Administrador del Sistema |
| ENVIADO (3) | CONFIRMADO (4) | Registrar confirmacion de recepcion | Proveedor confirma recepcion del LCA | 48 | Coordinador de Operaciones |
| ENVIADO (3) | RECHAZADO (5) | Registrar rechazo del proveedor | Proveedor rechaza o no acepta condiciones del LCA | 48 | Coordinador de Operaciones |
| RECHAZADO (5) | VERIFICADO (2) | Devolver LCA a verificacion | Se requiere ajustar condiciones tras rechazo | — | — |
| CONFIRMADO (4) | CERRADO (6) | Cerrar y archivar trazabilidad | Confirmacion archivada y trazabilidad de aprobacion y envio registrada | 72 | Administrador del Sistema |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Matriz de estado · Activo, unidad o caja (WF_ACTIVO) · 5 estados, 8 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| ALTA (1) | DISPONIBLE (2) | Activar y publicar disponible | Datos finales de activo (caja, placas) capturados | 24 | Coordinador de Operaciones |
| DISPONIBLE (2) | ASIGNADO (3) | Asignar a embarque | Activo seleccionado en combinacion optima para trayecto | — | — |
| ASIGNADO (3) | DISPONIBLE (2) | Liberar a disponible | Embarque cerrado; activo identificado y liberado | — | — |
| DISPONIBLE (2) | EN_MANTENIMIENTO (4) | Enviar a mantenimiento | Mantenimiento preventivo o correctivo requerido | — | — |
| ASIGNADO (3) | EN_MANTENIMIENTO (4) | Enviar a mantenimiento | Falla detectada durante operacion | — | — |
| EN_MANTENIMIENTO (4) | DISPONIBLE (2) | Finalizar mantenimiento | Mantenimiento concluido y unidad operativa | 72 | Gerente Administrativo |
| EN_MANTENIMIENTO (4) | BAJA (5) | Dar de baja | Activo no recuperable o fin de vida util | — | — |
| DISPONIBLE (2) | BAJA (5) | Dar de baja | Baja administrativa o venta del activo | — | — |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Matriz de estado · CFDI de trayecto, diseño base (WF_CFDI_TRAYECTO) · 5 estados, 5 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| RECIBIDO (1) | EN_VALIDACION (2) | Iniciar validacion de folio fiscal | CFDI recibido con XML y datos del proveedor capturados | 12 | Administrador del Sistema |
| EN_VALIDACION (2) | VALIDADO (3) | Validar y marcar como deducible | Folio fiscal valido en SAT; CFDI asociado a trayecto y embarque; deducibilidad procedente | 24 | Administrador del Sistema |
| EN_VALIDACION (2) | RECHAZADO (4) | Rechazar por inconsistencia fiscal | Folio invalido, datos del proveedor incorrectos o comprobante no deducible | 24 | Administrador del Sistema |
| RECHAZADO (4) | EN_VALIDACION (2) | Reintentar validacion tras correccion | Proveedor corrige o reemplaza el CFDI | — | — |
| VALIDADO (3) | ARCHIVADO (5) | Archivar CFDI y evidencia de pago | XML, PDF y evidencia de pago resguardados digitalmente | 72 | Administrador del Sistema |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Matriz de estado · Conductor (WF_CONDUCTOR) · 4 estados, 6 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| ALTA (1) | DISPONIBLE (2) | Habilitar y poner disponible | Habilitaciones, certificaciones y permisos vigentes validados | 24 | Administrador del Sistema |
| DISPONIBLE (2) | ASIGNADO (3) | Asignar a trayecto | Conductor disponible y compatible con los requisitos del trayecto | — | Coordinador de Operaciones |
| ASIGNADO (3) | DISPONIBLE (2) | Liberar al cierre del embarque | Embarque cerrado y activos liberados | — | — |
| DISPONIBLE (2) | INACTIVO (4) | Inactivar conductor | Sin vinculos con asignaciones en curso o habilitaciones vencidas | — | Administrador del Sistema |
| ALTA (1) | INACTIVO (4) | Inactivar conductor | Alta cancelada o documentacion no acreditada | — | — |
| INACTIVO (4) | DISPONIBLE (2) | Reactivar conductor | Habilitaciones renovadas y vigentes | — | — |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Matriz de estado · Ajuste de tarifa, diseño base (WF_AJUSTE_TARIFA) · 4 estados, 4 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| PROPUESTO (1) | EN_REVISION (2) | Enviar a revision | Ajuste propuesto dentro de los rangos permitidos validado por el sistema | 24 | Administrador del Sistema |
| EN_REVISION (2) | APROBADO (3) | Aprobar ajuste de tarifa | El Gerente Administrativo autoriza el ajuste | 48 | Administrador del Sistema |
| EN_REVISION (2) | RECHAZADO (4) | Rechazar ajuste de tarifa | El Gerente Administrativo no autoriza el ajuste | 48 | Administrador del Sistema |
| EN_REVISION (2) | PROPUESTO (1) | Devolver a propuesta | Falta informacion o se requiere corregir el monto propuesto | — | — |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Matriz de estado · Incidencia en trayecto (WF_INCIDENCIA) · 6 estados, 7 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| DETECTADA (1) | EN_ANALISIS (2) | Validar y clasificar incidencia | — | 2 | — |
| EN_ANALISIS (2) | EN_RESOLUCION (3) | Asignar y resolver incidencia | Severidad baja o media | 4 | — |
| EN_ANALISIS (2) | ESCALADA (4) | Escalar incidencia de alta severidad | Severidad alta | 1 | Coordinador de Operaciones |
| ESCALADA (4) | EN_RESOLUCION (3) | Coordinar acciones de contingencia | — | 2 | — |
| EN_RESOLUCION (3) | RESUELTA (5) | Registrar resolucion aplicada | — | 8 | — |
| RESUELTA (5) | EN_RESOLUCION (3) | Reabrir por resolucion no valida | Validacion rechazada | — | — |
| RESUELTA (5) | CERRADA (6) | Cerrar incidencia resuelta | Validacion aprobada | 24 | — |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Matriz de estado · Solicitud de embarque, diseño base (WF_SOLICITUD_EMBARQUE) · 5 estados, 6 transiciones
| Estado origen | Estado destino | Acción | Condición que la habilita | Plazo (h) | Escala a |
|---|---|---|---|---|---|
| CAPTURA (1) | VALIDACION (2) | Enviar a validacion | — | — | — |
| VALIDACION (2) | CAPTURA (1) | Devolver por errores de validacion | Validacion fallida | — | — |
| VALIDACION (2) | ENVIADA (3) | Enviar solicitud | Validacion exitosa | 1 | — |
| ENVIADA (3) | APROBADA (4) | Aprobar por disponibilidad confirmada | Disponibilidad real confirmada | 4 | — |
| ENVIADA (3) | RECHAZADA (5) | Rechazar por falta de disponibilidad | Sin disponibilidad real | 4 | — |
| RECHAZADA (5) | CAPTURA (1) | Ajustar y reabrir solicitud | — | — | — |
Transcrito del motor: el proyecto de este sistema en la base del motor de la casa, tablas Spartan_WorkFlow_State y Spartan_WorkFlow_Transition. Los valores de estado se resolvieron a su nombre y se publican como «NOMBRE (valor)». Corte de servidor: 27 de septiembre de 2026, 13:53:43. Nombres de estado, de acción y de condición tal como están en el motor.
Dos observaciones de honestidad sobre este grupo. La primera: las cinco únicas transiciones de todo el proyecto que vienen sin condición escrita están aquí, en el ciclo base de la incidencia y en el de la solicitud de embarque. Dondel motor no trae condición se publica un guion, y no se redacta una. La segunda: el ciclo base de la solicitud de embarque es el único de los diecinueve que no declara rol de escalamiento en ninguna de sus seis transiciones. Está incompleto y se deja a la vista, porque taparlo sería el defecto que esta página existe para no cometer.
Quién puede qué en cada estado: las 568 filas de la otra matriz
El permiso de este sistema no se lee transición por transición: se lee en la matriz de rol por estado, con 568 filas sobre los ocho roles del proyecto. Cada fila dice, para un estado y un rol, si ese rol puede mover el estado y qué puede hacer mientras la cosa está ahí: consultar, dar de alta, modificar, dar de baja, exportar, imprimir y configurar. Y trae además un tipo de participación —editor, lector, supervisor, administrador, auditor, consultor o sistema— que no es decoración: es la forma en que ese rol entra al estado.
Dos de los ocho no son puestos de trabajo. «Sistema» es el actor de las transiciones automáticas: el que cambia el estado cuando se cumple una condición y nadie tiene que apretar nada. El rol de cumplimiento entra como auditor en los estados de cierre. Los otros seis son puestos de la operación.
Reparto de las 568 filas de rol por estado, rol por rol
| Rol del proyecto | Filas | Puede mover el estado | Con permiso de modificar | Con permiso de exportar | En cuántos ciclos aparece |
|---|---|---|---|---|---|
| Coordinador de Operaciones | 139 | 90 | 93 | 116 | 18 |
| Administrador del Sistema | 122 | 82 | 100 | 122 | 18 |
| Sistema · acciones automáticas | 117 | 74 | 98 | 8 | 19 |
| Ejecutivo ADN | 62 | 15 | 20 | 40 | 11 |
| Gerente Administrativo | 55 | 20 | 19 | 54 | 12 |
| Monitorista de Tráfico | 40 | 21 | 22 | 30 | 10 |
| Operador de Unidad | 18 | 9 | 12 | 0 | 9 |
| Rol de cumplimiento | 15 | 9 | 9 | 15 | 6 |
Transcrito de Spartan_WorkFlow_Roles_by_State cruzada con rol_sistema, el proyecto de este sistema en la base del motor de la casa. Corte de servidor: 27 de septiembre de 2026, 13:53:43. Suma de filas: 568.
La matriz completa de un ciclo · Embarque, diseño base: ocho estados por rol
| Estado | Rol | ¿Puede mover el estado? | Permisos | Participación |
|---|---|---|---|---|
| BORRADOR (1) | Administrador del Sistema | No | Consultar · Alta · Modificar · Baja · Exportar · Imprimir · Configurar | supervisor |
| BORRADOR (1) | Ejecutivo ADN | No | Consultar · Alta · Modificar · Baja | editor |
| BORRADOR (1) | sistema | No | Consultar · Alta · Modificar | sistema |
| PENDIENTE_ASIGNACION (2) | Administrador del Sistema | No | Consultar · Modificar · Baja · Exportar · Imprimir · Configurar | supervisor |
| PENDIENTE_ASIGNACION (2) | Coordinador de Operaciones | Sí | Consultar · Modificar · Exportar · Imprimir | editor |
| PENDIENTE_ASIGNACION (2) | Ejecutivo ADN | No | Consultar · Modificar | editor |
| PENDIENTE_ASIGNACION (2) | sistema | No | Consultar · Modificar | sistema |
| VALIDADO (3) | Administrador del Sistema | No | Consultar · Modificar · Exportar · Imprimir · Configurar | supervisor |
| VALIDADO (3) | Coordinador de Operaciones | Sí | Consultar · Modificar · Exportar · Imprimir | editor |
| VALIDADO (3) | Monitorista de Tráfico | No | Consultar · Exportar · Imprimir | consultor |
| EN_TRANSITO (4) | Coordinador de Operaciones | No | Consultar · Modificar · Exportar · Imprimir | supervisor |
| EN_TRANSITO (4) | Monitorista de Tráfico | Sí | Consultar · Modificar · Exportar · Imprimir | editor |
| EN_TRANSITO (4) | Operador de Unidad | No | Consultar | consultor |
| DESCARGADO (5) | Coordinador de Operaciones | No | Consultar · Modificar · Exportar · Imprimir | supervisor |
| DESCARGADO (5) | Monitorista de Tráfico | Sí | Consultar · Modificar · Exportar · Imprimir | editor |
| ENTREGADO (6) | Coordinador de Operaciones | Sí | Consultar · Modificar · Exportar · Imprimir | editor |
| ENTREGADO (6) | Gerente Administrativo | Sí | Consultar · Modificar · Exportar · Imprimir | supervisor |
| CERRADO (7) | Rol de cumplimiento | No | Consultar · Exportar · Imprimir | auditor |
| CERRADO (7) | Gerente Administrativo | No | Consultar · Exportar · Imprimir | editor |
| CERRADO (7) | sistema | No | Consultar · Modificar | sistema |
| CANCELADO (8) | Administrador del Sistema | No | Consultar · Baja · Exportar · Imprimir · Configurar | supervisor |
| CANCELADO (8) | Gerente Administrativo | No | Consultar · Exportar · Imprimir | editor |
Transcrito de Spartan_WorkFlow_Roles_by_State del ciclo WF_EMBARQUE, el proyecto de este sistema en el motor, resolviendo estado y rol contra Spartan_WorkFlow_State y rol_sistema con COLLATE DATABASE_DEFAULT. Corte de servidor: 27 de septiembre de 2026, 13:53:43. Son las 22 filas del ciclo, completas.
Lea la tabla de abajo por columnas y aparece el control interno sin que nadie lo explique. En «En Tránsito», quien mueve el estado es el monitorista de tráfico; el coordinador supervisa y el operador de unidad sólo consulta. En «Entregado», mover el estado requiere al coordinador o al gerente. En «Cerrado» ya nadie mueve nada: el rol de cumplimiento y el gerente consultan, exportan e imprimen, y el sistema conserva permiso de modificación para los movimientos automáticos. La segregación de funciones no está en un manual: está en veintidós filas de una tabla.
Y aparece también una asimetría que vale reportar: el operador de unidad no tiene permiso de exportación en ninguna de sus 18 filas, mientras el administrador del sistema lo tiene en las 122 suyas. Quien captura en la calle no se lleva el dato; quien audita, sí.
Un permiso que sólo existe en el manual se rompe el primer día que alguien sale de vacaciones. Uno que está en la matriz de estado no.
Pendiente de transcripción del motor
Esta tabla es parte de la página, no una disculpa. Lo que el motor todavía no tiene registrado no se rellena con criterio del sector: se declara, con lo que falta y con el conteo exacto. Cuando el motor lo tenga, esta tabla se encoge y las matrices de arriba crecen.
Pendiente de transcripción del motor · qué falta y cuánto
| Qué falta | Situación al 27 de septiembre de 2026, 13:53:43 | Por qué no se publica |
|---|---|---|
| Matriz de comportamiento de campos por estado | Qué campo queda visible, obligatorio o de sólo lectura en cada estado se configura en la implantación, contra el procedimiento de su empresa | Es la matriz que gobierna la pantalla campo por campo. Se publicará cuando tenga filas |
| Rol autorizado escrito en la transición | Vacío en las 213 de 213 transiciones del proyecto | Se publica el permiso donde sí está: las 568 filas de rol por estado. No se le atribuye un rol a una transición que no lo trae |
| Condiciones por estado | Las condiciones por estado se fijan con su equipo, porque dependen de su operación | Las condiciones que sí existen viven en la transición —208 de 213— y ésas son las que se publican |
| Condición explícita en toda transición | 208 de 213 la traen; las otras cinco vienen vacías | Donde viene vacía se publica un guion. Una condición que no está escrita en el motor no se redacta aquí |
| Plazo comprometido por transición | 122 de 213 traen plazo en horas; 91 no lo traen | El plazo de cada transición lo fija su acuerdo de nivel de servicio, no un catálogo |
| Notificación por transición | 50 de 213 declaran a quién se avisa o qué aviso se dispara | Las otras 163 todavía no lo declaran, y no se supone |
| Marca de reingreso | 0 de 213 están marcadas como reingreso | Sin la marca no se puede distinguir una vuelta legítima de una corrección de error, y no se afirma que se distinga |
| Reglas de negocio del proyecto | 0 reglas de negocio dadas de alta en el proyecto de este sistema en el motor al corte indicado | Las validaciones que se publican son las condiciones de las transiciones, no un catálogo de reglas que no existe |
| Estados válidos y transiciones declarados en la pantalla | Los campos de estados válidos y de transiciones de la tabla de pantallas vienen nulos en este proyecto | El amarre de cada una de las 178 pantallas con su ciclo de vida se configura al implantar |
| Diagramas de arquitectura y agentes de IA del proyecto | 0 diagramas y 0 agentes dados de alta en el proyecto | Lo que el brochure declara sobre el ciclo de observar, aprender, sugerir y ejecutar se atribuye al brochure, nunca al motor |
| Ciclos de vida de las entidades propias de Relevo | La tarea observada, la oportunidad detectada y la automatización aprendida no tienen ciclo de vida en este proyecto: los diecinueve son del negocio logístico | Se publica el ciclo de vida del trabajo que se observa, que es lo que el motor tiene. El del propio observador, cuando lo tenga |
| Por qué hay dos generaciones del mismo ciclo | Nueve entidades traen dos ciclos de vida cada una, uno corto y uno largo | Se publican los diecinueve y se dice que son dos generaciones. Cuál adopta su empresa es decisión de la implantación |
Situación del proyecto de este sistema en la base del motor de la casa al 27 de septiembre de 2026, 13:53:43, hora del propio servidor. Un conteo sin hora de corte no es reproducible. por eso va con la hora. Esta tabla se actualiza cuando el motor cambia, no cuando conviene.
Una matriz inventada invalidaría la página entera, porque esto es justamente lo que se está afirmando que existe. Por eso lo que falta se dice, con su número.
Cómo leer estas matrices cuando las vea en pantalla
Las tablas de arriba son el contenido del motor. En el sistema, ese contenido se ve de otra manera: cada estado es una columna de tablero o un filtro de bandeja, y cada transición es el único botón que aparece cuando su rol puede moverla y la condición se cumple. Si el botón no está, no es que se haya ocultado: es que la transición no existe para usted en ese estado.
Hay una consecuencia de diseño que conviene anticipar, porque la primera vez incomoda. Un sistema con matriz de estado tiene menos botones que un formulario, y en cada momento muestra menos opciones. Esa pobreza aparente es el control: la pantalla no le ofrece hacer algo que después alguien tendría que deshacer.
Y una más, que es la que ata esta página con el resto del sistema: el estado no se escribe, se alcanza. Nadie teclea «cerrado» en un embarque. Alguien con el rol correspondiente ejecuta el cierre sobre un embarque cuya documentación está archivada, y el motor escribe el estado, el autor, la hora y el valor anterior. Eso es lo que hace que la observación del trabajo tenga sentido: cuando el recorrido está definido, la tarea repetida se puede reconocer, medir y ejecutar sola sin que nadie pierda el rastro de quién respondía por ella.
El día que le pidan el expediente, la diferencia entre teclear un estado y alcanzarlo es la diferencia entre un archivo y una prueba.
Preguntas frecuentes
¿De dónde salen exactamente estas matrices?
Del motor. Están transcritas del proyecto de este sistema en la base del motor de la casa, en las tablas Spartan_WorkFlow, Spartan_WorkFlow_State, Spartan_WorkFlow_Transition, Spartan_WorkFlow_Roles_by_State y rol_sistema. El corte es del propio servidor: 27 de septiembre de 2026, 13:53:43. Los nombres de estado, de acción y de condición son los del motor, no una redacción para esta página. El nombre del cliente del proyecto viene enmascarado como «cliente A» en el origen y así se publica.
¿Cuántas matrices tiene el sistema en total?
Diecinueve ciclos de vida, con 157 estados y 213 transiciones, sobre ocho roles del proyecto y 568 asignaciones de rol por estado. De las 213 transiciones, 208 llevan condición escrita, 122 llevan plazo en horas, 157 declaran rol de escalamiento y 50 declaran notificación.
¿Por qué las tablas no traen una columna de «rol autorizado»?
Porque el permiso de este sistema no se guarda en la transición: se guarda en la matriz de rol por estado, con 568 filas, que dice para cada estado y cada rol si puede mover el estado y qué puede hacer mientras la cosa está ahí. Esa matriz se publica completa para uno de los ciclos y agregada para los diecinueve, y el hueco queda declarado en la tabla de pendientes.
¿Por qué hay dos ciclos de vida para el embarque, el trayecto y otras siete entidades?
Porque en la base están los dos: uno con código nombrado y otro con código numerado, el segundo con más estados y más transiciones. El motor no registra cuál sustituye a cuál, así que aquí no se decide: se publican los diecinueve, agrupados por generación, y el dato queda en la tabla de pendientes. Elegir el que conviene y callar el otro sería exactamente el defecto que esta página existe para no cometer.
¿Puede alguien cambiar un estado sin pasar por la matriz?
No por la vía normal: el movimiento que no está en la matriz no existe en la pantalla. Y cuando un estado cambia, el motor de estados escribe el historial de la entidad con estado anterior y estado nuevo y una bitácora con la operación, el valor anterior y el valor nuevo. Hay transiciones que además exigen comentario o evidencia para poder ejecutarse.
¿Estas matrices se pueden cambiar si mi operación es distinta?
Sí, y sin orden de cambio. Un estado nuevo, una transición nueva, un umbral de aprobación distinto o un cambio de quién puede mover qué entran por el motor de cambios, que clasifica el impacto, aplica o pide aprobación según el nivel, y deja solicitud, comentario, respaldo del artefacto e instantánea de versión. El recorrido completo está en los cambios, en la sesión.
Referencias
- Motor el motor de la casa, base del motor de la casa, el proyecto de este sistema: tablas Spartan_WorkFlow, Spartan_WorkFlow_State, Spartan_WorkFlow_Transition, Spartan_WorkFlow_Roles_by_State y rol_sistema. Consultadas en modo de sólo lectura. Corte tomado del propio servidor: 27 de septiembre de 2026, 13:53:43. Origen de los 19 ciclos, los 157 estados, las 213 transiciones y las 568 filas de rol por estado de esta página.
- Motor el motor de la casa, misma base: Spartan_WorkFlow_Matrix_of_States con cero filas en toda la base y Spartan_WorkFlow_Conditions_by_State con cero filas para el proyecto de este sistema en el motor, verificadas al mismo corte. Origen de la tabla de pendientes de transcripción.
- Motor de estados en ejecución dentro del sistema generado: — validación de transición y de rol, estados siguientes válidos, ejecución, historial de la entidad, bitácora con valor anterior y nuevo, exigencia de comentario y de evidencia. Verificado el 27 de septiembre de 2026.
- Relevo · brochure de logística, 10 páginas: el ciclo de medir, aprender, sugerir y ejecutar, y las tareas del sector que el sistema reconoce. Origen de todo lo que esta página afirma del producto, y de nada de lo que afirma del motor.
El modelo
Primero ve su sistema funcionando, sin costo y sin compromiso. Después decide si lo compra o lo renta.
No es un demo: es Relevo con sus procesos, sus áreas y su operación dentro. Entra, lo recorre y lo usa. Verlo no cuesta nada y no lo compromete a nada. Cuando decida, cobramos por resultados, no por entregables.