Результат корпоративного cleanup — 29.10.2026
Изменения реализованы в шести изолированных ветках fix/corporate-cleanup-20261029.
Созданы Draft MR. Main/master, production и основная пользовательская копия не менялись.
Поставка не объявляется завершённой: состояние CI приведено отдельно ниже.
Исходники
| Репозиторий | SHA | Строки | MR |
|---|---|---|---|
| webrtc-komaroff | 6d48c68a21 |
+54 / −241 | !22 |
| py_faster_whisper | 1b72c6d3c6 |
+414 / −1203 | !7 |
| rag-stack | 93bee3fea0 |
+84 / −192 | !1 |
| helpers | 30c1ddc3d2 |
+124 / −48 | !1 |
| n8n | ac2ac43729 |
+506 / −629 | !1 |
| webrtc-server | fb5de458d5 |
+11 / −0 | !1 |
Всего: +1193 / −2313, итоговое сокращение 1120 строк. Включены тесты и документация.
Проверка git blame -w -M -C -C относительно исходных SHA не обнаружила изменений
чужих строк. Проверены 70 ранее существовавших файлов; новые файлы перечислены в diff.
Секреты не удалялись и не ротировались. В GitLab ASR добавлены protected CI_*
ссылки на прежние variables, чтобы стандартный job передавал их контейнеру;
новые значения секретов не создавались. CW не изменялся.
Что изменено
- ASR: один build manifest, локальная конфигурация отдельно, стандартный
build-labels → Bake. Проверяемые pinned code-only ветки worker/LinTO и полный runtime находятся в их Dockerfiles. Несовместимая база останавливает code-only; полный build выбирается явно. Четыре мёртвых модуля (393 строки), старые manifests, собственные селекторы и слепые пять повторов deploy удалены. Batch bridge не получает старые server VAD/WebSocket параметры. Неиспользуемая публикация diarization base убрана; общий base stage остаётся внутри Dockerfile. - Chat: native changed выбирает builds; прежняя матрица оставлена только для suites. Сохранены чужие CI gates/phases. Удалены exporter и собственный неверный override IID; исправлена версия PostgreSQL build context.
- RAG: deadline существующего DeliveryCommand применяется к vLLM-вызовам; независимый restart соседа не считается изменением spec. LinTO HTTP и legacy STT больше не используют один устаревший default. Dashboard содержит batch-метрики.
- n8n: атомарный request claim через существующую таблицу; нет повторного POST после неоднозначной ошибки. Одинаковые конкурентные tool calls разделяют Future, разные args имеют разные ключи. Клиенты, pool и server task закрываются при ошибке. Импортер конечный, с проверкой persisted publication и fingerprint. Нативный CLI 2.6.3 не регистрирует live webhook, поэтому существующий workaround сохранён.
- helpers 0.1.1: исключение записывается один раз; shutdown закрывает только собственные SDK providers. Исправлена clean-install dependency aiohttp.
- webrtc-server: уточнено назначение TURN; сетевой и runtime код сохранён.
Новые runtime сервисы, таблицы, соединения и универсальные managers не добавлялись.
Проверки
- ASR bridge: 41 test в собранном Docker image, настоящий NATS; отдельно пять worker tests на Python 3.10. Bridge suite выполняется в своём Python 3.11; у worker test stage установлен предел 90 секунд. Release helpers: 32 tests / 100 assertions. Повторные LinTO code releases, already_current, timeout и соседние tasks покрыты существующим suite.
- RAG: 12 Ruby tests / 30 assertions.
- helpers: 4 tests с настоящим OpenTelemetry SDK.
- n8n: 6 tests с настоящим PostgreSQL локально и в CI; importer replay и три failure cases в image; настоящий CLI 2.6.3 + временная SQLite импортировал workflows и пропустил повторный запуск с тем же fingerprint.
- Chat: 7 delivery tests, Ruby publication phases, suite impact matrix; все пять обязательных GitLab checks прошли в pipeline 5519.
- Native selection: 18 сценариев на трёх repos, включая generated Bake parsing.
Docs/helper-only — ноль application builds; Front-only — один Front;
shared input — пять backend consumers. ASR
src/остаётся широким context: его изменение выбирает семь образов. Это ограничение не скрыто за словом «точный». - DRS до/после: ASR 16, n8n 6, RAG 18, Chat 12 services. Изменились только старые ASR env, завершение importer, image LinTO HTTP и override Front IID. Сети, mounts, volumes, GPU и лимиты сохранены.
- Две source-only пробы и изменение runtime проверены на hash guards. Это проверка выбора/совместимости исходников, не два GPU rollout.
- GitLab CI lint ASR/n8n: valid, без errors/warnings. Diff/check и повторный copy-aware authorship audit пройдены.
Закрытие пунктов ревью
| Пункт | Реализованный результат в исходниках |
|---|---|
| R04 | Разделены свои image references LinTO HTTP / legacy STT; общий чужой deploy сохранён |
| R05 | ASR/n8n приведены к композиции опубликованных шаблонов; Chat/RAG только в разрешённых строках |
| R07 | Deadline vLLM через существующий helper; сравнение соседей по spec; удалены пять повторов deploy ASR |
| R08 | Стандартный build-labels/Bake; удалены собственные дубли build selection |
| R09 | Один build manifest на repo, локальный runtime отдельно; убран неиспользуемый образ diarization base |
| R10 | Исправлены свои форматы .version и pins gems; удалён уже исправленный upstream monkey patch |
| R11 | Удалены доступные по авторству исторические ветки/aliases; смешанные CI blocks сохранены |
| R13 | Неиспользуемые env/guard нового batch bridge удалены; действующий legacy consumer сохранён |
| R14 | Удалены четыре мёртвых ASR-модуля, 393 строки |
| R15 | Собственный dashboard приведён к batch; в Grafana не импортирован |
| R19 | Удалены свои лишние константы/default; чужие shell/services сохранены |
| R20 | Удалён свой deploy override IID; чужая ошибка Dockerfile остаётся |
| R21 | Полностью не закрыт: собственный отдельный CI обход не добавлялся, общий чужой deploy/rules сохранён |
| R24 | Обновлены свои текущие README/DOCS/knowledge; исторические документы отмечены, generated wiki сохранён |
| R25 | Удалены два неиспользуемых exporter в Chat Agent и n8n |
R01, R02/R03/R06/R16/R17/R18/R22/R23 исключены по запросу. R12 не имеет участков разрешённого авторства. Дополнительные исправления helpers и n8n выполнены по EXTRA_REVIEW.md принятого плана.
Ограничения авторства
R01, R02/R03/R06/R16/R17/R18/R22/R23 исключены согласно решению владельца. R12 не имеет разрешённых участков. R04/R05/R11/R19/R20/R21 закрыты лишь частично: чужой общий deploy RAG, CI/gem строки, перенесённые gates Chat, старый RAG service, Ollama shell и Front Dockerfile IID оставлены. Copy-aware blame обнаружил больше перенесённых чужих CI строк, чем первоначальная построчная проверка; они сохранены. Исторический CDI repair не выполнялся и не менялся.
CI, образы и runtime
CI запускается с CI_SKIP_PUSH=1 на review branches; production images не публикуются.
| Репозиторий | Фактическая проверка | Итог |
|---|---|---|
| Chat Agent | 5519 | Все пять checks PASS; application build jobs не запускались |
| ASR | 5557 | Все образы собраны, 41 bridge + 5 worker tests PASS; Trivy остановил job на уязвимостях существующей LinTO базы |
| n8n | 5518 | Оба image и tests собраны; Trivy блокирует текущие vendor dependencies |
| RAG / helpers / webrtc-server | Указанные выше локальные адресные проверки | Production CI/deploy не запускались |
В ASR исправлены ошибки нового build: interpolation имени базового образа,
отсутствовавший tests/init.py и ошибочный запуск bridge suite в worker Python 3.10.
Pipeline 5557 проверил 429c9a01c45ea6d9ecebdb3efc3d28836c9d2436.
Последующий коммит удалил лишнюю публикацию diarization base (потребителей нет)
и уточнил документацию: штатный manifest теперь содержит восемь образов.
Для этого diff повторно прошли native selector/Bake и authorship; повторная
GPU-сборка и тот же заведомо неуспешный vulnerability scan не запускались.
Trivy проверил LinTO первым и остановился: отчёт содержит девять находок ОС (8 High / 1 Critical) и три Python (1 High / 2 Critical), включая certifi, filelock и uv. Это не утверждение об отсутствии находок в остальных ASR images: до них scanner не дошёл. Обновление базы требует отдельной проверки runtime, поэтому кодовая база LinTO не подменялась ради зелёного CI. Временная недоступность GitLab устранена вне этой задачи; все коммиты отправлены. Прежний job 26772 отменён; инфраструктура не перезапускалась.
У n8n сохранённая версия 2.6.3 содержит исправляемые High/Critical уязвимости в vendor dependencies. Scanner не отключался. Обновление n8n и совместимость workflows не входят в выполненную проверку; до решения этого блокера поставка n8n не готова.
Локально private registry вернул 401 для GPU pinned images. В CI существующая авторизация runner сработала; guards worker/LinTO прошли. Новые registry credentials не вводились.
Фактический Insight 29.10.2026: legacy STT работает на 0.0.12; LinTO HTTP —
ffe2d25a66bd…, legacy LinTO — 3ee7069d0cbe…. Эти задачи не перезапускались.
Микрофон, Compare и Monitor в production не прогонялись: новых rollout нет.
Последнее машинное состояние CI: ci-status.json. Доказательства: authorship, render diff, build selection, runtime guards, CI lint.