# Qwen 2B: поставка редактора ASR/TTS

13 ноября 2026. Редактор включён по явному одобрению пользователя, с известными ограничениями промпта.

- ASR: https://chat-agent.gis-master.ru/monitor/asr
- TTS: https://chat-agent.gis-master.ru/monitor/tts
- Подробный отчёт с исходными ответами и аудио: [report.html](</experiments/voice-ai/archive/v/11/13/voice-editor/report.html>).

## Исходники и поставка

Chat Agent !84 (`4823a40c`, merge `8a761d60`), rag-stack !12 (`e0cba29`, merge `b811823b`). Дополнительно !85 (`96169b05`, merge `7fabc6b0`) исправляет пропуск ASR-редактора после минутного продления доступа: сохраняется `panel_context`.

CI 6030, 6042 и 6044: пять обязательных групп прошли. Основная проверка: Python 294 passed / 141 skipped и 12 subtests, Front 633 passed; настоящий NATS и PostgreSQL. Для исправления — адресный реальный NATS/PG-тест и 12 unit-тестов; один отдельный PG-тест пропущен в локальном запуске без окружения, проверен штатным CI.

Адресные jobs: TTS 32171; Front 32106; финальный Gateway 32276. Работающие Gateway `7fabc6b0` и Front `8a761d60` независимо проверены через Insight: update completed, running. Оба флага `TTS_ENABLED=1`, `VOICE_EDITOR_ENABLED=1`. Точные digest и старые образы сохранены в JSON. 13 ноября в 04:48 UTC независимо проверен и TTS на H100: `1/1`, `running`, `healthy`, перезапусков `0`, revision `4823a40c`, digest `sha256:53387f6a1c1913912cd8d279d2e8d3465672169af24ac530917ef06a579aba57` совпадает с поставленным. Прежний пробел доступа закрыт; [снимок runtime](</experiments/voice-ai/archive/v/11/13/voice-editor/tts-runtime-after.json>).

При первой адресной поставке исправления не был передан `CI_TTS_ENABLED`, и Gateway временно получил значение 0. Повторная стандартная job 32276 восстановила сохранённые флаги. Это обнаружено проверкой фактического окружения до завершения приёмки.

## Живая проверка

| Проверка | Результат |
|---|---|
| Monitor ASR | Запрос завершён; отрицания, коды и число сохранены. |
| Monitor TTS | Полный вызов Gateway 327 мс, браузер 670 мс; плеер подтвердил воспроизведение. |
| Виджет: ответ → редактор → звук | Редактор 2028 мс с загрузкой; первый блок worker 281 мс; 4,32 с звука, 45 блоков. |
| ASR после минутного продления | Редактор 399 мс; исходник в архиве, `source_text_sha256` в квитанции, исходник раскрывается в панели. |
| Числа, координаты и пунктуация | Текст дошёл без изменений; 11,44 с звука, первый блок 270 мс. Паузы в сигнале присутствуют; правильность ударений не подтверждена. |

Все это единичные контрольные измерения, не benchmark и не p95. Приёмка ASR использовала сохранённый WAV без физического микрофона. Временная подмена аудиозахвата удалена, тестовый экземпляр виджета выгружен.

## Ограничения

Качество выбранного `gemma-e4b-tuned` на Qwen 2B остаётся прежним: возможны метки ASR/TTS, неисправленные аббревиатуры, цифры вместо слов и отсутствие сокращения списка. Успешный технический вызов не означает правильную редактуру. Никакой скрытой правки выхода не добавлено.

Пунктуация не теряется в транспорте; улучшение русских ударений и интонации этим выпуском не доказано. Звук сохранён для прослушивания в HTML.

На бытовых репликах отдельно проявился цикл действий Agent до лимита 10 инструментов. Это не ошибка редактора; Agent и его модель не менялись. Один из фрагментов записи получил обычный ответ Agent; следующий дошёл до лимита. Оба поведения сохранены в Monitor.

Расширение 2.8.0 собрано с прежними ID/permissions/CSP. Ручная перезагрузка установленного расширения не выполнялась; живые проверки выполнены в веб-виджете. Старый клиент остаётся совместимым.
