- Remove autogen and crewai backends (focus on custom only) - Simplify CLI: remove --backend flag - Remove optional deps from pyproject.toml - Add .tasks/ with 7 tasks for Phase 1 refactor - Add .wiki/concepts/meeting-room-v2.md with architecture plan - Update .wiki/index.md and .tasks/STATUS.md Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1.1 KiB
1.1 KiB
v2-p1-events
Goal
Создать EventEmitter и типы событий для событийной архитектуры. Заменяет прямые print() вызовы в движке.
Key files
meeting_room/events.py— создатьtests/test_events.py— создать
Decisions log
- 2026-05-03: EventEmitter синхронный в Фазе 1, AsyncEventBridge в Фазе 2
Open questions
Completed steps
- Создать events.py с константами событий (DISCUSSION_START, ROUND_START, AGENT_TURN_START, AGENT_MESSAGE, TOOL_CALL, TOOL_RESULT, AGENT_ERROR, ROUND_END, DISCUSSION_END, BOSS_TURN)
- Создать Event dataclass с type, data, timestamp
- Создать EventEmitter с методами on(), off(), emit()
- Написать тесты: подписка, отписка, эмиссия, множественные обработчики
- Запустить тесты
Notes
EventEmitter простой — dict of lists, без asyncio. Асинхронная версия появится в Фазе 2 (ws.py).