# Continue Here — Telegram Forum Redesign **Paused:** 2026-04-02 **Branch:** `feat/telegram-forum` --- ## Где мы Реализован forum-first Telegram адаптер. Прошли ревью (`@reviewer`). Фиксим замечания ревьюера. **Из замечаний сделан только fix #1** — `message.py` placeholder теперь обновляется при `TelegramBadRequest` (не `thread not found`). Остальное НЕ сделано. --- ## Незакрытые замечания ревьюера ### КРИТИЧНО - [x] **#1 message.py** — placeholder обновляется при telegram ошибке ✅ (сделано, не закоммичено) - [ ] **#2 commands.py** — `/archive`, `/rename`, `/new` не имеют `try/except` на Bot API вызовы. SQLite exceptions всплывают как необработанные → бот молчит ### ВАЖНО - [ ] **#3 start.py** — `_check_and_prune_stale_topics` не изолирован: любая non-TelegramBadRequest исключение ронит весь `/start`. Нужен `try/except Exception` вокруг всего вызова - [ ] **#4 commands.py /new** — не перехватывает лимит Telegram 1000 топиков (`TelegramBadRequest` с "topics limit") - [ ] **#5 topic_events.py** — ревьюер упомянул уведомление при закрытии, но в спеке этого нет — **пропустить** - [ ] **#6 bot.py** — нет таймаута на platform calls. Добавить `asyncio.wait_for(..., timeout=30)` вокруг `stream_message` в `message.py` ### РЕКОМЕНДАЦИИ - [ ] **#7 db.py** — добавить `CREATE INDEX IF NOT EXISTS idx_chats_user_id ON chats(user_id)` в `init_db()` - [ ] **#8 settings.py** — проверить что не обращается к старому `chat_id` вместо `thread_id` --- ## Незакрытые тесты - [ ] `test_message.py` — нет теста: `stream_message()` бросает исключение → placeholder показывает ошибку - [ ] `test_commands.py` — нет теста: `/new` при `TelegramBadRequest` (лимит топиков) - [ ] `test_commands.py` — нет теста: `/archive` в General топике (`thread_id=None`) --- ## Незакоммиченные изменения - `adapter/telegram/handlers/message.py` — fix #1 (нужно закоммитить вместе с остальными фиксами) --- ## Что делать дальше 1. Применить все фиксы из списка выше 2. Добавить недостающие тесты 3. `pytest tests/ -v` — все зелёные 4. `git commit -m "fix(tg): reviewer fixes — error handling, timeouts, db index"` 5. Merge `feat/telegram-forum` → `main` --- ## Контекст - **Спека:** `docs/superpowers/specs/2026-04-01-telegram-forum-redesign.md` - **План:** `docs/superpowers/plans/2026-04-01-telegram-forum-redesign.md` - **Ревью:** было сделано через `@reviewer` агент, результат выше - **workflow:** хотфиксы делает Claude Code напрямую (< 20 строк). Новые фичи — через `codex:rescue` --- ## Важные решения сессии - Forum-first: `(user_id, thread_id)` PK, без супергруппы - Закрытие топика через UI → автоархив - Переименование через UI → sync в БД - FSM только для settings (soul editing), не для маршрутизации - Стриминг через `sdk.stream_message()` → прогрессивный `edit_text` - workspace маппинг — ответственность платформы, адаптер передаёт `thread_id` как `context_id`