0.167.32

Fixed

  • Таймаут на чтение настроек в фоновых циклах Consolidator/Dream (A-018 — P2). loadInterval обоих сервисов (internal/memory/consolidator_service.go, dream_service.go) вызывал store.GetSetting(context.Background(), …) без bound: на здоровой SQLite/Postgres это миллисекунды, но при зависшем БД-хендле вызов висел неограниченно прямо под runLoop, блокируя следующий тик. Теперь чтение идёт через context.WithTimeout(Background, settingsQueryTimeout) (5с; package var для укорачивания в тестах) — по таймауту сервис получает ошибку и использует дефолтный интервал (240м/120м), цикл продолжает жить. Тот же паттерн исправлен во втором месте с идентичной конструкцией (dream_service.go), не покрытом аудитом. Тесты: blockingSettingStore, висящий на GetSetting до ctx.Done(), для обоих сервисов — loadInterval возвращается по таймауту с дефолтом (guard от вечного зависания через горутину+select), и стор наблюдает отмену контекста; существующие позитивные/дефолтные кейсы интервалов не изменились.