# Backend Architecture Refactor — Tasks Статус: done - [x] Task 0: Baseline verification before runtime changes. - [x] Task 1: Mask unhandled `500` errors without changing `HttpException` responses. - [x] Task 2: Harden production runtime config for JWT secrets and credentialed CORS. - [x] Task 3: Harden portfolio position DTO validation for quantity and buyDate. - [x] Task 4: Localize T-Bank gRPC `any` casts behind typed facade methods. - [x] Task 5: Preserve cache `cachedAt` metadata on cache hits. - [x] Task 6: Synchronize published backend docs with current MOEX/envelope/health/T-Bank contracts. - [x] Task 7: Run final lint/test/build/docs quality gate and inspect final diff. ## Verification Log - Baseline backend tests: 30 files, 141 tests — PASS. - Baseline backend build: PASS. - Final backend lint: PASS. - Final backend tests: 34 files, 158 tests — PASS. - Final backend build: PASS. - Final docs build: PASS. - No `getServiceClient('X') as any` in production broker services: 0 matches. - No `MoexClientService` or `operations/refresh` in docs: 0 matches.