surfaces/.continue-here.md

3.8 KiB
Raw Blame History

Continue Here — Telegram Forum Redesign

Paused: 2026-04-02 Branch: feat/telegram-forum


Где мы

Реализован forum-first Telegram адаптер. Прошли ревью (@reviewer). Фиксим замечания ревьюера.

Из замечаний сделан только fix #1message.py placeholder теперь обновляется при TelegramBadRequest (не thread not found). Остальное НЕ сделано.


Незакрытые замечания ревьюера

КРИТИЧНО

  • #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-forummain

Контекст

  • Спека: 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