Аудит main/audits/2026-10-19-code-quality-architecture/02-findings.md, CQ-001 и CQ-019: четыре модуля импортируют tbank-sync.repository.ts напрямую; декларируемая граница скрытой persistence не обеспечена правилом импортов.
Результат и scope
Установить узкий публичный внутренний контракт для существующих потребителей tbank-sync, перенаправить межмодульные импорты и закрепить реально выбранную границу проверкой. Сохранить DI, функциональность sync и публичные HTTP endpoints; вопрос поддержки status/observe отдельно рассматривается в backend#64. Слои/новый barrel добавлять только если они действительно проясняют owner, а не для симметрии.
Acceptance Criteria
Portfolio, operations, brokerage-accounts и upcoming-events не импортируют приватную реализацию tbank-sync напрямую; используемый ими контракт перечислен и ревьюируем.
Архитектурная проверка предотвращает возврат тех же обходных межмодульных импортов, не запрещая законные внутренние импорты.
Поведение и DI для четырёх потребителей сохранены; сборка, архитектурные проверки и релевантные тесты проходят.
Не меняется доступность legacy HTTP endpoints до решения backend#64.
Источник: аудит 2026-10-19, CQ-001/019; план, пункт 7. Цикл импортов CQ-002 — отдельный результат.
## Проблема
Аудит `main/audits/2026-10-19-code-quality-architecture/02-findings.md`, CQ-001 и CQ-019: четыре модуля импортируют `tbank-sync.repository.ts` напрямую; декларируемая граница скрытой persistence не обеспечена правилом импортов.
## Результат и scope
Установить узкий публичный внутренний контракт для существующих потребителей `tbank-sync`, перенаправить межмодульные импорты и закрепить реально выбранную границу проверкой. Сохранить DI, функциональность sync и публичные HTTP endpoints; вопрос поддержки status/observe отдельно рассматривается в [backend#64](https://git.personal.ksv741.ru/WealthLedger/backend/issues/64). Слои/новый barrel добавлять только если они действительно проясняют owner, а не для симметрии.
## Acceptance Criteria
- [ ] Portfolio, operations, brokerage-accounts и upcoming-events не импортируют приватную реализацию `tbank-sync` напрямую; используемый ими контракт перечислен и ревьюируем.
- [ ] Архитектурная проверка предотвращает возврат тех же обходных межмодульных импортов, не запрещая законные внутренние импорты.
- [ ] Поведение и DI для четырёх потребителей сохранены; сборка, архитектурные проверки и релевантные тесты проходят.
- [ ] Не меняется доступность legacy HTTP endpoints до решения backend#64.
Источник: аудит 2026-10-19, CQ-001/019; план, пункт 7. Цикл импортов CQ-002 — отдельный результат.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Проблема
Аудит
main/audits/2026-10-19-code-quality-architecture/02-findings.md, CQ-001 и CQ-019: четыре модуля импортируютtbank-sync.repository.tsнапрямую; декларируемая граница скрытой persistence не обеспечена правилом импортов.Результат и scope
Установить узкий публичный внутренний контракт для существующих потребителей
tbank-sync, перенаправить межмодульные импорты и закрепить реально выбранную границу проверкой. Сохранить DI, функциональность sync и публичные HTTP endpoints; вопрос поддержки status/observe отдельно рассматривается в backend#64. Слои/новый barrel добавлять только если они действительно проясняют owner, а не для симметрии.Acceptance Criteria
tbank-syncнапрямую; используемый ими контракт перечислен и ревьюируем.Источник: аудит 2026-10-19, CQ-001/019; план, пункт 7. Цикл импортов CQ-002 — отдельный результат.