3.2 KiB
S13-003: Реализовать occupants/invitations
Generated from planning/tasks.json; status is in state/tasks.json.
- Этап: S13
- Оператор: protocol
- Reviewer: qa
- Зависимости: S12-022, S13-001
- Требования: MUC-002
Один результат
Reducer tracks nickname/real JID/count/inviter and pending invite accept.
Разрешённые пути
src/adapters/xmpp/room-occupants.*tests/protocol/room-occupants.*
Не изменять другие modules, shared contracts или spec snapshots без изменения плана. Stem без расширения разрешает принятые stack-specific extensions и focused test рядом.
Прочитать
- docs/WEB_PROFILE.md
- docs/ARCHITECTURE.md
- docs/CONTRACTS.md
- docs/TESTING.md
- roles/protocol.md
- docs/decisions/README.md
- docs/decisions/0001-stack.md (upstream artifact; отсутствие после S00 gate — blocker)
- docs/contracts/xmpp.md (upstream artifact S01)
- docs/contracts/models.md (upstream artifact S01)
- docs/contracts/lifecycle.md (upstream artifact S01)
Шаги
- Прочитать приведённые requirements, контракт через реестр и evidence прямых dependencies.
- Описать input/output этого модуля или документа; использовать accepted stack/ports без расширения scope.
- Работать только над одним указанным outcome. Если для него нужен новый shared contract — создать отдельную remediation через escalate, заблокировать original и завершить запуск; не расширять текущий scope.
- Reducer tracks nickname/real JID/count/inviter and pending invite accept.
- Добавить focused fixtures/checks из списка ниже, выполнить их и записать фактический результат.
Приёмка
- Reducer tracks nickname/real JID/count/inviter and pending invite accept.
- Leave count update
- invite source valid
- Нет изменений вне scope; реальный результат/evidence и handoff позволяют другому агенту продолжить.
Focused checks
- Leave count update
- invite source valid
Блокер и завершение запуска
Для всех ролей scope — только эта задача. При блокере создать issue JSON по state/ISSUE_TEMPLATE.json, вызвать escalate с текущим ID/role/agent, проверить status=blocked и resolution_task, затем немедленно завершить запуск. Не решать blocker и не выбирать следующую задачу самому. Новый агент назначается runner. Правки metadata через CLI — единственное исключение scope.
Передача
Сохранить evidence/handoff; submit → review и завершить запуск. Reviewer также выполняет только эту задачу, включая обязательное escalate при блокере.