Files

3.6 KiB
Raw Permalink Blame History

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 не обнаружит фактическую документационную дельту.