---
title: "Detecte la deriva de contratos antes que sus consumidores · SourceAnt"
description: "Una interfaz publicada se versiona y se compara con su línea base, y el grafo del sistema nombra los servicios que declaran una dependencia de ella. No es un diff de especificación aislado."
url: "https://sourceant.ai/es/use-cases/contract-drift/"
---

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.

[Empezar gratis](https://app.sourceant.ai/) [Explorar este caso de uso](https://sourceant.ai/es/use-cases/contract-drift/#overview)

## Un campo, una semana

1.  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.
    
2.  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ó.
    
3.  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.
    
4.  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.

[Empezar gratis](https://app.sourceant.ai/) [Cómo funciona Systems](https://sourceant.ai/es/systems)

[Todos los casos de uso](https://sourceant.ai/es/use-cases)
