Contexto
O Kairos utiliza spring-ai-bom e spring-ai-starter-model-google-genai na versão 2.0.0-M6. Essa é uma milestone release e, portanto, pode introduzir mudanças incompatíveis, APIs ainda não estabilizadas e maior risco operacional.
A integração atual é crítica para dois fluxos:
- extração estruturada de triples durante a ingestão;
- recognition memory durante a busca.
Objetivo
Migrar o projeto para a primeira release estável do Spring AI 2.x comprovadamente compatível com a versão de Spring Boot utilizada pelo Kairos, sem alterar os contratos de domínio nem degradar os comportamentos atuais.
Pré-condição
Antes da implementação, confirmar em fontes oficiais:
- qual release estável do Spring AI suporta o Spring Boot atual;
- compatibilidade do starter Google GenAI;
- mudanças de configuração,
ChatClient, structured output, advisors e observabilidade;
- requisitos de Java e dependências transitivas.
Caso ainda não exista uma combinação estável compatível, documentar o bloqueio na issue e não substituir a milestone por outra versão pré-release apenas para alterar o número.
Escopo
- Atualizar o BOM e os starters do Spring AI.
- Adaptar APIs removidas, renomeadas ou estabilizadas.
- Preservar os ports de domínio de extração e recognition memory.
- Revisar propriedades em
application.yml, .env.example e docs/configuration.md.
- Validar structured output para respostas válidas, vazias e malformadas.
- Validar timeout, retry e tratamento de erros transitórios do provider.
- Revisar serialização/deserialização dos DTOs enviados ao Gemini.
- Confirmar que prompts, limites e modelo continuam externalizados.
- Executar análise de dependências e vulnerabilidades após o upgrade.
- Remover do README e de
docs/operations.md a limitação da milestone somente após a migração validada.
- Registrar mudanças arquiteturalmente relevantes em ADR ou atualização de ADR existente.
Critérios de aceite
Fora de escopo
- trocar Gemini por outro provider;
- adotar um LLM local;
- substituir ONNX embeddings por Spring AI
EmbeddingModel;
- substituir a persistência pgvector por
VectorStore do Spring AI;
- alterar o algoritmo HippoRAG 2;
- atualizar Spring Boot sem necessidade de compatibilidade demonstrada.
Contexto
O Kairos utiliza
spring-ai-bomespring-ai-starter-model-google-genaina versão2.0.0-M6. Essa é uma milestone release e, portanto, pode introduzir mudanças incompatíveis, APIs ainda não estabilizadas e maior risco operacional.A integração atual é crítica para dois fluxos:
Objetivo
Migrar o projeto para a primeira release estável do Spring AI 2.x comprovadamente compatível com a versão de Spring Boot utilizada pelo Kairos, sem alterar os contratos de domínio nem degradar os comportamentos atuais.
Pré-condição
Antes da implementação, confirmar em fontes oficiais:
ChatClient, structured output, advisors e observabilidade;Caso ainda não exista uma combinação estável compatível, documentar o bloqueio na issue e não substituir a milestone por outra versão pré-release apenas para alterar o número.
Escopo
application.yml,.env.exampleedocs/configuration.md.docs/operations.mda limitação da milestone somente após a migração validada.Critérios de aceite
./mvnw clean verifypassa integralmente.dependency:treee pelos gates de segurança.Fora de escopo
EmbeddingModel;VectorStoredo Spring AI;