Evita acoes indevidas de devolucao e pagamento herdadas so pelo contexto recente do aluguel.
Refina a identificacao de modelo para ignorar anos e pedidos genericos, mantendo a listagem aleatoria quando nao houver preferencia especifica.
Adiciona regressoes para follow-ups de locacao, filtros de frota e limpeza de contexto.
- adiciona frota, contratos e eventos de aluguel ao banco mock, ao seed operacional e ao bootstrap para habilitar o dominio de locacao de ponta a ponta no ambiente local
- cria o rental_service e o rental_flow com listagem da frota, selecao guiada por numero/placa/modelo, abertura e devolucao de contratos e continuidade incremental no orquestrador
- integra o processamento multimodal no Telegram para comprovantes e multas de aluguel, amplia o estado conversacional com contexto de locacao e fixa a resposta deterministica da listagem para permitir escolha apos a consulta
- adiciona cobertura para servico, seed, separacao entre compra e locacao, follow-ups do fluxo, resumo de contexto e cenarios multimodais do Telegram
# Conflicts:
# app/db/mock_seed.py
# app/services/orchestration/orchestrator_config.py
# tests/test_conversation_adjustments.py
- passa a aceitar apenas CPFs validos informados pelo usuario na hidratacao mock, mantendo score, limite e restricoes como dados derivados automaticamente do documento informado
- impede que o mesmo CPF fique vinculado a dois usuarios diferentes, retornando erro de dominio claro no pedido e preservando o fluxo aberto para que o cliente informe outro CPF
- atualiza o seed local para gerar CPFs validos e deterministas, alinhando a base mock aos testes manuais e evitando registros incoerentes no ambiente de validacao
- amplia a cobertura de regressao para seed, order service e fluxo conversacional de compra com CPF invalido ou ja vinculado
- protege a criacao de pedidos com lock nomeado no MySQL e tentativa de row lock no veiculo antes da persistencia
- reaproveita a checagem final de reserva apos o lock para evitar dupla reserva do mesmo veiculo em atendimentos concorrentes
- adiciona regressao dedicada para garantir o uso de with_for_update e o conflito vehicle_already_reserved
- inclui um stress smoke para validar persistencia de estado, ciclos completos de pedido e corrida de reserva com Redis
- adiciona helper central de tempo UTC e passa a reutiliza-lo nas rotinas de expiracao, persistencia temporaria e geracao de identificadores operacionais\n- amplia o build_context_summary com fluxo ativo, memoria generica formatada, ultima tool executada, troca de contexto pendente, fila, selecao de estoque e rascunhos de revisao e pedido\n- reaproveita snapshots de fluxo quando uma chave temporaria do bucket nao estiver mais disponivel, mantendo mais contexto util para o modelo\n- padroniza a expiracao do estado em memoria, no Redis e nos fluxos de pedido para reduzir inconsistencias entre turnos e reinicios\n- adiciona testes dedicados para garantir a qualidade do resumo enviado ao modelo em cenarios de revisao, compra e fallback por snapshot
- mover regras de estoque, credito, pedidos e revisao para servicos de dominio dedicados
- manter handlers como camada fina de adaptacao para o ToolRegistry
- centralizar utilitarios compartilhados e o contrato estruturado de erro das tools