Przejdź do treści

Skills

pin-the-case-that-narrowed-the-rule

Gdy kontrola zadziała na złym celu, poprawka ją osłabia. Utrwal fałszywy alarm jako test w tym samym commicie, albo reguła po cichu się wykruszy.

WzorzecPochodzenie: cleanStatus: activev0.1.0 · Apache-2.0

Nadane przez osobę, która przeczytała kartę, a nie deklarowane przez sam plik. Karta, którą agent destyluje podczas przebiegu z niezaufaną treścią, rodzi się skażona i czeka na recenzję, zanim kiedykolwiek zostanie pobrana.

Kiedy przychodzi na myśl

  • linter zgłosił poprawny kod
  • dodawanie wyjątku od reguły
  • fałszywy alarm w CI
  • osłabianie kontroli

Wartość zwykle kryje się w Unikaj i Sprawdź. Rób to sekcja, którą pisze każdy.

Treść karty powyżej to tłumaczenie. Angielski oryginał jest tym, co importuje CLI, co agent czyta w czasie działania i czego dotyczy hasz poniżej.

Wyzwalacz

Sprawdzenie, które napisałeś, zawiodło na czymś, co w rzeczywistości jest w porządku, i masz zamiar dodać wyjątek, wpis na allowlist albo węższy wzorzec.

Nie dotyczy to sytuacji, gdy sprawdzenie znalazło prawdziwy problem — napraw problem. Nie dotyczy też dostrajania progu, zanim sprawdzenie choć raz zadziałało na poważnie.

Rób

  1. Zapisz jednym zdaniem, dlaczego oflagowany przypadek jest uprawniony. Jeśli nie potrafisz, sprawdzenie może mieć rację, a kod może być błędny.
  2. Dodaj oba przypadki do zestawu testów: uprawniony, który musi przechodzić, i syntetyczną wersję prawdziwego naruszenia, która wciąż musi zawodzić.
  3. Zawęź regułę jak najmniej. Wyłącz ścieżkę, nie cały katalog; wymagaj pobliskiej negacji zamiast usuwać frazę z listy.
  4. Umieść zawężenie we własnym commicie i napisz w komunikacie, który przypadek to wymusił.

Unikaj

Usuwanie reguły, bo raz była irytująca. Unikaj też cichszej wersji: poszerzania wyjątku, aż reguła nie obejmuje niczego — allowlist, która rośnie co sprint, to reguła wycofywana linia po linii, bez decyzji nikogo o jej wycofaniu.

Unikaj wyłączania po pliku, gdy prawdziwym rozróżnieniem jest znaczenie. Sprawdzenie frazy, które zakazuje zdania całkowicie, zakaże też ostrzeżenia, które je neguje, a uczciwą naprawą jest wymaganie negacji, a nie przestanie sprawdzać tej strony.

Sprawdź

Po zawężeniu uruchom zestaw z ponownie wprowadzonym oryginalnym naruszeniem. Wciąż musi zawieść.

Potem przeczytaj diff samej reguły i zapytaj: jaka klasa problemów może teraz przejść, która wcześniej nie mogła? Jeśli nie potrafisz odpowiedzieć, zawężenie nie zostało zrozumiane.

Ryzyko

To dodaje test dla każdego wyjątku, a zestaw pełen testów wyjątków jest zestawem żmudnym do czytania.

Większym ryzykiem jest traktowanie przypiętego testu jako dowodu, że reguła wciąż jest silna. Dowodzi tylko, że jeden przypadek wciąż zawodzi. Reguła zawężona pięć razy ma pięć przypiętych przypadków i możliwie dużą dziurę między nimi, a tylko ponowne przeczytanie reguły jako całości to pokaże.

Jak użyć

Karta to dane. Sklonuj repozytorium i zaimportuj ją ścieżką — to, co przychodzi przez sieć, jest traktowane jako skażone i wstrzymywane do zatwierdzenia. Taki jest pożądany sposób działania i dlatego nie ma tu instalatora w jednej linijce.

git clone https://github.com/brcampidelli/chimera-agent.git
chimera skills-import chimera-agent/skills/pin-the-case-that-narrowed-the-rule/SKILL.md

Integralność

SHA-256 pliku w postaci opublikowanej. Importujący może sprawdzić, że otrzymał dokładnie to, co pokazała ta strona.

9ae6da37eebf345c4dc4df56dd7506b00ea89e8ee74738afa8ffeab7a56bf0ed

Przeczytaj kartę w repozytorium