docs: align current pages with hourly freshness model (WealthLedger/docs#34)
Conventional commits / commits (pull_request) Successful in 15s
Docs security / security (pull_request) Successful in 7s
Docs verify / verify (pull_request) Successful in 13s

This commit is contained in:
2026-10-14 13:18:18 +03:00
parent cad0f31615
commit ffe29c58f9
6 changed files with 35 additions and 27 deletions
+8 -5
View File
@@ -140,12 +140,15 @@ membership текущей revision перед каждым финансовым
личные данные. Ротация refresh token остаётся атомарной. личные данные. Ротация refresh token остаётся атомарной.
SQLite хранит полный последний portfolio, операции и их подтверждённые SQLite хранит полный последний portfolio, операции и их подтверждённые
диапазоны, private прогнозы, общие instrument/market sources и intent/staging. диапазоны, private прогнозы, сохранённые точки истории оценки, общие
instrument/market sources и intent/staging.
Нормализованные финансовые значения сохраняются decimal-строками. Полнота Нормализованные финансовые значения сохраняются decimal-строками. Полнота
отделена от свежести и пагинации. Ответ не ждёт внешних RPC; запрос при отделена от свежести и пагинации. Ответ не ждёт внешних RPC; обновлением
необходимости запускает работу в том же backend process через существующий личных данных владеет часовой обход в том же backend process через
лимитер. На startup импорт не запускается; восстановление требует следующего существующий лимитер, недостающие общие источники он же ставит в фоновую
запроса. Подробности — [модель свежести](cross-cutting/data-freshness.md). очередь. На startup обход начинает следующую попытку по обычному часовому
сроку; после нового подключения первая попытка начинается сразу.
Подробности — [модель свежести](cross-cutting/data-freshness.md).
PUT подключения сначала проверяет token у T-Bank, затем одной транзакцией PUT подключения сначала проверяет token у T-Bank, затем одной транзакцией
сохраняет encrypted token, новую revision и проверенный membership. сохраняет encrypted token, новую revision и проверенный membership.
+4 -3
View File
@@ -71,9 +71,10 @@
## Свежесть и границы ## Свежесть и границы
Обычное открытие использует query owner и локальный server snapshot. Обычное открытие использует query owner и локальный server snapshot.
«Обновить» запрашивает membership и сводки доступных счетов; активная работа «Обновить» перечитывает сохранённые membership и сводки доступных счетов;
наблюдается без нового импорта. Истечение TTL само не запускает запрос. активная работа наблюдается без нового импорта. Истечение TTL само не
Membership имеет пятиминутную свежесть, portfolio — минутную. Время списка запускает запрос: обновлением личных данных владеет часовой обход.
Membership и portfolio source имеют часовую свежесть. Время списка
не подменяет время каждой сводки. Список не заменяет полный не подменяет время каждой сводки. Список не заменяет полный
[портфель](../portfolio/overview.md), [журнал](../operations/overview.md) [портфель](../portfolio/overview.md), [журнал](../operations/overview.md)
или историю закрытых счетов. Для общего результата доступен или историю закрытых счетов. Для общего результата доступен
+5 -5
View File
@@ -121,8 +121,8 @@ HTML-источник, общий кэш и поведение при измен
portfolio; они не попадают в общие источники. portfolio; они не попадают в общие источники.
BondBy переиспользуется зависимостями выпуска. Discovery принадлежит query, BondBy переиспользуется зависимостями выпуска. Discovery принадлежит query,
свежесть — конкретному source/range. Missing/stale зависимости запрашиваются свежесть — конкретному source/range. Missing/stale зависимости ставятся
в фоне через прежний limiter; обычный HTTP-ответ не ждёт брокера. в фоновую очередь через прежний limiter; обычный HTTP-ответ не ждёт брокера.
Покрытые завершённые свечи не перечитываются после restart. Открытый хвост Покрытые завершённые свечи не перечитываются после restart. Открытый хвост
остаётся изменяемым; ручной refresh охватывает показанный период. остаётся изменяемым; ручной refresh охватывает показанный период.
@@ -150,6 +150,6 @@ BondBy переиспользуется зависимостями выпуск
## Online reference ## Online reference
Bond detail, search, and ticker lookup are read from the upstream integration Страница облигации, поиск и переход по тикеру обращаются к онлайн-справочнику
on each request. Saved quotes, candles, events, ratings, and portfolio labels брокера; сохранённые quotes, свечи, события, ratings и метки портфеля
retain their own freshness and failure boundaries. сохраняют собственные границы свежести и ошибок.
+7 -7
View File
@@ -159,9 +159,10 @@ TTM означает последние 12 месяцев, MRQ — послед
источники переиспользуются между пользователями, но личные позиции и выплаты источники переиспользуются между пользователями, но личные позиции и выплаты
всегда проверяют доступ. всегда проверяют доступ.
Обычное чтение не ждёт RPC; missing/stale зависимости запрашиваются в фоне Обычное чтение не ждёт RPC; missing/stale зависимости ставятся в фоновую
через существующий T-Bank limiter. Минутная свежесть применяется к quotes очередь через существующий T-Bank limiter. Часовая свежесть применяется
и открытому хвосту свечей, суточная — к metadata/company/календарям. к quotes и открытому хвосту свечей; metadata/company/календари, будучи
сохранёнными, не перечитываются обычным чтением.
Закрытые полные свечные интервалы, включая пустые, сохраняются после restart. Закрытые полные свечные интервалы, включая пустые, сохраняются после restart.
Новый день не делает прежнюю незавершённую свечу полной. Новый день не делает прежнюю незавершённую свечу полной.
@@ -197,7 +198,6 @@ scope. Частичные строки видны с предупреждени
## Online reference ## Online reference
Stock detail, company data, search, and ticker lookup are read from the Страница акции, поиск и переход по тикеру обращаются к онлайн-справочнику
upstream integration on each request. Saved positions, quotes, candles, and брокера; сохранённые позиции, quotes, свечи и события остаются независимыми
events remain independent local resources and are not replaced by a reference локальными ресурсами и не подменяются ошибкой справочника.
read failure.
+1 -1
View File
@@ -32,7 +32,7 @@
| Cash Balance | Суммы из `GetPositions.money`, объединённые по валюте | Заблокированные деньги не прибавляются; торгуемый инструмент `CURRENCY` остаётся позицией | | Cash Balance | Суммы из `GetPositions.money`, объединённые по валюте | Заблокированные деньги не прибавляются; торгуемый инструмент `CURRENCY` остаётся позицией |
| `totalsByCurrency` | Стоимости позиций + доступные деньги той же валюты | Не включает невычислимую стоимость; не обещает полную оценку портфеля | | `totalsByCurrency` | Стоимости позиций + доступные деньги той же валюты | Не включает невычислимую стоимость; не обещает полную оценку портфеля |
| `lastSuccessfulAt` | Время формирования успешного снимка, UTC | Не является временем каждой котировки; запасной снимок сохраняет исходное время | | `lastSuccessfulAt` | Время формирования успешного снимка, UTC | Не является временем каждой котировки; запасной снимок сохраняет исходное время |
| `isStale` | Истёк минутный срок свежести сохранённого portfolio source | Не описывает состояние клиентского кэша или ошибку фонового запроса | | `isStale` | Истёк часовой срок свежести сохранённого portfolio source | Не описывает состояние клиентского кэша или ошибку фонового запроса |
Ненулевые денежные остатки одной валюты суммируются. Позиции одинаковых Ненулевые денежные остатки одной валюты суммируются. Позиции одинаковых
инструментов в ответе отдельного счёта не объединяются; визуальная группировка инструментов в ответе отдельного счёта не объединяются; визуальная группировка
+10 -6
View File
@@ -79,18 +79,22 @@ Backend получает данные через серверную
не содержат данных и не получают фокус. При обычном фоновом обновлении не содержат данных и не получают фокус. При обычном фоновом обновлении
сохраняются предыдущие суммы и время успешного получения в UTC. сохраняются предыдущие суммы и время успешного получения в UTC.
Серверный `isStale` обозначает истечение минутной свежести снимка. Серверный `isStale` обозначает возраст снимка старше часа: обновлением
владеет часовой обход, а не запрос экрана.
Клиентское предупреждение означает неудачную попытку обновить уже показанный Клиентское предупреждение означает неудачную попытку обновить уже показанный
ответ. Эти состояния независимы и могут появиться одновременно. ответ. Эти состояния независимы и могут появиться одновременно.
Успешный повторный запрос обновляет суммы и время, снимает клиентскую ошибку; Успешный повторный запрос обновляет суммы и время, снимает клиентскую ошибку;
серверное предупреждение определяется новым `isStale`. серверное предупреждение определяется новым `isStale`.
Правила времени и ошибок приведены в [потоке загрузки](flows/portfolio-loading.md). Правила времени и ошибок приведены в [потоке загрузки](flows/portfolio-loading.md).
В текущем решении нет долговременной истории снимков, графиков стоимости Отдельного чтения истории стоимости нет, но каждый полный снимок
портфеля, валютной конвертации, учёта виртуальных позиций или заблокированных сохраняет точку оценки по счёту и валюте для будущих поддерживаемых
средств. Последний полный снимок сохраняется после перезапуска; выполнение представлений; публичного графика в текущем решении нет. Нет также
синхронизации рассчитано на один экземпляр backend. Действие «Обновить» валютной конвертации, учёта виртуальных позиций или заблокированных
перечитывает зависимости открытого экрана независимо от их свежести. средств. Последний полный снимок сохраняется после перезапуска;
обновлением личных данных владеет часовой обход, рассчитанный на один
экземпляр backend. Действие «Обновить» выполняет только локальное
перечитывание открытого экрана и не запускает работу с T-Bank.
Для проверки конкретной суммы используйте Для проверки конкретной суммы используйте
[руководство по расхождениям](how-to/investigate-discrepancy.md). [руководство по расхождениям](how-to/investigate-discrepancy.md).