Native archive применил 9 added и 12 modified требований без удалений; все 10 сценариев сохранены. Новый canonical spec frontend-user-feedback внесён в AI_INDEX.
8.2 KiB
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 и события сохранённого окна остаются доступными, а блок отдельно обозначает неуспех обновления источника, не предлагая ручной повтор