Uma pintura a óleo naturalista de uma futura arquitetura de conhecimento.

18 de maio de 2026. A captura automatizada só é útil quando preserva evidências sem transformar cada interação com ferramentas em material retido. A mudança de hoje limita essa responsabilidade. O gancho de captura mantém a exclusão de chamadas de ferramenta que falharam, usa diretamente o endpoint de memória FastAPI e mascara várias formas evidentes de conteúdo que contém segredos antes da captura. Ao mesmo tempo, a preparação do ambiente do classificador sai do loop de eventos da FastAPI. Essas alterações compartilham uma pergunta operacional: o sistema pode registrar trabalho útil sem fazer da própria captura uma fonte de registros enganosos, valores expostos ou solicitações paradas?

A pergunta de trabalho

O que uma rota automática de memória deve reter quando encontra saída de erro, arquivos de configuração, credenciais e trabalho lento de ambiente local? A resposta não pode ser “tudo”. Chamadas com falha geralmente descrevem uma tentativa, e não uma ação concluída; retê-las como memória comum pode criar um histórico falso de sucesso. Caminhos de configuração podem apontar para material que nunca deve ser copiado para um registro. Um subprocesso bloqueante pode atrasar trabalho de API não relacionado enquanto verifica se um modelo local está pronto. Cada condição precisa de um controle específico, pois conveniência não é motivo suficiente para reter ou bloquear.

A captura agora tem regras mais estreitas

A rota HTTP do gancho agora envia sua carga de captura pelo endpoint de memória FastAPI documentado, usando uma solicitação leve da biblioteca padrão. Isso remove uma importação de cliente inativa desse caminho e deixa a importação direta do serviço como alternativa quando a API não está disponível. O conteúdo de captura é preparado antes de ser persistido. Os padrões abrangem atribuições de segredo no estilo de ambiente, valores de autorização bearer, formas de chaves de acesso AWS, formas de tokens de acesso pessoal do GitHub e formas de chaves no estilo OpenAI. Quando um caminho por si só sinaliza material sensível, incluindo arquivos comuns de ambiente, senha, chave ou credenciais, o gancho registra apenas a ação e o caminho, suprimindo a visualização de conteúdo ou resposta.

Esses são controles para casos reconhecíveis, não uma alegação de detecção universal de segredos. Um valor fora dos padrões listados ainda pode exigir tratamento cuidadoso, e uma regra de nome de arquivo é tão forte quanto a informação de caminho fornecida ao gancho. A evidência importante é que o mascaramento ocorre antes da solicitação de captura, de modo que a rota comum de persistência não precise limpar um valor depois de já o ter recebido. O gancho também mantém uma instância reutilizável do serviço alternativo, em vez de construir e fechar repetidamente a cara rota de importação direta.

A classificação não deve parar a API

A preparação do ambiente pode levar muito mais tempo do que uma solicitação comum: ela pode precisar pedir ao gerenciador compartilhado que selecione um modelo, reivindique memória da unidade de processamento gráfico (GPU) e inicie um ambiente local. O classificador ainda precisa dessa preparação, mas não deve congelar o loop de eventos assíncrono da FastAPI enquanto o trabalho bloqueante ocorre. Por isso, a verificação prévia apresentada em Preparar o ambiente de classificação é movida para uma thread de trabalho com asyncio.to_thread. Outras solicitações em andamento podem continuar enquanto o classificador espera seu resultado de prontidão. Esta mudança não torna disponível um modelo indisponível; ela protege a capacidade de resposta do serviço enquanto a verificação prévia existente informa o estado real.

O que foi verificado e o que vem depois

A mudança de 18 de maio registra uma verificação de ponta a ponta do caminho do gancho, da entrada padrão pela captura HTTP até o banco de dados, com os mascaramentos configurados aplicados, além de uma reconstrução do Docker e oito testes de tarefa. Isso é evidência para os caminhos exercitados, não garantia de que todo chamador, forma de segredo ou condição de ambiente foi coberto. O próximo teste deve usar fixtures seguros representativos para confirmar que chamadas com falha permanecem excluídas, que cada classe de mascaramento chega à persistência apenas como marcador e que um ambiente lento ou indisponível mantém responsivas solicitações de API não relacionadas. A próxima revisão também deve buscar novos formatos de segredo e fontes de captura, porque as regras precisam acompanhar o trabalho que realmente recebem.

Base histórica: commit de 18 de maio de 2026 895579c.