---
title: "Contract Drift erkennen, bevor es Ihre Konsumenten tun · SourceAnt"
description: "Eine veröffentlichte Schnittstelle wird versioniert und gegen ihre Baseline verglichen, und der Systemgraph nennt die Services, die eine Abhängigkeit von ihr deklarieren. Kein Spec-Diff im Alleingang."
url: "https://sourceant.ai/de/use-cases/contract-drift/"
---

Contract Drift

# Ein Spec-Diff sagt Ihnen, dass etwas kaputtgegangen ist. Er kann Ihnen nicht sagen, wer dadurch kaputtgeht.

Jedes Breaking-Change-Tool vergleicht zwei Versionen eines Dokuments. Das ist die leichte Hälfte. Die Frage, die Sie am Morgen eines Releases tatsächlich haben, ist, welcher Ihrer Services kurz davor steht umzufallen, und ein Spec-Diff hat keine Ahnung.

[Kostenlos starten](https://app.sourceant.ai/) [Diesen Anwendungsfall erkunden](https://sourceant.ai/de/use-cases/contract-drift/#overview)

## Ein Feld, eine Woche

1.  Dienstag
    
    ### Ein Feld wird optional
    
    Ein Agent verschärft einen Handler, und das Response-Schema verliert ein Feld, das schon immer da war. Der Pull Request ist grün. Die Änderung ist isoliert betrachtet korrekt.
    
2.  Dienstag
    
    ### Die Spec wird versioniert, nicht nur diffed
    
    Das veröffentlichte Dokument wird als Snapshot mit einem Digest erfasst, seine Elemente extrahiert und gegen die Baseline verglichen. Der Vergleich beantwortet kompatibel oder nicht und benennt jede Änderung, die dazu geführt hat.
    
3.  Dienstag
    
    ### Der Graph sagt, wen es betrifft
    
    Drei Services deklarieren eine Abhängigkeit von dem Service, der diesen Contract veröffentlicht. Das ist keine Vermutung aus einem Spec-Diff. Es wird aus ihren eigenen Manifesten gelesen.
    
4.  Freitag
    
    ### Was stattdessen früher passierte
    
    Das Mobile-Team erfährt es im Staging, oder ein Kunde erfährt es in der Produktion, und jemand verbringt den Nachmittag damit, herauszufinden, welches Release es verursacht hat.
    

Der Eintrag

## Was eine Änderung trägt

Ein Vergleich beantwortet, ob die beiden Versionen kompatibel sind, und jede Änderung darin ist ein Eintrag, auf den Sie reagieren können, statt einer Zeile Prosa.

classification

Um welche Art von Änderung es sich handelt, damit ein Rename und eine Entfernung nicht als dasselbe Ereignis abgelegt werden.

severity

Wie sehr es zählt, getragen von der Änderung selbst, statt später von demjenigen abgeleitet, der sie liest.

summary

Was sich verschoben hat, in einer Zeile, damit ein Reviewer nicht zwei Dokumente mit dem Auge diffen muss.

before / after element

Das exakte Element auf jeder Seite. Eine Änderung muss etwas benennen, das sie betrifft, sonst wird sie nicht erfasst.

confidence

Zwischen 0 und 1. Unsicherheit wird benannt, statt weggerundet zu werden.

evidence

Die Quelle und die Revision hinter dem Befund, damit er überprüft statt geglaubt werden kann.

Die Schnittstelle

## Der Vertrag weiß, was sich geändert hat. Der Graph weiß, wer davon abhängt.

Keine der beiden Hälften ist für sich genommen ungewöhnlich. Beide in einem Datensatz zu vereinen, ist der Teil, der die Frage beantwortet, die Sie tatsächlich haben.

### Die veröffentlichte Schnittstelle

Mit einem Digest und einer Revision erfasst, ihre Elemente extrahiert und mit der vorherigen Version verglichen.

In einem Graphen verbunden

Unter einem Geltungsbereich, in einer einzigen begrenzten Abfrage durchquerbar

### Die Dienste, die sie nutzen

Gelesen aus den Manifesten, die diese Repositories veröffentlichen, mit der Datei hinter jeder Kante im Datensatz.

## Wo Sie ihr begegnen

### Im Review, bei der Änderung, die sie verursacht hat

Ein Befund zu einer veröffentlichten Schnittstelle wird danach gewichtet, was laut Graph von ihr abhängt. Ein Bruch an einem Vertrag, den drei Dienste nutzen, ist nicht derselbe Befund wie einer an einem internen Helper.

### In Ihrem Assistenten, bevor die Änderung geschrieben wird

Verträge sind eine der Quellen, aus denen ein Kontextpaket schöpft. Fragt ein Agent, was eine Änderung berührt, erhält er die Schnittstelle und ihre Nutzer zusammen mit dem Code.

## Setzen Sie Ihr System auf den Eintrag

Betreiben Sie den Open Core auf Ihrer eigenen Infrastruktur oder starten Sie im gehosteten Workspace. Der Graph ist in beiden Fällen portabel.

[Kostenlos starten](https://app.sourceant.ai/) [Wie Systems funktioniert](https://sourceant.ai/de/systems)

[Alle Anwendungsfälle](https://sourceant.ai/de/use-cases)
