2.0 KiB
2.0 KiB
Changelog — TIA Regional / xAI Pool
Implementação adicionada
- sidecar
xai_pool_proxycompatível com o protocolo WebSocket xAI usado pelo TIA; - pool pré-aquecido configurável por Pod (
XAI_POOL_SIZE, default de exemplo 50); - acquire por utterance após
text.clear; - release automático após
audio.done; - recuperação de slots desconectados;
- refresh escalonado por TTL + jitter;
- prewarm em ondas para evitar burst de handshake;
/healthz,/readyz,/pool/status,/metricse/drain;- readiness com histerese;
- Deployments regionais ORD/IAD usando a mesma imagem;
- credencial xAI real isolada no sidecar;
- Service único para balancear Pods regionais;
- RollingUpdate, PDB e HPA;
- scripts de renderização, validação e deployment;
- manuais de arquitetura, implantação e testes.
Compatibilidade
O modo anterior permanece disponível. O deployment regional é opcional e não remove XAI_WEBSOCKET_URL direto para OCI xAI.
Validações executadas na geração
py_compile/compilealldo novo sidecar: PASS;- parsing YAML dos templates Kubernetes: PASS;
- renderização ORD/IAD via
envsubst: PASS; - parsing YAML dos manifests renderizados: PASS.
Não foi executado teste real contra OCI xAI, pois depende das credenciais/endpoints do ambiente TIM/OCI. O manual descreve smoke, saturação, failover e stress test a executar em FQA.
Correção — barge-in e capacidade negociada
- relay upstream passou a ser assíncrono para que
text.clearseja processado imediatamente duranteaudio.delta; - barge-in cancela o relay, envia
text.clearao xAI e drena mensagens residuais atéaudio.clear; - socket volta ao pool somente após boundary confirmado; timeout/erro força reset e reposição do slot;
- adicionadas métricas de barge-in/reuso/reset/descarte;
XAI_POOL_SIZEdocumentado como tamanho configurável por réplica, sem assumir limite público de 50 conexões;- capacidade total passa a ser dimensionada conforme acordo/provisionamento real xAI/OCI.