Commit Graph

8 Commits (main)

Author SHA1 Message Date
Vitor Hugo Belorio Simão 9182ec29a3 🧹 refactor(rental): remover suporte a multas de aluguel 2 weeks ago
Vitor Hugo Belorio Simão d0b11e368a 🛡️ fix(orchestration): endurecer retomada de fluxos e stress local
- prioriza selecoes e refinamentos corretos em mensagens multiassunto

- adiciona retries defensivos no envio do Telegram sem derrubar o worker

- reidrata o ultimo contrato de locacao apos restart e responde consultas informativas

- restringe a heuristica de informacoes de aluguel para nao sequestrar compra e troca

- preserva expires_at no backend memory e ajusta o stress smoke para usar CPF mock valido

- adiciona regressões automatizadas e valida com 230 testes mais stress smoke pesado
3 weeks ago
Vitor Hugo Belorio Simão 6f69094412 🧵 refactor(telegram): retomar updates e isolar io bloqueante
Persiste o ultimo update_id processado pelo satellite e retoma o polling a partir desse cursor no restart, usando a idempotencia por mensagem como rede de seguranca para reentregas.

Move o turno bloqueante do orquestrador para worker thread com asyncio.to_thread, mantendo no loop async apenas o que e realmente assincrono e endurecendo o backend de estado em memoria para acesso concorrente com RLock.

Amplia a cobertura do satellite com testes para cursor persistido, bootstrap inicial, atualizacao monotona do update_id e offload do processamento bloqueante, mantendo a suite completa verde com 218 testes.
3 weeks ago
Vitor Hugo Belorio Simão 2ef283b170 🔁 fix(telegram): garantir idempotencia em reentregas
Define uma chave de idempotencia por mensagem do Telegram usando chat_id e message_id, com fallback para update_id, para impedir reprocessamento de updates repetidos ou reentregues.

Reaproveita a resposta ja calculada nas duplicatas e registra o cache recente por chat no backend de estado, preservando exatamente uma execucao dos efeitos de negocio.

Amplia a cobertura com testes para mensagem duplicada, mesmo texto com message_id novo e preservacao do comportamento atual do satellite.
3 weeks ago
Vitor Hugo Belorio Simão a5b28182d9 🔒 fix(observability): mascarar dados sensiveis em logs e historico
Centraliza a sanitizacao de cpf, placa, external_id e identificadores de comprovante para evitar que esses dados sejam persistidos crus no historico conversacional e nos logs operacionais.

Aplica a mascaracao no trace do orquestrador, na auditoria de turnos e no tratamento de erros do satellite do Telegram, preservando apenas fragmentos uteis para troubleshooting.

Amplia a cobertura com testes para persistencia mascarada, leitura de registros legados e payloads de log sanitizados, mantendo a suite completa verde com 209 testes.
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 c22672abda 🛡️ fix(multimodal): endurecer validacao da watermark SysaltiIA
Exige confirmacao positiva da marca d'agua SysaltiIA no retorno multimodal antes de permitir o registro de comprovantes e notas fiscais.

Bloqueia respostas sensiveis sem o marcador de validacao e preserva o bloqueio direto no satellite do Telegram.

Amplia a cobertura com testes para prompt, coercao da resposta e fluxo bloqueado no multimodal.
3 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