Adiciona cenarios de corrida para abertura de locacao e agendamento de revisao, disparando tentativas simultaneas sobre o mesmo recurso critico para validar que apenas uma operacao vence a disputa.
Usa sessoes SQLite compartilhadas entre threads e locks de teste controlados para reproduzir contencao real sem alterar a logica de producao.
Garante por assercoes de resultado e estado persistido que sobra apenas um contrato de locacao e um agendamento valido apos a concorrencia.
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.
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