spec: require RUB-only behavior (WealthLedger/main#55) (#86)
Specs security / security (push) Successful in 8s
Specs verify / verify (push) Successful in 11s

This commit was merged in pull request #86.
This commit is contained in:
2026-11-11 09:20:25 +03:00
parent 892800301b
commit b6a9ff2d10
12 changed files with 129 additions and 327 deletions
@@ -84,9 +84,7 @@ Issue: WealthLedger/main#54
| `INPUT_SECURITIES`, `OUTPUT_SECURITIES`, `TRANS_IIS_BS`, `TRANS_BS_BS` | Перевод бумаг: у отдельного счёта всегда `UNVALUED_SECURITIES_TRANSFER`; в `all` — см. ниже |
| Сделки, купоны, дивиденды, погашения, амортизация, налоги, комиссии (включая `OUT_FEE`, `OUTPUT_PENALTY`), прочие | Внутренние, в потоки не входят |
- Поток в валюте, отличной от RUB, даёт счёту `NON_RUB_ACTIVITY`.
- `totalsByCurrency` последнего Portfolio с ненулевым значением в другой
валюте тоже даёт `NON_RUB_ACTIVITY`.
- Поток в валюте, отличной от RUB, не учитывается (RUB-only, WealthLedger/main#55).
- Учитываются только операции с `occurredAt ≤ fetchedAt` Portfolio этого
счёта. Иначе пополнение после оценки исказит результат.
- Дата потока — календарный день `occurredAt` в Europe/Moscow.
@@ -119,9 +117,8 @@ T-Bank не передаёт в операции счёт-контрагента
2. `OPERATIONS_HISTORY_INCOMPLETE`: покрытие не `complete`.
3. `PORTFOLIO_VALUATION_INCOMPLETE`: нет Portfolio или у ненулевой позиции
нет вычислимой стоимости (то же правило, что у `portfolio-value-history`).
4. `NON_RUB_ACTIVITY`.
5. `UNVALUED_SECURITIES_TRANSFER`.
6. `UNCONFIRMED_TRANSFER` (только `all`, когда есть кандидат на внутренний
4. `UNVALUED_SECURITIES_TRANSFER`.
5. `UNCONFIRMED_TRANSFER` (только `all`, когда есть кандидат на внутренний
перевод без доказанной связи).
Как причины попадают в ответ:
@@ -58,7 +58,6 @@ components:
enum:
- HISTORY_START_UNKNOWN
- OPERATIONS_HISTORY_INCOMPLETE
- NON_RUB_ACTIVITY
- UNVALUED_SECURITIES_TRANSFER
- UNCONFIRMED_TRANSFER
- ACCOUNT_VALUATION_DATES_DIFFER