docs(specs): archive frontend auth query gating change

This commit is contained in:
2026-08-25 14:30:05 +03:00
parent 5cc42f30ca
commit 6e2890f86f
4 changed files with 273 additions and 0 deletions
@@ -0,0 +1,62 @@
## 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 не обнаружит фактическую
документационную дельту.