# Lambda Lab 3.0 — Surfaces ## What This Is Telegram и Matrix боты для взаимодействия пользователя с AI-агентом Lambda. Каждый бот — тонкий адаптер поверх общего ядра (`core/`), изолирующего бизнес-логику от транспорта. Платформа подключается через `sdk/interface.py` Protocol; сейчас используется `MockPlatformClient`. ## Core Value Пользователь может вести диалог с Lambda-агентом через любой из поддерживаемых мессенджеров без изменения ядра системы. ## Requirements ### Validated - ✓ core/ — унифицированный протокол событий, EventDispatcher, StateStore, ChatManager, AuthManager, SettingsManager — existing - ✓ adapter/telegram/ — forum-first адаптер (Threaded Mode), `/start`, `/new`, `/archive`, `/rename`, `/settings`, стриминг ответов — existing, QA passed - ✓ adapter/matrix/ — Space+rooms адаптер, invite flow, `!new`, `!archive`, `!rename`, `!settings`, room-per-chat — existing - ✓ sdk/mock.py — MockPlatformClient: `stream_message`, `get_or_create_user`, `get_settings`, `update_settings` — existing ### Active - [ ] Matrix QA — ручное тестирование Matrix адаптера, фиксация багов - [ ] SDK integration — заменить MockPlatformClient реальным Lambda SDK (когда платформа готова) - [ ] Production hardening — конфиг для деплоя, логирование, мониторинг ### Out of Scope - E2EE для Matrix (python-olm не собирается на macOS/ARM) — инфраструктурная задача, отдельный трек - Supergroup forum mode для Telegram — заменён Threaded Mode как основным режимом - Telegram DM-first режим — заменён forum-first (Threaded Mode) ## Context - Python 3.11+, aiogram 3.4+, matrix-nio 0.21+, SQLite, pytest-asyncio - Threaded Mode — Bot API 9.3, Mac клиент имеет известные баги (новые топики не сразу видны в сайдбаре) - Lambda platform SDK ещё не готов, всё работает через MockPlatformClient - Архитектура: Hexagonal / Ports-and-Adapters; `core/` не зависит от транспорта ## Constraints - **Tech stack**: aiogram 3.x для Telegram, matrix-nio для Matrix — не менять без обсуждения - **Platform**: SDK подключается только через `sdk/interface.py` Protocol — core/ и adapters не трогаются при смене реализации - **Telegram**: Threaded Mode — единственный поддерживаемый режим; `closeForumTopic`/`deleteForumTopic` не работают в personal chat forums - **E2EE**: python-olm не собирается на текущей среде — Matrix работает только без шифрования ## Key Decisions | Decision | Rationale | Outcome | |----------|-----------|---------| | Forum-first (Threaded Mode) для Telegram | Bot API 9.3 позволяет личный чат как форум — чище, без суперпруппы | ✓ Good | | (user_id, thread_id) как PK в chats | Изоляция контекстов по топику | ✓ Good | | MockPlatformClient через sdk/interface.py | Не ждать SDK, разрабатывать независимо | ✓ Good | | Space+rooms для Matrix | Room-based UX и явные чаты важнее DM-first упрощений | ✓ Good | | Отказ от E2EE в Matrix | python-olm не собирается на macOS/ARM | — Pending | ## Evolution **After each phase transition:** 1. Requirements invalidated? → Move to Out of Scope with reason 2. Requirements validated? → Move to Validated with phase reference 3. New requirements emerged? → Add to Active 4. Decisions to log? → Add to Key Decisions **After each milestone:** 1. Full review of all sections 2. Core Value check — still the right priority? 3. Update Context with current state --- *Last updated: 2026-04-02 after initialization*