Слияния и проверка сборок — 29.10.2026
Проверки доведены до конечных статусов. ASR не прошёл полный CI: job завершилась часовым тайм-аутом после сборки образов. Остальные включённые проверки завершены; n8n исключён пользователем. Точные статусы jobs: ci-current.json. Ниже сборка, публикация и фактический runtime указаны отдельно.
Исходники
Все шесть MR слиты. Деревья merge-коммитов совпали с подготовленными ветками; пользовательские рабочие копии не сбрасывались. Подтверждение: merge-trees.json, merges.json.
| Репозиторий | MR | Merge SHA | Добавлено / удалено |
|---|---|---|---|
| Chat Agent | !22 | 7fcaecc5f68563224c9bf4819cf80431dae5c37f |
+73 / −269 с исправлением документации |
| ASR | !7 | ca436b4d7b3b2f2848743b6b04a8c33067798522 |
+414 / −1203 |
| rag-stack | !1 | b98aab1dcf9318d9a527f36e9e560b0cd2c94cef |
+108 / −2339 |
| helpers | !1 | 1fecc86395a1ad0bee797b9f2bc0d449ab7437fb |
+142 / −131 |
| n8n | !1 | ced69eeb3db261d4e4ded5a0d3b96073e5645967 |
+506 / −629 |
| webrtc-server | !1 | fb7f6a537b2c2e34dff977ccc27afbd7af098f67 |
+11 / −0 |
В Chat Agent дополнительно исправлен действующий runbook: удалены инструкции
запуска уже удалённых jobs ASR/rag-stack и добавлены ссылки на текущий процесс.
Коммит 3e201723254ad48e53f6c9fa1eb9e9cca52c4338 находится в main.
Изменены только строки komaroff; Repowise обновлён до правки, проверены diff и ссылки.
Приложения и корневой CI этим коммитом не изменены.
Общий результат относительно прежних основных веток: +1254 / −4571, сокращение 3317 строк. Подробности: source-diff-summary.json.
Выполненные проверки
Chat Agent
Pipeline 5568 прошёл все пять обязательных checks на merge SHA:
| Проверка | Job | Результат | Длительность |
|---|---|---|---|
| Python | 26808 | PASS | 128,15 с |
| Browser NATS | 26809 | PASS | 15,16 с |
| Frontend | 26810 | PASS | 48,32 с |
| Ruby | 26811 | PASS | 16,79 с |
| PostgreSQL/NATS integration | 26812 | PASS | 240,80 с |
Фактическое выполнение: Python — 229 passed, 8 subtests passed и 110 skipped;
browser NATS — 3 теста; frontend — 468 тестов в 64 файлах; Ruby — 60 тестов,
389 assertions; integration — 88 тестов с PostgreSQL/NATS. Пропущенные Python
тесты не записаны в число выполненных. Краткие выводы сохранены в
job-26808-checks-summary.log … job-26812-checks-summary.log.
Первый запуск 26815
упал: в manual job не был передан обязательный CI_CHAT_AGENT_POSTGRES_BASE_IMAGE.
При повторе передан прежний закреплённый base digest из метаданных работающего
образа PostgreSQL; исходники и зависимости для этого не менялись.
Повторная job 26916 PASS, 24,65 с: собраны и опубликованы три выбранных образа — PostgreSQL 1.0, Core 10.0 и Audio Ingress 5.0. Лог публикации. Image config IDs соответственно:
60ef911edb83dfad829c4dd39692a3f6d5b7a974b0b11b3fb3a784a7a0f4f3d1;d85e9b9375d25f8ca191604ba327554746b36b2ec4202dd0b05d28b95613113c;0efaeffff14fe3a695a63bc15989b1c17a33bac5fb14bd19feca23ed097267e4.
После публикации фактический PostgreSQL обновился на этот image ID, имеет OCI
revision 7fcaecc5f68563224c9bf4819cf80431dae5c37f и статус healthy. Core и
Audio Ingress закреплены на прежних digest и работают на них; их публикация
не объявляется новым rollout.
Read-only preflight прошёл до публикации (26831, 14,68 с) и после обновления PostgreSQL (26917, 17,02 с). Он подтвердил готовность Core, Agent, LLM и раздельных NATS-контуров, одну ASR подписку и два диагностических адаптера. Распознавание реальной речи этим не проверялось.
Документационный follow-up — pipeline 5572: все пять jobs завершены успешно,
но сами suites явно skipped: unchanged inputs. Это подтверждает работу отбора,
а не повторное выполнение тестов. В обоих pipeline итог manual относится к
оставленным невыбранными ручным операциям.
ASR
Job 26859 создал все восемь образов: worker, live bridge, file UI, status, LinTO и три diarization sidecar. 41 тест bridge с настоящим NATS и 5 worker-тестов выполнены успешно. Image IDs и строки лога: job-26859-summary.log. Это локальные IDs образов на builder, а не доказательство публикации в registry.
После финальных сообщений Bake от 17:44:44 UTC job перестала добавлять вывод. Точный вызов без доступа к процессам runner не установлен; начало Trivy в свежем логе не подтверждено. Статус публикации нельзя приравнивать к успешной сборке. Повторное чтение trace подтвердило завершение всех нумерованных BuildKit-шагов, включая metadata. По прямому решению пользователя job не отменялась. Снимок.
Конечный результат: failed / job_execution_timeout, 3622,02 с, 18:44:40 UTC. Сообщение runner: execution took longer than 1h0m0s. Deploy не выполнялся. Начало Trivy и публикация в этой job не подтверждены; старый Trivy-блокер нельзя выдавать за причину этого тайм-аута. Точный зависший вызов остаётся неизвестным без диагностики процессов builder. Повтор без установленной причины не запускался. Финальный лог.
rag-stack
Deployment image пересобран из слитого дерева:
sha256:5142324baaf6fc50c4e2a53c84a082887627cc36100e6cd3947c10f30661406e.
В нём повторно проверены шаблон, синтаксис и полные Compose пяти стеков — 36
сервисов. Относительно подготовленной ветки различий конфигурации нет.
Фактический CMD выполнен с подставным dry-stack в контейнере без сети и Docker socket. Все пять команд получают правильные полные DRS; при успехе exit 0, при отказе одной команды exit 1. Результат. Реальный SSH, GPU, MIG/CDI и системные службы проверка не затрагивала.
Полный deploy не запускался: существующий runtime legacy LinTO использует частный образ, а сохранённая чужая строка DRS — vendor image. Применение всех стеков могло бы заменить этот работающий сервис. Проверенный build deployment image не выдаётся за выполненный rollout. Старый pipeline 5567 был skipped.
helpers
Четыре теста с настоящим OpenTelemetry SDK прошли. Wheel otel 0.1.1 собран,
проверка зависимостей установленных 59 пакетов прошла. SHA-256 wheel:
5998011e2add1b1d0ef9d21e1a6717cf02bc8781deccbcc51dd7533de57a3e17.
Дополнительно этот wheel установлен в новое пустое окружение Python 3.11:
импорт подтверждён из site-packages установленного wheel, все 4 теста прошли,
uv pip check подтвердил совместимость 35 установленных пакетов.
Лог.
В репозитории нет сервиса, Docker build и CI; сборка приложения не требуется.
Существующий consumer pin не менялся.
n8n и webrtc-server
Пользователь исключил неиспользуемый n8n из дальнейших проверок. Его ожидающий pipeline 5570 отменён до запуска build/deploy. Ниже сохранены уже полученные локальные результаты; дальнейшая работа по n8n остановлена.
webrtc-server 26863
завершён PASS за 9,22 с. Штатный CI также подтвердил services: {}:
изменение README не требует application rebuild.
Лог.
Пока CI ожидает runner, оба образа n8n собраны локально из merge SHA через существующий Compose/Bake, без публикации. Сборка заняла 6,18 с с кэшем; тестовые слои переиспользованы, это не новый прогон тестов. В готовых образах отдельно прошли запуск CLI n8n 2.6.3, shell-синтаксис импортера, импорт bridge и чтение сгенерированной конфигурации. Проверки выполнялись без сети. Сборка, образ, smoke.
Сборочный образ webrtc-server собран локально за 26,57 с:
sha256:7ae203f49152f1e5eff028d2ce55c22d30ab227b1e1a77029dc0927ccf66ccc1.
Его фактический CMD выполнен без сети и Docker socket с предыдущим и текущим
SHA: штатный build-labels выбрал services: {}, exit 0. Это подтверждает
отсутствие application rebuild для изменения README.
Результат.
В webrtc-server изменён только README. Автоматический общий deploy 26864 отменён до запуска: эта правка не требует обновления работающего legacy стека/TURN. Это явная отмена ненужной поставки, а не PASS deployment job.
Блокеры и runtime
По отдельному решению пользователя обновление баз и зависимостей не включается в очистку; Trivy не отключается и исключения CVE не добавляются.
- Предыдущая ASR job 26805 остановилась на LinTO: 9 находок ОС (8 High, 1 Critical) и 3 Python (1 High, 2 Critical). Scanner не проверил оставшиеся образы после первого отказа. Эти результаты не подменяют статус новой job.
- Предыдущая n8n job 26761: 51 находка ОС (48 High, 3 Critical) и 301 находка в зависимостях приложения (246 High, 55 Critical). Обновление vendor n8n 2.6.3 требует отдельной проверки workflows/миграций. Повторная локальная проверка свежего runtime-образа дала те же количества и exit 1; Python bridge отдельно показал 5 High и exit 1. Проверки завершились до исключения n8n пользователем. Runtime, bridge.
- Свежий Insight показал повторные падения n8n и worker при инициализации БД:
connect ECONNREFUSED 178.20.41.87:5432. Адресdb.webrtc-komaroff.gis-master.ru:5432записан в DRS с февраля и данной очисткой не менялся. Сбой наблюдался до начала нашей сборки n8n. - Chat Agent Core и Audio Ingress имеют healthy tasks; существующий ASR bridge
и H100 worker/LinTO работают. Это проверка прежних запущенных образов.
Повторная проверка около 18:36 UTC: worker и LinTO HTTP —
Up 26 hours (healthy), bridge —running. Зависшая CI-job не остановила эти сервисы. - ASR Compare запросил повторный Slim Auth. Браузерная транскрипция в этой итерации не объявляется проверенной.
Снимок без credentials: runtime-observations.json. Инфраструктура, PostgreSQL, NATS, runner и конфигурация H100 не менялись.