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

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

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

Pipeline [5381](<https://git.giscloud.ru/voice-chat/webrtc-komaroff/-/pipelines/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](<https://git.giscloud.ru/voice-chat/webrtc-komaroff/-/jobs/22209>): FAIL за 11,13 с, `The agent has no identities`. До подключения к целевому Docker не дошёл.
- [Chrome extension 22210](<https://git.giscloud.ru/voice-chat/webrtc-komaroff/-/jobs/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](<https://git.giscloud.ru/voice-chat/webrtc-komaroff/-/jobs/22211>): FAIL, 10,09 с; `The agent has no identities`, остановка до подключения к целевому Docker.
- [Chrome extension 22212](<https://git.giscloud.ru/voice-chat/webrtc-komaroff/-/jobs/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](<https://git.giscloud.ru/voice-chat/webrtc-komaroff/-/jobs/22213>), 8,47 с, `The agent has no identities` | Gateway/Frontend rollout и production-миграция не запускались |
| B2: DNS имени gitlab в runner | [Extension 22214](<https://git.giscloud.ru/voice-chat/webrtc-komaroff/-/jobs/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 прежний.

![Новый экран: две фразы без подтверждённых границ, локальные синтетические данные](#archive-availability)

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

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