0.82.2

Fixed

  • Code review v0.149.7 — cleanup (A-013/A-011/A-012 follow-up). Результат ocr review --commit cc79e0e (27 замечаний). Исправлены валидные в scope:
  • Шумный ERROR-лог при shutdown (3 сервиса). ListAgents в consolidator_service.go / dream_service.go / autocompact_service.go логировал context.Canceled как ERROR на каждом Stop — теперь подавляется через errors.Is(err, context.Canceled) (ожидаемая отмена loop-ctx при graceful shutdown).
  • Duplicate systray.Quit() race (tray). Одновременный signal + Quit-меню могли дважды вызвать systray.Quit() — теперь обёрнут в sync.Once (quitOnce).
  • Magic number +5*time.Second (tray). Вынесен в именованную константу quitGrace (DRY для двух call sites: Quit-меню + signal-handler).
  • monitorDonestopCoreDone (tray). Двусмысленное имя (в файле несколько «мониторов») переименовано для читаемости.
  • Тест re-entry shutdownCoreThenQuit (tray). TestShutdownCoreThenQuit_Reentry — 3 concurrent вызова + sync.Once → quit срабатывает ровно 1 раз, без дедлока.
  • Пропущены (конвенция проекта / эталон skill_reflection): русскоязычные комментарии (AGENTS.md — русский язык), Start-during-Stop race (тот же паттерн что в эталоне skill_reflection.go, реалистичные callers однопоточные), stopped overloaded (соответствует эталону), panic recovery (предсуществует во всех сервисах включая эталон), redundant ctx в main.go (вынужден сигнатурой шага func()).