69 lines
5.0 KiB
Markdown
69 lines
5.0 KiB
Markdown
## 1. Auth success-status contract
|
||
|
||
- [x] 1.1 Добавить независимый от БД backend regression test, который читает
|
||
Nest response-status metadata для `register`, `login` и `refresh` и
|
||
проверяет `200`; cookie/payload behavior не входит в его scope.
|
||
- [x] 1.2 Добавить явный runtime status `200` в три auth POST handlers, не
|
||
меняя logout `204`, error responses и session/cookie logic; добиться
|
||
прохождения нового metadata regression test.
|
||
- [x] 1.3 Обновить существующие auth e2e success expectations с `201` на
|
||
`200`, включая явный successful login assertion; задокументировать, что
|
||
suite остаётся deferred по WL-P2-05, а не считается passing gate.
|
||
- [x] 1.4 Запустить штатный frontend OpenAPI sync workflow после backend
|
||
change; принять только artifacts, сгенерированные этим workflow, затем
|
||
выполнить generated-artifact и runtime-contract checks.
|
||
|
||
## 2. Представление Client Cached Snapshot
|
||
|
||
- [x] 2.1 Добавить observable Accounts page regression coverage для
|
||
существующего списка во время in-flight refetch и после его ошибки: список
|
||
остаётся видимым, loading indicator неблокирующий, а retry локализованного
|
||
warning вновь вызывает тот же query.
|
||
- [x] 2.2 Расширить Account page coverage для эквивалентных Portfolio refetch
|
||
states, включая независимый render server `isStale` и client warnings об
|
||
ошибке refresh.
|
||
- [x] 2.3 Отрефакторить Accounts и Account view models, чтобы blocking
|
||
loading/error states выбирались только при отсутствии query data; раскрыть
|
||
progress, failure и retry refresh рядом с данными Client Cached Snapshot без
|
||
изменения query TTL, retry или refetch policies.
|
||
- [x] 2.4 Обновить Accounts и Account page presentations и localized copy для
|
||
отображения неблокирующего progress и доступных client refresh warnings с
|
||
retry, сохранив operations/events pagination вне scope.
|
||
|
||
## 3. Контролируемая ошибка refresh
|
||
|
||
- [x] 3.1 Добавить AuthProvider regression coverage для отклонённого
|
||
cold-start refresh: он устанавливает `ready`, оставляет user/access token
|
||
пустыми, очищает query cache и не создаёт необработанного отклонения Promise.
|
||
- [x] 3.2 Добавить coverage для protected `401`, чей serialised refresh имеет
|
||
транспортную ошибку: refresh возвращает контролируемую ошибку, локальный
|
||
auth/cache очищен, а исходный unauthorized response сохранён для
|
||
существующего route handling.
|
||
- [x] 3.3 Централизовать применение и очистку local auth state, направить
|
||
cold start и refresh защищённого запроса через общий non-throwing refresh
|
||
path и сохранить one-refresh-at-a-time behavior.
|
||
|
||
## 4. Устойчивая документация и состояние remediation
|
||
|
||
- [x] 4.1 Обновить feature documentation authentication, brokerage accounts и
|
||
portfolio с фактически поставленными `200` auth responses и различием между
|
||
server-side Portfolio fallback и Client Cached Snapshot refresh UX; limits и
|
||
deferred Prisma evidence должны остаться точными.
|
||
- [x] 4.2 Поддерживать `docs/development/audit-remediation.md` согласованным с
|
||
active status change и verification evidence; только после успешного archive
|
||
записать terminal archive path, commits и checks, затем отметить WL-P2-04,
|
||
WL-P2-07 и WL-P2-08 `done` вне этого task list.
|
||
|
||
## 5. Верификация перед archive
|
||
|
||
- [x] 5.1 Выполнить затронутые frontend и backend non-mutating lint, typecheck
|
||
и unit-test gates под Node 22; выполнить frontend `verify`, когда его
|
||
generated artifacts окончательны, и записать точные observed results.
|
||
- [x] 5.2 Выполнить `bash specs/scripts/verify-runtime-openapi.sh`, OpenSpec
|
||
authority verifier, strict change/spec validation и `git diff --check` в
|
||
каждом затронутом Git repository; устранить каждый blocking result.
|
||
- [x] 5.3 Провести независимый read-only review implementation, delta specs,
|
||
generated-contract diff, error-state tests и документации; выполнить
|
||
применимую `opsx-verify` procedure и устранить все blocking findings до
|
||
archive.
|