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