# Frontend router Читай строки, которые активирует задача, затронутый путь **или** обнаруженная граница. Объединяй совпадения; якорь разрешает чтение только нужного раздела. Не загружай все conventions из-за одного frontend-файла. | Решение / сигнал | Читать до решения | | --- | --- | | Создать/перенести module/component/slice; выбрать page/entity/feature/shared; cross-slice imports | [Architecture](conventions/frontend-architecture.md) | | Component/props, container/VM/view, form, local state/effect, loading/error/retry, Mantine/UI | [UI](conventions/frontend-ui.md) | | Только продуктовая строка или Zod message | [Строки](conventions/frontend-ui.md#строки-и-валидация) | | Только TS declaration/import/export | [Код](conventions/frontend-ui.md#код-и-components) | | query/mutation, shared/api, server state/cache, generated types, Bearer/refresh | [Data](conventions/frontend-data.md) | | Тесты или behavior с testing risk | [Testing](conventions/frontend-testing.md) | | Новый abstraction/dependency, refactor или неоднозначный scope | [Общий выбор реализации](../../docs/development/engineering-governance.md#выбор-реализации) | | Request/response field, route/status/error shape, OpenAPI snapshot/generated type | [Общий contract workflow](../../docs/development/runtime-openapi-verification.md) | | Login/refresh/logout, token/cookie, auth ownership | Data + [security](../../backend/.ai/conventions/security-auth.md) + Testing | | Storybook/theme/tokens/shared UI | UI + точные [источники](SOURCES.md) дизайн-системы/каталога | UI-only props/presentation требуют UI, без API/structure/testing при отсутствии их triggers. Показ query state не означает изменение data fetching. Изменение тестов активирует Testing и без production diff. Нужные project facts выбирай через SOURCES. Повтори routing при новой границе и по итоговому diff.