Files
codex-bot b6a9ff2d10
Specs security / security (push) Successful in 8s
Specs verify / verify (push) Successful in 11s
spec: require RUB-only behavior (WealthLedger/main#55) (#86)
2026-11-11 09:20:25 +03:00

3.5 KiB

portfolio-value-history Specification

Purpose

Определяет сохранение точных оценок Portfolio по счёту в RUB для будущей истории без предоставления публичного чтения этих точек.

Requirements

Requirement: Полные оценки Portfolio сохраняются как история

Система SHALL сохранять для каждого доступного Brokerage Account точку оценки в RUB только после успешного получения полного Portfolio с вычислимой стоимостью всех его позиций. Точка MUST содержать точное значение и фактическое время успешного получения Portfolio. Система MUST NOT подставлять ноль за отсутствующую стоимость и MUST NOT создавать точку для неполной оценки. Повторная публикация одной попытки MUST NOT создавать дубликат точки.

Точки, сохранённые до исправления двойного учёта CURRENCY/Cash Balance (WealthLedger/backend#140), сброшены миграцией. История оценок начинается заново после её применения; старые точки MUST NOT показываться как сопоставимые с новыми.

Scenario: Полная оценка в RUB

  • WHEN успешный полный Portfolio содержит вычислимый итог в RUB
  • THEN система сохраняет одну точку с точным значением в RUB

Scenario: Неполная оценка

  • WHEN в новом полном составе Portfolio у позиции отсутствует вычислимая стоимость
  • THEN система сохраняет новый Portfolio без точки истории оценки

Requirement: История оценки скрыта вне подтверждённого доступа

Система MUST сохранять историю оценки при замене token или удалении подключения, но MUST NOT раскрывать её без текущего подтверждённого доступа User к тому же Brokerage Account. Успешное новое подключение, подтверждающее доступ к счёту, MUST снова делать его сохранённую историю доступной для будущих поддерживаемых представлений. Система MUST NOT предоставлять отдельное публичное чтение точек истории этим требованием.

Scenario: Удалённое подключение

  • WHEN User удаляет T-Bank connection
  • THEN сохранённые точки оценки этого User не доступны для чтения

Scenario: Повторно подтверждённый счёт

  • WHEN новое успешное подключение подтверждает доступ User к тому же Brokerage Account
  • THEN ранее сохранённые точки этого счёта снова доступны для будущих поддерживаемых представлений