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

История проверки и блокеров до поставки

Исторический срез поставки 23.10.2026

Короткий режим передаёт только подтверждённую фразу с контекстом. Для указанного в замечаниях примера расчёт: 170,037 → до 6,464 с PCM, разница −163,573 с (−96,2%). Это сокращение передаваемого аудио, а не измеренное сокращение полного времени диагностики. Подготовка, модель и освобождение ресурсов добавляют своё время; после поставки требуется сравнение на тех же данных.

Pipeline 5381: python 22145, browser NATS 22146, frontend 22147, ruby 22148, dialog integration 22149 — SUCCESS. Gateway image build 22162 и Frontend image build 22167 — SUCCESS. Preflight 22172 — FAIL: SSH agent has no identities; Docker target не изменён. Jobs Gateway 22193 и Frontend 22206 ещё не выполнялись. Пакет extension build 22152 собран, artifact upload не прошёл из-за DNS gitlab; один штатный повтор 22207 также собрал расширение, но завершился той же ошибкой DNS при загрузке артефакта. Baseline реального Whisper Turbo: 11,936 с PCM, подготовка 1,58 с, предзагрузка 0,63 с, передача 11,94 с, завершение 1,29 с; всего 15,62 с. Один прогон, не медиана/p95.

Граница готовности на 23.10.2026, до успешного повтора

  • Source: main a0bbc0f78a93e2f0f45c53bc214e958ac4f61ce4; рабочая копия чистая кроме прежних .repowise/node_modules.
  • Published images: builder-registry.builder.giscloud.ru/gis/chat-agent/api-gateway/main:gateway-a0bbc0f78a93e2f0f45c53bc214e958ac4f61ce4 и builder-registry.builder.giscloud.ru/gis/chat-agent/front/main:monitor-frontend-a0bbc0f78a93e2f0f45c53bc214e958ac4f61ce4. Публикация подтверждена CI, локальное чтение manifest требует registry-доступа (401). Digest не выдумывается.
  • Runtime: Insight показывает прежние Gateway 1.0.0.973 и Frontend 1.0.0.976, оба 1/1 running. Новый rollout не выполнялся. Новые runtime revision/digest и модельные прогоны всех четырёх backend остаются неподтверждёнными.
  • Пакет 1.7.0 размещён в локальный источник Это локальная сборка точного SHA; CI компиляция успешна, загрузка CI-артефакта не прошла. Предыдущий пакет:локальный источник SHA256 ZIP: 5586a3328679be64f65280d72e6b0cd5a74f5efe9e1e019d6f3045ab9027cdaa.
  • Для продолжения нужен штатный SSH identity runner и разрешение DNS-имени gitlab из его контейнера. После восстановления — свежий preflight, Gateway → Frontend, проверка миграции и короткого replay 4 backend, затем ручное обновление Chrome/голос.
  • Затронуты только исходники Gateway/Frontend/Chrome. Runtime, PostgreSQL, Core, ingress, Agent, LLM, ASR Worker, bridge, модели, VAD и форматы PCM пока не изменялись.

Артефакты рядом: controlled-before/after.json, writes-before/after-final.json, migration-check.json, package.json, test logs, jobs-5381.json и очищенные CI traces. Временные локальные PostgreSQL/NATS/test containers удалены после измерений.

Повтор после сообщения пользователя 23.10.2026, 10:25 UTC

Пользователь разрешил ещё одну попытку штатными jobs и прямо запретил изменения инфраструктуры. Запущены точные повторы SHA a0bbc0f78a93e2f0f45c53bc214e958ac4f61ce4:

  • Preflight 22209: FAIL за 11,13 с, The agent has no identities. До подключения к целевому Docker не дошёл.
  • Chrome extension 22210: сборка прошла; загрузка ZIP снова завершилась lookup gitlab on 172.17.0.1:53: server misbehaving. Общая длительность job 22,58 с.

Gateway/Frontend rollout не запускались. Код, CI-конфигурация, credentials, runner, DNS и общий runtime не изменялись. Локальный пакет 1.7.0 сохранён по прежнему пути. Новых автоматических повторов без изменившихся условий не запущено. Очищенные traces: job-22209.log, job-22210.log.

Повтор 23.10.2026, 10:37 UTC

По новому прямому запросу пользователя повторены только две неуспешные jobs того же SHA. Удалённый main по-прежнему a0bbc0f78a93e2f0f45c53bc214e958ac4f61ce4.

  • Preflight 22211: FAIL, 10,09 с; The agent has no identities, остановка до подключения к целевому Docker.
  • Chrome extension 22212: компиляция PASS, загрузка артефакта FAIL; lookup gitlab on 172.17.0.1:53: server misbehaving. Job завершилась за 18,24 с.

Новый rollout не запускался; инфраструктура и код не менялись. Сохранены очищенные job-22211.log и job-22212.log.

Продолжение при заблокированной поставке

По запросу пользователя выполнен ещё один штатный повтор 23.10.2026 в 11:22 UTC (14:22 МСК), затем работа продолжена независимо от поставки.

Блокер Последнее доказательство Влияние
B1: нет SSH identity deployment runner Preflight 22213, 8,47 с, The agent has no identities Gateway/Frontend rollout и production-миграция не запускались
B2: DNS имени gitlab в runner Extension 22214, 20,04 с, компиляция PASS, artifact upload FAIL CI ZIP недоступен; локальный ZIP точного SHA проверен

Инфраструктура и исходники не менялись. Дальнейшие автоматические повторы остановлены; нужны изменившиеся условия доступа.

Реальные исходные прогоны четырёх backend

Один и тот же сохранённый PCM 11,936 с, request_id 9eba3789-b7be-5e8f-8d65-759eafdcc8d1, прежний полный streaming-режим, одна попытка на backend. Это baseline до поставки, не приёмка новой короткой диагностики и не медиана/p95. Новая речь и импорт пользовательского WAV не использовались.

Backend Подготовка, с Предзагрузка/подключение, с PCM, с Завершение, с Всего, с Наблюдаемый результат
Whisper Turbo 1.56 0.59 11.94 1.30 15.57 final · да и список всех полей
Whisper Russian 1.58 0.59 11.94 1.29 15.58 final · Да и список всех полей.
GigaAM v3 RNNT 1.57 0.62 11.94 1.30 15.62 final · Да, список всех полей.
LinTO 1.57 0.64 11.94 1.29 15.61 Backend не сообщил подходящие границы. Соответствие не подтверждено.

Turbo/Russian/GigaAM вернули видимый final. Прогон LinTO завершился, но прежний UI не показал текст: нет подходящих границ для сопоставления. Наличие или качество скрытого текста LinTO по этому экрану не подтверждено. Время «Завершение ASR» не равно Decoder time: это стадия ожидания и завершения потока; отдельное время модели в этом замере не извлечено.

Подача PCM занимает около 76,5% полного времени в этих прогонах. Для фразы 2,152 с новый режим передаст не более 5,152 с с контекстом вместо 11,936 с: до −6,784 с (−56,8%) аудио. Это расчёт объёма/длительности подачи; новое полное время требует поставки и измерения.

Дополнительные проверки без поставки

  • PASS: новый реальный UI-компонент показывает synthetic partial до конца потока, final без внутренних границ, rejected с кодом, две неоднозначные фразы без скрытия ответа. Отсутствие подтверждённого сопоставления указано отдельно. Это проверка отображения, не фактического короткого вызова модели. Evidence: ui-unbounded-results.json.
  • PASS: в отдельной локальной PostgreSQL старый AudioStore записал/прочитал PCM → новая миграция → восстановление старой колонки → старый AudioStore прочитал и создал запись → повторная новая миграция. SHA PCM сохранён. Между версиями сбрасывались соединения, как при stop-first: первый вариант тестового стенда с общим старым пулом получил InvalidCachedStatementError после изменения SELECT *; повтор с новыми соединениями прошёл. Evidence: rollback-check.py/json.
  • Ограничение обратного перехода: записи, созданные старым кодом после отката, не получают новые bounds. После повторного обновления они доступны в полном режиме; для короткого нужен разовый backfill через существующий refresh_bounds. В проверке после такого цикла границы были у 1 из 2 фраз. Проверен разовый вызов существующего refresh_bounds для фразы периода отката: 1/2 → 2/2, PCM и текст сохранены. Автоматический фоновый пересчёт не добавлен.
  • PASS: перепроверены 16 файлов установленного пакета, целостность ZIP, version 1.7.0, прежние key/permissions/host_permissions. SHA ZIP прежний.

Осталось после восстановления штатного доступа: свежий preflight, адресные Gateway → Frontend, проверка production-миграции и revision/digest, короткие прогоны четырёх backend на том же PCM; затем ручное обновление Chrome/голос. Код и пять CI checks по-прежнему относятся к a0bbc0f7.

Временная локальная PostgreSQL для проверки отката и HTTP-сервер UI завершены; скрипты, JSON и снимки сохранены рядом с отчётом.

Исходник

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