Método · Operaciones
La diferencia entre registrar una acción y observar su resultado
Un registro dice que el sistema hizo algo; solo una señal independiente dice que ese algo ocurrió.
Durante mucho tiempo nuestras trazas respondían a una sola pregunta: ¿ejecutó el sistema lo que debía? Es una pregunta necesaria y no es la que importa.
Un proceso puede completar todos sus pasos, recibir una respuesta correcta de la API y no haber cambiado nada en el sistema de destino. La escritura entró en una cola que se descartó, o se aplicó sobre un registro que otro proceso revirtió minutos después. El log dice que todo fue bien.
Ahora distinguimos tres estados. Ejecutado: la acción se envió y no falló. Confirmado: una lectura posterior contra la fuente muestra el cambio. Observado: una señal independiente —otro sistema, una persona, un sensor— muestra el efecto esperado.
La mayoría de los procesos llega al segundo estado. Al tercero llegan pocos, porque casi siempre hay que diseñar la señal a propósito y eso cuesta.
Lo que hemos adoptado es no disimular la diferencia. Cuando no existe señal independiente, la traza dice «confirmado» y no «completado», y el límite queda escrito en la documentación del sistema. Es menos satisfactorio en una demostración y mucho más útil a los seis meses, cuando alguien pregunta cuántas de esas ejecuciones correctas produjeron realmente un efecto.