diff --git a/tasks/BACKLOG.md b/tasks/BACKLOG.md index 6172722..ef24a63 100644 --- a/tasks/BACKLOG.md +++ b/tasks/BACKLOG.md @@ -43,7 +43,7 @@ ## Очередь -- [🧹 Поднимать сервис локально без действующего токена бота](items/local-run-without-telegram-token.md) — Адаптер Telegram проверяет токен обращением к Telegram и роняет старт, а боевым токеном запускаться запрещено: проверить поведение живым прогоном не может ни одна задача. +- [✨ Поднимать сервис без токена бота, работая одним входом](items/local-run-without-telegram-token.md) — Адаптер Telegram проверяет токен обращением к Telegram и роняет старт, а боевым токеном запускаться запрещено: проверить поведение живым прогоном не может ни одна задача. - [🐞 Убрать код провайдера из журнала запросов хранилища](items/provider-code-out-of-storage-log.md) — Строка запроса с кодом входа целиком уезжает в таблицу _logs и лежит там пять суток, хотя спека access требует, чтобы код в журнал не попадал. - [🐞 Вести учёт употреблённых состояний входа на сервере](items/server-side-login-state.md) — Одноразовость возврата держится на уборке куки, то есть на браузере: сервер не помнит, какие состояния уже потрачены. - [🧹 Строить адрес входа из настроек коллекции, а не из конфига](items/login-url-from-collection-settings.md) — Первая половина входа собрана руками из конфига и на настройки провайдера не смотрит, вторая берётся из коллекции: обновление библиотеки изменит только вторую половину. diff --git a/tasks/items/local-run-without-telegram-token.md b/tasks/items/local-run-without-telegram-token.md index f5fa167..e3d528d 100644 --- a/tasks/items/local-run-without-telegram-token.md +++ b/tasks/items/local-run-without-telegram-token.md @@ -1,6 +1,6 @@ -# 🧹 Поднимать сервис локально без действующего токена бота +# ✨ Поднимать сервис без токена бота, работая одним входом -- **Тип:** chore +- **Тип:** feature - **Категория:** Очередь — Поднято к долгам входа: живой прогон нужен именно им, а сегодня его нет ни у одной задачи. - **Зачем:** Адаптер Telegram проверяет токен обращением к Telegram и роняет старт, а боевым токеном запускаться запрещено: проверить поведение живым прогоном не может ни одна задача. @@ -16,9 +16,18 @@ Запрет запускаться боевым токеном снимать не надо: второй процесс с тем же токеном перехватывает обновления у работающего. +Разбор 2026-08-13 нашёл вторую половину работы, из-за которой запись сменила тип +с обслуживания на функцию. Отправитель ответов сегодня существует всегда, и +конвейер зовёт его без проверки. Уберите его — и задача, пришедшая из Telegram и +лежащая в базе с прошлого запуска, дойдёт до ответа и уронит процесс. Что с ней +происходит без бота, надо решить и записать нормой: молчаливая потеря принятой +записи запрещена инвариантом. + ## Затрагивает - создание отправителя Telegram при старте в `main.go`; +- ответ отправителю в конвейере расшифровки: задача из Telegram, дошедшая до + ответа при отсутствующем боте; - секция `[telegram]` конфига и её образец; - раздел «Запреты» в `CLAUDE.md` — строка про боевой токен остаётся, но рядом появляется способ поднять сервис без него; @@ -33,3 +42,7 @@ тот же запуск: в выводе есть строка о том, что бот не поднят и почему. - Поведение с настоящим токеном не изменилось. Оракул — тест на создание отправителя с непустым токеном: прежний путь сохранён. +- Задача из Telegram, дошедшая до ответа при отсутствующем боте, не роняет + процесс и не теряется молча. Оракул — тест конвейера с заведённой задачей + источника Telegram и без отправителя: процесс жив, задача осталась пригодной к + повтору либо перешла в `failed`, и об этом есть строка журнала.