Monitor: достоверный путь фразы

Изменены существующие Chat Agent, Audio Ingress и ASR bridge/worker. Новые сервисы, таблицы, соединения и хранилища пакетов не вводились. Модели, веса, MIG/GPU, инфраструктура и корневые CI-файлы сохранены. Пользовательские изменения основной копии не затронуты.

Исправленные дефекты

  1. Выборка транскрипции больше не начинается только с первого request_id: архивные границы, пакеты и непосредственно связанные операции добавляются по сохранённым идентификаторам и координатам. Соседние фразы и последующая команда отделены.
  2. Передача batch-аудио и реальные стадии bridge/worker получили ограниченные наблюдения через существующие каналы. Бинарный звук в nats_log не записывается.
  3. queued обозначает регистрацию ожидаемой фразы в Core. ok внутри данных не меняет запрос на ответ. Контракт читается также через payload_ref с изоляцией сессии, запроса и временного среза.
  4. На концах стрелок показаны точные сервисы. Исторический asr остаётся «Отправитель не записан». Старый web сопоставляется с расширением только через владельца той же записи; исходное обозначение доступно в подробностях.
  5. Уведомления recording_status не выглядят RPC-запросами. Квитанции не обозначают завершение модели. Ошибки инструментов считаются отдельно от доставки.
  6. Время показа текста фиксируется до вычисления хеша. Часы и причинные связи сохраняются, отсутствующие связи не дорисовываются.
  7. Убраны второй title у tooltip и переключатель диагностического диапазона выбранной транскрипции. Сохранён один доступный с клавиатуры tooltip; диагностируется исходная фраза.
  8. Добавлены диапазоны времени до миллисекунд и раскрытие сохранённых пакетов. Сводка пакетов не выдаёт отсутствие общей стрелки отправки за потерю пакетов.
  9. Исправлен тайм-аут проекции большой истории без увеличения штатных лимитов: общие связи вычисляются один раз, квитанции читаются по UUID-индексу.
  10. Исторические команды границ читаются из точного chat.audio.<client>.cmd.phrase. Пояснение не зависит от русской подписи строки.

Исходники

РепозиторийДоИтоговый mainФайловСтрокиRoot CI изменён
chat23be40ec5ff686289342667f2818cde19ab0db9651d91f543f53f4bedfde8c75f37f23f1db0067ca44+1061 / −197False
asr17f8ae32cc83e891cc6ba39c9b41885d95c0e1c7b3e93c8b4b8250f626b42cd35fb8a92927ed559d10+296 / −42False

Основная реализация: Chat !37, ASR !9. Адресные исправления после реальной проверки: Chat !38, !39, !40, !41, !42.

Фактически работающие компоненты

Front: версия приложения 0.21.6. Образы обновлялись адресно штатными jobs. Worker обновлён единственным image update через H100 Insight; fingerprint его Spec без поля Image совпал до/после. Таблица содержит фактические inspect после обновления каждого компонента, а не только опубликованные теги.

СервисRevisionOCI versionОбраз и digestReplicasUpdateHealth
chat-agent_src_core70ed63b7508c12a800070be9808daa68866b59731.0.1111builder-registry.builder.giscloud.ru/gis/chat-agent/core/main@sha256:634e02ae269edf14603cc9d572de13558cda8d2c2c65a418a9bb4123d4d2ccf51completedhealthy
chat-agent_src_agent70ed63b7508c12a800070be9808daa68866b59731.0.1111builder-registry.builder.giscloud.ru/gis/chat-agent/agent/main@sha256:73c61b427ac702abe86705e2aac50df1a037e33375978da274e2bb23ef1c40be1completedDocker healthcheck не задан; running=True
chat-agent_src_llm70ed63b7508c12a800070be9808daa68866b59731.0.1111builder-registry.builder.giscloud.ru/gis/chat-agent/llm/main@sha256:3a871a2249477409df703bf901c92de46444159570c9e442b8969510c43b66d71completedDocker healthcheck не задан; running=True
py_faster_whisper_stt_whisper_to_natsb3e93c8b4b8250f626b42cd35fb8a92927ed559d3.1.356builder-registry.builder.giscloud.ru/gis/webrtc-komaroff/voice-chat/webrtc_live_bridge/main@sha256:3a549bcf8a4c636467bff7b14666620348046945a22a9e5f04a08cfdd23e2a271completedDocker healthcheck не задан; running=True
webrtc-asr_streamingb3e93c8b4b8250f626b42cd35fb8a92927ed559d3.1.356builder-registry.builder.giscloud.ru/gis/webrtc-komaroff/voice-chat/webrtc_streaming_asr/main@sha256:d2718c893a87add423e68d5e506147cd0f69b27f9173fa4052fe9893cd5697ed1completedhealthy
chat-agent_src_api_gateway18a2e22d6f1054d1ab57a0f5b261e5e6529686781.0.1119builder-registry.builder.giscloud.ru/gis/chat-agent/api-gateway/main@sha256:4d486fe1f86649455d1bedfbde82245f855e1b47a9b65e4eb007a86c3ddc4da71completedDocker healthcheck не задан; running=True
chat-agent_audio_ws_ingress96fde984209497a79235e3020a2dabcaee2728dc1.0.1117builder-registry.builder.giscloud.ru/gis/chat-agent/audio-ws-ingress/main@sha256:4eb267aea6d2f2f1444b1fe615b26d66a8d00eae25deea15eb18a7633cf6dcda1completedhealthy
chat-agent_src_front51d91f543f53f4bedfde8c75f37f23f1db0067ca1.0.1121builder-registry.builder.giscloud.ru/gis/chat-agent/front/main@sha256:dcea6211306a4bbe260c7f82a2ad1bfbb1a72ae5df039363fea0a4f69ddbc9231completedDocker healthcheck не задан; running=True

После контрольного распознавания worker сообщил ready=true, accepts_requests=true, active_phrases=0, native_active=0. Поддерживаемые backend: Whisper Turbo, Whisper Russian, GigaAM v3 и GigaAM Large. Доказательства: runtime, ASR health, Spec до, Spec после.

Один реальный повтор сохранённой фразы

Микрофон не использовался. На работающем backend повторён диапазон 0,408–2,688 с: 2,28 с аудио, совпадение входа модели по SHA-256, один вызов. Текст совпал с исходным. Чистое распознавание — 171,06 мс; интерфейс сообщил 0,8 с всего. Эти интервалы различаются по составу. Команда чата не создавалась; исходный столбец и результат при переключении вкладок сохранились. Один короткий прогон не является оценкой WER или p95.

ПоказательИсходный прогонДиагностика
СостояниеРаспознаноГотово · Повторён исходный диапазон PCM.
МодельGigaAM Large · CTCGigaAM Large · CTC
Текстбиба и боба два долбоебабиба и боба два долбоеба
Чистое распознавание150.38 мс171.06 мс
Длительность аудио2,28 с2,28 с
Диапазон записи0,408–2,688 с0,408–2,688 с
Совпадение входа моделиИсходный входСовпадает по SHA-256
Вызовов модели11
Реальный Monitor: исходный и диагностический прогон
Production, Gateway/Front 18a2e22d, ASR b3e93c8b. Последующая правка !42 меняет только пояснение исторической границы.

Браузерная проверка

ПроверкаРезультатПодтверждение и пределы
История выбранной фразыPASSProduction: 36 наблюдений вместо прежних 4; потоковый контекст отделён от времени и счётчиков фразы.
queued через payload_refPASSОдна передача Ingress → Core, запрос регистрации ожидаемой фразы. Отправка 22:10:38.558, приём 22:10:38.560, без вычитания как сетевой задержки.
Журнал → схема → журналPASSНа пакете 9c3dabbd-cedb-a01d-9d1c-f4b31f9e8bf2 сохранились выбранный ID, фильтр Аудиопакеты, одна выделенная стрелка и два её участника.
ПакетыPASS115 пакетов, 10256 байт, 19584–129024 отсчётов при 48000 Гц; раскрытие — 116 строк таблицы с заголовком, 5 колонок. Старые UTC-отметки не придуманы.
Tooltip с клавиатурыPASSДля chat-agent_audio_ws_ingress Enter открывает один tooltip, title отсутствует, Escape закрывает.
Старый маршрут фразыPASSsection=phrase открывает Данные и нормализуется в section=data, в том числе при сохранённом event_id. Числовых input под waveform нет.
Диапазон карточекPASSВ правой части карточек показаны границы Наблюдения: ЧЧ:ММ:СС.мс — ЧЧ:ММ:СС.мс. Исторический диапазон с разными часами не обозначен как время ASR.
Диагностика одной фразыPASSGigaAM Large, 2.280 с, диапазон 0.408–2.688 с, вход совпал по SHA-256, один вызов, 171.06 мс. Исходный столбец неизменен; команда чата не создавалась.
Состояния и вкладки диагностикиPASSВо время запуска показано Выполняется, старые правые значения очищены, модель и запуск disabled. Результат сохранился при Данные → Диагностика без второго запуска.
Обе темыPASSРеальный HTTPS Monitor: светлые карточки и сравнение прогонов, тёмное сравнение. Исходная тёмная тема восстановлена; снимки сохранены.
Подключение и консольPASS с оговоркойПервое подключение после обновления один раз не состоялось; повторное чтение: /auth/nats HTTP 200, WebSocket 101, страница работает. После диагностического запуска новых warning/error нет.
Новая пользовательская панель 2.3.2PASS: панель и текстовый путьПользователь подтвердил открытие 2.3.2 после перезагрузки. На SPPI панель подключена; запрос 487286c2-a621-4c34-9827-c8fb37d6fe08 получил ответ «проверка» за 751 мс. В Monitor 22 наблюдения, 0 ошибок. Версия внутри панели не выводится; микрофон не включался.
Финальная граница и выбранная стрелкаPASSFront 51d91f54: граница 91ec89c9-f16c-4090-afc3-6eb2acd04366 объяснена по subject, выделяется одна стрелка и два участника. Обратный переход возвращает ту же строку.
Финальная сводка пакетов и tooltipPASSFront 51d91f54: 116 строк в раскрытии пакетов; ложного предупреждения об отсутствии отправки у сводки нет. Один tooltip, title отсутствует, Escape закрывает. Обе темы повторно просмотрены, тёмная восстановлена.
Финальный журнал Monitor
Финальная работающая версия: журнал и выбранная передача.

На исходной исторической транскрипции теперь 36 наблюдений вместо 4. Сводка звука: 115 пакетов, 10 256 байт, 19 584–129 024 отсчётов при 48 кГц. Это проекция существующего архива, а не вторая копия метаданных.

У старой записи никогда не сохранялись исходный batch-запрос к ASR, начало вызова модели, реальный отправитель старого asr и точные UTC-отметки части пакетов. Часы браузера отстают от сервера примерно на 10 с, а явной связи старой квитанции показа нет. Эти пробелы оставлены явными; интервал наблюдений нельзя считать временем ASR или задержкой сети.

Проверки и CI

Локально прошли 32 PostgreSQL integration tests проекции, 14 адресных ASR-тестов, первоначальные 150 frontend-тестов и последние 27 тестов форматтера/последовательности, TypeScript и git diff --check. Группы пересекаются, их количества не суммируются. Отдельно проверены PCM/Opus архивы и задержанный async writer. Одноразовые PostgreSQL и NATS удалены после проверок.

Штатные CI jobs выполнены с существующим отбором изменений. Ниже сохранены строки о выполненных и пропущенных группах; зелёный job с пропущенной группой не объявляется её прогоном.

CI jobs, сборки и поставка
JobPipelineНазначениеСтатусПодробности
31/282385690build pushsuccess
Выполненные и пропущенные группы
2026-11-02T21:17:54.031033Z 01O #81 1.154 Ran 5 tests in 0.138s
2026-11-02T21:17:59.549490Z 01O #71 11.38 Ran 45 tests in 9.394s
2026-11-02T21:23:52.308036Z 00O Job succeeded
5/282745693build componentsuccess
Выполненные и пропущенные группы
2026-11-02T21:46:36.115671Z 00O Job succeeded
5/283105693refresh componentsuccess
Выполненные и пропущенные группы
2026-11-02T22:02:04.725673Z 00O Job succeeded
5/283185693refresh componentsuccess
Выполненные и пропущенные группы
2026-11-02T22:08:22.504760Z 00O Job succeeded
5/283715693build Chrome extensionfailed
Выполненные и пропущенные группы
2026-11-02T22:12:59.822330Z 01O build extension: selected (full)
2026-11-02T22:13:18.159048Z 00O ERROR: Job failed: exit code 1
31/283085694deploysuccess
Выполненные и пропущенные группы
2026-11-02T21:59:06.839346Z 01O Live bridge image prepared: b3e93c8b4b8250f626b42cd35fb8a92927ed559d builder-registry.builder.giscloud.ru/gis/webrtc-komaroff/voice-chat/webrtc_live_bridge/main@sha256:3a549bcf8a4c636467bff7b14666620348046945a22a9e5f04a08cfdd23e2a27
2026-11-02T21:59:08.094745Z 00O Job succeeded
5/283115695python checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:02:11.772261Z 01O check python: selected (unknown-base)
2026-11-02T22:03:28.224618Z 01O 237 passed, 130 skipped, 10 subtests passed in 9.85s
2026-11-02T22:03:31.961242Z 00O Job succeeded
5/283125695browser NATS checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:03:40.999344Z 01O check browser: selected (unknown-base)
2026-11-02T22:03:50.323513Z 01E Ran 3 tests in 6.465s
2026-11-02T22:03:51.741462Z 00O Job succeeded
5/283135695frontend checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:04:05.809281Z 01O check frontend: selected (unknown-base)
2026-11-02T22:04:56.058757Z 01O  Test Files  66 passed (66)
2026-11-02T22:04:56.059131Z 01O       Tests  533 passed (533)
2026-11-02T22:04:56.500193Z 01O check dependencies: selected (unknown-base)
2026-11-02T22:04:59.619213Z 00O Job succeeded
5/283145695ruby checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:05:09.391981Z 01O check ruby: selected (unknown-base)
2026-11-02T22:05:19.018604Z 00O Job succeeded
5/283155695dialog integration checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:05:31.478536Z 01O check integration: selected (unknown-base)
2026-11-02T22:06:33.728761Z 01E Ran 2 tests in 1.743s
2026-11-02T22:06:40.386557Z 01E Ran 9 tests in 3.045s
2026-11-02T22:06:43.563586Z 01E Ran 10 tests in 2.554s
2026-11-02T22:06:48.486092Z 01E Ran 10 tests in 4.074s
2026-11-02T22:07:04.006945Z 01E Ran 29 tests in 14.793s
2026-11-02T22:07:04.752653Z 01E Ran 3 tests in 0.407s
2026-11-02T22:07:09.566792Z 01E Ran 10 tests in 4.067s
2026-11-02T22:07:12.146050Z 01E Ran 2 tests in 1.700s
2026-11-02T22:07:16.528082Z 01E Ran 15 tests in 3.881s
2026-11-02T22:07:21.117222Z 01E Ran 2 tests in 0.332s
2026-11-02T22:07:22.755874Z 01E Ran 5 tests in 0.473s
2026-11-02T22:07:26.219239Z 00O Job succeeded
5/283205696python checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:08:42.521994Z 01O check python: selected (diff)
2026-11-02T22:09:58.812187Z 01O 237 passed, 130 skipped, 10 subtests passed in 10.09s
2026-11-02T22:10:03.251486Z 00O Job succeeded
5/283215696browser NATS checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:10:11.157009Z 01O check browser: selected (diff)
2026-11-02T22:10:20.183350Z 01E Ran 3 tests in 6.406s
2026-11-02T22:10:21.809328Z 00O Job succeeded
5/283225696frontend checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:10:30.317620Z 01O check frontend: skipped (unchanged inputs; diff)
2026-11-02T22:10:32.345499Z 00O Job succeeded
5/283235696ruby checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:10:39.891096Z 01O check ruby: skipped (unchanged inputs; diff)
2026-11-02T22:10:41.236288Z 00O Job succeeded
5/283245696dialog integration checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:10:55.193165Z 01O check integration: selected (diff)
2026-11-02T22:11:59.358992Z 01E Ran 2 tests in 1.749s
2026-11-02T22:12:06.148404Z 01E Ran 9 tests in 2.959s
2026-11-02T22:12:10.318064Z 01E Ran 10 tests in 3.369s
2026-11-02T22:12:15.569233Z 01E Ran 10 tests in 4.330s
2026-11-02T22:12:28.058361Z 01E Ran 29 tests in 11.711s
2026-11-02T22:12:28.812960Z 01E Ran 3 tests in 0.389s
2026-11-02T22:12:33.426670Z 01E Ran 10 tests in 3.970s
2026-11-02T22:12:36.025902Z 01E Ran 2 tests in 1.705s
2026-11-02T22:12:40.791117Z 01E Ran 15 tests in 4.202s
2026-11-02T22:12:45.817773Z 01E Ran 2 tests in 0.303s
2026-11-02T22:12:47.569637Z 01E Ran 5 tests in 0.473s
2026-11-02T22:12:51.025776Z 00O Job succeeded
5/283405696build componentsuccess
Выполненные и пропущенные группы
2026-11-02T22:15:13.806014Z 00O Job succeeded
5/283555696chat ASR drainsuccess
Выполненные и пропущенные группы
2026-11-02T22:19:06.660045Z 00O Job succeeded
5/283565696chat ASR resumesuccess
Выполненные и пропущенные группы
2026-11-02T22:30:29.346755Z 00O Job succeeded
5/283705696refresh componentsuccess
Выполненные и пропущенные группы
2026-11-02T22:17:05.250088Z 00O Job succeeded
5/283755696chat ASR drainsuccess
Выполненные и пропущенные группы
2026-11-02T22:34:29.240578Z 00O Job succeeded
5/283845696chat ASR resumesuccess
Выполненные и пропущенные группы
2026-11-02T22:45:28.550253Z 00O Job succeeded
31/283725697build pushsuccess
Выполненные и пропущенные группы
2026-11-02T22:20:39.471403Z 01O #100 1.660 Ran 5 tests in 0.143s
2026-11-02T22:20:46.088446Z 01O #89 13.34 Ran 45 tests in 10.368s
2026-11-02T22:27:58.748077Z 00O Job succeeded
31/283735697deployfailed
Выполненные и пропущенные группы
2026-11-02T22:28:25.332828Z 00O ERROR: Job failed: exit code 1
31/283765697deploysuccess
Выполненные и пропущенные группы
2026-11-02T22:37:00.975654Z 01O Live bridge ready: b3e93c8b4b8250f626b42cd35fb8a92927ed559d builder-registry.builder.giscloud.ru/gis/webrtc-komaroff/voice-chat/webrtc_live_bridge/main@sha256:3a549bcf8a4c636467bff7b14666620348046945a22a9e5f04a08cfdd23e2a27
2026-11-02T22:37:02.123121Z 00O Job succeeded
5/283875699frontend checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:47:39.053564Z 01O check frontend: selected (diff)
2026-11-02T22:48:22.796568Z 01O  Test Files  66 passed (66)
2026-11-02T22:48:22.796847Z 01O       Tests  534 passed (534)
2026-11-02T22:48:23.213014Z 01O check dependencies: selected (diff)
2026-11-02T22:48:26.105739Z 00O Job succeeded
5/283895699dialog integration checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:48:46.367035Z 01O check integration: selected (diff)
2026-11-02T22:49:45.465846Z 01E Ran 2 tests in 1.753s
2026-11-02T22:49:51.702407Z 01E Ran 9 tests in 2.732s
2026-11-02T22:49:54.910461Z 01E Ran 10 tests in 2.594s
2026-11-02T22:49:59.360418Z 01E Ran 10 tests in 3.570s
2026-11-02T22:50:13.124671Z 01E Ran 30 tests in 13.152s
2026-11-02T22:50:13.850631Z 01E Ran 3 tests in 0.390s
2026-11-02T22:50:18.638406Z 01E Ran 10 tests in 4.019s
2026-11-02T22:50:21.264567Z 01E Ran 2 tests in 1.698s
2026-11-02T22:50:26.109180Z 01E Ran 15 tests in 4.260s
2026-11-02T22:50:30.750459Z 01E Ran 2 tests in 0.332s
2026-11-02T22:50:32.439356Z 01E Ran 5 tests in 0.452s
2026-11-02T22:50:35.774033Z 00O Job succeeded
5/283925700python checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:53:28.156244Z 01O check python: selected (diff)
2026-11-02T22:54:37.104049Z 01O 239 passed, 132 skipped, 10 subtests passed in 9.12s
2026-11-02T22:54:40.363763Z 00O Job succeeded
5/283935700browser NATS checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:54:46.674887Z 01O check browser: selected (diff)
2026-11-02T22:54:54.903140Z 01E Ran 3 tests in 6.386s
2026-11-02T22:54:56.200485Z 00O Job succeeded
5/283945700frontend checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:55:07.238253Z 01O check frontend: skipped (unchanged inputs; diff)
2026-11-02T22:55:08.971055Z 00O Job succeeded
5/283955700ruby checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:55:15.784701Z 01O check ruby: skipped (unchanged inputs; diff)
2026-11-02T22:55:16.739622Z 00O Job succeeded
5/283965700dialog integration checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:55:27.475131Z 01O check integration: selected (diff)
2026-11-02T22:56:28.373167Z 01E Ran 2 tests in 1.684s
2026-11-02T22:56:34.751141Z 01E Ran 9 tests in 2.785s
2026-11-02T22:56:38.028050Z 01E Ran 10 tests in 2.602s
2026-11-02T22:56:42.391451Z 01E Ran 10 tests in 3.622s
2026-11-02T22:56:55.363628Z 01E Ran 31 tests in 12.398s
2026-11-02T22:56:56.158226Z 01E Ran 3 tests in 0.363s
2026-11-02T22:57:01.211598Z 01E Ran 10 tests in 4.235s
2026-11-02T22:57:04.020548Z 01E Ran 2 tests in 1.745s
2026-11-02T22:57:09.741729Z 01E Ran 15 tests in 5.036s
2026-11-02T22:57:14.897132Z 01E Ran 2 tests in 0.329s
2026-11-02T22:57:16.711215Z 01E Ran 5 tests in 0.458s
2026-11-02T22:57:20.185802Z 00O Job succeeded
5/283995701python checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:58:19.452568Z 01O check python: selected (diff)
2026-11-02T22:59:33.782811Z 01O 239 passed, 132 skipped, 10 subtests passed in 9.28s
2026-11-02T22:59:37.407543Z 00O Job succeeded
5/284005701browser NATS checkssuccess
Выполненные и пропущенные группы
2026-11-02T22:59:47.067147Z 01O check browser: selected (diff)
2026-11-02T22:59:55.110309Z 01E Ran 3 tests in 6.367s
2026-11-02T22:59:56.474488Z 00O Job succeeded
5/284015701frontend checkssuccess
Выполненные и пропущенные группы
2026-11-02T23:00:05.680813Z 01O check frontend: selected (diff)
2026-11-02T23:00:58.143945Z 01O  Test Files  66 passed (66)
2026-11-02T23:00:58.144308Z 01O       Tests  534 passed (534)
2026-11-02T23:00:58.532031Z 01O check dependencies: selected (diff)
2026-11-02T23:01:02.050718Z 00O Job succeeded
5/284025701ruby checkssuccess
Выполненные и пропущенные группы
2026-11-02T23:01:11.091804Z 01O check ruby: selected (diff)
2026-11-02T23:01:18.185989Z 00O Job succeeded
5/284035701dialog integration checkssuccess
Выполненные и пропущенные группы
2026-11-02T23:01:38.583770Z 01O check integration: selected (diff)
2026-11-02T23:02:43.521236Z 01E Ran 2 tests in 1.722s
2026-11-02T23:02:50.349338Z 01E Ran 9 tests in 3.118s
2026-11-02T23:02:53.672771Z 01E Ran 10 tests in 2.616s
2026-11-02T23:02:58.350213Z 01E Ran 10 tests in 3.771s
2026-11-02T23:03:12.580993Z 01E Ran 31 tests in 13.629s
2026-11-02T23:03:13.364395Z 01E Ran 3 tests in 0.370s
2026-11-02T23:03:18.150896Z 01E Ran 10 tests in 4.091s
2026-11-02T23:03:20.729346Z 01E Ran 2 tests in 1.728s
2026-11-02T23:03:25.632272Z 01E Ran 15 tests in 4.393s
2026-11-02T23:03:30.335949Z 01E Ran 2 tests in 0.354s
2026-11-02T23:03:32.084503Z 01E Ran 5 tests in 0.458s
2026-11-02T23:03:35.034342Z 00O Job succeeded
5/284195701build componentsuccess
Выполненные и пропущенные группы
2026-11-02T23:07:03.561355Z 00O Job succeeded
5/284495701refresh componentsuccess
Выполненные и пропущенные группы
2026-11-02T23:08:48.179465Z 00O Job succeeded
5/284505701refresh componentsuccess
Выполненные и пропущенные группы
2026-11-02T23:11:26.180395Z 00O Job succeeded
5/284515701refresh componentsuccess
Выполненные и пропущенные группы
2026-11-02T23:13:23.388706Z 00O Job succeeded
5/284595703python checkssuccess
Выполненные и пропущенные группы
2026-11-02T23:33:06.939628Z 01O check python: selected (diff)
2026-11-02T23:34:21.319325Z 01O 239 passed, 133 skipped, 10 subtests passed in 10.58s
2026-11-02T23:34:25.326525Z 00O Job succeeded
5/284605703browser NATS checkssuccess
Выполненные и пропущенные группы
2026-11-02T23:34:34.795145Z 01O check browser: selected (diff)
2026-11-02T23:34:42.822301Z 01E Ran 3 tests in 6.383s
2026-11-02T23:34:44.184370Z 00O Job succeeded
5/284615703frontend checkssuccess
Выполненные и пропущенные группы
2026-11-02T23:34:51.072506Z 01O check frontend: selected (diff)
2026-11-02T23:35:36.849518Z 01O  Test Files  66 passed (66)
2026-11-02T23:35:36.850181Z 01O       Tests  534 passed (534)
2026-11-02T23:35:37.324859Z 01O check dependencies: selected (diff)
2026-11-02T23:35:40.295399Z 00O Job succeeded
5/284625703ruby checkssuccess
Выполненные и пропущенные группы
2026-11-02T23:35:47.607551Z 01O check ruby: skipped (unchanged inputs; diff)
2026-11-02T23:35:48.453162Z 00O Job succeeded
5/284635703dialog integration checkssuccess
Выполненные и пропущенные группы
2026-11-02T23:36:01.046442Z 01O check integration: selected (diff)
2026-11-02T23:37:05.464345Z 01E Ran 2 tests in 2.215s
2026-11-02T23:37:12.671787Z 01E Ran 9 tests in 3.072s
2026-11-02T23:37:16.142953Z 01E Ran 10 tests in 2.836s
2026-11-02T23:37:21.108418Z 01E Ran 10 tests in 4.086s
2026-11-02T23:37:35.988295Z 01E Ran 32 tests in 14.130s
2026-11-02T23:37:36.794042Z 01E Ran 3 tests in 0.400s
2026-11-02T23:37:41.651059Z 01E Ran 10 tests in 4.077s
2026-11-02T23:37:44.272876Z 01E Ran 2 tests in 1.704s
2026-11-02T23:37:49.499930Z 01E Ran 15 tests in 4.643s
2026-11-02T23:37:54.720090Z 01E Ran 2 tests in 0.348s
2026-11-02T23:37:56.437782Z 01E Ran 5 tests in 0.514s
2026-11-02T23:37:59.409639Z 00O Job succeeded
5/284785703build Monitor live Frontendsuccess
Выполненные и пропущенные группы
2026-11-02T23:41:04.834268Z 00O Job succeeded
5/284795703build componentsuccess
Выполненные и пропущенные группы
2026-11-02T23:40:05.194595Z 00O Job succeeded
5/284825703deployment preflightsuccess
Выполненные и пропущенные группы
2026-11-02T23:39:35.309517Z 00O Job succeeded
5/285095703refresh componentsuccess
Выполненные и пропущенные группы
2026-11-02T23:42:33.251945Z 00O Job succeeded
5/285105703refresh componentsuccess
Выполненные и пропущенные группы
2026-11-02T23:43:53.427257Z 00O Job succeeded
5/285185705python checkssuccess
Выполненные и пропущенные группы
2026-11-03T00:00:51.251544Z 01O check python: skipped (unchanged inputs; diff)
2026-11-03T00:00:53.198816Z 00O Job succeeded
5/285195705browser NATS checkssuccess
Выполненные и пропущенные группы
2026-11-03T00:01:08.090832Z 01O check browser: skipped (unchanged inputs; diff)
2026-11-03T00:01:09.067015Z 00O Job succeeded
5/285205705frontend checkssuccess
Выполненные и пропущенные группы
2026-11-03T00:01:16.816558Z 01O check frontend: selected (diff)
2026-11-03T00:02:04.749722Z 01O  Test Files  66 passed (66)
2026-11-03T00:02:04.750123Z 01O       Tests  535 passed (535)
2026-11-03T00:02:05.201012Z 01O check dependencies: selected (diff)
2026-11-03T00:02:08.731320Z 00O Job succeeded
5/285215705ruby checkssuccess
Выполненные и пропущенные группы
2026-11-03T00:02:17.087329Z 01O check ruby: skipped (unchanged inputs; diff)
2026-11-03T00:02:18.141377Z 00O Job succeeded
5/285225705dialog integration checkssuccess
Выполненные и пропущенные группы
2026-11-03T00:02:30.797384Z 01O check integration: skipped (unchanged inputs; diff)
2026-11-03T00:02:33.354990Z 00O Job succeeded
5/285375705build Monitor live Frontendsuccess
Выполненные и пропущенные группы
2026-11-03T00:05:45.069602Z 00O Job succeeded
5/285415705deployment preflightsuccess
Выполненные и пропущенные группы
2026-11-03T00:06:04.733303Z 00O Job succeeded
5/285685705refresh componentsuccess
Выполненные и пропущенные группы
2026-11-03T00:07:44.328729Z 00O Job succeeded

Отдельная job упаковки расширения #28371 создала ZIP, но загрузка artifacts не прошла из-за DNS имени gitlab на runner. Инфраструктура в этой задаче не менялась. Локальный ZIP проверен и установлен. Первая попытка адресной ASR-поставки остановилась до обновления из-за исчезнувшего подготовленного образа в кэше; после повторной подготовки тот же адресный deploy #28376 завершился успешно.

Расширение 2.3.2

Установлено: локальный источник. Резервная копия: локальный источник. Manifest key, ID, permissions, host permissions и CSP сохранены; ZIP прошёл CRC. SHA-256: 919971f31ddf9e0d250a9081958bbaaa14f4887821e660e64adc5ba1bdb98e43.

Пользователь подтвердил открытие 2.3.2 после ручной перезагрузки. Открытая панель на SPPI подключена к NATS. Контрольный текстовый запрос 487286c2-a621-4c34-9827-c8fb37d6fe08 получил ответ «проверка» за 751 мс; в Monitor сохранены 22 наблюдения, ошибок нет. Версия внутри панели не выводится, поэтому независимое чтение номера активной версии не выполнялось. Новый физический микрофонный захват не запускался. Подтверждения: результат, панель, Monitor.

Машиночитаемые результаты: исходники, CI, локальные проверки, браузер, диагностический повтор, установка расширения.