# Monitor: восстановление последовательности запроса

MR: https://git.giscloud.ru/voice-chat/webrtc-komaroff/-/merge_requests/47

Исходный commit: `8342ee0676341eab023c44c5fcdcb4dd2d8c33d7`. Main: `a1bfae91baac33f36f1da9aa9d0aacd166c1b4c6`. Четыре файла, +52/-12 строк.

## Причина и исправление

`request_events` завершался `asyncpg.exceptions.QueryCanceledError` через 2 с; общий обработчик представлял его как `command_unavailable`. При разрешении владельцев наблюдений разбирались большие JSON-конверты всех генераций сессии. Исправление исключает ненужные поля конверта из этой стадии, сохраняя полные поля выбранной страницы и ленивое чтение тела. Защищённые CASE-выражения читают аудиополя только для соответствующих контрактов. JIT отключён через SET LOCAL только в коротких read-only транзакциях Monitor. Лимиты 2 с на SQL и 3 с на чтение сохранены; схема, инфраструктура, CI и контракты не менялись.

## Проверки

- 34 PostgreSQL integration tests и 31 unit test Monitor/traffic прошли локально.
- Пять CI checks MR pipeline 5717 и пять checks main pipeline 5718 прошли. Результаты отдельных групп не подменяются общим статусом pipeline: неиспользованные manual jobs остались manual.
- На реальной записи в отдельном read-only процессе исходная первая страница совпала с оптимизированной полностью. Исходное чтение потребовало 3689,6 мс при временно увеличенном лимите только диагностической транзакции. Окончательный вариант прочитал 4 страницы за 1655,3 / 1448,2 / 1522,3 / 1494,7 мс в штатных лимитах; 311 уникальных наблюдений. Эти короткие замеры не являются p95.
- В production по пользовательской ссылке проверены все 311/311 наблюдений, журнал, схема, боковая панель, выбранная стрелка, возврат в журнал и сохранённый JSON. `command_unavailable` отсутствует.

## Поставка

Build component #28844, preflight #28847, refresh component #28874 — success. Обновлён только Gateway; прежний digest сохранён в evidence.json. Версия 5.1.1133, revision main a1bfae91, digest `1313a10b94a1f8a36cc58105d0bd281668889fc16f3cc2410675ff1ae0071bcd`. Insight показывает 1/1 running; штатная проверка rollout дождалась здоровья и завершения обновления. Сервисы ASR, Agent, Front и расширение не обновлялись этой поставкой.

## Состояние исторической команды

Распознавание завершилось final. Команда завершилась `tool_budget_exceeded`: 10 вызовов инструмента, 3 из них с ошибками, 11 генераций. Это отдельный сохранённый результат выполнения; исправление чтения Monitor не превращает его в успех и не перезапускает команду.

Изолированная тестовая PostgreSQL остановлена. Пользовательские изменения основной копии не затрагивались.
