docs(specs): archive frontend query remediation
This commit is contained in:
+1
-1
@@ -19,4 +19,4 @@
|
||||
## 4. Completion evidence and audit tracking
|
||||
|
||||
- [x] 4.1 Run `npm run verify` and `openspec validate stabilize-frontend-query-and-strict-contracts --type change --store wealth-ledger-specs`; record their exact successful results.
|
||||
- [ ] 4.2 Update `docs/development/audit-remediation.md`: mark WL-P1-01 and WL-P1-02 done only after all implementation and verification tasks pass, include date, archive path, commits and exact non-mutating checks, then choose the next single recommended change.
|
||||
- [x] 4.2 Update `docs/development/audit-remediation.md`: mark WL-P1-01 and WL-P1-02 done only after all implementation and verification tasks pass, include date, archive path, commits and exact non-mutating checks, then choose the next single recommended change.
|
||||
@@ -0,0 +1,25 @@
|
||||
# frontend-query-coherence Specification
|
||||
|
||||
## Purpose
|
||||
|
||||
Гарантирует, что frontend читает, обновляет и инвалидирует один и тот же кэш API-данных после связанных пользовательских действий.
|
||||
|
||||
## Requirements
|
||||
|
||||
### Requirement: Frontend сохраняет когерентность кэша T-Bank connection
|
||||
Frontend MUST использовать идентичность кэша, с которой загружается статус T-Bank connection, когда успешная замена или удаление connection обновляет этот статус. После каждого успешного создания, замены или удаления connection frontend MUST инвалидировать идентичность кэша списка Brokerage Accounts, с которой этот список загружается.
|
||||
|
||||
#### Scenario: Успешная замена подключения обновляет status и accounts
|
||||
- **WHEN** User успешно заменяет T-Bank connection в настройках
|
||||
- **THEN** frontend показывает статус из успешного ответа и следующий потребитель списка Brokerage Accounts не использует данные, загруженные до замены connection
|
||||
|
||||
#### Scenario: Успешное удаление подключения обновляет status и accounts
|
||||
- **WHEN** User подтверждает успешное удаление T-Bank connection
|
||||
- **THEN** frontend показывает состояние без подключения и следующий потребитель списка Brokerage Accounts не использует данные, загруженные до удаления connection
|
||||
|
||||
### Requirement: Generated API queries сохраняют транспортную и cache identity
|
||||
Frontend MUST сохранять сгенерированную API-клиентом идентичность для запросов Brokerage Accounts, операций Brokerage Account, событий Brokerage Account, Portfolio и T-Bank connection. Потребитель, которому требуется прочитать или инвалидировать один из этих кэшей вне hook, MUST получать его идентичность из владельца соответствующего query, а не формировать отдельный ключ.
|
||||
|
||||
#### Scenario: Потребитель читает кэш списка счетов
|
||||
- **WHEN** frontend определяет Brokerage Account для уже открытого account route
|
||||
- **THEN** он читает тот же кэш списка Brokerage Accounts, который использует его query hook
|
||||
@@ -37,3 +37,10 @@ Backend SHALL публиковать HTTP API с префиксом `/api/v1`,
|
||||
#### Scenario: Запрос приходит с неразрешенного origin
|
||||
- **WHEN** браузер отправляет cross-origin запрос не с настроенного frontend origin
|
||||
- **THEN** backend не разрешает браузеру доступ к ответу через CORS
|
||||
|
||||
### Requirement: Frontend typecheck строго проверяет application и tooling code
|
||||
Frontend MUST включать TypeScript strict mode для application source и Vite tooling source. Команда локального frontend typecheck MUST завершаться с ошибкой при любом нарушении strict TypeScript и завершаться успешно для committed frontend code.
|
||||
|
||||
#### Scenario: Agent проверяет frontend перед завершением задачи
|
||||
- **WHEN** агент запускает documented frontend verification или его typecheck stage
|
||||
- **THEN** проверка выполняет strict TypeScript compilation application и Vite tooling source и сообщает non-zero exit code при strict diagnostic
|
||||
|
||||
Reference in New Issue
Block a user