2.4 KiB
2.4 KiB
Why
Backend допускает неограниченный рост process-local кэша страниц журнала и
теряет детерминированность при конкурентных регистрации и refresh. Эти
подтверждённые audit findings WL-P2-01—03 могут приводить к исчерпанию памяти,
500 вместо ожидаемого конфликта и отзыву успешно обновлённой Session.
What Changes
- Заменить неограниченный cache страниц Account Ledger на bounded
lru-cache: не более 100 страниц, TTL 30 секунд, LRU eviction и канонический cache key. - Сделать database unique constraint источником истины для параллельной
регистрации и преобразовывать Prisma
P2002в409 EMAIL_ALREADY_REGISTERED. - Ротировать refresh token compare-and-swap обновлением Session, чтобы
только один конкурентный запрос был успешным; superseded token отвечает
401без отзыва Session победителя. - Добавить детерминированные service-level regression tests и обновить устойчивую auth/cache документацию, не объявляя временно неработающий Prisma e2e gate восстановленным.
Capabilities
New Capabilities
Modified Capabilities
user-authentication: определяет детерминированные результаты конкурентной регистрации и refresh rotation, включая поведение superseded refresh token.brokerage-account-ledger: определяет bounded process-local cache страниц журнала и его каноническую идентичность.
Impact
- Backend:
AuthService,BrokerageOperationsService, unit tests и production dependencylru-cache. - Specs: delta specifications для user authentication и brokerage account ledger.
- Docs: ADR-009 и фактическая документация authentication/ledger cache.
- Public HTTP routes и auth success statuses не меняются; их contract alignment остаётся отдельным WL-P2-04.