54 lines
2.8 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.

# Frontend Shared Boundary Cleanup
Дата: 2026-06-23
Статус: спецификация
## Контекст
FSD-миграция уже убрала большую часть legacy-imports, но после крупного рефакторинга обычно остаются
тонкие границы, которые сложно заметить без отдельного аудита: слишком широкий `shared` public API,
дублирующие экспортные точки, и отдельные cross-layer или cross-entity dependencies, которые формально
работают, но ухудшают архитектурную ясность.
Эта фича нужна, чтобы сузить shared/public surface и убрать архитектурные серые зоны без изменения
поведения экранов.
## Цель
Сделать frontend layer boundaries более явными: shared должен экспортировать только truly shared
поверхность, а доменные сущности и виджеты должны общаться через свои public entrypoints.
## Требования
### 1. Сузить shared public API
`apps/frontend/src/shared/api` должен содержать только то, что действительно используется как shared
инфраструктура. Доменная поверхность должна быть разнесена по своим entity API/entrypoints.
### 2. Устранить boundary ambiguity
Любые архитектурно сомнительные cross-entity или cross-widget зависимости должны либо быть убраны,
либо явно перенесены на public barrel entrypoints.
### 3. Сохранить runtime behavior
Изменения должны быть ограничены реорганизацией импортов и export boundaries. Бизнес-логика и UI
поведение не меняются.
### 4. Зафиксировать public API правила
Фича должна завершиться с понятным описанием того, что считается public API каждого frontend слоя.
## Ограничения
- Не выполнять UI redesign.
- Не менять backend contracts.
- Не переписывать feature logic вне boundary cleanup.
## Критерии приемки
- Shared API surface стал уже и понятнее, чем до фичи.
- Cross-layer / cross-entity зависимости используют public barrels или удалены.
- Описание public API слоёв frontend обновлено в docs.
- Поведение UI и API-контракты не изменились.