Голосовые системы

Результат корпоративного 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.

Исходник

Скачать Markdown · К материалам исследования