# S02-012: Gate: Workspace и инженерный каркас > Generated from planning/tasks.json; status is in state/tasks.json. - Этап: S02 - Оператор: qa - Reviewer: orchestrator - Зависимости: S02-001, S02-002, S02-003, S02-004, S02-005, S02-006, S02-007, S02-008, S02-009, S02-010, S02-011 - Требования: GEN-001, GEN-002, GEN-005, GEN-006, NFR-001, NFR-002, NFR-003, NFR-004, NFR-005, NFR-006, NFR-009 ## Один результат Проверить завершённые artifacts этапа по checklist и записать единую gate evidence; не реализовывать отсутствующие функции за другие задачи. ## Разрешённые пути - `state/evidence/S02-gate.md` - `docs/acceptance/S02-gate.md` Не изменять другие modules, shared contracts или spec snapshots без изменения плана. Stem без расширения разрешает принятые stack-specific extensions и focused test рядом. ## Прочитать - docs/WORKFLOW.md - docs/TESTING.md - planning/stages/S02.md - docs/decisions/README.md - docs/decisions/0001-stack.md (upstream artifact; отсутствие после S00 gate — blocker) - docs/contracts/models.md (upstream artifact S01) - docs/contracts/lifecycle.md (upstream artifact S01) ## Шаги 1. Проверить done, evidence и reviews всех задач этапа. 2. Прогнать утверждённые focused checks этапа и проверить оставшиеся requirements из packet. 3. Работать только над одним указанным outcome. Если для него нужен новый shared contract — создать отдельную remediation через escalate, заблокировать original и завершить запуск; не расширять текущий scope. 4. Отсутствующий/неподтверждённый результат вернуть конкретному owner или оформить blocker; не ставить gate done. 5. Записать результаты и handoff следующему этапу. ## Приёмка 1. Каждая prerequisite задача done после отдельного review. 2. Checklist требований этапа имеет фактические результаты, не обещания. 3. Нет неучтённых blockers, mock-success или неописанной деградации. ## Focused checks 1. Повторить smoke/contract suite этапа по evidence зависимостей. 2. Сверить каждый requirement gate с документированным поведением и тестом. ## Блокер и завершение запуска Для всех ролей 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 при блокере.