70 lines
4.3 KiB
Markdown
70 lines
4.3 KiB
Markdown
# 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/ — DM-first адаптер, invite flow, `!new`, `!skills`, `!soul`, `!safety`, 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 |
|
||
| DM-first для Matrix (не Space-first) | Space lifecycle слишком сложен для первого этапа | ✓ 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*
|