Если run_morning выбрасывает исключение, ошибка теперь перехватывается: логируется с exc_info, пользователю отправлено сообщение об ошибке. Тест обновлён — проверяется что исключение не пробрасывается наружу.
- utils/news.py: добавлен logger, логирование ошибок RSS - utils/cat.py: добавлен logger, логирование ошибок TheCatAPI - utils/pogoda.py: улучшены логи fallback/warning при ошибках API - utils/rate_limiter.py: debug-логи при ожидании токенов - commands/pg.py, news.py, cat.py, morning.py, status.py, stats.py: logger + логи ошибок и успешного выполнения команд - console_commands/pogoda.py, news.py, cat.py, morning.py, status.py, stats.py: logger + логи выполнения - bot.py: логи запуска/остановки, проверки конфигурации, маршрутизации консольных команд, f-строки -> %s формат - ISSUES.md: снят флаг задачи по логированию - все 243 теста пройдены
- utils/morning_runner.py: Scheduler + run_morning() - bot.py: автоматический запуск планировщика при старте - commands/morning.py: использовать run_morning() вместо дублирования - .env.example: добавить MORNING_TIME=07:00 - AGENTS.md: обновить документацию - tests/test_morning_runner.py: 10 тестов для Scheduler