Поставка Chat Agent без Core
Текущий состав: 11 сервисов из webrtc.drs. Исходники, собранные образы и работающие задачи подтверждаются раздельно. Компонентные jobs — штатный путь последующих изменений; общий prune не применяется.
Однократное удаление Core
Процедура перехода и её обратный ход закреплены в ревизии a2cb6bb7. Она закрывает старый допуск, ждёт пустых очередей/аудио/replay, заменяет четыре компонента и удаляет Core только после проверок. Занятый поток не завершает. Одноразовые jobs и код перехода не входят в последующие поставки.
Последующие поставки
Существующие build component, deployment preflight, refresh component
обновляют указанный компонент. Runtime probe выполняется внутри Gateway.
Закрываются оба lifecycle: Gateway блокирует новые команды/START, Ingress — новый
аудиозахват/replay. Проверяются реальные владельцы, неопределённый admission,
Agent/LLM и ASR file lock. Открытие — Ingress → Gateway.
До обновления фиксируются прежние digest, после — фактические image/revision, replicas, health и контрольное поведение. Истёкший доступ и работающий микрофон не обходятся. Долгая job не отменяется лишь из-за ожидания.
HTTPS и auth маршруты остаются существующими. /core/* сохраняет ответ 410;
удалённый backend не заменяется SPA fallback. ID/permissions/CSP расширения прежние.
Для выпуска расширения используйте адресную поставку с CI_COMPONENT=frontend.
Образ Front собирает ZIP из исходников того же коммита. Страница
/downloads/chrome/ показывает версию из собранного manifest, а
/downloads/chat-agent-chrome-latest.zip отдаёт этот архив.
После распаковки новой версии обновите расширение в Chrome.
Правила локальной работы, NATS. Прежняя миграция стека, C2/C3 rollback и исторические измерения сохранены в версии документа до удаления Core.