Хелпер Support/TestTenantStore: реестр на списке с Create/UpdateStatus,
DI получает .Repository. Потребители (10 файлов), фейк удалён,
тесты 1340 зелёные.
Хелпер Support/TestFileStorage: словари объектов/типов + журнал удалений,
подставка читает состояние на момент вызова (позиция потока при Put — по
контракту порта). Потребители (9 файлов) перетипизированы на .Storage,
фейк удалён, тесты 1340 зелёные.
Хелпер Support/TestDiscoveryStore сгенерирован из фейка: состояние (tasks/
candidates/blacklist/log/monitored) сохранено, 29 методов порта читают состояние
на момент вызова, неожиданных методов нет. Потребители (8 файлов) перетипизированы
на .Store, фейк удалён, тесты 1340 зелёные.
Хелпер Support/TestTelegramStore: словари каталога/превью + NSubstitute-подставка,
все методы порта читают состояние на момент вызова (семантика sync/upsert/
мониторов/бэкфилла сохранена). Потребители (5 файлов) перетипизированы на
.Store, фейк удалён, тесты 1340 зелёные.
Хелпер Support/TestAiClassifier: вся поверхность фейка (FilterResult/ClassifyResult/
Throws-флаги/счётчики) сохранена, сервисы получают NSubstitute-подставку
(.Classifier), поведение читает состояние на момент вызова, счётчики через
When/Do. Потребители (5 файлов), фейк удалён, тесты 1340.
Хелпер Support/TestGlobalSettingsStore: словарь состояния + NSubstitute-подставка
(GetAsync через Returns, SetAsync через When/Do), DI получает .Store.
Потребители (4 файла) перетипизированы, фейк удалён, тесты 1340.
Хелпер Support/TestRegistry.With: поиск/списки по фиксированному списку через
Returns с Arg-матчерами. Потребители (3 файла) перетипизированы на
ITenantRepository, фейк удалён, тесты 1340 зелёные.