fix: harden auth and investment synchronization #38

Merged
codex-bot merged 1 commits from codex/backend-audit-fixes into develop 2026-09-27 14:32:07 +03:00
Owner

Исправляет A01–A10 и C01–C07 из BACKEND_AUDIT.md. Ошибки хранилища больше не превращаются в успешный logout и не удаляют действующую refresh cookie; сообщения исключений не попадают в completion log.

  • MOEX отклоняет повреждённые блоки и некорректную pagination, сохраняя прежний полный календарь/forecast.
  • Screen status учитывает operations successor. Candle coalescing сохраняет force/priority и выполняет полную атомарную forced reconciliation при усилении запроса.
  • Свежесть forecast вычисляется по сохранённому positionAt, включая fallback; timestamp операций сохраняет доли секунды на wire и при фильтрации.
  • HTTP validation возвращает вложенные JSON pointers без исходных значений; OpenAPI согласован с фактической формой ошибок.
  • Удалены подтверждённые legacy paths, лишние wrappers/exports и дублирующие tests; переиспользованы существующие helpers и публичные boundaries.

Проверки:

  • npm ci; npm run verify — lint, оба typecheck, 209 unit tests, build.
  • Полный npm run test:e2e в Linux: 21 suite, 262/262 tests на временной SQLite через штатный runner.
  • OpenAPI generation/parity, prisma validate и durability с историческим baseline — PASS.
  • Semantic/Boy Scout и pre-commit review — без оставшихся замечаний; commitlint — PASS.

BACKEND_AUDIT.md сохраняет исходные доказательства и результаты по каждому ID. На macOS остаётся native SIGABRT в SQLite/Jest runtime; полный e2e подтверждён в Linux на том же Node 24.21.0 и неизменённом lockfile. Зависимости, schema и migrations не менялись.

Исправляет A01–A10 и C01–C07 из BACKEND_AUDIT.md. Ошибки хранилища больше не превращаются в успешный logout и не удаляют действующую refresh cookie; сообщения исключений не попадают в completion log. - MOEX отклоняет повреждённые блоки и некорректную pagination, сохраняя прежний полный календарь/forecast. - Screen status учитывает operations successor. Candle coalescing сохраняет force/priority и выполняет полную атомарную forced reconciliation при усилении запроса. - Свежесть forecast вычисляется по сохранённому positionAt, включая fallback; timestamp операций сохраняет доли секунды на wire и при фильтрации. - HTTP validation возвращает вложенные JSON pointers без исходных значений; OpenAPI согласован с фактической формой ошибок. - Удалены подтверждённые legacy paths, лишние wrappers/exports и дублирующие tests; переиспользованы существующие helpers и публичные boundaries. Проверки: - npm ci; npm run verify — lint, оба typecheck, 209 unit tests, build. - Полный npm run test:e2e в Linux: 21 suite, 262/262 tests на временной SQLite через штатный runner. - OpenAPI generation/parity, prisma validate и durability с историческим baseline — PASS. - Semantic/Boy Scout и pre-commit review — без оставшихся замечаний; commitlint — PASS. BACKEND_AUDIT.md сохраняет исходные доказательства и результаты по каждому ID. На macOS остаётся native SIGABRT в SQLite/Jest runtime; полный e2e подтверждён в Linux на том же Node 24.21.0 и неизменённом lockfile. Зависимости, schema и migrations не менялись.
codex-bot added 1 commit 2026-09-27 14:10:02 +03:00
fix: harden auth and investment synchronization
Backend security / security (push) Successful in 8s
Backend verify / verify (push) Successful in 11m9s
Conventional commits / commits (pull_request) Successful in 28s
Backend security / security (pull_request) Successful in 7s
Backend verify / verify (pull_request) Successful in 10m38s
4796d9d3f0
Resolve A01-A10 and C01-C07 from the backend audit.
Preserve auth failures, forced candle reconciliation and forecast freshness.
Validate MOEX responses and nested HTTP errors; remove unused legacy paths.

Verified: 209 unit tests, 262 SQLite e2e tests on Linux, OpenAPI and durability.
Record the remaining macOS native SQLite abort in the audit.
codex-bot scheduled this pull request to auto merge when all checks succeed 2026-09-27 14:22:08 +03:00
codex-bot merged commit ca5dbcb382 into develop 2026-09-27 14:32:07 +03:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WealthLedger/backend#38