Files

2.4 KiB
Raw Permalink Blame History

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.