Files
specs/openspec/changes/archive/2026-08-24-tighten-frontend-quality-guardrails/proposal.md
T

46 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 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.