Versionado

Todo cambio en una regla o en un análisis publicado genera una nueva versión. Cada versión registra quién la cambió, cuándo la cambió y qué cambió. Una versión anterior vuelve a producción cuando se publica de nuevo.

La mecánica es la misma para la regla y para el análisis: una versión publicada es inmutable, una nueva versión empieza como borrador, y la publicación sustituye lo que está en producción. Las diferencias del análisis están en Versiones de análisis.

Estados

Cada versión está en uno de los siguientes estados:

Estado Comportamiento
Borrador acepta modificación libre y solo pasa a valer después de ser publicada
En observación se ejecuta en paralelo con la versión activa, sin decidir nada, según Observación
Activa está publicada y en uso por la API; no acepta modificación, y un cambio genera una nueva versión
Inactiva ya estuvo activa en algún momento; se mantiene por trazabilidad y vuelve a producción con el botón Publicar
Archivada está oculta en el panel y preservada en el historial; sigue visible al inspeccionar eventos antiguos que la utilizaron

Una regla o un análisis admite como máximo una versión activa y una versión en observación al mismo tiempo. Una versión publicada presenta el botón Nueva versión a partir de esta en lugar del botón de edición, e informa que no puede editarse.

Nueva versión

El botón Nueva versión, en la página de la regla o del análisis, crea un borrador a partir de uno de dos orígenes:

Origen Contenido del borrador
A partir de una versión copia de las condiciones de la versión elegida, o de las celdas, en el análisis; la versión activa viene seleccionada
En blanco ninguna condición, o ninguna celda, en el análisis

El menú de una versión publicada ofrece el mismo camino, con la versión ya elegida, en Nueva versión a partir de esta. Editar una versión publicada no crea un borrador: el borrador nace siempre de Nueva versión o de Nueva versión a partir de esta. Crear una versión exige el perfil Editor o Administración.

Un borrador de regla en blanco existe sin condiciones, pero el editor solo guarda la regla con al menos una condición. La publicación exige lo mismo.

Borradores abiertos

Una regla admite hasta tres borradores abiertos al mismo tiempo. La página de la regla presenta el conteo, como 1 de 3 borradores abiertos. Con el límite alcanzado, la creación de borradores no está disponible hasta que un borrador se publique o se descarte. El análisis no tiene ese límite.

Archivar y descartar

Descartar elimina un borrador en forma definitiva.

Archivar preserva el historial y retira del panel una regla, un análisis o una versión inactiva de regla:

Elemento Efecto Restricción
Regla los borradores se eliminan y las versiones inactivas pasan a Archivada; una regla que solo tuvo borradores se elimina rechazado mientras alguna versión esté activa o en observación
Análisis el análisis y todas sus versiones se archivan rechazado mientras una regla publicada use el análisis
Versión inactiva de regla la versión pasa a Archivada la versión activa y la versión en observación no se archivan

El panel no restaura un elemento archivado.

Comparación y publicación

Toda versión que puede entrar en vigor (borrador, inactiva o en observación) presenta el botón Publicar. Con otra versión activa, la publicación exige la revisión previa de los cambios respecto a ella: la pantalla de comparación se abre posicionada entre la versión activa y la versión a publicar, y el botón de publicar está en el propio comparativo. Sin versión activa, la publicación solicita solo una confirmación. El panel señala una regla sin versión publicada, que solo pasa a valer después de la primera publicación.

La comparación abarca las condiciones y las acciones. Cada fila corresponde a una condición. Las filas coloreadas indican las condiciones que cambiaron, y una etiqueta identifica el cambio (agregada, eliminada, reordenada o alterada). En la columna de acciones, una acción tachada deja de valer y la que la sustituye aparece después de la flecha; una acción marcada con + es nueva. El comparativo expone el efecto exacto de la publicación antes de que la versión entre en vigor.

En el análisis, cada fila corresponde a una celda, con el valor anterior y el nuevo de cada configuración alterada.

Condiciones cumplidas

Cada condición de una versión de regla registra cuántas veces fue cumplida cada día. El panel presenta el conteo en la propia condición, junto con el total de ejecuciones del período. La lectura distingue tres situaciones: el día en que la regla no recibió tráfico, el día en que la regla se ejecutó sin que la condición fuera cumplida, y el día en que la condición fue cumplida al menos una vez.

El conteo localiza la condición que nunca se cumple, sea porque la expresión no corresponde al tráfico real, sea porque una condición anterior ya completó el campo que ella prueba. Una condición que no se cumple ninguna vez desde la publicación es candidata a revisión antes de la próxima versión.

El conteo empieza en la publicación de la versión y considera únicamente eventos reales: las simulaciones quedan fuera. Una versión recién publicada, por lo tanto, empieza sin lectura.

Observación

Publique una versión en observación (shadow) antes de que entre en vigor. La versión en observación se ejecuta en paralelo con la versión activa, sobre los mismos eventos reales, y nada de lo que produce altera el resultado del evento: la decisión sigue siendo la de la versión activa. El ciclo de vida pasa a ser borrador, observación y activa.

Una versión inactiva también puede ponerse en observación. Esto evalúa una versión ya sustituida sin devolverle el mando de las decisiones. La versión activa es la única que no puede observarse, por estar ya decidiendo.

Una versión en observación es inmutable, como la activa: editarla crea un nuevo borrador. La versión promovida es exactamente la que fue observada, sin reescritura de las acciones.

Salidas observadas

La observación es selectiva. Al publicar, usted marca qué salidas quiere seguir. La plataforma graba cada salida marcada en el mismo evento, en un campo con el sufijo _shadow, junto al valor que grabó la versión activa. El campo _shadow sigue las configuraciones de almacenamiento del campo de origen (límite de tamaño, truncamiento, sensibilidad y decimales). Un cambio en el campo de origen que el par observado no admite se rechaza. Las salidas no marcadas se descartan junto con el resto de la ejecución.

Como los dos valores quedan en el mismo evento, la comparación usa las pantallas existentes: los filtros en Explorar, las métricas y los paneles comparan el campo y su par observado sin configuración adicional.

Cambie las salidas observadas en cualquier momento, sin republicar la versión. Una versión que no completa ningún campo no tiene salidas para observar y no puede publicarse en observación.

Todo evento procesado registra también la versión en observación que lo procesó, además del nombre y la versión de la regla activa. Sin ese registro, un valor observado no podría atribuirse a la versión que lo escribió, ya que cada revisión es una versión nueva.

Qué no ejecuta la observación

Una versión en observación no altera el estado compartido que otras ejecuciones leen:

  • Las acciones que graban en listas se suprimen. Las condiciones que consultan listas siguen leyendo la lista real. Una regla cuyo comportamiento es alimentar una lista y después consultarla se observa de forma aproximada, no exacta.
  • Los análisis registrados por la versión en observación quedan en ventanas propias, separadas de las que la versión activa alimenta y consulta.

Las ventanas de la observación empiezan vacías y necesitan una retención entera de tráfico para significar algo. Al promover la versión a activa, las ventanas vuelven a empezar de cero por el mismo motivo.

En un tipo de evento con versión en observación, el evento queda visible en las consultas algunos instantes después de la recepción, y no de inmediato. La grabación espera la ejecución observada para llevar los dos valores en el mismo registro.

Versiones de análisis

Un análisis sigue el mismo ciclo que la regla, con tres particularidades.

Todo cambio en un análisis, sea una celda, sea el orden de la cascada, se hace en un borrador, y la publicación lleva el conjunto entero a producción de una vez. No hay publicación de una celda aislada: la cascada se publica como un todo, y las celdas nunca están en versiones diferentes entre sí.

Un análisis admite varios borradores al mismo tiempo, cada uno partiendo de la versión que lo originó. La página del análisis presenta los borradores abiertos y el camino hacia cada uno.

Cambiar lo que una celda mide, o la ventana en la que acumula, descarta el historial ya acumulado por esa celda. La celda vuelve a empezar vacía y necesita una retención entera de tráfico para volver a significar algo. La comparación señala esa consecuencia antes de la publicación, y la confirmación se solicita en el momento del cambio. Las demás celdas del análisis mantienen sus ventanas.

Historial

Cada regla y cada análisis tiene un historial con las acciones realizadas sobre sus versiones: creación, edición, publicación, publicación en observación, retirada de observación, sustitución, despublicación, descarte y archivado. Cada entrada registra la versión, el autor y el momento.

El historial muestra las acciones más recientes y mantiene las demás recogidas. La lista de versiones es el registro completo.

Trazabilidad en los eventos

Todo evento procesado por una regla registra el nombre de la regla y el número de la versión que lo procesó, además de la versión en observación, cuando la haya. Ese registro reconstruye después qué lógica generó cada valor, incluso cuando la versión ya fue sustituida o archivada.

La acción ejecutar análisis publica la versión del análisis que decidió un evento en la clave version, que un completar campo graba en el evento.