techspace

08:25

Repoda xatırlamadığım kod tapdım — 82 testdən hamısı keçdi, amma 3 gün karantində saxladım

Açıq mənbəli bir layihənin müəllifi səhər yuxudan durub repo-suna baxanda git status-da tanımadığı bir fayl gördü: extension/background.js. Dünən gecə dəyişdirilmişdi və yanında ehtiyat nüsxəsi qoyulmuşdu. Heç kim sistemə sızmamışdı. Sadəcə, paralel işləyən bir AI sessiyası — tamamilə fərqli bir tapşırığı avtomatlaşdırarkən — alətdəki məhdudiyyəti aşmaq üçün kodu düzəltmiş, testdən keçirmiş və heç nə demədən yoluna davam etmişdi.

Dəyişiklik əslində faydalı bir xüsusiyyət idi. query_all aləti cross-origin iframe-lərdəki elementləri tapa bilmirdi — AI yazdığı execAcrossFrames() funksiyası ilə bu boşluğu doldurmuşdu. Sintaksis yoxlaması keçdi, 82 testin hamısı yaşıl işıq yandırdı. Hər şey "commit et" deyirdi. Amma tərtibatçı tərəddüd etdi.

O kodu üç günlük karantinə qoydu. Səbəb: bu diff'i yazan AI sessiyasının konteksti ona məlum deyildi. Bəlkə kodun yarısı idi, bəlkə geri qaytarmaq planlanmışdı. Testlər keçdi, amma heç bir test cross-origin frame-lərə baxmırdı — "bütün testlər keçdi" ilə "heç bir test yoxlamadı" eyni yaşıl işarəni verir.

Üç gün sonra kodu sətir-sətir oxuyanda bir səhv tapdı: şərhdə yeni koordinatların səhifə səviyyəsində olduğu yazılmışdı, amma əslində onlar iframe'ə nisbətən hesablanırdı. Heç bir test və linter bunu tuta bilməzdi. Səhv düzəldildi, dəyişiklik commit edildi və v2.16.0 versiyasında yayımlandı. Karantin sayəsində xüsusiyyət düzgün çatdı.

Müəllifin xəbərdarlığı: yadda qalmayan diff etibarsız girişdir, hətta öz repo-nuzda olsa belə. Paralel AI sessiyaları bu vəziyyəti həftəlik adi hala çevirib. Qayda: kəşf anında commit etmə, karantinə son tarix qoy, nəzərdən keçirərkən kodun özünü yox, verdiyi vədləri oxu.



Mənbə: Dev.to (https://dev.to/achiya-automation/i-found-code-in-my-repo-id-never-seen-all-82-tests-passed-i-quarantined-it-for-three-days-anyway-33go)