Commit Graph

132 Commits (feat/self-evolving-tools-foundation)
 

Author SHA1 Message Date
Vitor Hugo Belorio Simão a40e3df6ff 📝 docs(admin): documentar responsabilidades da camada api interna
Adiciona comentarios curtos em arquivos da camada administrativa para deixar mais explicitas as responsabilidades de sessoes, roteamento, autenticacao, auditoria, configuracao e gestao de colaboradores.

O objetivo deste commit e melhorar a leitura do codigo e o onboarding sem alterar comportamento funcional do sistema.
6 days ago
Vitor Hugo Belorio Simão 3a7bfcf59b feat(admin): alinhar esteira governada de propostas e iteracoes de tools
Implementa a nova semantica da esteira administrativa para propostas de tools, separando triagem humana, execucao da pipeline, revisao de codigo e ativacao governada.

Tambem consolida iteracoes de geracao na mesma versao funcional, conecta refatoracao guiada por feedback da diretoria e adiciona compatibilidade com artefatos legados de revisao, aprovacao e source publicado no runtime.
6 days ago
Vitor Hugo Belorio Simão 7e380a9c65 feat(runtime): concluir execucao isolada de tools na fase 7 1 week ago
Vitor Hugo Belorio Simão de455b8566 feat(admin): concluir pipeline governada de tools na fase 6 1 week ago
Vitor Hugo Belorio Simão 640e422498 🚧 construct(admin): automatizar pipeline governada de tools na fase 6 2 weeks ago
Vitor Hugo Belorio Simão 2e3a695878 feat(admin): concluir fluxo governado de tools na fase 5 2 weeks ago
Vitor Hugo Belorio Simão 3dcf80eaaa feat(admin): consolidar governanca segura de tools na fase 5 2 weeks ago
Vitor Hugo Belorio Simão b3662906bc feat(admin): iniciar governanca versionada de tools na fase 5 2 weeks ago
Vitor Hugo Belorio Simão d6e765ce3c feat(admin): concluir telas da fase 4 no painel interno
Entrega as telas de configuracoes do sistema, relatorios comerciais, locacao e monitoramento operacional do bot dentro da sessao web do admin, com navegacao integrada ao dashboard e carregamento real pela sessao do painel.

Tambem simplifica a linguagem das superficies, remove detalhes tecnicos desnecessarios para o usuario, corrige o ponto quebrado que abria contrato em JSON bruto e ajusta grids, cards e quebra de conteudo para melhorar a leitura nas telas da fase 4.
2 weeks ago
Vitor Hugo Belorio Simão 9a31b0c5ae feat(admin): estruturar configuracao e relatorios da fase 4
Entrega a camada de backend da fase 4 com rotas administrativas para configuracao funcional do sistema, separacao explicita dos runtimes do atendimento e da geracao de tools, e as estruturas iniciais de relatorios de vendas, arrecadacao, locacao, fluxo do bot e telemetria conversacional.

Tambem adiciona a protecao de escrita no runtime administrativo para bloquear writes diretos nas tabelas operacionais do product, expoe esse snapshot no sistema e amplia a cobertura com testes web para configuracao, relatorios e governanca de escrita.
2 weeks ago
Vitor Hugo Belorio Simão 5ca21b598f 🧩 feat(shared): definir fronteiras de dados e configuracao da fase 4
Formaliza os contratos compartilhados para leitura operacional, estrategia de relatorios e configuracao funcional governada entre admin e product.

Tambem separa explicitamente o runtime do bot de atendimento do runtime de geracao de tools, detalha quais configuracoes do bot entram sob governanca administrativa e documenta as regras de publicacao, rollback e leitura sem acoplar o hot path do atendimento.
2 weeks ago
Vitor Hugo Belorio Simão bd662f35fa feat(admin): concluir fluxo interno do painel administrativo
Finaliza a camada operacional do painel com login protegido, dashboard interna separada, tela real de cadastro de novas tools e superficie completa de revisao para o fluxo administrativo.

Tambem adota os papeis em portugues entre colaborador e diretor, adiciona gestao de colaboradores com auditoria e reforca a navegacao para que o usuario so acesse modulos internos depois da autenticacao.
2 weeks ago
Vitor Hugo Belorio Simão e210b56b37 ♻️ refactor(admin): simplificar contrato das views
Remove campos que ficaram obsoletos depois da protecao do fluxo web e da simplificacao da tela publica de login.

Com isso, os modelos do painel refletem melhor o comportamento atual da interface administrativa e reduzem ambiguidade para as proximas iteracoes da fase 3.
2 weeks ago
Vitor Hugo Belorio Simão ed1a36ceb6 feat(admin): implementar painel administrativo base
Estrutura a fase 3 do orquestrador-admin com uma camada web propria para o painel interno, assets dedicados e uma dashboard administrativa em Bootstrap para o fluxo do staff.

Integra autenticacao web com cookies httpOnly, protege a navegacao do painel, adiciona snapshots de configuracao do sistema e entrega as primeiras superficies de gestao de tools para revisao, aprovacao e ativacao.

Tambem amplia a cobertura com testes para bootstrap do app, autenticacao web do painel, configuracao administrativa, governanca de tools e validacao da sessao administrativa no navegador.
2 weeks ago
Vitor Hugo Belorio Simão 82a12ff464 🔐 feat(admin): implementar identidade e seguranca administrativa 2 weeks ago
Vitor Hugo Belorio Simão 1541948e76 🧩 feat(shared): definir contratos e deploy entre product e admin 2 weeks ago
Vitor Hugo Belorio Simão 17583236a6 🏗️ feat(admin): criar scaffold inicial do orquestrador-admin 2 weeks ago
Vitor Hugo Belorio Simão 498836fd38 🧹 refactor(db): remover compatibilidade temporaria de multas 2 weeks ago
Vitor Hugo Belorio Simão 9182ec29a3 🧹 refactor(rental): remover suporte a multas de aluguel 2 weeks ago
Vitor Hugo Belorio Simão a692a7023e Merge branch 'chore/observability-latency-markers' 2 weeks ago
Vitor Hugo Belorio Simão ecb5c8960f 🛡️ fix(orchestration): restringir atalhos agressivos antes do merge 2 weeks ago
Vitor Hugo Belorio Simão 431d783eac perf(orchestration): tirar bundle do caminho critico do turno 2 weeks ago
Vitor Hugo Belorio Simão b687f5e5c7 🛡️ fix(orchestration): endurecer extracao estruturada e fallbacks de llm 2 weeks ago
Vitor Hugo Belorio Simão ad6a966c00 perf(orchestration): reduzir chamadas redundantes de llm 3 weeks ago
Vitor Hugo Belorio Simão 146475a278 🛡️ fix(orchestration): corrigir fluxos transacionais e acelerar atalhos determinísticos 3 weeks ago
Vitor Hugo Belorio Simão 9a97345f62 📊 feat(observability): instrumentar latencia ponta a ponta e reaproveitar entidades do turno 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 5448259ef9 📝 docs(readme): atualizar documentacao do orquestrador
- descreve vendas, revisao e aluguel como dominios atuais

- alinha arquitetura, tools, bootstrap, deploy e estado conversacional

- adiciona instrucoes de stress smoke e observacoes de Redis em producao
3 weeks ago
Vitor Hugo Belorio Simão 74e83adc66 Merge branch 'feat/aluguel-multimodal' 3 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 765108c904 🧩 refactor(orchestration): decompor orquestrador e mixins de fluxo
Extrai a gestao de contexto, memoria compartilhada, efeitos colaterais de tools e sugestoes de estoque do OrquestradorService para um OrchestratorContextManager dedicado, mantendo o servico principal focado na coordenacao do turno e preservando os contratos internos ja usados pela aplicacao.

Separa prompts, trace, normalizacao de invocacao, merge de drafts, execucao de tools e renderizacao com fallback em um OrchestratorExecutionManager, enquanto os mixins de venda, revisao e locacao passam a delegar buckets, snapshots e selecoes para helpers especificos apoiados por uma base FlowStateSupport reutilizavel.

Mantem a logica e as regras de negocio inalteradas, endurece a compatibilidade com cenarios de teste que instanciam o servico parcialmente e valida a refatoracao com a suite completa verde em 218 testes.
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 be4992f9c6 🧱 refactor(bootstrap): separar init_db do startup
Extrai o bootstrap de banco e seed para uma rotina dedicada, mantendo init_db apenas como alias legado de compatibilidade para evitar quebra nos fluxos existentes.

Remove o bootstrap automatico do startup do app HTTP e do container principal, deixando o processo de atendimento responsavel apenas por subir a aplicacao e nao por preparar schema ou popular dados.

Alinha compose, exemplos de systemd, documentacao e testes para o novo fluxo explicito de bootstrap, com a suite completa validada em 211 testes.
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 a3525334ad 🧪 test(concurrency): cobrir corridas de locacao e revisao
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.
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 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.
3 weeks ago
Vitor Hugo Belorio Simão 2c4e1dd688 🚧 feat(rental): blindar follow-ups e comprovantes multimodais 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 d1bd972f57 🐛 fix(orchestration): blindar compra, revisao e respostas longas no Telegram
- prioriza cancelamento e listagem corretos sobre drafts antigos de compra, limpa o contexto apos reprovacao definitiva de credito, orienta CPF invalido sem reiniciar o fluxo e reduz listagens de estoque para opcoes curtas e consistentes com a selecao exibida

- adiciona um caminho dedicado para avaliacao de veiculo na troca com aliases normalizados, formatter deterministico e protecao contra desvio indevido para fluxos de revisao ou respostas livres do modelo

- estabiliza cancelamento, remarcacao e listagem de revisoes, reaproveita motivo informado na mesma mensagem, mantem listagens completas em formato compacto e fragmenta automaticamente respostas longas antes do envio ao Telegram

- amplia a cobertura de regressao para compra, revisao, fila conversacional, avaliacao de troca e particionamento de mensagens no satellite
4 weeks ago
Vitor Hugo Belorio Simão c7175aa700 🐛 fix(order): reaproveitar selecao textual e priorizar opcoes proximas ao orcamento
- aceita referencias parciais ao modelo a partir da ultima lista de estoque, incluindo prefixos relevantes como T-Cros para T-Cross, sem reiniciar o fluxo de pedido

- ordena a busca de estoque em ordem decrescente quando ha teto de orcamento, mantendo crescente apenas quando o cliente pede explicitamente a opcao mais barata

- amplia as regressões do fluxo de pedido para cobrir selecao textual reaproveitada, confirmacao por modelo e a priorizacao de ofertas mais proximas ao valor informado
4 weeks ago
Vitor Hugo Belorio Simão 8a95e96df3 🧪 feat(mock): ampliar base local e seed incremental do banco
- eleva os alvos do seed local para 180 veiculos, 320 clientes e 80 pedidos, reduzindo o esgotamento precoce do estoque em roteiros manuais

- distribui os precos em faixas deterministicas com ruido leve para concentrar mais opcoes em orcamentos comuns como 70 mil

- torna o seed idempotente em bases ja populadas com top-up incremental e adiciona regressao para esse comportamento
4 weeks ago
Vitor Hugo Belorio Simão d0c29ca374 🐛 fix(sales): priorizar listagem de pedidos sobre follow-up de compra ativo
- impede que mensagens como 'Liste os meus pedidos' sejam consumidas pelo atalho de order_create quando ainda existe draft de compra aberto
- corrige o reaproveitamento indevido da ultima falha de credito em fluxos de vendas ativos, permitindo que a listagem siga para o handler correto
- adiciona regressao cobrindo o cenario de order_list com pending_order_drafts para evitar que a resposta fique presa no erro anterior
4 weeks ago
Vitor Hugo Belorio Simão 65cd775b2a 🧾 feat(audit): persistir historico de conversas no banco mock
- adiciona a tabela conversation_turns ao schema mock com request_id, conversation_id, user_id, canal, mensagem, resposta, status, intent, domain, action, tool, erro e latencia por turno
- integra o OrquestradorService para registrar historico tanto em turnos concluidos quanto em falhas, aproveitando o trace do turno e os metadados de execucao
- cria o ConversationHistoryService com persistencia e consulta list_turns com filtros simples para auditoria interna
- inclui cobertura para persistencia do historico, leitura filtrada e registro de turnos completed/failed na camada de orquestracao
4 weeks ago
Vitor Hugo Belorio Simão 9b6b2a643b 🐛 fix(review): estabilizar follow-ups curtos e remarcacao incremental no Telegram
- consome follow-ups curtos de revisao aberta antes do LLM para preservar data, horario e rascunhos ativos entre mensagens

- melhora a extracao de modelo a partir de resumos curtos e aceita respostas isoladas como Onix quando esse eh o ultimo campo faltante

- faz a remarcacao aceitar amanha 11h ou amanha seguido de 11h sem cair em um novo agendamento de revisao

- prioriza review_reschedule, review_cancel e review_list sobre respostas livres do modelo e amplia a cobertura de regressao da orquestracao
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