load() (загрузка источников по kind) переносится из catalog-enrichment.service.ts в отдельный провайдер-загрузчик; у сервиса остаются очередь и планировщик, а moex/ratings/candles уходят из его конструктора. Планировщик не выносим: он пересекается с fence-семантикой (backend#166).
AC
Поведение очереди, батчинга и fence не меняется.
npm run verify и e2e catalog/stocks/bonds/upcoming-events проходят.
Аудит 2026-10-19, CQ-006b, план п.18.
## Результат
`load()` (загрузка источников по kind) переносится из `catalog-enrichment.service.ts` в отдельный провайдер-загрузчик; у сервиса остаются очередь и планировщик, а moex/ratings/candles уходят из его конструктора. Планировщик не выносим: он пересекается с fence-семантикой (backend#166).
## AC
- [ ] Поведение очереди, батчинга и fence не меняется.
- [ ] `npm run verify` и e2e catalog/stocks/bonds/upcoming-events проходят.
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.
Аудит 2026-10-19, CQ-006b, план п.18.
Результат
load()(загрузка источников по kind) переносится изcatalog-enrichment.service.tsв отдельный провайдер-загрузчик; у сервиса остаются очередь и планировщик, а moex/ratings/candles уходят из его конструктора. Планировщик не выносим: он пересекается с fence-семантикой (backend#166).AC
npm run verifyи e2e catalog/stocks/bonds/upcoming-events проходят.