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.jsonjako 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
lsodrzucone za wyjście poza sandbox root orazmemory_searchiskill_workshopzwracają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: []icron_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.