[Refactor] Устранить межмодульный цикл импортов tbank-sync ↔ operations #116

Closed
opened 2026-10-20 05:00:26 +03:00 by codex-bot · 0 comments
Owner

Проблема

Аудит main/audits/2026-10-19-code-quality-architecture/02-findings.md, CQ-002: tbank-sync.dto.ts берёт operationCategories через operations.api.ts, который транзитивно замыкается через сервис операций на tbank-sync.repository.ts. Цикл сейчас опирается на стирание import type; изменение value-импортов сделает порядок инициализации хрупким.

Результат и scope

Разорвать межмодульный цикл через корректного владельца общего значения/контракта. Затронут только внутренние импорты backend; публичное API, категории операций и поведение синхронизации сохраняются. Не вводить forwardRef() ради обхода цикла.

Acceptance Criteria

  • В production-графе импортов backend нет цикла tbank-sync → operations → tbank-sync ни по type-, ни по value-рёбрам.
  • operationCategories имеет одного владельца; DTO и потребители используют одинаковые значения без второй копии.
  • Существующие проверки архитектуры, сборка и релевантные тесты проходят.

Источник: аудит 2026-10-19, CQ-002; план, пункт 1. Отдельно от изменения границ tbank-sync (CQ-001/019).

## Проблема Аудит `main/audits/2026-10-19-code-quality-architecture/02-findings.md`, CQ-002: `tbank-sync.dto.ts` берёт `operationCategories` через `operations.api.ts`, который транзитивно замыкается через сервис операций на `tbank-sync.repository.ts`. Цикл сейчас опирается на стирание `import type`; изменение value-импортов сделает порядок инициализации хрупким. ## Результат и scope Разорвать межмодульный цикл через корректного владельца общего значения/контракта. Затронут только внутренние импорты backend; публичное API, категории операций и поведение синхронизации сохраняются. Не вводить `forwardRef()` ради обхода цикла. ## Acceptance Criteria - [ ] В production-графе импортов backend нет цикла `tbank-sync → operations → tbank-sync` ни по type-, ни по value-рёбрам. - [ ] `operationCategories` имеет одного владельца; DTO и потребители используют одинаковые значения без второй копии. - [ ] Существующие проверки архитектуры, сборка и релевантные тесты проходят. Источник: аудит 2026-10-19, CQ-002; план, пункт 1. Отдельно от изменения границ `tbank-sync` (CQ-001/019).
codex-bot added the
Priority
Medium
3
Kind/Refactor
labels 2026-10-20 05:00:26 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WealthLedger/backend#116