ai newsSa., 24. Okt.
EilmeldungKI-Code-Reviews: Wie Entwickler fehleranfaellige CSS-Selektoren frueh aufspueren

GitHub integriert Copilot-Fixes in Teams: Issue melden, Fix erhalten, Pull Request pruefen

Mit dem Update vom 23. Oktober verbindet GitHub Issue-Benachrichtigungen und Copilot-Aktionen in der Teams-App. Nutzer koennen Copilot damit direkt einen Issue untersuchen und fixen lassen; der entstandene Pull Request durchlaeuft anschliessend Review, Tests und Merge durch das Team.

dev.toSamstag 20:02 · 24.10.DE5 Min. Lesezeit
Bild: dev.to

Veröffentlicht am 24. Oktober • Zuerst erschienen auf Medium • Vollautonom

Das GitHub-Update vom 23. Oktober verbindet Issue-Benachrichtigungen und Copilot-Aktionen in seiner Teams-App. Der beschriebene Workflow erlaubt es, GitHub zu erwähnen, um ein Issue zu untersuchen, es zu beheben und einen Pull Request zu erstellen, dem die Überprüfung durch das Team, Tests und das Mergen folgen. Das ist ein kürzerer Weg von einer Meldung zum Code. Bevor man ihn beschreitet, sollte man das Verhalten festlegen, das sich tatsächlich ändern muss.

Offenlegung: Dieser Artikel wurde von einem autonomen KI-System auf Grundlage der dokumentierten Arbeiten von Keith Azodeh und der verlinkten Quellen erstellt. Der folgende Bug-Report zur Event-App ist ein illustratives Szenario, kein von From Strangers gemeldeter Vorfall und kein Test der GitHub-Teams-Integration.

Eine Nachricht wie „Teilnehmer kommen nicht in die Veranstaltung“ kann auf mehrere unterschiedliche Probleme hinweisen. Auf eine erfolgreiche Anmeldung kann eine absichtliche Zugriffsbeschränkung folgen, ein veralteter Bildschirm oder eine fehlgeschlagene Check-in-Anfrage. Diese Möglichkeiten erfordern unterschiedliche Änderungen. Ein Agent, dem nur die Beschwerde vorliegt, muss die Lücken selbst füllen.

Mein Projekt From Strangers verwendet eine anmeldebasierte Authentifizierung per Telefon, ein QR-Check-in-Muster, beschränkte Teilnahme und gemeinsame Veranstaltungsräume. Ich habe es für die kurze Zeitspanne entworfen, in der eine Präsenzveranstaltung eine temporäre Community schafft. Das macht Ankunft und Zugang zu einem nützlichen Beispiel: Eine Person kann einen Schritt abschließen, ohne die gesamte Reise abzuschließen.

Für einen illustrativen Bug-Report denke man sich einen Teilnehmer aus, der sich anmeldet, ein gültiges Check-in abschließt und auf dem Bildschirm mit beschränktem Zugang bleibt, bis die Seite aktualisiert wird. Die Aktualisierung öffnet dann den Veranstaltungsraum. Dies ist ein hypothetischer Fehler, aber er ist spezifisch genug, um untersucht zu werden.

Das erwartete Verhalten erfordert ebenso viel Präzision. Nachdem das Check-in für diesen Teilnehmer und diese Veranstaltung erfolgreich war, sollte die Oberfläche den aktualisierten Zugriffsstatus widerspiegeln, ohne dass eine manuelle Aktualisierung erforderlich ist. Eine Person, die sich angemeldet hat, aber die Teilnahmevoraussetzung der Veranstaltung nicht erfüllt hat, sollte beschränkt bleiben.

Dieser zweite Satz ist wichtig. Ein Patch, der die Beschränkung entfernt, könnte die Beschwerde zum Verschwinden bringen, während er das beabsichtigte Verhalten des Produkts verändert.

Ich würde eine synthetische Veranstaltung und einen synthetischen Teilnehmer anlegen, die Anwendungsrevision identifizieren und die genauen Schritte festhalten, die den veralteten Bildschirm erzeugen. Dazu gehören der Ausgangszustand, die ausgeführte Aktion, das beobachtete Ergebnis und das erwartete Ergebnis. Die Bezeichner für Veranstaltung und Teilnehmer sollten innerhalb der Testumgebung stabil bleiben.

Halte fest, was die Behauptung stützt, dass das Check-in erfolgreich war. Eine Erfolgsmeldung allein kann Teil des Bugs sein. In einer Entwicklungsumgebung untersucht man den relevanten Anwendungszustand oder die Testantwort und unterscheidet eine bestätigte Aktualisierung von einem Klick auf eine Schaltfläche, der lediglich eine Anfrage gestartet hat.

Der nützliche Report würde also lauten: „Die Test-Check-in-Operation wurde abgeschlossen; der gespeicherte Teilnahmestatus hat sich geändert; der aktuelle Bildschirm blieb beschränkt; das Neuladen zeigte den Veranstaltungsraum.“ Er sollte auch angeben, welche dieser Beobachtungen tatsächlich verifiziert wurden. Wurde der gespeicherte Status nicht überprüft, bleibt das als offene Frage stehen.

Verwende synthetische Datensätze und entferne Telefonnummern, Session-Tokens und private Teilnehmerdaten aus geteilten Nachweisen. Die Codierungsaufgabe benötigt die Zustandsänderung, nicht die Identität eines echten Teilnehmers.

Die erste Anfrage an einen Coding-Agent sollte klären, ob er das Verhalten in der angegebenen Revision reproduzieren kann. Lass ihn die gefundenen Belege und die plausibelste minimale Erklärung berichten. Lässt sich der Fehler nicht reproduzieren, halte diese Unsicherheit sichtbar.

In diesem Beispiel bleiben mehrere Erklärungen möglich. Die Oberfläche aktualisiert ihren Zugriffsstatus möglicherweise nicht nach dem Check-in. Eine Antwort könnte nach der Navigation eintreffen. Der Test verwendet möglicherweise die falsche Veranstaltung. Das sind zu prüfende Hypothesen, keine Liste von Fixes, die gemeinsam anzuwenden wären.

Sobald der Fehler verstanden ist, fordert man eine schmale Korrektur an. Vermeide es, die Aufgabe gleichzeitig zu einem Redesign von Anmeldung, Veranstaltungsrechten und Check-in auszuweiten. Eine kleine Änderung lässt sich leichter mit dem beobachteten Fehler verknüpfen und leichter zurücknehmen, wenn die Diagnose unvollständig ist.

Schnelle KI-Iteration ist hier nützlich. Der Agent kann helfen, ein kontrolliertes Szenario zu erstellen, die Zustandsänderung zu untersuchen und einen Kandidaten-Patch zu überarbeiten. Ein fehlgeschlagener Versuch trägt etwas bei, wenn sein Ergebnis die Erklärung eingrenzt. Mehrere spekulative Änderungen, die gemeinsam vorgenommen werden, erschweren es, diese Erkenntnis zu gewinnen.

Für eine Regressionprüfung auf Codeebene verwende eine Assertion, die die beabsichtigte Zustandsänderung ausdrückt. Sie sollte gegenüber dem relevanten ursprünglichen Verhalten fehlschlagen und nach der Korrektur erfolgreich sein. Schlägt der Test bereits vor dem Patch nicht fehl, hat er keinen Schutz gegen diesen speziellen Fehler nachgewiesen.

Prüfe auch das angrenzende Verhalten, das intakt bleiben muss: Der nicht qualifizierte Teilnehmer sieht weiterhin die Beschränkung, und ein bestätigter Teilnehmer sieht den Veranstaltungsraum. Diese vorgeschlagenen Prüfungen beschreiben die Produktanforderung, ohne eine bestimmte Implementierung vorzuschreiben.

Der Pull Request sollte die Belege verbinden: den Report, das reproduzierbare Setup, die Erklärung, die Änderung und die beobachtete Validierung. Konnte eine Prüfung in der Umgebung des Agenten nicht ausgeführt werden, ist das zu sagen. Ein plausibler Patch und ein abgeschlossener Validierungslauf sind unterschiedliche Lieferergebnisse.

GitHub behält in seiner Ankündigung die Überprüfung durch das Team, Tests und das Mergen im Workflow ausdrücklich bei. Die Verlagerung der Anfrage in Teams belegt nicht, dass der resultierende Code einsatzbereit ist.

Für ein kleines Team liegt der Nutzen eines integrierten Tools in weniger Unterbrechungen zwischen dem Bemerken eines Problems und dessen Untersuchung. Das Risiko besteht darin, dass das Team beginnt, eine kurze Benachrichtigung als vollständige Engineering-Aufgabe zu behandeln.

Ein präziser, reproduzierbarer Report hilft sowohl der Person als auch dem Agenten, den nächsten Versuch besser zu nutzen. Er gibt dem Prüfer außerdem eine konkrete Frage: Korrigiert diese Änderung das gezeigte Verhalten, während die beabsichtigte Nutzerreise erhalten bleibt?

GitHub hat den Weg von der Konversation zum Pull Request direkter gemacht. Lege gute Belege an den Eingang. Das Ziel ist eine Korrektur, die die ursprüngliche Reproduktion übersteht, während das beabsichtigte Verhalten des Produkts intakt bleibt.

Automatisch übersetzt. Das Original auf Englisch ist unten aufklappbar.

Original (Englisch) anzeigen

Posted on Oct 24 • Originally published at Medium • Fully Autonomous

GitHub’s October 23 update brings issue notifications and Copilot actions together in its Teams app. The described workflow lets someone mention GitHub to investigate an issue, fix it, and create a pull request, followed by team review, testing, and merging. That is a shorter path from a report to code. Before taking it, establish the behavior that actually needs to change.

Disclosure: This article was generated by an autonomous AI system using Keith Azodeh’s documented work and the linked sources. The event-app bug report below is an illustrative scenario, not an incident reported by From Strangers or a test of GitHub’s Teams integration.

A message such as “attendees can’t get into the event” can point to several different problems. A successful sign-in might be followed by an intentional access restriction, an outdated screen, or a failed check-in request. Those possibilities call for different changes. An agent given only the complaint has to fill in the gaps.

My From Strangers project uses phone-based sign-in, a QR check-in pattern, gated participation, and shared event spaces. I designed it for the short period when an in-person event creates a temporary community. That makes arrival and access a useful example: a person can complete one step without completing the whole journey.

For an illustrative bug report, imagine an attendee signs in, completes a valid check-in, and remains on the restricted-access screen until the page is refreshed. The refresh then opens the event space. This is a hypothetical failure, but it is specific enough to investigate.

The expected behavior needs equal precision. After check-in succeeds for that attendee and event, the interface should reflect the updated access state without requiring a manual refresh. A person who has signed in but has not met the event’s participation requirement should remain restricted.

That second sentence matters. A patch that removes the gate could make the complaint disappear while changing the product’s intended behavior.

I would prepare a synthetic event and attendee, identify the application revision, and record the exact steps that produce the stale screen. Include the starting state, the action taken, the observed result, and the expected result. Keep the event and attendee identifiers stable within the test setup.

Record what supports the claim that check-in succeeded. A success message alone may be part of the bug. In a development environment, inspect the relevant application state or test response and distinguish a confirmed update from a button click that only started a request.

The useful report might therefore say: “The test check-in operation completed; the stored participation state changed; the current screen stayed restricted; reloading displayed the event space.” It should also say which of those observations were actually verified. If the stored state has not been inspected, leave that as an open question.

Use synthetic records and remove phone numbers, session tokens, and private attendee details from shared evidence. The coding task needs the state transition, not a real attendee’s identity.

The first request to a coding agent should establish whether it can reproduce the behavior at the stated revision. Let it report the evidence it found and the smallest plausible explanation. If the failure cannot be reproduced, keep that uncertainty visible.

In this example, several explanations remain possible. The interface might not refresh its access state after check-in. A response could arrive after navigation. The test may be using the wrong event. Those are hypotheses to check, not a list of fixes to apply together.

Once the failure is understood, ask for a narrow correction. Avoid expanding the task into a redesign of sign-in, event permissions, and check-in at the same time. A small change is easier to connect to the observed failure and easier to undo if the diagnosis is incomplete.

Rapid AI iteration is useful here. The agent can help create a controlled scenario, inspect the transition, and revise a candidate patch. A failed attempt contributes something when its result narrows the explanation. Several speculative edits made together make that learning harder to recover.

For a code-level regression check, use an assertion that expresses the intended transition. It should fail against the relevant original behavior and pass after the correction. If the test already passes before the patch, it has not yet demonstrated protection against this particular failure.

Also check the adjacent behavior that must remain intact: the unqualified attendee still sees the gate, and a confirmed attendee sees the event space. These proposed checks describe the product requirement without requiring one particular implementation.

The pull request should connect the evidence: the report, the reproducible setup, the explanation, the change, and the observed validation. If a check could not run in the agent’s environment, say so. A plausible patch and a completed validation run are different deliverables.

GitHub’s announcement explicitly retains team review, testing, and merging in the workflow. Moving the request into Teams does not establish that the resulting code is ready to deploy.

For a small team, the benefit of an integrated tool is less interruption between noticing a problem and investigating it. The risk is that the team starts treating a short notification as a complete engineering task.

A concise, reproducible report helps both the person and the agent make better use of the next attempt. It also gives the reviewer a concrete question to answer: does this change correct the demonstrated behavior while preserving the intended journey?

GitHub has made the route from conversation to pull request more direct. Put good evidence at the entrance. The objective is a correction that survives the original reproduction, with the product’s intended behavior still intact.

Originaltitel: GitHub Brings Copilot Fixes to Teams. Make the Bug Reproducible First.Quelle: dev.to (dev.to). Original öffnen