# S00: Профиль и проверка стека Зафиксировать Web scope, browser targets и проверенные кандидаты, не устанавливая непроверенный framework по догадке. Входной gate: нет. Выходной gate: S00-010. ## Задачи - [S00-001](../tasks/S00-001.md): Утвердить Web-профиль — orchestrator; done. - [S00-002](../tasks/S00-002.md): Выбрать framework и build runtime — orchestrator; done. - [S00-003](../tasks/S00-003.md): Проверить XMPP WSS/auth библиотеку — protocol; blocked. - [S00-004](../tasks/S00-004.md): Проверить browser OMEMO backend — crypto; todo. - [S00-005](../tasks/S00-005.md): Выбрать IndexedDB wrapper и migration policy — storage; todo. - [S00-006](../tasks/S00-006.md): Зафиксировать browser/reference matrix — orchestrator; todo. - [S00-007](../tasks/S00-007.md): Утвердить password и crypto unlock модель — security; todo. - [S00-008](../tasks/S00-008.md): Описать WSS/upload/TURN/push topology — ci-cd; todo. - [S00-009](../tasks/S00-009.md): Согласовать результаты spikes — orchestrator; todo. - [S00-011](../tasks/S00-011.md): Restore verified npm registry access for the stack spike — ci-cd; done. - [S00-012](../tasks/S00-012.md): Fix runner prompt delivery after partial stdin timeout — ci-cd; done. - [S00-013](../tasks/S00-013.md): Bound oversized S21-006 runner context without truncating requirements — ci-cd; done. - [S00-014](../tasks/S00-014.md): Fix repeated runner cleanup after a submitted parent is reaped — ci-cd; done. - [S00-015](../tasks/S00-015.md): Устранить прерывание: Fix runner prompt delivery after partial stdin timeout — ci-cd; done. - [S00-016](../tasks/S00-016.md): Restore reviewer model availability after provider capacity failure — ci-cd; done. - [S00-017](../tasks/S00-017.md): Establish fail-closed SCRAM server-final validation — protocol; done. - [S00-018](../tasks/S00-018.md): Validate bounded standalone XML ingress for the XMPP candidate — protocol; todo. - [S00-010](../tasks/S00-010.md): Gate: Профиль и проверка стека — qa; todo. ## Граница этапа Выходной gate проверяет evidence/готовые проверки, не реализует функции за остальные задачи. Если отдельная карточка требует слишком большой контекст — split с сохранением requirements coverage.