## 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 dependency `lru-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.