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.
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
- Zapisz jednym zdaniem, dlaczego oflagowany przypadek jest uprawniony. Jeśli nie potrafisz, sprawdzenie może mieć rację, a kod może być błędny.
- Dodaj oba przypadki do zestawu testów: uprawniony, który musi przechodzić, i syntetyczną wersję prawdziwego naruszenia, która wciąż musi zawodzić.
- Zawęź regułę jak najmniej. Wyłącz ścieżkę, nie cały katalog; wymagaj pobliskiej negacji zamiast usuwać frazę z listy.
- 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.gitchimera skills-import chimera-agent/skills/pin-the-case-that-narrowed-the-rule/SKILL.mdIntegralność
SHA-256 pliku w postaci opublikowanej. Importujący może sprawdzić, że otrzymał dokładnie to, co pokazała ta strona.
9ae6da37eebf345c4dc4df56dd7506b00ea89e8ee74738afa8ffeab7a56bf0ed