Deriva de contratos
Un diff de especificación le dice que algo se rompió. No puede decirle a quién se le rompe.
Toda herramienta de cambios incompatibles compara dos versiones de un documento. Esa es la mitad fácil. La pregunta que realmente tiene la mañana de un lanzamiento es cuál de sus servicios está a punto de caerse, y un diff de especificación no tiene ni idea.
Un campo, una semana
-
Martes
Un campo pasa a ser opcional
Un agente endurece un controlador y el esquema de respuesta pierde un campo que siempre estuvo ahí. El pull request está en verde. El cambio es correcto de forma aislada.
-
Martes
La especificación se versiona, no solo se compara
El documento publicado se captura como una instantánea con un resumen, se extraen sus elementos y se compara con la línea base. La comparación responde si es compatible o no, y nombra cada cambio que lo determinó.
-
Martes
El grafo dice a quién le importa
Tres servicios declaran una dependencia del que publica este contrato. Eso no es una conjetura de un diff de especificación. Se lee de sus propios manifiestos.
-
Viernes
Lo que solía pasar en su lugar
El equipo móvil se entera en el entorno de staging, o un cliente se entera en producción, y alguien pasa la tarde averiguando qué versión lo causó.
El registro
Qué conlleva un cambio
Una comparación responde si las dos versiones son compatibles, y cada cambio dentro de ella es un registro sobre el que se puede actuar en lugar de una línea de texto.
- clasificación
- Qué tipo de cambio es este, para que un renombrado y una eliminación no se archiven como el mismo evento.
- gravedad
- Cuánto importa, indicado en el propio cambio en lugar de inferido después por quien lo lea.
- resumen
- Qué cambió, en una línea, para que quien revisa no tenga que comparar dos documentos a ojo.
- elemento antes / después
- El elemento exacto en cada lado. Un cambio debe nombrar algo que afectó o no se registra.
- confianza
- Entre 0 y 1. La incertidumbre se declara en lugar de redondearse y ocultarse.
- evidencia
- La fuente y la revisión detrás del hallazgo, para que pueda verificarse en lugar de darse por buena.
La unión
El contrato sabe qué cambió. El grafo sabe quién depende de él.
Ninguna de las dos mitades es inusual por sí sola. Mantener ambas en un mismo registro es lo que responde a la pregunta que realmente tiene.
La interfaz publicada
Capturada con un digest y una revisión, con sus elementos extraídos y comparados con la versión anterior.
Unidos en un mismo grafo
Bajo un mismo ámbito, recorrible en una única consulta acotada
Los servicios que la consumen
Leídos de los manifiestos que publican esos repositorios, con el archivo detrás de cada arista en el registro.
Dónde lo encuentras
En la revisión, sobre el cambio que lo causó
Un hallazgo sobre una interfaz publicada se pondera según lo que el grafo indica que depende de ella. Una ruptura en un contrato que consumen tres servicios no es el mismo hallazgo que una en un auxiliar interno.
En tu asistente, antes de que se escriba el cambio
Los contratos son una de las fuentes de las que se nutre un paquete de contexto, así que un agente que pregunta qué afecta un cambio obtiene la interfaz y sus consumidores junto con el código.
Ponga su sistema en el registro
Ejecute el núcleo abierto en su propia infraestructura, o comience en el espacio de trabajo alojado. El grafo es portátil en ambos casos.