# Очистка Chat Agent: результат

Задача найдена в чате «chat-agent sound simplified»: согласованный общий аудит после `run_js`.
[MR !48](<https://git.giscloud.ru/voice-chat/webrtc-komaroff/-/merge_requests/48>) влит, main `e6a8ee03ab3bc254124b45cd2566bfa471afa874`.

## Изменения

- Каталог Monitor с фиксированным окном: 17 SQL → 3, сохранены динамические таблицы и точные счётчики.
- Повтор одного event_id больше не создаёт повторное уведомление Monitor.
- Ручной сбор полей использует ленивый обход с ограничением; сохраняются frames/shadow и ссылки DOM.
- `dom.find` читает метаданные только возвращаемой страницы; текстовая фильтрация сохраняется.
- Удалены `messageText`, helper, неиспользуемые поля/параметры/импорт и дублирующая ветка исключения.
- Входные документы сокращены и приведены к текущим 12 сервисам; исторические отчёты сохранены.

Прикладной код: +40/−48 строк. Тесты: +51/−2. Документы: +317/−735. Всего +408/−785.
Полный аудит таблиц, зависимостей и сохранённых кандидатов — в `DOCS/SIMPLIFICATION_2026-11-03.md` соответствующего checkout.

## Проверки и CI

Локально: 96 адресных frontend-тестов, затем 56 проверок DOM/run_js/аудиодиагностики после исправлений; строгий TypeScript, Ruff F401/F841, Front и ZIP. PostgreSQL: 12 адресных тестов; Python batch/media/Monitor: 20; extension contract: 19. На заново созданной тестовой БД 55 проверок, из них 2 пропущены без отдельного NATS.

[Pipeline #5722](<https://git.giscloud.ru/voice-chat/webrtc-komaroff/-/pipelines/5722>): все пять checks прошли. Front — 561 тест; Python — 239 passed, 136 skipped и 10 subtests. Integration один раз получил SQL timeout в неизменённой проекции длинной сессии; после воспроизведения на свежей локальной БД повтор #28947 прошёл на том же SHA. Лимиты не повышались, экспериментальный SQL-фильтр без заметного эффекта удалён.

Сборка трёх образов #28914 успешна. ZIP job #28902 успешно собрала пакет, но упала при выгрузке: runner не разрешает `gitlab` через DNS. Общий статус pipeline — `manual`: нецелевые ручные jobs не запускались; это не утверждение об успешности выгрузки ZIP. Локальный ZIP собран с точного merge-коммита, CRC/manifest/ID/permissions/CSP проверены.

Локальный каталог: 23 совпавшие пары, медиана 4,136 → 2,590 мс. На production после поставки полный read-only запрос каталога вернул 16 таблиц за 314,75 мс. Это короткие проверки, не production p95 и не ускорение ASR.

## Фактическая поставка

Gateway #28936 → Audio Ingress #28946 → Front #28934: все jobs успешны после preflight #28919.
У всех трёх revision `e6a8ee03`, native label `1.0.1137`, replica 1/1, update completed. У Ingress Docker health healthy; Gateway проверен через штатную release-проверку Notes/NATS и реальный read-only каталог. Для Gateway/Front отдельный Docker health в инспекторе не указан.

Полные digest и прежние образы для отката: [runtime-proof.json](</experiments/voice-ai/archive/v/11/03/chat-agent-cleanup/runtime-proof.json>), [baseline.json](</experiments/voice-ai/archive/v/11/03/chat-agent-cleanup/baseline.json>). Native release guard подтвердил сохранность нецелевых сервисов и восстановил допуск Core. Agent/Core/LLM, ASR, GPU и инфраструктура не обновлялись.

Расширение 2.4.1 установлено в `локальный источник, прежняя 2.4.0 сохранена в backup. ZIP SHA-256 `bfa9ee03dd2413e7f5a9afe0d4b0144c8cdd77d3d3876aef66744ac683ce64ab`. Пакет: `локальный источник

## Границы подтверждения

Новая пользовательская панель не объявляется активированной: нужна ручная перезагрузка расширения. 04.11.2026 после повторного входа проверен production Monitor: каталог 16 таблиц, переход к аудиоблокам и фильтр периода, все 311 наблюдений проблемного запроса, 201 передача, журнал → выделенная стрелка → журнал, JSON, фильтр участника, вкладки Данные/Диагностика, модальные замеры и Escape. Проверены обе темы, тёмная восстановлена. Все 13 захваченных RPC-ответов имеют status 200; HTTP-ответов с кодом ошибки не обнаружено. ASR-повтор и микрофон не запускались. В console при исходной перезагрузке записано сообщение о закрытом асинхронном канале расширения; его источник не подтверждён, отдельная запись — в browser-qa.json. Также зафиксирована одна отменённая загрузка ресурса (ERR_ABORTED). Серверная идентичность и контрольный read-only запрос проверены через авторизованный Insight.

Накопленные данные и DDL не менялись. Физический `widget_cache.results` остаётся отдельным кандидатом на согласование удаления; остальные таблицы и восемь статических false positives имеют действующих потребителей. Основная dirty-копия сохранена.

Машиночитаемый итог: [delivery.json](</experiments/voice-ai/archive/v/11/03/chat-agent-cleanup/delivery.json>).

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

[Результаты](</experiments/voice-ai/archive/v/11/03/chat-agent-cleanup/browser-qa.json>), [тёмная тема](#archive-availability), [светлая тема](#archive-availability), [журнал](#archive-availability). Проверка активации пользовательского расширения 2.4.1 остаётся отдельной.
