Files
specs/openspec/changes/archive/2026-08-24-align-api-contract-and-client-resilience/proposal.md
T

3.2 KiB

Обоснование

Auth endpoints фактически отвечают 201, хотя их runtime OpenAPI-документ, зафиксированный frontend snapshot и сгенерированный client обещают 200. Одновременно frontend скрывает успешные данные во время фонового обновления и допускает необработанное отклонение Promise при транспортной ошибке начального или повторного refresh.

Это следующий рекомендуемый remediation change для WL-P2-04, WL-P2-07 и WL-P2-08: предыдущие P1 и связанные query-identity инварианты уже закрыты, а Prisma e2e остаётся честно deferred отдельным finding.

Изменения

  • Зафиксировать единый HTTP 200 contract успешного ответа для register, login и refresh; согласовать Nest runtime, OpenAPI snapshot, сгенерированные frontend types и регрессионные проверки, не меняя logout 204, error semantics или cookie/session policy.
  • Ввести UX Client Cached Snapshot для списка Brokerage Accounts и Portfolio: уже полученные данные остаются видимыми при фоновом обновлении и его ошибке, а ошибка отображается неблокирующе с повторной попыткой.
  • Нормализовать транспортную ошибку общего frontend refresh flow в контролируемое неавторизованное состояние без необработанного отклонения Promise; очистка in-memory session и query cache сохраняет существующий protected-route flow.
  • Обновить устойчивую документацию и audit remediation registry по мере реализации; не представлять metadata regression test как восстановленный Prisma HTTP e2e gate.

Возможности

Новые возможности

  • frontend-data-resilience: поведение Client Cached Snapshot и неблокирующих refresh states для Accounts и Portfolio.

Изменённые возможности

  • user-authentication: единый auth success status и контролируемое frontend-поведение при транспортной ошибке refresh.

Затрагиваемые области

  • Backend: auth controller и независимый от БД status regression test; текущий Prisma e2e gate не меняется.
  • Frontend: auth model, Accounts/Account view models и их observable UI tests; сгенерированные OpenAPI artifacts обновляются только штатным sync workflow при необходимости.
  • Specs/docs: delta specs, CONTEXT.md, feature/development documentation и remediation registry. Новых runtime dependencies, T-Bank credentials, persisted migrations и публичных routes не требуется.