Inhalt der Dokumentation05 / 20

Die Arbeit verstehen05 / 20

Nachweise prüfen

Auf dieser Seite

Dass ein Agent „umgesetzt“ sagt, reicht nicht. Jede Erläuterung kommt mit ihren Nachweisen: dem Code, den er gelesen hat, den Tests, die er ausgeführt hat, Laufprotokollen und Screenshots, mit einem Klick nachprüfbar. Wenn jemand nachfragt, kannst du auf die genaue Stelle zeigen.

Was ein Nachweis enthält

Öffne „Nachweis“ in der Notiz. Üblich sind diese Arten von Material:

MaterialDargestellt alsBeim Anklicken
Eine CodestelleEin Funktionsname oder ein Chip „Datei:Zeile“Rechts öffnet sich das Code-Panel bei diesen Zeilen
Befehlsausgabe, etwa ein TestlaufEin ChipDie vollständige Ausgabe öffnet sich in der Nebenleiste rechts
Ein Code-DiffEin ChipÖffnet sich in der Nebenleiste rechts
Screenshots und andere BilderEine VorschaubildÖffnet sich vergrößert
Der Nachweis zum Absatz über die Schonfrist in Verlängerung: der gelesene Code, ein Testlauf (6 bestanden) und ein Screenshot aus der Umsetzung. Ein Klick auf eine Codestelle öffnet rechts das Code-Panel bei diesen Zeilen von grace.ts.

Befehlsausgaben, Diffs und Screenshots stammen aus den Aufzeichnungen, die der Agent bei der Umsetzung hinterlassen hat. Noea hält für jede Runde fest, welche Befehle er ausgeführt und welche Screenshots er gemacht hat, sodass eine Erläuterung sie direkt zitieren kann.

Eine Codestelle ansehen

Eine Codestelle mitten im Satz erscheint meist als Name einer Funktion oder Variablen, etwa openGrace; sonst erscheint sie als Chip „Datei:Zeile“, etwa grace.ts:6-18. Zitiert eine Erläuterung zwei Dateien mit gleichem Namen, ergänzt der Chip den übergeordneten Ordner.

Lass den Zeiger auf einem Namen oder Chip ruhen, um den vollständigen Pfad, den Zeilenbereich und das Symbol zu sehen. Klicke darauf, und rechts öffnet sich das Code-Panel für diese Datei bei den zitierten Zeilen. Ist die Datei noch so, wie eine Umsetzungsrunde sie hinterlassen hat, werden die Änderungen dieser Runde über die ganze Datei gelegt, sodass du siehst, welche Runde sie geschrieben hat. Über das Kontextmenü (Rechtsklick) kannst du die Datei im Standardprogramm öffnen, im Finder anzeigen oder ihren Pfad kopieren.

Ist der Code seitdem verschoben worden, folgen die Zeilennummern des Chips und das Ziel seiner aktuellen Position. Hat sich der zitierte Code geändert und nur sein Name ist noch zu finden, wird der Chip abgedunkelt; ist die Datei weg oder der Code nicht mehr zu finden, wird der Chip abgedunkelt und durchgestrichen, und beim Darüberfahren steht der Grund. In beiden Fällen muss die Erläuterung höchstwahrscheinlich erneut untersucht werden.

Wie weit ein Nachweis reicht

Wenn du dir ein Material ansiehst, erkenne zuerst, welcher Art es ist:

MaterialWas es bestätigen kannWas du beachten solltest
Umsetzungs- oder TestcodeWelche Logik der Code nutzt und welche Fälle die Tests festlegenDass Testcode existiert, heißt nicht, dass die Tests liefen oder bestanden haben
Frühere LaufergebnisseWas damals lief und was damals das Ergebnis warHat sich der Code seitdem geändert, gilt das Ergebnis vielleicht nicht mehr
Verifizierung während dieser ErläuterungDas Ergebnis in Umgebung und Umfang dieses LaufsBestandene Fälle sagen nichts über nicht abgedeckte Fälle

Erläutern und Untersuchung stützen sich vor allem auf das Lesen von Code und vorhandenem Material; sie führen Tests, Builds oder die App nicht jedes Mal neu aus. Der Agent verifiziert etwas nur, wenn das Lesen des Codes eine Tatsache nicht klärt, von der das Ergebnis abhängt. Ein guter Nachweis sagt, was er nicht verifiziert hat, etwa: „Nicht gegen den echten Zahlungsdienstleister ausgeführt; die Abbuchungsergebnisse stammen aus einem Test-Double.“ Ist der Nachweis dünn, wurde keine Umsetzung gefunden oder ist der Intent mehrdeutig, sollten Nachweis und Hinweise das offen sagen, statt ein Ergebnis zu liefern, das nur sicher aussieht.

Bedenke auch, dass eine Erläuterung ein Untersuchungsprotokoll mit Nachweisen ist, kein Zertifikat. Dass ein Agent die Umsetzung eines anderen Agents prüft, macht das Ergebnis für sich genommen nicht sicherer. Der Wert eines Nachweises liegt darin, dass du ihn öffnen und prüfen kannst, nicht darin, dass die Erläuterung „bestätigt“ sagt.

Screenshots und die Oberfläche

Manches Verhalten lässt sich nicht allein am Code klären, etwa ob ein Hinweis in der Oberfläche wirklich erscheint. Hat der Agent bei der Umsetzung einen Screenshot gemacht, kann die Erläuterung ihn als Nachweis aufführen, zum Beispiel: „Während der Schonfrist erscheint oben auf der Team-Einstellungsseite ein Hinweis.“

Klicke auf das Vorschaubild, um es zu vergrößern. Achte darauf, welche Seite in welchem Zustand es zeigt und welcher Lauf es hinterlassen hat: Ein Screenshot belegt, wie die Oberfläche damals aussah; hat sich der Code seitdem geändert, kann sich auch die Oberfläche geändert haben.

Punkt für Punkt prüfen

Wenn du Nachweise prüfst, frag bei jedem Eintrag:

  • Zeigt dieser Verweis auf das, worum es in diesem Teil des Intents geht?
  • Welche Fälle decken die Tests ab, und sind die Randfälle dabei?
  • Stützt das Ergebnis die Schlussfolgerung der Erläuterung wirklich?
  • Sagt der Nachweis, was nicht verifiziert wurde?

Zum Beispiel sagt der Nachweis zur Schonfrist „Tests der Schonfrist ausgeführt: alle 6 bestehen“, während die Hinweise festhalten, dass „kein Test den Fall abdeckt, dass der dritte Versuch gelingt“. Jetzt weißt du, dass dieser Pfad allein auf dem Lesen des Codes beruht, ohne einen Lauf, der ihn belegt.

Wenn der Nachweis nicht reicht

Fehlt ein wichtiger Fall, fahre mit dem Zeiger über den Absatz, klicke links davon auf „Hierzu fragen“ und bitte den Agent, ihn zu verifizieren:

Ergänze einen Test: Der dritte Versuch gelingt an Tag 6 der Schonfrist, das Abo kehrt in den Normalzustand zurück und wird nicht herabgestuft. Sag mir das Ergebnis, wenn er gelaufen ist.

Wenn der Agent fertig ist, erläutert Noea die Runde von selbst; hast du das abgeschaltet, klicke links vom Absatz auf „Untersuchung“. Die neue Erläuterung führt diesen Lauf als Nachweis auf.

Passt die Schlussfolgerung einer Erläuterung nicht zu ihrem Nachweis oder glaubst du, der Agent habe deinen Intent falsch gelesen, frag auch das hier, und ändere deinen Intent nicht, um ihn dem Code anzupassen. Siehe Das Vereinbarte in den Intent schreiben.