Sourcegraph testet einen Bot zur Weiterleitung von Pull Requests zur Prüfung

Sourcegraph testet einen Pull-Request-Bot, der den Aufwand für das Nachfassen bei Freigaben verringern soll. Änderungen werden dabei in drei Prüfpfade eingeordnet: Ship, Show oder Ask. Das interne Experiment soll für klarere Erwartungen an Prüfungen sorgen, während Coding-Agenten immer mehr Code erzeugen.
- Sourcegraph testet intern einen Bot zur Weiterleitung von Pull Requests zur Prüfung.
- Der Bot ordnet Änderungen als Ship, Show oder Ask ein.
- Die Richtlinie berücksichtigt Codeänderungen und die Vertrautheit des Autors mit den betroffenen Komponenten.
- Änderungen an Authentifizierung und an der Offenlegung sensibler Daten erfordern immer eine Prüfung.
- Sourcegraph zufolge gibt es weniger Anfragen nach einer schnellen Freigabe. Die Qualität der Prüfungen wird jedoch noch untersucht.
Ein Prüfungsengpass prägt das Experiment
Sourcegraph zufolge haben Coding-Agenten das Schreiben von Änderungen beschleunigt. Dadurch verlagert sich der Engpass zunehmend auf das Verständnis ihrer Auswirkungen und die Entscheidung, ob sie ausgeliefert werden sollten. Die GitHub-Konfiguration des Unternehmens verlangte vor dem Zusammenführen eine Freigabe. Routinemäßige Änderungen und Änderungen mit ausführlichem Diskussionsbedarf durchliefen daher denselben Freigabeschritt.
Das Unternehmen hatte bereits eine Stempelgruppe für kleine Pull Requests. Eine Anfrage wie „Kann jemand das freigeben?“ konnte von einem verfügbaren Teammitglied bearbeitet werden. Trotzdem musste für jede Anfrage jemand gefunden und gebeten werden, den Kontext zu wechseln. Sourcegraph wollte dieses routinemäßige Nachfassen bei Freigaben verringern und zugleich seine unterschiedlichen Erwartungen an Prüfungen transparent machen.
So funktionieren Ship, Show und Ask
Der Bot bewertet den Diff eines Pull Requests, relevanten Code und frühere Beiträge des Autors. Er liefert Ergebnisse mit stützenden Belegen. Der Anwendungscode wendet anschließend die Regeln von Sourcegraph an und veröffentlicht den ausgewählten Prüfpfad im Pull Request.
- Ship: Nach den Richtlinien ist keine zusätzliche Prüfung erforderlich.
- Show: Jemand sollte die Änderung sehen, die Prüfung kann jedoch nach dem Zusammenführen erfolgen.
- Ask: Jemand muss die Änderung vor dem Zusammenführen prüfen.
Sourcegraph begann zunächst nur mit Empfehlungen, sodass die menschliche Prüfung unverändert blieb. Das Team nutzte Feedback, um die Regeln und die erforderlichen Belege für Vertrautheit zu verbessern. Anschließend überprüfte es betroffene Empfehlungen erneut, bevor es Freigaben für geeignete Änderungen aktivierte.
Der Workflow läuft in GitHub Actions. Die aktuelle Richtlinie sucht nach zwei zusammengeführten Pull Requests, die von einer anderen Person geprüft wurden, sowie nach einem relevanten Beitrag in Form von Code, Tests oder technischer Dokumentation innerhalb der vergangenen 30 Tage. Änderungen an Authentifizierungsprüfungen oder an der Art und Weise, wie sensible Daten offengelegt werden, erfordern jedoch unabhängig von der Erfahrung des Autors immer eine Prüfung.
Sourcegraph misst die Auswirkungen weiterhin
Sourcegraph zufolge hat das Experiment zu weniger Anfragen nach einer schnellen Freigabe geführt. Es handelt sich jedoch weiterhin um einen internen Test. Das Unternehmen möchte verstehen, ob Show-Änderungen nach dem Zusammenführen nützliche Aufmerksamkeit erhalten und ob Kollegen informiert bleiben, nachdem Autor und Prüfer sich anderen Aufgaben zugewandt haben.
Das Feedback zeigte außerdem, dass eine Prüfung ein Problem erkennen, Kontext vermitteln oder kontrollieren kann, was das Unternehmen seinen Kunden mitteilt. Das Team stellte fest, dass die Beitragshistorie Hinweise auf Vertrautheit liefern kann. Erfahrung in einem Teil eines Systems bedeutet jedoch nicht zwangsläufig Vertrautheit mit allen Teilen. Die Begründung des Bots liefert den Beteiligten Annahmen, die sie hinterfragen können. So können sie entscheiden, ob eine Regel oder eine Einschätzung geändert werden sollte.
Sourcegraph weist außerdem darauf hin, dass Bot-Kommentare und wiederholte Bewertungen zu Unterbrechungen werden können. Daher gehört zur Gestaltung des Workflows auch die Entscheidung, wann der Bot sprechen, aktualisieren oder schweigen sollte. Das Unternehmen plant einen Folgebeitrag über Prüfungen nach dem Zusammenführen und die Auswirkungen des Bots auf Unterbrechungen. Wenn eine menschliche Prüfung erforderlich ist, verwendet Sourcegraph seine Compare-Seite, um den Diff zu untersuchen und im umgebenden Code zu navigieren.
Sourcegraph: Keeping code moving with clearer review expectations


