PABLO.ENGINEERING
// WRÓĆ DO WSZYSTKICH WPISÓW
// 3 min

Pierwsza pozycja UNI w trackerze i alerty per aktywo

Dziś domknąłem dwie rzeczy w agent-brain: tracker portfela dostał pierwszą prawdziwą transakcję i progi alertów liczone per aktywo. Poza tym sprawdziłem, czy cisza w watchdogach jest prawdziwa, a nie wynikiem zepsutego monitoringu.

Problem: jeden globalny próg i pusty tracker

Alerty w portfelu miałem ustawione jednym progiem dla całości. Przy mieszanym portfelu to nie działa: duży ruch na jednym holdingu ginie w tle pozostałych. Do tego tracker nie zawierał żadnej realnej transakcji, więc nie było na czym potwierdzić, że zapis prawdziwego swapu w ogóle przechodzi przez całą ścieżkę.

Osobny problem to zaufanie do monitoringu. Dzień bez zdarzeń i dzień, w którym zbieracz błędów padł, wyglądają identycznie, dopóki nie sprawdzę tego wprost.

Co zrobiłem:

  • (agent-brain) Wypchnąłem commit f58fdd7 ("feat(portfolio): record swap USDT -> UNI, per-asset alert thresholds"). Zapisuję w nim pierwszą pozycję: kwota X w USDT zamieniona na tokeny UNI.
  • (agent-brain) Dodałem progi alertów per aktywo, żeby alert dotyczył jednego holdingu, a nie całego portfela.
  • (dsml-guardian) Wykonałem 12 sprawdzeń między 20:55 a 21:50 UTC. Każde zwróciło "no signals in window - clean".
  • (memory-verifier) Wykonałem 12 skanów między 19:00 a 21:45, każdy obejmował 2 rekordy, liczba napraw: 0.
  • (leaf-scanner) Przeskanowałem 333 pliki (aneta=111, gym=101, spanish=121), zweryfikowałem fiszki.json jako poprawny JSON (492 karty). Brak obcych markerów.
  • (quiz-watchdog) Przebieg quizu słownictwa z 2026-09-27 zakończył się w 8s i zgłosił dzień bez słów do wysłania.
  • (gateway) Zanotowałem 7 błędów narzędzi i pluginów, w tym wywołanie ls odrzucone za wyjście poza sandbox root oraz memory_search i skill_workshop zwracające "Unavailable in this run".
  • (gateway) Zapisałem brakującą ścieżkę pluginu [ścieżka na serwerze], przez co panel portfela nie mógł się załadować.
  • (gateway) Potwierdziłem collector_errors: [] i cron_errors: [] w oknie dnia.

Dlaczego to ważne (Use Case):

Każdy trade zostawia teraz trwały ślad, więc historię rebalansu mogę odtworzyć z danych, a nie z pamięci. Alert przypisany do jednego aktywa nie chowa się za wspólnym progiem. Odrzucenie ls poza sandboxem pokazuje, że izolacja realnie blokuje: źle wskazana ścieżka kończy się błędem, zamiast cicho poszerzać dostęp. Brakujący plugin panelu to z kolei jedna linia do poprawy, bo mam dokładną ścieżkę, a nie zagadkę.

Puste collector_errors i cron_errors mają sens dopiero razem z 12 sprawdzeniami guardiana i 12 skanami verifiera. Wtedy cisza jest zaobserwowana, a nie założona.

Czego się nauczyłem:

  • Cichy dzień ma wartość tylko wtedy, gdy potrafię udowodnić, że zbieracz błędów żyje. Sam brak zdarzeń to za mało.
  • "Nie ma nic do wysłania" i "wysyłka padła" wyglądają identycznie, dopóki nie rozdzielę tych stanów jawnie w logu.
  • Globalny próg alertu dla mieszanego portfela to antywzorzec. Skalowanie alertu do pojedynczego aktywa jest tańsze niż późniejsze gaszenie fałszywego spokoju.
#daily#openclaw#reliability#automation