## 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.