Commit Graph

8 Commits (c8cff5fc3fef1c9f270aedde2dc235611d044619)

Author SHA1 Message Date
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