Commit Graph

11 Commits (3dcf80eaaa8eef31fc5c903c4b0d4b0433d0c13b)

Author SHA1 Message Date
Vitor Hugo Belorio Simão 9182ec29a3 🧹 refactor(rental): remover suporte a multas de aluguel 3 weeks ago
Vitor Hugo Belorio Simão 31d02a7daa 📨 feat(integrations): escalar entregas do Brevo com destinatario dinamico
Consolidar as rotas de email por evento em um modelo global dinamico, resolvendo o destinatario a partir do cadastro do usuario e registrando recipient_email e recipient_name em cada entrega do outbox para melhorar rastreabilidade e operacao.

Permitir captura opcional de email no Telegram, salvar o endereco no cadastro do usuario e reaproveitar esse dado em revisao, pedido e aluguel, incluindo prompts de consentimento e reenvio imediato do resumo apos a confirmacao.

Ampliar a configuracao do provider Brevo e dos scripts operacionais com sender por rota, reply-to, cc, bcc, tags, headers, listagem de rotas e entregas, alem de migracoes de bootstrap e cobertura automatizada validada com 100 testes OK.
3 weeks ago
Vitor Hugo Belorio Simão 6837f00609 🔌 feat(integrations): estruturar pilar inicial com Brevo
Adicionar base de integracoes externas com rotas configuraveis e outbox auditavel no banco mock.

Criar provider de email via Brevo, templates padrao por evento e scripts para cadastrar rotas e processar entregas pendentes.

Publicar eventos de negocio em compra, cancelamento de pedido, agendamento de revisao, abertura de locacao, pagamento e devolucao de aluguel sem alterar a regra de negocio central.

Adicionar testes de servico e hooks de dominio e validar a suite automatizada com 248 testes OK.
3 weeks ago
Vitor Hugo Belorio Simão c8cff5fc3f 🛡️ fix(concurrency): serializar chats e blindar conflitos de locacao
Serializa o processamento do Telegram por chat com workers dedicados e semaforo global, evitando que uma mensagem lenta bloqueie os demais atendimentos enquanto preserva a ordem dentro de cada conversa.

Protege a abertura de locacao com row lock no veiculo e adiciona lock de slot para agendamento e remarcacao de revisao, reduzindo o risco de corrida em reservas simultaneas.

Amplia a cobertura com testes para paralelismo no satellite do Telegram, lock da locacao e lock dos horarios de revisao.
3 weeks ago
Vitor Hugo Belorio Simão aa3bc3f3e0 🐛 fix(rental): blindar fluxo ativo e refinar busca por modelo
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.
4 weeks ago
Vitor Hugo Belorio Simão 0ba1660c20 🚧 feat(rental): estruturar fluxo multimodal de aluguel no Telegram
- 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
4 weeks ago
Vitor Hugo Belorio Simão 876b0dd2d1 🐛 fix(identity): validar CPF informado e bloquear vinculo duplicado no mock
- 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
4 weeks ago
Vitor Hugo Belorio Simão 71592c544e 🛡️ fix(order): blindar reserva concorrente de veiculos e adicionar stress smoke
- 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
4 weeks ago
Vitor Hugo Belorio Simão cdb36ab964 feat(context): enriquecer resumo conversacional e endurecer expiracao do estado
- 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
4 weeks ago
Vitor Hugo Belorio Simão f5a7a720ed 🐛 fix(orchestration): blindar listagem e cancelamento de pedidos no fluxo estruturado 1 month ago
Vitor Hugo Belorio Simão 11ebde3127 ♻️ refactor(domain): extrair regras de negocio das tools mock
- 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
1 month ago