## Why Аудит 20.08.2026 подтвердил, что frontend не принуждает две уже объявленные структурные границы: i18n имеет import cycle, а cross-slice imports могут обходить public `index.ts`. Одновременно production build содержит один initial JavaScript chunk 628.21 kB minified, а coverage запускается без минимальных порогов. Поэтому green `npm run verify` ещё не гарантирует сохранение этих quality properties при следующем изменении. ## What Changes - Закрепить отсутствие import cycles и обхода public API между любыми разными FSD slices в `frontend/src`, включая `app` и tests; generated-code exception допустим только как явно документированное вынужденное исключение. - Устранить текущий i18n cycle и текущие deep imports без изменения пользовательского API или HTTP-контракта. - Lazy-load route page boundaries и добавить проверяемый budget: сумма entry bundle и всех его eagerly loaded JavaScript dependencies не превышает 500 kB minified. Lazy route chunks получают baseline только для последующих регрессий; ручной vendor chunking не вводится. - Закрепить coverage floors как anti-regression signal: statements 82%, branches 75%, functions 75%, lines 83%. - Перевести remediation registry в active для WL-P3-02, WL-P3-03, WL-P3-05 и WL-P3-06. WL-P3-04 остаётся `planned`: accessibility semantics не входят в текущий MVP scope. ## Capabilities ### New Capabilities - `frontend-quality-guardrails`: воспроизводимые structural, bundle и coverage guards для delivered React client. ### Modified Capabilities _Нет._ ## Impact - Frontend: FSD dependency configuration, i18n and app public imports, route loading, Vite/Vitest configuration, package scripts и targeted tests. - Specs/docs: delta-spec, change design/tasks и audit remediation registry. Не изменяются HTTP/OpenAPI contract, domain terminology, backend, T-Bank integration, Mantine accessibility semantics, CI/CD или deferred Prisma work.