проектdocs/frontend/frontend-adoption-backlog.md
Frontend backlog синхронизации `qadam-web` с backend
Обновлён 1 апр. 2026 г., 12:41 · 0 комментариев
Frontend backlog синхронизации qadam-web с backend
Паспорт документа
- Статус документа: living document
- Актуально на: 30 марта 2026 года
- Владелец: backend/platform-команда, совместно с frontend-командой
- Пересмотр: при изменении фронтового remediation backlog, contract drift или статуса
CP-103 - Область применения: рабочий backlog для frontend-команды по доведению
qadam-webдо текущего backend-контракта и чистого quality gate - Связанные документы:
Цель документа
Этот документ не дублирует backend handoff-пакеты. Его задача другая: разложить текущую красноту qadam-web на понятные фронтовые remediation-пакеты, чтобы frontend-команда видела не абстрактное CP-103 in progress, а конкретный список проблем, их приоритет и ожидаемый результат.
Как читать этот backlog
FE-BE-*в frontend-change-log.md отвечает на вопрос, что backend уже подготовил для frontend.- Этот документ отвечает на вопрос, почему
qadam-webвсё ещё красный и что именно надо починить на стороне frontend. - Приоритет
P0означает blocker для нормальной синхронизации с backend-контрактом. - Приоритет
P1означает внутренний type/tooling drift, который мешает сделать quality gate предсказуемым. - Приоритет
P2означает неблокирующий cleanup и warnings.
Текущий remediation backlog
FE-WEB-2026-03-30-01 — Registration и profile contract drift
- Статус:
planned - Приоритет:
P0 - Тип:
backend_contract - Scope: перевести registration, buyer profile и seller profile на текущий buyer/seller/account contract из
qadam-core
Что сломано сейчас
src/features/auth/ui/RegisterForm.tsxвсё ещё собирает legacy payload вида{ type, profile }src/views/me/profile/ui/MeProfilePage.tsxвсё ещё пишетname, хотя backend уже ушёл на account-centricfirstName/lastNamesrc/views/seller-dashboard/profile/ui/SellerProfilePage.tsxвсё ещё читает и пишет legacyname/descriptionseller-модель
Что нужно сделать
- перевести registration flow на
check-availability,register/buyerиregister/seller - убрать legacy
profileenvelope из frontend transport layer - buyer profile screen перевести на канонический write-contract account profile
- seller profile screen перевести на текущий response/write-contract из OpenAPI вместо старой
name/descriptionмодели
Acceptance
- в
qadam-webбольше нет опоры на legacyAuthController_register - buyer profile и seller profile используют текущий OpenAPI contract
pnpm check-typesне падает наRegisterForm.tsx,MeProfilePage.tsxиSellerProfilePage.tsx
Связанные backend-пакеты
FE-BE-2026-03-28-02FE-BE-2026-03-28-03FE-BE-2026-03-28-04
FE-WEB-2026-03-30-02 — Manual response aliases и response-shape drift
- Статус:
planned - Приоритет:
P0 - Тип:
backend_contract - Scope: убрать устаревшие ручные response aliases и привести seller/admin/leads slices к фактическому OpenAPI response shape
Что сломано сейчас
src/shared/api/api-types.tsвсё ещё ждёт.itemsтам, где backend уже публикует массив напрямую- ручные aliases скрывают реальный response shape seller/admin/leads срезов
- product web частично сидит на устаревшей ручной response-обвязке, хотя backend response coverage уже закрыт
Что нужно сделать
- перегенерировать
openapi/openapi.jsonи локальный frontend contract layer - вычистить устаревшие
.itemsassumptions изsrc/shared/api/api-types.ts - снять ручные response wrappers там, где current OpenAPI уже описывает массивы и объекты точно
- довести seller/admin/leads/current-user aliases до текущего backend response shape
Acceptance
- seller/admin/leads slices больше не используют ложные
.itemswrappers - generated response layer используется как primary source-of-truth
pnpm check-typesбольше не падает наsrc/shared/api/api-types.ts
Связанные backend-пакеты
FE-BE-2026-03-30-01FE-BE-2026-03-30-02FE-BE-2026-03-30-03
FE-WEB-2026-03-30-03 — Tooling и type hygiene drift
- Статус:
planned - Приоритет:
P1 - Тип:
tooling_quality - Scope: снять внутренний type/tooling drift, который не относится напрямую к backend runtime, но держит root quality gate в красном состоянии
Что сломано сейчас
commitlint.config.tsпадает из-за type import на@commitlint/typessrc/shared/store/__tests__/catalog-filter.types.test.tsиспользует устаревшие enum literals, которые больше не совпадают с текущими типами- root typecheck смешивает реальные contract issues и локальный frontend hygiene debt
Что нужно сделать
- либо добавить недостающую типовую зависимость для commitlint, либо упростить конфиг без неё
- привести catalog filter tests к текущим enum values и типам
- убрать локальные type-only поломки, не связанные с backend handoff
Acceptance
- root typecheck больше не падает на
commitlint.config.ts - catalog filter tests больше не конфликтуют с текущими enum values
- красный quality gate фронта отражает только реальные feature/contract проблемы, а не сломанный tooling baseline
FE-WEB-2026-03-30-04 — Неблокирующие lint warnings и cleanup
- Статус:
planned - Приоритет:
P2 - Тип:
frontend_internal - Scope: убрать накопившиеся warnings и локальный cleanup после закрытия contract drift
Что сломано сейчас
- в
src/entities/item/ui/ItemCard.tsxостаютсяany - в
src/features/seller-item-form/ui/ItemForm.tsxесть warning поuseEffectdependencies - в
src/proxy.tsвисит неиспользуемыйPUBLIC_PATHS
Что нужно сделать
- снять warning'и без расширения обходных suppressions
- не смешивать этот cleanup с
P0/P1remediation-пакетами
Acceptance
- root lint остаётся максимум с осознанными предупреждениями, а не с техническим шумом
- cleanup не ломает product routes и auth/proxy поведение