Commit Graph
20 Commits
Author SHA1 Message Date
rust 9db914ad00 Merge pull request 'Перенести документацию в вики Gitea' (#11) from t10_Docs_to_wiki into main
ci / build-test (push) Successful in 3m1s
Reviewed-on: #11
2026-09-13 00:19:37 +03:00
stepan 45065d3202 Восстановить docs/ как зеркало для агентов (ревью МР #11)
ci / build-test (push) Successful in 2m44s
ci / build-test (pull_request) Successful in 2m46s
Ревью rust: перенос в вики не должен удалять из репозитория то, что нужно
агенту для работы (бэклог, статус, планы, код-стайл, спеки). Дублирование
вики и репы разрешено и обязательно: вики — актуальные версии для людей,
docs/ — зеркало для контекста агентов. README разведён по ролям.
2026-09-13 00:03:43 +03:00
stepan 3a26f8d4a5 Убрать docs/ из репозитория — документация перенесена в вики
README ссылается на вики-страницы (ТЗ, техдок, api-карта, инструкция,
код-стайл, бэклог, статус). Код не затронут.
2026-09-13 00:03:43 +03:00
Rustam Khalimov 31add804eb Перевести FakeTokenUsageEventStore на NSubstitute
ci / build-test (push) Successful in 2m52s
Хелпер Support/TestTokenUsageEventStore: записи + полная логика агрегации
(фильтры, группировки day/tenant/provider/model) читают состояние на момент
вызова. Потребители (10 файлов) перетипизированы на .Store, фейк удалён,
тесты 1340 зелёные.
2026-09-12 22:49:41 +03:00
Rustam Khalimov 1db703c93b Перевести FakeTenantStore на NSubstitute
ci / build-test (push) Successful in 2m54s
Хелпер Support/TestTenantStore: реестр на списке с Create/UpdateStatus,
DI получает .Repository. Потребители (10 файлов), фейк удалён,
тесты 1340 зелёные.
2026-09-12 22:44:59 +03:00
Rustam Khalimov 3fb63489d6 Перевести FakeFileStorage на NSubstitute
ci / build-test (push) Successful in 3m12s
Хелпер Support/TestFileStorage: словари объектов/типов + журнал удалений,
подставка читает состояние на момент вызова (позиция потока при Put — по
контракту порта). Потребители (9 файлов) перетипизированы на .Storage,
фейк удалён, тесты 1340 зелёные.
2026-09-12 22:38:41 +03:00
Rustam Khalimov 564cfd5b40 Перевести FakeSecretCipher на NSubstitute
ci / build-test (push) Successful in 4m45s
Хелпер Support/TestCiphers.New: детерминированная семантика enc:base64 через
Returns-лямбды. Потребители (8 файлов) перетипизированы на ISecretCipher,
фейк удалён, тесты 1340 зелёные.
2026-09-12 22:35:22 +03:00
Rustam Khalimov f0cb807bff Перевести FakeDiscoveryStore на NSubstitute
ci / build-test (push) Canceled after 0s
Хелпер Support/TestDiscoveryStore сгенерирован из фейка: состояние (tasks/
candidates/blacklist/log/monitored) сохранено, 29 методов порта читают состояние
на момент вызова, неожиданных методов нет. Потребители (8 файлов) перетипизированы
на .Store, фейк удалён, тесты 1340 зелёные.
2026-09-12 22:06:52 +03:00
Rustam Khalimov 435c473df4 Перевести FakeTelegramStore на NSubstitute
ci / build-test (push) Canceled after 0s
Хелпер Support/TestTelegramStore: словари каталога/превью + NSubstitute-подставка,
все методы порта читают состояние на момент вызова (семантика sync/upsert/
мониторов/бэкфилла сохранена). Потребители (5 файлов) перетипизированы на
.Store, фейк удалён, тесты 1340 зелёные.
2026-09-12 21:55:43 +03:00
Rustam Khalimov 25954c9fad Перевести FakeInviteStore на NSubstitute
ci / build-test (push) Canceled after 0s
Хелпер Support/TestInviteStore: список приглашений + журнал мутирующих вызовов,
CAS-семантика TryActivateAsync сохранена. Гоночные сценарии JoinFlow переписаны
на предзасев статуса (эквивалент прежнего RacingInviteStore — класс удалён).
Потребители (7 файлов), тесты 1340 зелёные.
2026-09-12 21:50:55 +03:00
Rustam Khalimov 1bee0003ca Перевести FakeTenantRepository на NSubstitute
ci / build-test (push) Canceled after 0s
Хелпер Support/TestTenantRepository: фиксированный список + журнал запросов
страниц (PageRequests), неожиданные методы бросают NotSupportedException.
Потребители (7 файлов) перетипизированы на .Repository, фейк удалён,
тесты 1340 зелёные.
2026-09-12 21:44:58 +03:00
Rustam Khalimov 668c5b416d Перевести FakeTelegramGateway и FakeDiscoveryGateway на NSubstitute
ci / build-test (push) Canceled after 0s
Хелперы Support/TestTelegramGateway (журналы SetMonitor/Backfill/ReadSource,
сценарии Status/Catalog/сбоев по диалогам) и Support/TestDiscoveryGateway
(поиск/инфо/чтения/Join + NotFoundException на неожиданных методах).
Потребители (7 файлов) перетипизированы на .Gateway, фейк-классы удалены,
тесты 1340 зелёные.
2026-09-12 21:31:28 +03:00
Rustam Khalimov 9fd0df3c95 Перевести FakeTenantProvisioner, FailingTenantProvisioner и FakeRateLimitCounterStore на NSubstitute
ci / build-test (push) Canceled after 0s
Хелперы Support/TestTenantProvisioner (журнал схем + сценарий сбоя заданных схем,
счётчик через When/Do) и Support/TestRateLimitCounterStore (словарь окон,
Increment/GetCount/Reset/DeleteExpired читают состояние на момент вызова).
Потребители (9 файлов) перетипизированы, фейк-классы удалены, тесты 1340.
2026-09-12 20:41:24 +03:00
Rustam Khalimov b8c3f3e9aa Перевести FakeAiClassifier на NSubstitute
ci / build-test (push) Canceled after 0s
Хелпер Support/TestAiClassifier: вся поверхность фейка (FilterResult/ClassifyResult/
Throws-флаги/счётчики) сохранена, сервисы получают NSubstitute-подставку
(.Classifier), поведение читает состояние на момент вызова, счётчики через
When/Do. Потребители (5 файлов), фейк удалён, тесты 1340.
2026-09-12 20:31:15 +03:00
Rustam Khalimov 76a705a1d8 Перевести FakeGlobalSettingsStore на NSubstitute
ci / build-test (push) Canceled after 0s
Хелпер Support/TestGlobalSettingsStore: словарь состояния + NSubstitute-подставка
(GetAsync через Returns, SetAsync через When/Do), DI получает .Store.
Потребители (4 файла) перетипизированы, фейк удалён, тесты 1340.
2026-09-12 20:28:08 +03:00
Rustam Khalimov 28b9777fa0 Перевести FakeAiTools на NSubstitute
ci / build-test (push) Canceled after 0s
Хелпер Support/TestAiTools: по умолчанию оба метода бросают NotSupportedException
(семантика прежнего фейка — неожиданный вызов роняет тест), сценарии через
ReturnsFit/ThrowsOnEvaluate, счётчик EvaluateFitCalls -> Received/DidNotReceive.
Потребители (4 файла) перетипизированы на IAiTools, фейк удалён, тесты 1340.
2026-09-12 20:23:41 +03:00
Rustam Khalimov e3ade19353 Перевести FakeTenantRegistry на NSubstitute
ci / build-test (push) Canceled after 0s
Хелпер Support/TestRegistry.With: поиск/списки по фиксированному списку через
Returns с Arg-матчерами. Потребители (3 файла) перетипизированы на
ITenantRepository, фейк удалён, тесты 1340 зелёные.
2026-09-12 20:19:19 +03:00
Rustam Khalimov 688d24ce87 Перевести FakeRatesSource и FakeRatesListener на NSubstitute
ci / build-test (push) Canceled after 0s
Подставки собираются Substitute.For с фиксированным Returns (SourceWith),
проверки вызовов — Received/DidNotReceive. Фейк-классы удалены, тесты 1340
зелёные (один моргнувший тест TelegramIngressServiceTests — гонка порта
харнесса, не воспроизводится).
2026-09-12 19:47:55 +03:00
Rustam Khalimov c6332158fe Перевести FakeDiscoveryPacer на NSubstitute
ci / build-test (push) Canceled after 0s
Первый фейк из чек-листа задачи #1: Substitute.For<IDiscoveryPacer>, счётчики
DelayCalls -> Received/DidNotReceive, колбэк OnDelay -> When/Do. Фейк удалён,
тесты 1340 зелёные.
2026-09-12 00:07:27 +03:00
Rustam Khalimov 27c7831910 Deal — единая кодовая база
ci / build-test (push) Canceled after 0s
SaaS-мониторинг Telegram: ядро (модули Cards/Kanban/Pipeline/Tenants/Settings/
Discovery, Api, Infrastructure), сервисы telegram/ai/ml/storage, фронт Vue,
контракты и grpc-hosting, деплой-конфиги (dev/prod/observability/CI-раннер),
Gitea Actions CI, документация (ТЗ, техдок, api-map, код-стайл, планы, бэклог).

Текущее состояние: все этапы роадмапа 0–12 закрыты, сборка 5 sln 0/0,
тесты 1340/130/52/38/9 зелёные.
2026-09-11 23:56:47 +03:00