- порядок беклога и роадмапа назначен слоями: проверки, которым можно верить → долги входа → владелец записи и контракт API → конвейер под тестами → приложение и возможности поверх; у каждого движения записана причина; - заведены восемь задач под пункты «Завершения», которых не закрывала ни одна запись, — цель any-audio-source была без задач вовсе; - у четырёх задач сняты критерии, требовавшие того, что делает задача ниже по очереди; исправлены ссылки на несуществующий repo/sqlite и на отменённую разведку об очереди.
3.1 KiB
3.1 KiB
🧹 Поднимать сервис локально без действующего токена бота
- Тип: chore
- Категория: Очередь — Поднято к долгам входа: живой прогон нужен именно им, а сегодня его нет ни у одной задачи.
- Зачем: Адаптер Telegram проверяет токен обращением к Telegram и роняет старт, а боевым токеном запускаться запрещено: проверить поведение живым прогоном не может ни одна задача.
Замечено при попытке проверить вход вживую в задаче oidc-login 2026-08-12;
подтверждено прогоном: с выдуманным токеном старт кончается отказом создания
отправителя раньше, чем поднимается HTTP-сервер.
Отсюда следствие, которое стоит дороже самого неудобства: поведенческая верификация живым запуском недоступна проекту вовсе. Всякая задача, меняющая наблюдаемое поведение, проверяется только тестами, а «поднять и посмотреть» остаётся человеку с боевым конфигом.
Запрет запускаться боевым токеном снимать не надо: второй процесс с тем же токеном перехватывает обновления у работающего.
Затрагивает
- создание отправителя Telegram при старте в
main.go; - секция
[telegram]конфига и её образец; - раздел «Запреты» в
CLAUDE.md— строка про боевой токен остаётся, но рядом появляется способ поднять сервис без него; docs/review.md, подраздел «Недоступно проверке»: строка про недоступность живого прогона снимается или сужается.
Критерии приёмки
- Сервис поднимается с пустым токеном бота: HTTP отвечает, воркеры идут, бот не
создан. Оракул — запуск с конфигом без токена и запрос
GET /health: код 200. - Отсутствие бота названо в журнале один раз при старте, а не молчанием. Оракул — тот же запуск: в выводе есть строка о том, что бот не поднят и почему.
- Поведение с настоящим токеном не изменилось. Оракул — тест на создание отправителя с непустым токеном: прежний путь сохранён.