Conventional commits / commits (pull_request) Successful in 12s
Specs security / security (pull_request) Successful in 7s
Specs verify / verify (pull_request) Successful in 11s
Specs security / security (push) Successful in 7s
Specs verify / verify (push) Successful in 9s
Record the approved proposal, delta specifications, design and 27 verified implementation tasks. Keep the change active; archiving and main-spec synchronization are deferred.
74 lines
7.1 KiB
Markdown
74 lines
7.1 KiB
Markdown
## Why
|
|
|
|
Повторные открытия инвестиционных экранов зависят от скорости и доступности
|
|
T-Bank, а перезапуск приложения теряет уже загруженную историю. Пользователь
|
|
согласовал [ADR 017](../../../../docs/adr/017-local-tbank-reads-and-background-sync.md):
|
|
показывать сохранённые данные сразу и обновлять их в фоне только по запросу.
|
|
|
|
## What Changes
|
|
|
|
- Все экраны T-Bank — счета, портфель, операции, доходы, инструменты,
|
|
текущие цены, свечи и выплаты — повторно используют постоянно сохранённые
|
|
данные, в том числе после перезапуска. Обычный ответ не ждёт брокера;
|
|
целевой ориентир до 500 мс ещё должен быть подтверждён измерениями.
|
|
- Запрос экрана запускает обновление отсутствующих или устаревших данных:
|
|
портфель, текущие цены и незавершённая дневная свеча — 1 минута;
|
|
текущий месяц операций и список счетов — 5 минут;
|
|
инструменты и календари выплат — сутки. Само течение времени работу не запускает.
|
|
- Полные прошлые месяцы операций и завершённые свечи сохраняются.
|
|
Пропуски догружаются при запросах; ручное обновление перечитывает показанный
|
|
период и зависимости текущего экрана, а не весь накопленный архив.
|
|
- При первой загрузке сначала доступны нужный экрану период и сравнения
|
|
доходов, затем догружается вся доступная история счёта. История бумаг
|
|
текущего портфеля загружается заранее в рамках этой работы; остальных —
|
|
при открытии инструмента. Начатая работа может завершиться после ухода.
|
|
- Пользователь различает свежесть, полноту, загрузку и ошибку обновления.
|
|
Неполный период не считается окончательным финансовым результатом или
|
|
подтверждением отсутствия операций. Ошибка сохраняет прежние данные.
|
|
- Личные данные доступны только своему пользователю в границах текущего
|
|
подключения. Старое подключение не может опубликовать поздний результат.
|
|
Существующие проверки доступа и ошибки интеграции сохраняются.
|
|
|
|
«Полнота истории счёта» используется в смысле
|
|
[глоссария](../../../../docs/glossary.md#полнота-истории-счёта): все доступные
|
|
исполненные операции периода на момент успешной сверки, включая полный пустой
|
|
период. Полнота не означает свежесть и не исключает поздние исправления.
|
|
Стабильность ID операции — принятое допущение проекта, не гарантия T-Bank;
|
|
повторно полученные поля операции могут изменяться.
|
|
|
|
**Non-goals:** периодическая синхронизация, автоматический поиск исправлений
|
|
полной старой истории, обнаружение сменившихся ID, история стоимости портфеля,
|
|
предзагрузка всего каталога, архив без подключения, новые сценарии отключения
|
|
и закрытых счетов. Эта сессия создаёт planning artifacts; реализация не выполняется.
|
|
|
|
## Capabilities
|
|
|
|
### New Capabilities
|
|
|
|
- [specs/tbank-data-sync/spec.md](specs/tbank-data-sync/spec.md): постоянное локальное чтение, запросы
|
|
синхронизации, интервальная полнота, восстановление, общие данные инструментов,
|
|
границы подключения и проверяемые критерии быстродействия.
|
|
|
|
### Modified Capabilities
|
|
|
|
- [specs/brokerage-accounts/spec.md](specs/brokerage-accounts/spec.md): локальный список, сохранённые сводки,
|
|
состояния загрузки и ошибок без синхронного ожидания брокера.
|
|
- [specs/portfolio-view/spec.md](specs/portfolio-view/spec.md): постоянный последний полный снимок,
|
|
минутная свежесть и ручное обновление.
|
|
- [specs/brokerage-account-ledger/spec.md](specs/brokerage-account-ledger/spec.md): локальная пагинация и фильтрация,
|
|
полнота периода вместо обязательного перечитывания RAM-кэша.
|
|
- [specs/brokerage-account-income-analytics/spec.md](specs/brokerage-account-income-analytics/spec.md): полнота выбранного периода
|
|
и сравнений, сохранение результата, идентичность повторно загруженных операций.
|
|
- [specs/brokerage-account-upcoming-events/spec.md](specs/brokerage-account-upcoming-events/spec.md): прогноз из сохранённых
|
|
источников с видимой полнотой и ошибкой обновления.
|
|
- [specs/frontend-data-resilience/spec.md](specs/frontend-data-resilience/spec.md): различимые состояния серверного
|
|
сохранённого результата и клиентского кэша на всех экранах T-Bank.
|
|
|
|
## Impact
|
|
|
|
Изменение затрагивает пользователей всех инвестиционных экранов, серверное
|
|
хранение и получение данных, публичный контракт состояний, интерфейс обновления
|
|
и объясняющую документацию. Финансовые правила, валютная точность, значение
|
|
прогнозов и изоляция пользователей сохраняются. Основные specs и чужие active
|
|
changes не изменяются до отдельного завершения lifecycle этого change.
|