Native archive применил 9 added и 12 modified требований без удалений; все 10 сценариев сохранены. Новый canonical spec frontend-user-feedback внесён в AI_INDEX.
46 lines
4.8 KiB
Markdown
46 lines
4.8 KiB
Markdown
## MODIFIED Requirements
|
||
|
||
### Requirement: Управление подключением в настройках
|
||
|
||
Клиент SHALL показывать в настройках статус T-Bank connection, текст о
|
||
необходимости read-only T-Bank Invest token, поле token и действие подключения
|
||
либо замены. Для существующего подключения клиент MUST показывать действие
|
||
удаления с modal-подтверждением. Во время создания, замены или удаления все
|
||
действия секции подключения и действия modal MUST быть отключены. После
|
||
успешного создания или замены клиент MUST очистить поле token и обновить статус;
|
||
при ошибке token MUST остаться в поле.
|
||
|
||
Временный сбой чтения статуса SHALL восстанавливаться автоматически без кнопки
|
||
повтора и технического предупреждения. Пока первый статус неизвестен, клиент
|
||
MUST NOT показывать форму как подтверждённое отсутствие подключения: после
|
||
первичного ожидания SHALL отображаться нейтральная недоступность секции. Если
|
||
статус уже известен для текущей сессии, временный сбой его фонового чтения MUST
|
||
NOT скрывать доступную секцию или очищать ввод. Подтверждённое изменение
|
||
сессии или доступа MUST NOT маскироваться старым статусом.
|
||
|
||
Ошибки создания, замены и удаления MUST оставаться локальными, сохранять ввод
|
||
и возвращать применимые действия формы. Эти действия MUST NOT повторяться
|
||
автоматически как чтение статуса. Подтверждения успеха SHALL следовать
|
||
`frontend-user-feedback`: очевидное изменение статуса не требует дублирующего
|
||
уведомления, неочевидный результат получает одно краткое подтверждение.
|
||
|
||
#### Scenario: Пользователь подтверждает удаление
|
||
- **WHEN** User подтверждает удаление в modal
|
||
- **THEN** клиент блокирует действия секции до результата и после успешного ответа показывает состояние без подключения
|
||
|
||
#### Scenario: Ошибка загрузки статуса
|
||
- **WHEN** клиент временно не может получить статус подключения
|
||
- **THEN** он автоматически восстанавливает чтение, сохраняет известный статус текущей сессии либо показывает нейтральную недоступность после первичного ожидания без формы и кнопки повтора
|
||
|
||
#### Scenario: Ошибка проверки token в клиенте
|
||
- **WHEN** создание или замена получает `INVALID_TBANK_TOKEN` либо `TBANK_UNAVAILABLE`
|
||
- **THEN** клиент показывает соответственно локализованное сообщение о token и правах либо о временной недоступности T-Bank в контексте формы, возвращает интерактивность и сохраняет введённый token
|
||
|
||
#### Scenario: Фоновое чтение не сбрасывает ввод
|
||
- **WHEN** пользователь редактирует token в доступной секции, а фоновое чтение статуса временно не удалось
|
||
- **THEN** ввод и доступная секция сохраняются без технического предупреждения или уведомления
|
||
|
||
#### Scenario: Удаление не удалось
|
||
- **WHEN** пользователь подтвердил удаление подключения, а действие завершилось ошибкой
|
||
- **THEN** клиент не показывает успех, сохраняет известный статус и локальную ошибку, возвращает применимые действия и не повторяет удаление автоматически
|