3.6 KiB
Why
Frontend data-loading code сейчас заставляет page-level callers вручную передавать текущий session access token в несколько investment data hooks, хотя сам bearer header уже добавляется централизованным authenticated transport boundary. Из-за этого token одновременно является security credential и локальным флагом включения запроса в местах, которые не должны владеть transport concerns.
Это стоит исправить сейчас, потому что review от 25 авг 2026 подтвердил повторяющийся token-plumbing pattern как отдельную frontend architecture проблему. Пока он остаётся в публичных hook interfaces, новые screens будут копировать тот же контракт и расширять область, где auth state виден без необходимости.
What Changes
- Сузить frontend data-loading interfaces так, чтобы callers investment views больше не передавали session access token через props или hook arguments для включения query.
- Централизовать authenticated-query gating на frontend API/auth boundary, сохранив существующую transport responsibility: bearer injection остаётся единственным местом, которое формирует Authorization header для защищённых backend requests.
- Сохранить текущее observable behavior для authenticated и unauthenticated users: защищённые investment requests не выполняются без active session, а при active session продолжают использовать тот же backend API contract и тот же refresh/retry behavior.
- Сохранить existing query cache policy, stale behavior, loading/error/empty presentation states и generated OpenAPI snapshot.
- Non-goal: менять backend auth semantics, HTTP routes, response DTOs, generated API types, session storage model или T-Bank connection behavior.
- Non-goal: выполнять несвязанные frontend page restructuring или error-code consolidation из architecture review.
Capabilities
New Capabilities
Нет.
Modified Capabilities
Нет.
Это behavior-preserving frontend architecture cleanup. Change отказывается от
Delta Specs через skip_specs: true, потому что user-visible capability,
backend API contract, durable data behavior и product requirement не меняются.
Если при Design или реализации обнаружится observable behavior change, работа
должна вернуться к Proposal и Delta Specs до продолжения.
Impact
Users должны видеть те же investment screens и auth transitions до и после change. Frontend maintainers и AI agents получают более узкий data-loading interface: session token остаётся detail auth/API boundary, а не параметром каждого investment data consumer.
Affected implementation area — frontend authenticated data-loading boundary и его callers. Specs отслеживает SDD lifecycle. Backend и as-built docs repository не должны меняться, если Design не обнаружит фактическую документационную дельту.