Files
codex-bot f0478c6d6b
Specs security / security (push) Successful in 8s
Specs verify / verify (push) Successful in 10s
spec: archive quiet-user-feedback and sync canonical specs (#50)
Native archive применил 9 added и 12 modified требований без удалений; все 10 сценариев сохранены. Новый canonical spec frontend-user-feedback внесён в AI_INDEX.
2026-10-17 22:18:27 +03:00

8.2 KiB
Raw Blame History

MODIFIED Requirements

Requirement: Account page presents an upcoming events list

Страница Brokerage Account MUST предоставлять действие перехода на отдельную страницу «Будущие события». Эта страница MUST показывать все полученные события компактным списком без фильтров, пагинации и суммарного итога, с датой, типом, инструментом и прогнозной суммой в исходной валюте, если она известна. Страница MUST объяснять, что прогноз основан на позиции счёта, указан до налогов и может быть неполным из-за доступности данных источника. Это предметное ограничение прогноза MUST NOT превращаться в отчёт о технической синхронизации.

При временном сбое обновления страница MUST сохранять ранее доступный результат той же выборки с его исходными calculatedAt и окном, без индикации собственного чтения и ручного повтора. Состояние источника из meta, включая неуспех последней часовой попытки и неполноту, MUST представляться по frontend-data-resilience. При отсутствии результата SHALL показываться первичное ожидание либо нейтральная недоступность с автоматическим восстановлением по frontend-data-resilience. Подтверждённая потеря доступа MUST скрывать личные данные независимо от наличия сохранённого результата.

Scenario: Просмотр ближайших событий

  • WHEN User открывает «Будущие события» из обзора Brokerage Account
  • THEN он видит отсортированный список событий ближайших 30 дней, где offer обозначен без суммы

Scenario: Пустое состояние страницы

  • WHEN запрос будущих событий успешно возвращает полный пустой список
  • THEN страница сообщает, что на ближайшие 30 дней событий не найдено, и объясняет предметные ограничения покрытия источника

Scenario: Ошибка страницы

  • WHEN запрос будущих событий завершается временной ошибкой
  • THEN страница сохраняет доступный результат той же выборки либо показывает нейтральную недоступность без ручного повтора, восстанавливая чтение автоматически и не выдавая частичные данные за полный прогноз

Scenario: Прогнозный дивиденд с неизвестной суммой

  • WHEN прогноз содержит дивиденд с известной датой реестра, но без суммы
  • THEN его карточка обозначает дату как дату реестра и сумму как неизвестную, не показывает нулевую или полученную выплату

Scenario: Ошибка обновления при сохранённом прогнозе на странице

  • WHEN запрос будущих событий возвращает последний полный прогноз вместе с ошибкой его обновления
  • THEN страница показывает этот прогноз с его исходными calculatedAt и окном и отдельно обозначает неуспех обновления источника, не предлагая ручной повтор

Scenario: Первая загрузка либо ошибка без сохранённого прогноза

  • WHEN запрос будущих событий возвращает data: null, а meta обозначает выполнение первой загрузки либо её неуспех
  • THEN страница показывает доступное состояние первичного ожидания либо нейтральной недоступности без частичного списка и восстанавливает чтение автоматически

Requirement: Account overview includes upcoming events

Обзор Brokerage Account MUST показывать не более пяти ближайших Future Cash Event и действие перехода на полную страницу «Будущие события». Неуспешный или пустой запрос этого блока MUST оставаться локальным состоянием блока и не заменять успешно отображённый Portfolio. При временном сбое обновления блок MUST сохранять доступные события сохранённого окна без индикации собственного чтения; при отсутствии результата SHALL показываться нейтральная недоступность после первичного ожидания. Состояние источника из meta MUST представляться по frontend-data-resilience. Восстановление MUST выполняться автоматически без ручного повтора и без подмены неизвестного результата подтверждённой пустотой.

Scenario: Отображение ближайших событий

  • WHEN обзор счёта успешно загружен и календарь содержит будущие события
  • THEN обзор показывает первые пять событий в порядке даты и действие перехода к полной странице

Scenario: Ближайшие события недоступны

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

Scenario: Ближайшие события недоступны без сохранённого прогноза

  • WHEN обзор счёта успешно загружен, а события возвращают data: null и meta обозначает выполнение первой загрузки либо её неуспех
  • THEN Portfolio остаётся доступным, а блок будущих событий отображает собственное доступное состояние первичного ожидания либо нейтральной недоступности без частичного списка

Scenario: Неуспешное обновление не скрывает сохранённый прогноз

  • WHEN обзор счёта получает сохранённый полный прогноз вместе с ошибкой его обновления
  • THEN Portfolio и события сохранённого окна остаются доступными, а блок отдельно обозначает неуспех обновления источника, не предлагая ручной повтор