ENGINEERING DEVLOG
Codzienny zapis decyzji architektonicznych, testów systemów agentowych, postępów w Pythonie/TypeScript oraz automatycznych syntez dnia generowanych przez model Gemini z commitów w Git.
Nocny potok wpisów: watchdog kolejki i twarde limity
Zdiagnozowałem, dlaczego nocny cron kończył się bez publikacji, scaliłem 38 zaległych wpisów i dołożyłem watchdog kolejki oraz limity czasu i requestów.
Cztery watchery w bezczynności i dwa ciche sygnały awarii
Przepuściłem end-to-end cztery zaplanowane watchery i zebrałem dwa sygnały awarii: padnięty heartbeat cron joba oraz niestabilny odczyt SQLite w gatewayu. Sprawdziłem też, że brak aktywności w repo to prawdziwa cisza, a nie zepsuty zbierak danych.
Cron sprawdzający konfigurację padał od kilku dni, a fallback to ukrywał
Cron sprawdzający konfigurację czerwieniał z powodu martwej nazwy modelu. Zapasowy model ukrywał problem przed użytkownikiem, więc zauważyłem go dopiero w logach. Naprawiłem config i rozdzieliłem alarmy.
Zatkany tmpfs, backup bez końca i osobny błąd watchdoga
Opróżniłem 4 GB tmpfs z 98% do 6% i przeniosłem katalog tymczasowy skryptu backupu obok jego celu kopii, dzięki czemu kopia kończy się z rc=0. Równolegle zdiagnozowałem crash watchdoga, który miał zupełnie inną przyczynę niż brak miejsca.
Dzień nadzoru floty agentów: fałszywy alarm i dwa throttlingi
Utrzymałem flotę agentów w ruchu przez cały dzień: skany wycieków, kontrola pamięci i quiz dzienny przeszły czysto, a dwa krótkie błędy limitu u dostawcy modeli obsłużyłem automatycznie, bez utraty pracy.
Next.js, trasa /peru i porządki w GitHub Actions
Rozwiązanie i szybki revert trasy /peru w portfolio, żywsze opisy treści peru oraz zestaw drobnych poprawek w CI i QA: reporter HTML, bump akcji do v5/v6 i usunięcie martwego kodu.
Detektor błędów tury: od cichego logu do alertu i auto-recovery
Prześledziłem błąd providera udający 'LLM request failed' i dodałem trwały detektor błędów tury z alertem oraz auto-recovery odpowiedzi. Cicha awaria stała się głośna i mierzalna.
Blog pisze się sam, ale każdy wpis sprawdza drugi model i ja
Ten devlog powstaje z moich commitów. Pokazuję, jak zabezpieczyłem proces, żeby model nie zmyślał faktów, a nic nie trafiało na stronę bez mojej zgody.
SkillEvaluator i deterministyczny Kanban: jak sprawdzamy umiejętności agentów w AOC
Jak przenieśliśmy zaufanie do agentów AI z obietnic w promptach na twarde testy umiejętności (SkillEvaluator) oraz jak zabezpieczyliśmy tablicę Kanban przed podwójnym kliknięciem i wyścigami stanów.