7.1 KiB
Why
Повторные открытия инвестиционных экранов зависят от скорости и доступности T-Bank, а перезапуск приложения теряет уже загруженную историю. Пользователь согласовал ADR 017: показывать сохранённые данные сразу и обновлять их в фоне только по запросу.
What Changes
- Все экраны T-Bank — счета, портфель, операции, доходы, инструменты, текущие цены, свечи и выплаты — повторно используют постоянно сохранённые данные, в том числе после перезапуска. Обычный ответ не ждёт брокера; целевой ориентир до 500 мс ещё должен быть подтверждён измерениями.
- Запрос экрана запускает обновление отсутствующих или устаревших данных: портфель, текущие цены и незавершённая дневная свеча — 1 минута; текущий месяц операций и список счетов — 5 минут; инструменты и календари выплат — сутки. Само течение времени работу не запускает.
- Полные прошлые месяцы операций и завершённые свечи сохраняются. Пропуски догружаются при запросах; ручное обновление перечитывает показанный период и зависимости текущего экрана, а не весь накопленный архив.
- При первой загрузке сначала доступны нужный экрану период и сравнения доходов, затем догружается вся доступная история счёта. История бумаг текущего портфеля загружается заранее в рамках этой работы; остальных — при открытии инструмента. Начатая работа может завершиться после ухода.
- Пользователь различает свежесть, полноту, загрузку и ошибку обновления. Неполный период не считается окончательным финансовым результатом или подтверждением отсутствия операций. Ошибка сохраняет прежние данные.
- Личные данные доступны только своему пользователю в границах текущего подключения. Старое подключение не может опубликовать поздний результат. Существующие проверки доступа и ошибки интеграции сохраняются.
«Полнота истории счёта» используется в смысле глоссария: все доступные исполненные операции периода на момент успешной сверки, включая полный пустой период. Полнота не означает свежесть и не исключает поздние исправления. Стабильность ID операции — принятое допущение проекта, не гарантия T-Bank; повторно полученные поля операции могут изменяться.
Non-goals: периодическая синхронизация, автоматический поиск исправлений полной старой истории, обнаружение сменившихся ID, история стоимости портфеля, предзагрузка всего каталога, архив без подключения, новые сценарии отключения и закрытых счетов. Эта сессия создаёт planning artifacts; реализация не выполняется.
Capabilities
New Capabilities
- specs/tbank-data-sync/spec.md: постоянное локальное чтение, запросы синхронизации, интервальная полнота, восстановление, общие данные инструментов, границы подключения и проверяемые критерии быстродействия.
Modified Capabilities
- specs/brokerage-accounts/spec.md: локальный список, сохранённые сводки, состояния загрузки и ошибок без синхронного ожидания брокера.
- specs/portfolio-view/spec.md: постоянный последний полный снимок, минутная свежесть и ручное обновление.
- specs/brokerage-account-ledger/spec.md: локальная пагинация и фильтрация, полнота периода вместо обязательного перечитывания RAM-кэша.
- specs/brokerage-account-income-analytics/spec.md: полнота выбранного периода и сравнений, сохранение результата, идентичность повторно загруженных операций.
- specs/brokerage-account-upcoming-events/spec.md: прогноз из сохранённых источников с видимой полнотой и ошибкой обновления.
- specs/frontend-data-resilience/spec.md: различимые состояния серверного сохранённого результата и клиентского кэша на всех экранах T-Bank.
Impact
Изменение затрагивает пользователей всех инвестиционных экранов, серверное хранение и получение данных, публичный контракт состояний, интерфейс обновления и объясняющую документацию. Финансовые правила, валютная точность, значение прогнозов и изоляция пользователей сохраняются. Основные specs и чужие active changes не изменяются до отдельного завершения lifecycle этого change.