docs: record minimal runtime coordination
Docs security / security (push) Failing after 9s
Docs verify / verify (push) Successful in 12s

Document accepted cross-tab reauthentication, on-demand candles,
native query/logging ownership and the complete deployment path.

Preserve historical ADR context and link amendments through ADR 018.
Related backend change: WealthLedger/backend@d698ed9
This commit is contained in:
2026-10-03 11:41:24 +03:00
parent 2bfe87d0e4
commit e8e7fbd9fc
10 changed files with 85 additions and 32 deletions
+6 -5
View File
@@ -55,15 +55,16 @@ sequenceDiagram
B-->>F: Access token, профиль, новая refresh-cookie
F->>B: Protected request с Bearer
else Cookie нет или refresh отклонён
B-->>F: 401 и очистка cookie
B-->>F: 401 без изменения cookie
Note over F: Готовое неавторизованное состояние
end
```
В одном экземпляре frontend одновременные refresh используют один
незавершённый запрос. Между вкладками используется Web Locks, если браузер
его поддерживает. Backend всё равно защищает ротацию атомарно: координация
браузеров не заменяет серверную проверку.
В одной вкладке одновременные refresh используют один незавершённый запрос;
cookie-writing requests упорядочены локально. Межвкладочная синхронизация
не поддерживается: после смены сессии в другой вкладке допустимы reload/re-login.
Backend защищает ротацию атомарно. Неуспешный refresh не удаляет cookie
победившего запроса; недействительный token по-прежнему не восстанавливает сессию.
Обычный защищённый запрос с `401 UNAUTHORIZED` проходит refresh и один повтор
через общий транспорт; auth endpoints из этого цикла исключены. Само
+5 -7
View File
@@ -91,13 +91,11 @@ Selected, previous и yearAgo имеют независимую готовнос
серверным правилом; клиент воспринимает ключ как непрозрачную строку.
Это поле принадлежит ответу аналитики; общий журнал операций его не требует.
Frontend проверяет принадлежность выплат по полученному ключу до подготовки
плоского списка выплат. Отсутствующий, пустой или
нестроковый ключ, неоднозначные ключи инструментов, неизвестная группа, другая
валюта или несовпадение числа выплат приводят к существующему локальному
состоянию ошибки аналитики с повторной попыткой. Частичный список выплат не показывается как
полный; формула идентификации в клиенте не восстанавливается. Полностью пустой
ответ допустим. Состав и исходный серверный порядок записей и знак сумм
Backend обеспечивает принадлежность выплат, валюту и receipt count при
построении entries и instrument groups из одного набора данных. Frontend
доверяет типизированному contract, не восстанавливает формулу идентификации
и не выполняет второй consistency validator. Полностью пустой ответ допустим.
Состав и исходный серверный порядок записей и знак сумм
сохраняются, frontend не пересчитывает денежные итоги. Стабильный ID в пределах подключения и счёта определяет одну операцию:
повторная сверка обновляет её без двойного учёта. Одинаковые ID разных счетов
остаются разными выплатами. Изменение источника логотипа позволяет заново