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

52 lines
3.2 KiB
Markdown

## Обоснование
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 не требуется.