Keep financial ownership, atomic publication and refresh CAS.
Failed refresh leaves cookies untouched; logout still clears them.
Remove full-history candle prefetch and special metadata retries.
Use native Pino request context instead of parallel middleware.
BREAKING CHANGE: remove investment stateVersion, queued sync state,
and tbank-sync status progress/resources. Consumers must observe
resources through sync=observe with the updated frontend contract.
Use owner enums for error and T-Bank protocol values with ESLint regression checks.
Preserve open wire fallbacks and keep protocol imports independent of DI and Prisma.
Verified npm ci, verify, 226 unit tests, 262 isolated e2e tests and unchanged OpenAPI.
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.
Store exact RUB balances, atomic transfers, linked refunds and versioned edits independently of T-Bank. Add migration, HTTP and durability verification.