Badaj i naprawiaj

Autofix

Poprawki napisane przez agentów trafiają jako pull requesty do twojego repozytorium. Ty przeglądasz i scalasz; Polylane przypomina ci o nich i porządkuje to, czego nikt nie dotyka.

Autofix to pull request, który Polylane otwiera, żeby rozwiązać coś, co znalazło. Agent najpierw prowadzi dochodzenie, potem pisze zmianę na gałęzi i otwiera pull request na GitHub; scalenie należy do ciebie.

Co robi

Autofixy zaczynają się w trzech miejscach. Prosisz o jeden w wątku, na przykład „otwórz pull request, który to naprawia”. Przebieg naprawy trafia na potwierdzoną przyczynę w połączonym repozytorium i otwiera poprawkę w tym samym wątku. Albo Polylane proponuje go samo, jak ulepszenia obserwowalności, które szkicuje przy pierwszym połączeniu repozytorium.

Jak to działa

  1. Dochodzenie: agent zbiera kontekst z topologii, telemetrii i dotkniętego repozytorium.
  2. Gałąź: tworzy gałąź od gałęzi bazowej repozytorium.
  3. Poprawka: wykonawca pisze zmianę i wypycha commity.
  4. Pull request: otwiera pull request opisujący, co było nie tak i co się zmieniło, podlinkowany do wątku albo problemu, który za nim stoi.
  5. Twój przegląd: o scaleniu decydują twój zwykły przegląd kodu i ciągła integracja. Zamknięcie jest prawidłowym wynikiem i Polylane je zapisuje.

Statusy

StatusOpis
startedPrzebieg jest w toku.
branch_pushedCommity są na gałęzi, a pull request zaraz się otworzy.
approval_requiredObszar roboczy pyta przed rozpoczęciem automatycznych poprawek, więc ten przebieg czeka, aż ktoś uruchomi go z jego wątku.
pr_openedPull request jest otwarty i czeka na twój przegląd.
mergedPull request został przez ciebie scalony.
closedPull request został zamknięty bez scalenia, przez ciebie albo przez Polylane.
failedWykonawca nie zdołał wytworzyć poprawki.
no_fix_neededAgent uznał, że nie ma nic do zmiany.
already_in_flightInny przebieg albo otwarty pull request już obejmuje tę samą poprawkę.
quota_exhaustedObszar roboczy nie może teraz rozpocząć kolejnego przebiegu.
disabledAutofix jest wyłączony dla obszaru roboczego.
plan_rejectedŻądanie zostało odrzucone, zanim przebieg się rozpoczął.
unreachablePolylane nie może już czytać repozytorium, na przykład po usunięciu albo zawieszeniu GitHub App.
expiredPrzebieg utknął poza swoim oknem czasowym i został zamknięty.

Pominięty przebieg można uruchomić z jego przeglądu przyciskiem Run anyway, wygasły albo nieudany przyciskiem Run again, a wstrzymany przyciskiem Approve and run. W Settings > Workspace karta Autofix zawiera przełącznik Open autofix pull requests dla całego obszaru roboczego oraz Fixes Polylane starts on its own, gdzie Ask first wstrzymuje automatyczne poprawki, dopóki ktoś ich nie uruchomi.

Pull requesty pozostawione otwarte

Pull request otwarty przez Polylane nie czeka w nieskończoność. Po tygodniu bez aktywności cotygodniowy przegląd wysyła jedno przypomnienie e-mailem i w Slacku oraz zostawia tę samą notatkę jako komentarz w pull requeście; gdy nikogo nie poproszono o przegląd, proszeni są właściciele kodu, którego dotyka. Pull request, w którym nic się nie dzieje przez kolejny tydzień po przypomnieniu, Polylane zamyka z komentarzem wyjaśniającym dlaczego, a gałąź zostaje, więc ponowne otwarcie przywraca zmianę w jej aktualnym stanie.

Pull requesty otwarte w trakcie łączenia repozytorium są wyłączone z przypomnień i zamknięć.

Wykonawcy

Wykonawca to agent kodujący, który pisze diff. Własny wykonawca Polylane nie wymaga konfiguracji; zamiast niego możesz kierować autofixy przez agenta kodującego, którego już używasz:

Połącz Devin, Cursor, Factory albo Conductor w Settings > Integrations własnym kluczem API, a potem włącz Use Devin for all autofixes (albo odpowiedni przełącznik na stronie Cursor, Factory lub Conductor), żeby uczynić go wykonawcą każdego autofixu w obszarze roboczym. Jeśli ta integracja zostanie usunięta albo wyłączona, autofixy wracają do wykonawcy Polylane.

Gdzie to znaleźć

Autofix czytasz w wątku, który go wytworzył. Lineage w panelu bocznym wątku pokazuje Autofix i jego Pull request, a węzeł autofixu otwiera karty Overview, Diff, Session, Timeline i Properties. Approve and run, Run again i powód zamknięcia znajdują się w jego przeglądzie.

Powiązane