4.3 KiB
4.3 KiB
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.pyProtocol — 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:
- Requirements invalidated? → Move to Out of Scope with reason
- Requirements validated? → Move to Validated with phase reference
- New requirements emerged? → Add to Active
- Decisions to log? → Add to Key Decisions
After each milestone:
- Full review of all sections
- Core Value check — still the right priority?
- Update Context with current state
Last updated: 2026-04-02 after initialization