Проверка Chat Agent 2.4.4 → Monitor
05.11.2026. Проверена реально активированная пользователем панель Chrome, а не только ZIP или локальный макет.
Что исправлено
- Тайм-аут чтения журнала: устранено повторное тяжёлое объединение данных фраз; агрегат читается через asyncpg fetch, не fetchrow, чтобы одноразовый portal не исключал parallel workers PostgreSQL. Лимит 2 с сохранён. Проверочная выборка: 39 наблюдений за 750,964 мс.
- Ошибка чтения больше не выглядит как ноль запросов и ноль событий; тайм-аут Monitor отличается от недоступной команды.
- Квитанции инструмента связаны с конкретной передачей его результата, а не с исходным вопросом. Приём команды, результат инструмента и окончательный ответ разделены.
- Расширение сохраняет подтверждение получения и показа окончательного ответа через существующую квитанцию. Monitor использует эти записи без второй копии ответа.
- JSON проецируемых квитанций открывается по существующему источнику; проверяются сессия, операция, событие и временная граница. Исправлена потеря выбранной сессии при ленивом чтении UI.
- В новых прогонах показаны реальные сервисы и адрес провайдера. Исторический bus обозначен как незаписанный участник, а не выдуманный сервис или брокер.
- Описания команды, допуска, вызова инструмента, результата и завершения указывают назначение передачи. Проверены все 27 шагов рабочего прогона.
- Убрано наложение закреплённых фильтров на заголовок подробностей. Проверены обе темы, контраст единственного tooltip, клавиатурный доступ, выделение стрелки и обратный переход.
- Отправка консольных наблюдений расширения больше не направляется в удалённый Core.
Реальный контрольный запрос
Request ID: 4e4fc102-fe8a-4cb2-81b6-c9dbe7ba1997.
Session ID: e553d21f-3e16-4891-9321-65b73fed9cee.
Панель вызвала run_js один раз: прочитала h1 RoboForm без чтения полей формы и без изменения страницы. Два обращения к модели. Ответ: Form Filler: Test Form - All Fields.
- Monitor: 41 сохранённое наблюдение, 27 передач; 8 запросов, 12 ответов, 7 событий; 0 ошибок доставки и инструментов.
- Отправка команды → показ: 2367 мс; Agent: 2235 мс. Вложенные удалённые вызовы LLM: 1807 мс; инструменты: 123 мс. Эти интервалы не складываются.
- Получение браузером: 09:21:43.029; показ: 09:21:43.032, разница 3 мс по часам браузера.
- Отправка Gateway: 09:21:44.274 по серверным часам. Расхождение часов показано явно и не трактуется как отрицательная сетевая задержка.
- После окончательной поставки проверено открытие JSON квитанции и фактического ответа через payload_ref, журнал → выбранная стрелка → журнал, тёмная/светлая тема.
Исходники и CI
MR !55 и MR !56 merged. Окончательный main 461aeffbf42c937a2216e963bbe8760a4dee9483; серверная ревизия 9f7113f147f239e74061a06152ad45b73dfb90fc. От исходного 329856fa: 30 файлов, +356 / −84 строк. Корневой CI не менялся.
- Pipeline 5752: пять обязательных checks успешны; Python — 250 passed, 137 штатно skipped, 12 subtests; frontend — 574 теста; browser NATS, Ruby и PostgreSQL/NATS integration завершились успешно.
- Pipeline 5753: пять обязательных jobs успешны; повторно выполнены 574 frontend-теста. Python, browser, Ruby и integration штатно пропущены отбором влияния, поскольку последний commit меняет только Front.
- Последняя локальная регрессия: 47 тестов и TypeScript проверка прошли. Тест чтения JSON до исправления воспроизводил отсутствие selected_session_id.
- Backend build 29578, deploy 29596 — success. Final Front build 29636, preflight 29639, refresh 29665 — success. Неиспользованные manual jobs не запускались.
Работающие образы
Все перечисленные сервисы: 1/1 running; rollout completed. Для Ingress подтверждён Docker health=healthy. У остальных Docker HEALTHCHECK не задан; функциональное поведение проверено реальным запросом и HTTPS Monitor.
| Сервис | Версия | Revision | Digest |
|---|---|---|---|
| chat-agent_src_llm | 1.0.1165 | 9f7113f1 |
sha256:82fffd86a34167d520368f1a52afcdf4c18fff4d103b582edfa4d360a6ef5345 |
| chat-agent_src_api_gateway | 1.0.1165 | 9f7113f1 |
sha256:0103e1771744dcff8988ea8925966ea147cf55ce60e6dc6d5d515618890d1412 |
| chat-agent_src_agent | 1.0.1165 | 9f7113f1 |
sha256:c01319a54f619898c18f38b9a0a72b6689f4963ea5aafe0ccb24bb6b8be30aee |
| chat-agent_audio_ws_ingress | 1.0.1165 | 9f7113f1 |
sha256:3bb9732abf26710fe5bf12c27f6439c09c27acd1a25f535105a1f7812300013c |
| chat-agent_src_front | 1.0.1166 | 461aeffb |
sha256:3adc716dad08b763af773baaf2572b6de1e7aaa1be2590004361070ef98e56c4 |
Расширение 2.4.4 активировано и проверено в Chrome. Последняя правка обновила только Front, повторная активация расширения не нужна.
Границы достоверности
У исторического прямого NATS-запроса e82ce59b-1101-4a0a-9914-9837d3945ca2 исходный отправитель действительно не сохранён. Его имя и отсутствующие промежуточные отметки браузера не восстановлены догадками. Совпадение времени не использовалось для связи операций.
Во время обновления одна загрузка Monitor не подключилась; обычное обновление страницы восстановило HTTPS auth и NATS. Бесшовное переподключение при rollout этим тестом не подтверждается.
Микрофон, ASR/GPU и длительные прогоны в эту проверку командного пути не входили. Формы RoboForm не заполнялись.
Доказательства
final-description-audit.json: строки и подробности всех 27 передач.final-answer-detail.txt,final-receipt.txt: ответ и квитанция после поставки.images-before.json,images-delivered.json: прежние и окончательные образы.verification.json: итоговые IDs, проверки, времена и ограничения.