# S05-002: Реализовать WSS adapter > Generated from planning/tasks.json; status is in state/tasks.json. - Этап: S05 - Оператор: protocol - Reviewer: qa - Зависимости: S04-011, S05-001 - Требования: NET-001, NET-006 ## Один результат Adapter соединяется через accepted XMPP library и публикует typed connect/close events. ## Разрешённые пути - `src/adapters/xmpp/transport.*` - `tests/protocol/transport.*` Не изменять другие 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) ## Шаги 1. Прочитать приведённые requirements, контракт через реестр и evidence прямых dependencies. 2. Описать input/output этого модуля или документа; использовать accepted stack/ports без расширения scope. 3. Работать только над одним указанным outcome. Если для него нужен новый shared contract — создать отдельную remediation через escalate, заблокировать original и завершить запуск; не расширять текущий scope. 4. Adapter соединяется через accepted XMPP library и публикует typed connect/close events. 5. Добавить focused fixtures/checks из списка ниже, выполнить их и записать фактический результат. ## Приёмка 1. Adapter соединяется через accepted XMPP library и публикует typed connect/close events. 2. Local WSS fixture connects 3. TLS/endpoint failure exposed 4. Нет изменений вне scope; реальный результат/evidence и handoff позволяют другому агенту продолжить. ## Focused checks 1. Local WSS fixture connects 2. TLS/endpoint failure exposed ## Блокер и завершение запуска Для всех ролей 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 при блокере.