Ir para o conteúdo

Histórico de Versões (Changelog)

Todas as alterações notáveis no projeto LEAI são documentadas nesta página.

[0.3.15] — 2026

📋 Manifesto e Logs de Auditoria no TUI /update & Correção de Contadores

  • Geração Automática de Logs de Auditoria no TUI (_run_update):
  • O comando /update executado no modo interativo TUI agora gera automaticamente os manifestos estruturados (latest.json, latest.md e update_YYYYMMDD_HHMMSS.json).
  • Envio automático dos manifestos de auditoria para o bucket SeaweedFS S3 (logs/updates/latest.json e latest.md) e gravação local em ./logs/updates/ quando não em modo remote-only.
  • Correção no Contador de Objetos Modificados do TUI:
  • Corrigida a contagem acumulativa de Modified Objects no painel de resumo final do /update, garantindo a exibição exata da quantidade de objetos alterados detectados.

[0.3.14] — 2026

🌐 Internacionalização Integral (DocEditor & Doctor)

  • Localização Completa do Studio de Documentação TUI (doc_editor.py):
  • Internacionalizados todos os catálogos de navegação, paginação, filtros, completude de documentação, menus de edição (1-7 e 0), cabeçalhos e prompts interativos de colunas, rotinas, regras de negócio e tags.
  • Localização Completa dos Diagnósticos (doctor.py):
  • Traduzidos todos os relatórios de conectividade (Oracle, S3 SeaweedFS, Git, Provedores de IA LLM), checagens de integridade de snapshots e dicas de troubleshooting em português (pt-BR) e inglês (en-US).
  • Paridade 100% de Chaves de Tradução:
  • Sincronizadas todas as chaves de internacionalização com paridade estrita 1:1 entre pt-BR e en-US.

[0.3.12] — 2026

🛡️ Resiliência Total de Streaming SSE & Decodificação Incremental UTF-8

  • Decodificador Incremental UTF-8 Multi-Byte (iter_sse_lines):
  • Corrigido o bug crítico em que caracteres multi-byte acentuados em português (ã, õ, ç, é, 🎯, •) divididos entre pacotes TCP/HTTP da conexão SSE causavam UnicodeDecodeError silencioso e descarte de chunks de tokens.
  • Eliminadas quebras e divisões no meio de palavras (ex: Reg\n\nras, HAD_SQL_PADRA O, substit uição, du plas).
  • Implementado iter_sse_lines com codecs.getincrementaldecoder("utf-8") unificado em todos os clientes de IA (OpenAI, Gemini, Anthropic, Ollama, DeepSeek, Grok).
  • Instruções Estritas de Integridade de Saída & Escape de Tags HTML:
  • Adicionada diretriz explícita nos prompts do sistema para envolver tags HTML/XML em crases (ex: ``, ``, `
    `), impedindo que renderizadores Markdown interpretem tags não fechadas como blocos HTML brutos e quebrem parágrafos indevidamente.

    [0.3.11] — 2026

    ⚡ Arquitetura de Directivas em Linha (Inline Directives) & Análise no Chat

    • Suporte a Directivas em Linha (/trace, /tune, /validate, /rule, /plsql, /doc, etc.) em Qualquer Posição do Prompt:
    • Implementado tokenizador e pré-processador de diretivas inspirado no Antigravity CLI / 2.0.
    • Usuários podem combinar livremente menções a objetos (@TABELA, @PACKAGE), regras de negócio (#REGRA) e comandos slash (/trace, /tune, etc.) em frases conversacionais naturais (ex: me explique @TGOVPE_EPB__VANTAGENS /trace).
    • Pré-computação Determinística de Linhagem e Risco de Mudança:
    • As diretivas /trace e /lineage agora calculam deterministicamente o grafo de dependências upstream/downstream e a Classificação de Risco de Mudança (CRITICAL, HIGH, MEDIUM, LOW).
    • Em vez de apenas salvar arquivos externos em disco, o agente entrega a explicação funcional completa, blast radius e diagramas Mermaid (flowchart TD) diretamente na resposta do chat.
    • Injeção de Personas Especializadas e Diagnóstico SQL:
    • Injeção contextual automática de diagnósticos sargáveis com /tune, validação de dialeto Oracle com /validate, filtros canônicos de negócio com /rule e personas especialistas (/plsql, /doc, /patch, /impact, /catalog).
    • Badges visuais em tempo real no terminal TUI (⚡ Directivas em linha identificadas: /trace).

    [0.3.10] — 2026

    🌐 Internacionalização Completa do TUI & Modo Remoto SeaweedFS (no_cache)

    • Localização e Tradução Integral do Modo Interativo (TUI):
    • Traduzidas todas as 30+ descrições de comandos slash (/doc, /rule, /tune, /validate, /thoughts, /extract, /update, /compile, /annotate, /enrich, /chat, /serve, /trace, /tables, /schema, /changes, /model, /provider, /agent, /workflow, /copy, /save, /audit, /tools, /git, /seaweed, /doctor, /init, /clear, /help, /exit) e suas respectivas opções de autocompletar.
    • Internacionalizados todos os subargumentos, cabeçalhos de tabelas, painéis de auditoria, inspeção de alterações e seletores de modelo interativo.
    • Paridade rigorosa 1:1 entre os catálogos de tradução pt-BR e en-US.
    • Suporte Completo a local_cache=False / no_cache no SeaweedFS:
    • Corrigida a criação indevida da pasta ./annotations e de arquivos YAML locais quando o LEAI opera no modo remoto com SeaweedFS (no_cache: true ou --no-cache).
    • As funções save_annotation, ensure_annotation_stub, sync_schema_annotations e save_glossary agora respeitam local_cache=False, operando 100% via memória e API S3.

    [0.3.9] — 2026

    🖥️ Correção de Quebra de Palavras no Terminal & Renderização Markdown Limpa

    • Renderização Nativa em Markdown para Workflows e Subagentes:
    • Corrigida a quebra incorreta de palavras e quebra de linhas no meio de termos (ex: Reg\n\nras, rot ina, bloque io, P_ROW\n _NEW, V\n ANTAGENS) na TUI e no CLI.
    • O relatório de workflows autônomos (/workflow run, leai workflow run) e a saída de subagentes especializados (/agent, leai agent run) agora utilizam o renderizador Rich Markdown com realce de sintaxe Monokai entre divisórias sutis (Rule), eliminando o encapsulamento em Panel fechado que causava quebra de texto arbitrário em consoles Windows e terminais com larguras reduzidas.
    • Facilidade total de seleção e cópia de código com o mouse, sem caracteres de borda vertical interferindo na formatação.

    [0.3.8] — 2026

    🛡️ Resiliência contra Diretórios Somente-Leitura e Fallback Multi-Camadas

    • Fallback Multi-Camadas em SessionAuditLogger & Histórico TUI:
    • Corrigido o PermissionError: [WinError 5] Acesso negado que ocorria ao executar o comando leai a partir de diretórios de sistema ou somente-leitura (como C:\WINDOWS\system32).
    • O motor de persistência de sessões de auditoria (SessionAuditLogger) e o histórico do terminal (InteractiveTUISession) agora utilizam uma cascata de diretórios resiliente: ./.leai (pasta do projeto local) ➔ ~/.leai (pasta do usuário) ➔ %TEMP%/leai (pasta temporária do sistema) ➔ InMemoryHistory.
    • Garante que o LEAI inicialize perfeitamente a partir de qualquer terminal ou diretório de trabalho sem falhas de permissão.

    [0.3.7] — 2026

    🎯 Arquitetura RAG 100% Determinística com @OBJETO & Tool-Calling Dinâmico

    • Eliminação Total de Falsos Positivos por Heurísticas de Texto Livre: Removida a adivinhação automática de entidades a partir de palavras soltas do texto (extract_entities_from_question), impedindo que termos comuns do vocabulário (tabela, view, procedure, coluna, data, recadastramento, etc.) casem com rotinas internas homônimas em pacotes gigantes corporativos.
    • Foco Estrito e Exclusivo em Menções Explícitas com @:
    • Quando o usuário menciona @OBJETO (ex: Na tabela @FUNCIONARIOS...), o motor RAG restringe a resolução 100% e exclusivamente ao objeto selecionado, sem injetar entidades secundárias do restante da frase.
    • Mantido o limite rico de até 8.000 caracteres por dossiê da entidade focal, trazendo a estrutura completa de colunas, comentários oficiais (DBA_COL_COMMENTS), chaves primárias/estrangeiras e dependências imediatas.
    • Desambiguação e Precedência de Objetos de Primeiro Nível: Tabelas e Views têm precedência absoluta sobre procedures internas de outros pacotes com o mesmo nome.
    • Economia Extrema de Tokens & Baixa Latência:
    • Perguntas em linguagem natural sem @ geram um prompt inicial ultra enxuto (~400 tokens), evitando inchaço de prompt (redução de 72k para < 1k tokens) e quedas drásticas no tempo de resposta.
    • O Agente utiliza suas ferramentas dinâmicas nativas (get_table_schema, search_column_comments, search_database_objects, trace_object_dependencies, explain_plsql_object) sob demanda de forma cirúrgica.
    • Compressão de Skeletons de Pacotes: extract_package_skeleton sintetiza pacotes de mais de 15 rotinas com sumário compacto, evitando poluição de prompt.

    [0.3.6] — 2026

    🛠️ Atualização Não-Destrutiva de Layout do leai.yml & Migração Inteligente

    • Atualização Inteligente no Script de Instalação (install.ps1): A etapa de configuração agora detecta arquivos leai.yml pré-existentes e executa a mesclagem estrutural das novas seções e chaves do layout padrão (como updates_log_path, generate_update_log, novos provedores de IA, seções git e storage.seaweedfs), preservando 100% dos valores preenchidos pelo usuário (dsn, schemas, chaves de API, modelos) e criando backup automático (.bak).
    • Engine de Deep Merge e Renderizador Canônico (leai.template): Implementadas as funções deep_merge_missing_fields, render_canonical_config e update_existing_config para regenerar a configuração com estrutura numerada e comentários descritivos sem perder campos customizados do usuário.
    • Comando CLI leai init --update (-u): Novo comando para atualizar o layout de arquivos de configuração existentes sem exigir sobrescrita destrutiva.
    • Comando /init na TUI: O comando de barra /init dentro da sessão de chat agora atualiza o layout existente de forma segura.

    [0.3.5] — 2026

    🚀 Otimização de Queries (Tuning), Validação Oracle Estrita, Workflow de Engenharia Reversa, Streaming com Raciocínio e TUI Modernizada

    • Modernização da TUI (Terminal Interativo Inspirado no Gemini CLI / Claude Code):
    • Autocompletar com Prefixos Inteligentes: Suporte a @ para menções a objetos do banco com ícones representativos (📋 Tabela, 📦 Package, ⚙️ Procedure, 👁️ View, etc.), # para menções a termos do glossário de regras de negócio (glossary.yml), e / para comandos de barra.
    • Barra de Status Inferior Dinâmica: Rodapé do terminal exibindo em tempo real o provedor e modelo ativos, schema conectado, status de pensamento (thoughts:on/off) e atalho de ajuda.
    • Streaming e Painel de Pensamentos (🧠 thoughts): Exibição em tempo real do raciocínio interno do modelo antes da resposta e novo comando /thoughts [on|off] para alternar a visualização.
    • Cards Visuais de Ferramentas: Spinners animados e cronômetro em segundos durante a execução de ferramentas (⚡ search_database_objects (0.34s)).
    • Atalhos Multilinha: Suporte a Alt+Enter e Ctrl+J para quebra de linha em consultas longas e envio com Enter.
    • Novos Comandos de Barra: /tune [sql], /validate [sql], /thoughts [on|off], /provider [nome] e expansão de /workflow.
    • Ferramenta de Otimização e Explicação de Queries (explain_and_tune_sql): Análise estática avançada de consultas SQL com identificação de sargabilidade (TRUNC, TO_CHAR, UPPER, NVL), riscos de Full Table Scan (FTS), subconsultas NOT IN com armadilha de valores NULL, subconsultas correlacionadas escalares (efeito N+1), ordenação de índices compostos (colunas de igualdade antes de faixas) e sugestão de reescrita em SQL otimizado assistido por IA.
    • Validador de Dialeto e Compatibilidade Oracle (validate_oracle_sql): Ferramenta dedicada para garantir estrita aderência ao dialeto Oracle Database, identificando e corrigindo construções incompatíveis de outros dialetos (LIMIT/OFFSET -> ROWNUM/FETCH FIRST, BOOLEAN -> CHAR(1), ILIKE -> UPPER/REGEXP_LIKE, IFNULL -> NVL, DATEADD -> aritmética de datas, GETDATE -> SYSDATE, AUTO_INCREMENT -> IDENTITY/Sequence, + concatenação -> ||) e validando tabelas/colunas contra os metadados dos schemas.
    • Workflow Autônomo de Engenharia Reversa (reverse-procedure): Novo pipeline de 5 passos (leai workflow run reverse-procedure <TARGET>, aliases: reverse, decomp) para descompilação de procedures, functions e packages: extrai o código fonte, sintetiza matriz CRUD (SELECT, INSERT, UPDATE, DELETE, MERGE), mapeia chamadas externas e pacotes de sistema (DBMS_OUTPUT, UTL_FILE), decompõe regras de validação/negócio e gera diagramas de fluxo em formato Mermaid (flowchart TD) com relatório funcional completo.
    • Streaming em Tempo Real com Tool Calling & Tokens de Raciocínio (on_thought): Suporte nativo a streaming token a token durante as rodadas de tool calling (stream_chat_with_tools), processando e emitindo em tempo real blocos de raciocínio interno (<think> / reasoning_content no DeepSeek-R1/Qwen 2.5/Ollama, thought: true no Gemini e thinking_delta no Claude) no terminal e no Web Studio via SSE (event: thought).
    • Configurações Avançadas de Inferência de Modelos Locais: Suporte a parâmetros num_ctx, keep_alive, max_tokens, top_p e options no leai.yml para Ollama e LM Studio, prevenindo truncamento silencioso em schemas com DDLs extensos.
    • Atualização dos Subagentes Especialistas: plsql_analyst e patch_generator foram equipados com acesso a explain_and_tune_sql e validate_oracle_sql.

    [0.3.4] — 2026

    🛡️ Blindagem Anti-Alucinação, Parser Resiliente de Tools e Padronização de Prompts em Inglês

    • Parser Tolerante de Chamadas de Ferramentas (extract_embedded_tool_calls): Adicionado suporte a extração resiliente de blocos JSON de ferramentas ({"name": "...", "arguments": {...}}) mesmo quando envoltos por texto livre ou preâmbulos conversacionais (problema comum em modelos locais no Ollama/Qwen), além de tags <tool_call> e blocos markdown.
    • Loop de Auto-Correção (Critique/Reprompting): Se o modelo alucinar promessas de busca ("Vou pesquisar a tabela...") no primeiro turno sem disparar as ferramentas via API, o motor do LEAI intercepta internamente e exige a execução imediata via reprompting, eliminando respostas vazias para o usuário.
    • Regra Anti-Preâmbulo (Zero-Preamble) e Few-Shot: Inclusão de regras estritas proibindo preâmbulos conversacionais durante o uso de ferramentas e exemplos few-shot no prompt do sistema.
    • Padronização Global de Prompts em Inglês com Resposta no Idioma Definido: Todos os system prompts internos (agente, subagentes, enriquecimento e workflows) foram unificados em inglês para maximizar o raciocínio dos LLMs, acompanhados de uma diretiva mandatória garantindo que a resposta final seja entregue no idioma configurado no projeto (language: "pt-BR" ou "en-US").

    [0.3.3] — 2026

    ⏱️ Atualização do Cronômetro em Tempo Real na Extração de Metadados (TUI & CLI)

    • Eliminação do Congelamento de Timer (LiveStatusTicker): Implementado o componente LiveStatusTicker com thread daemon periódica em leai/status.py. O contador de tempo decorrido [MM:SS] na mensagem de status do Rich agora avança continuamente segundo a segundo em tempo real durante queries demoradas do Oracle (Views (querying...), Tables, etc.), evitando a falsa impressão de travamento da aplicação.
    • Desacoplamento e Thread Safety: O ticker roda desacoplado do I/O de rede e consultas do banco de dados (que liberam o GIL do Python no driver oracledb), com suporte a Context Manager para encerramento determinístico e seguro após a conclusão de cada schema.
    • Cobertura Abrangente de Testes: Adicionados testes unitários específicos em tests/test_status.py cobrindo formatação de duração, updates periódicos em background e tolerância a exceções.

    [0.3.2] — 2026

    🎨 Melhorias de UI, Localização de Prompt e Resiliência do Updater

    • Localização do Prompt de Atualização: O prompt interativo agora exibe [S/n] no idioma Português (pt-BR) e [Y/n] em Inglês (en-US), com aceitação de s/sim ou y/yes.
    • Resiliência e Timeout Estendido no Updater: O tempo limite para consulta de novas versões no PyPI foi ampliado de 2.0s para 5.0s, e a busca de destaques no GitHub changelog de 1.5s para 4.0s, prevenindo falsos negativos em redes lentas ou instáveis.
    • Loading Animado na Sincronização do SeaweedFS: A sincronização e carregamento de catálogos do SeaweedFS S3 agora contam com spinner animado elegante (console.status), exibição temporária de confirmação (✓ Catálogo sincronizado com SeaweedFS S3 com sucesso!) e limpeza automática da linha de status, proporcionando uma transição visual fluida para o TUI e Web Studio.

    [0.3.1] — 2026

    📋 Sistema de Log de Auditoria e Manifesto de Objetos em leai update

    • Auditoria de Objetos Modificados: O comando leai update agora rastreia e registra formalmente cada objeto Oracle alterado na janela de tempo especificada (tables, views, mviews, packages, procedures, triggers, sequences, indexes, synonyms) com timestamps (last_ddl_time), autor da modificação (last_modified_by) e comentários.
    • Manifesto Duplo (JSON Estruturado + Markdown): Gravação automática de manifesto em formato JSON (update_YYYYMMDD_HHMMSS.json e latest.json) para integração com pipelines e subagentes, e relatório em tabela Markdown (update_YYYYMMDD_HHMMSS.md e latest.md) para leitura imediata.
    • Persistência Remota no SeaweedFS S3: Se o armazenamento remoto estiver ativo, os relatórios e manifestos são automaticamente replicados no bucket S3 sob logs/updates/.
    • Configuração e Flags de Linha de Comando: Suporte às flags --log / --no-log e --log-dir no leai update, e novas opções updates_log_path e generate_update_log no leai.yml.

    [0.3.0] — 2026

    ⚡ Otimização de Busca de Metadados e Eliminação de I/O de Rede com annotations_index.json

    • Eliminação de Gargalo N+1 no SeaweedFS / S3: As ferramentas de busca do assistente (search_database_objects, search_column_comments, get_table_schema e search_business_documentation) agora utilizam um índice centralizado em memória (annotations_index.json). Isso elimina centenas de requisições HTTP sequenciais via rede em modos remotos (--no-cache), reduzindo o tempo de consulta de ~150s para menos de 0.05s.
    • Preservação de Stubs Vazios: Todos os arquivos .yml (incluindo stubs sem conteúdo preenchido) continuam existindo normalmente no disco e no S3. O annotations_index.json inclui exclusivamente objetos enriquecidos (com comentários, regras de negócio ou tags modificadas), detectados pela nova função is_annotation_enriched.
    • Sincronização Automática e Incremental: O comando leai annotate compila o índice automaticamente e métodos dedicados no SeaweedFSStorage mantêm o índice atualizado a cada alteração ou salvamento individual de anotações.
    • Busca Inteligente por Tabela em search_column_comments: Ao pesquisar pelo nome direto de uma tabela (ex.: WEB_DADOS_FUNC), o sistema detecta a entidade e lista imediatamente todas as suas colunas e documentações.
    • Padronização e Qualidade de Código com Ruff: Formatação canônica aplicada e correções de linting em conformidade com as diretrizes do projeto.

    [0.2.30] — 2026

    🛡️ Tratamento de Bloqueio de Entrypoint no Windows & Compatibilidade Multiplataforma

    • Tolerância a Bloqueio de Arquivo em Execução no Windows (os error 32): Durante a autoatualização interativa via uv tool ou pip no Windows, o executável lançador ativo leai.exe não pode ser sobrescrito pelo instalador. O módulo leai/updater.py agora detecta essa condição e valida se o pacote Python no ambiente virtual já foi atualizado com sucesso (sys.executable ou uv tool list), permitindo que a atualização conclua normalmente e reinicie sem falsos erros para o usuário.
    • Isolamento de Chamadas de Sistema em Runners de CI: Aplicação de mock para shutil.which nos testes unitários simulando Windows, prevenindo que runners Linux/Ubuntu no GitHub Actions invoquem indevidamente o módulo C _winapi e garantindo que todos os jobs da matriz de testes passem com 100% de sucesso.

    [0.2.29] — 2026

    🌐 Localização Integral da Interface TUI e Banner Interativo

    • TUI e Banner 100% Dinâmicos: O cabeçalho de boas-vindas, cartões de status do banco e motor de IA, painel de ações rápidas, sugestões de início e barra inferior de status agora se adaptam instantaneamente ao idioma ativo (pt-BR ou en-US).
    • Guia /help e Inspeção Bilíngues: O catálogo de 28 comandos interativos (/help) e as tabelas de inspeção (/tables e /schema) agora contam com títulos de colunas, categorias e descrições traduzidas.
    • Propagação Consistente de Locale: Inicialização de locale integrada diretamente à classe InteractiveTUISession e no callback raiz do CLI, garantindo herança em subcomandos como leai chat com suporte à flag --lang / -L.
    • Garantia de Paridade e Testes: Novo teste automatizado test_tui_localization_and_session validando que configurações de idioma em leai.yml ou variáveis de ambiente se refletem com precisão no TUI.

    [0.2.28] — 2026

    🛡️ Correção de Execução de Testes e Reinicialização Multiplataforma

    • Sanitização de Argumentos de Reinicialização: Filtragem de palavras-chave e opções de executores de teste (discover, run, pytest, unittest, arquivos .py, -m, --cov) na reconstrução do comando de reinício em leai/updater.py, impedindo a passagem de argumentos espúrios ao CLI do LEAI.
    • Isolamento de os.execv nos Testes Unitários: Inclusão de mock para os.execv em tests/test_updater.py, eliminando a substituição acidental de processo em ambientes Linux/CI (ubuntu-latest) e resolvendo o erro No such command 'discover'.

    [0.2.27] — 2026

    🌐 Conclusão da Localização Integral e Padronização Canônica

    • Terminal Canônico 100% em Inglês por Padrão: Varredura exaustiva e migração completa de todas as mensagens residuais em Português no CLI e TUI para o catálogo de internacionalização (leai/i18n), garantindo saída limpa em Inglês canônico por padrão e tradução instantânea em Português quando language: "pt-BR" estiver ativo.
    • Tabelas de Status Git e Indicadores do TUI: A tabela /git status (propriedades, colunas, status de sincronização e avisos de commits à frente/atrás), mensagens de cópia inteligente e dicas de atalhos de clipboard foram 100% integradas ao motor i18n com suporte bilíngue.
    • Cabeçalhos de Documentação Markdown Bilíngues: Geradores de documentação (leai/docs.py) agora produzem seções e títulos de Markdown (## Overview, ## Columns, ## Primary Key, ## Foreign Keys, ## Business Rules) de forma dinâmica no idioma ativo (## Visão Geral, ## Colunas, ## Chave Primária, etc. em pt-BR).
    • Web Studio Fallbacks e Telas de Carga: As telas de carregamento do catálogo, mensagens de erro do SeaweedFS e botões de alternância da visualização de linhagem/Mermaid foram integrados ao dicionário i18n da interface Web.
    • Prevenção de Colisão e Limpeza de Imports: Remoção de importações locais redundantes de t que causavam UnboundLocalError e renomeação de variáveis de iteração que colidiam com o símbolo de tradução.

    [0.2.26] — 2026

    🌐 Arquitetura de Internacionalização (i18n) Completa (en-US / pt-BR)

    • Subsistema de i18n Nativo (leai/i18n): Mecanismo de internacionalização tipado, leve e sem dependências externas, com catálogos completos para Inglês (en-US, padrão canônico) e Português do Brasil (pt-BR), suportando tags de estilização Rich e interpolação segura com fallback hierárquico.
    • Resolução Flexível por Precedência: O idioma ativo pode ser determinado por: Flag CLI (--lang / -L) > Variável de ambiente (LEAI_LANG / LEAI_LANGUAGE) > Configuração (language: em leai.yml) > Fallback canônico (en-US).
    • Padronização do Terminal, TUI e Updater: Migração de 100% das mensagens interativas do updater, avisos de sincronização do SeaweedFS/Git e comandos de barra do TUI (/copy, /rule, /git, /init) para o catálogo i18n, exibindo inglês por padrão ou português quando configurado.
    • Templates Bilíngues de Inicialização: O comando leai init --lang pt-BR gera um arquivo leai.yml com comentários e exemplos em Português, enquanto leai init gera a versão padrão em Inglês.
    • Integração com o Studio Web: Endpoints /api/config (GET e POST) sincronizam a preferência de idioma em tempo de execução, e o modal de configurações inclui um seletor visual com atualização dinâmica da UI.
    • Prompts de IA Bilíngues: Os system prompts de enriquecimento de tabelas, objetos de código (procedures/packages/triggers) e o Copilot de RAG/Chat agora adaptam suas instruções com base no idioma do projeto, gerando regras e explicações em Português quando language: "pt-BR" estiver ativo, mantendo identificadores SQL técnicos intactos.

    [0.2.25] — 2026

    🛡️ Correções no Reinício do Auto-Update

    • Resolução Robusta de Módulo no Reinício (python -m leai): Substituição do comando de reinício baseado em sys.argv por [sys.executable, "-m", "leai"] + sys.argv[1:]. Isso elimina o erro [Errno 2] No such file or directory no Windows onde o launcher binário (leai.exe / ~/.local/bin/leai) era passado como se fosse um arquivo de script .py.
    • Execução Síncrona em Primeiro Plano no Windows: Substituição de os.execv por subprocess.call no Windows para manter a sessão no console do terminal ativa em primeiro plano sem liberar precocemente o prompt do PowerShell.

    [0.2.24] — 2026

    🛡️ Correções & Estabilidade

    • Prevenção de Vazamento de Cursores Oracle: Adicionados blocos finally: cursor.close() explícitos em fetch_schema_metadata, fetch_focal_trace e fetch_available_schemas em leai/oracle.py, garantindo fechamento determinístico de cursores mesmo em caso de erro.
    • Segurança na Área de Transferência (Clipboard): Remoção de shell=True ao chamar clip.exe e substituição da interpolação de comandos no fallback do PowerShell por pipe direto via stdin ($input | Set-Clipboard), prevenindo potenciais falhas de escape de aspas ou injeção.
    • Correção de Closures em Loops: Corrigido binding tardio de variáveis de loop em callbacks de progresso assíncronos/UI em leai/web/server.py, leai/cli.py e leai/tui/session.py.
    • Limpeza e Qualidade de Código: Resolução de sobrescrita de variáveis de iteração em leai/ai/tools.py e simplificação da iteração de dicionários em leai/workflows/__init__.py.

    [0.2.23] — 2026

    🌟 Adicionado & Aprimorado

    • Configurações Granulares de IA no leai.yml: Suporte a temperature e timeout configuráveis tanto globalmente quanto sobrescritos individualmente por provedor em ai.providers.<nome>.
    • Controle de Limites Operacionais de Agentes: Adicionados os parâmetros max_history_turns (janela de histórico do chat), max_agent_iterations (máximo de passos/tools do agente principal) e max_subagent_iterations (máximo de iterações para subagentes especialistas).
    • Presets de Modelos Locais: Adicionado suporte nativo aos provedores local (LM Studio, vLLM em http://localhost:1234/v1 com qwen2.5) e custom (http://localhost:8000/v1), além de atualizar o modelo padrão do ollama para qwen2.5-coder:latest.
    • Documentação Expandida: Atualização completa do leai.example.yml, README.md e páginas de documentação MkDocs cobrindo todas as configurações de LLMs e modelos locais.

    [0.2.22] — 2026

    🌟 Adicionado

    • Mecanismo de Atualização Automática Interativa (Auto-Update PyPI): O comando interativo raiz leai agora verifica automaticamente no PyPI (https://pypi.org/pypi/leai/json) se há uma versão mais recente disponível (com timeout rápido de 2s e modo não-bloqueante/fail-safe).
    • Detecção Inteligente do Gerenciador de Instalação: Identifica se o LEAI está rodando via uv tool (uv tool upgrade leai) ou pip tradicional (pip install --upgrade leai), além de proteger ambientes de desenvolvimento locais (editable).
    • Interface de Atualização Amigável: Painel Rich formatado exibindo versão atual, nova versão, destaques de lançamento e link do changelog, com prompt interativo [Y/n] e reinício automático do processo via os.execv.
    • Controles de Desativação: Opção --no-update-check na CLI, variável de ambiente LEAI_NO_UPDATE_CHECK=1 e chave update_check: false no leai.yml para ambientes de CI/CD e automações.
    • Script de Instalação Automatizado do Windows (install.ps1): Instalador unificado com instalação do uv, Ollama, download do modelo qwen2.5-coder, instalação do LEAI CLI e geração automática de ambiente de trabalho e leai.yml.

    [0.2.21] — 2026

    🌟 Adicionado

    • Operação 100% Remota de IA e Agentes via SeaweedFS S3: Todas as ferramentas de banco de dados (DATABASE_TOOLS_DEFINITIONS), subagentes e workflows agora operam diretamente com o SeaweedFS S3, dispensando a necessidade de metadados técnicos ou anotações locais em disco (raw/, annotations/, docs/).
    • Fallback Remoto no lookup_business_term: Acesso instantâneo a termos de negócio, regras organizacionais e filtros SQL canônicos diretamente do bucket (annotations/glossary.yml).
    • Enriquecimento Remoto de Schemas e Colunas: get_table_schema, search_column_comments e search_database_objects recuperam anotações de negócio, regras, tags e descrições humanas de colunas gravadas no S3 para Tabelas, Views e Materialized Views.
    • Busca Semântica Remota: search_business_documentation agora varre o catálogo de anotações persistido no S3 via list_annotated_objects() quando não há anotações locais.
    • Dossiês e RAG Remotos: build_rag_context consulta anotações remotas do SeaweedFS para montagem de dossiês focais.
    • Comandos CLI Integrados ao Storage: leai agent run e leai workflow run agora suportam --seaweed (-W) e --no-cache, carregando automaticamente metadados técnicos diretamente do SeaweedFS.

    [0.2.20] — 2026

    🌟 Adicionado

    • Sincronização Direta de Regras Universais com SeaweedFS no Web Studio: O painel Web Studio (leai serve / /serve) agora carrega, salva e exclui regras de negócio diretamente no bucket SeaweedFS S3 (annotations/glossary.yml), eliminando arquivos sujos locais.
    • Feedback Visual de Sincronização no Web Studio: Botão "Atualizar" com animação de rotação (spin) durante o carregamento e notificação toast informativa com contagem de regras sincronizadas.
    • Indicadores de Progresso em Tempo Real no leai update e /update: Visualização dinâmica detalhada a cada etapa (extração de tabelas, views, pacotes e envio para S3) com contadores [atual/total] e medição precisa de tempo decorrido por schema e tempo total.
    • Habilitação de Versionamento Nativo S3 no SeaweedFS: Suporte a versionamento nativo (Status: Enabled) para retenção e auditoria contínua de histórico de alterações de metadados e anotações no bucket remoto.

    ⚡ Correções

    • Contagem de Objetos Modificados: Correção no cálculo de count_schema_objects para não retornar 1 objeto quando o schema estiver vazio (max(1, total) removido).
    • Limpeza de Regras Padrão: Remoção de regras estáticas mockadas ("Estágio Probatório") na inicialização do Web Studio, garantindo que o catálogo permaneça limpo se não houver termos cadastrados.

    [0.2.19] — 2026

    🌟 Adicionado

    • Comando leai update na CLI e /update no TUI: Extração incremental cirúrgica de objetos modificados no Oracle em janelas de horas (--hours) ou dias (--days), mesclando metadados técnicos com a foto consolidada de schema e enviando deltas ao SeaweedFS.
    • Preservação e Mesclagem de Anotações do SeaweedFS: Sincronização inteligente onde descrições, tags, regras de negócio e comentários de colunas existentes no SeaweedFS nunca são perdidos nem sobrescritos.
    • Sincronização Contínua do GLOSSARY.yml no SeaweedFS: Sincronização automática e persistência em nuvem do glossário de negócio corporativo em annotations/glossary.yml.
    • Comandos leai rule del (CLI) e /rule del (TUI): Exclusão de termos de negócio com remoção sincronizada no bucket SeaweedFS.
    • Mesclagem Não Destrutiva de Regras (merge_glossaries): Priorização de definições centrais do SeaweedFS em divergências e união de tags e filtros canônicos.
    • Autocompletar no TUI: Autocomplete aprimorado para /update e /rule [list|add|del|find].

    [0.2.18] — 2026

    🌟 Adicionado

    • Comando leai doctor na CLI: Novo comando e alias oficial para check, executando diagnóstico preventivo do Oracle (v$version), permissões de catálogo, diretórios do pipeline, bucket S3 (SeaweedFS), conectividade do modelo de IA e status do GitOps.
    • Comandos /doctor e /check no TUI: Diagnóstico completo executável diretamente dentro do terminal interativo (leai chat) com tabela formatada via Rich.
    • Documentação Atualizada: Referências de comandos CLI e slash commands do TUI atualizados com /doctor, /seaweed, /git, /rule, /agent e /workflow.

    [0.2.17] — 2026

    🌟 Adicionado

    • Sincronização com SeaweedFS S3 no Web Studio (/serve): Edições de anotações feitas pelo navegador (POST /api/annotations) são sincronizadas diretamente com o bucket S3 em tempo real.
    • Fallback Remoto de Anotações no Web Studio: O endpoint GET /api/object busca automaticamente a anotação no SeaweedFS caso o arquivo local não exista, criando o cache local de forma transparente.
    • Feedback Visual de S3 na Interface Web: Indicador de status no cabeçalho (☁️ S3: <bucket>) e mensagem de confirmação no toast de salvamento.
    • Subcomando /seaweed sync no TUI: Sincronização inteligente bidirecional (push + pull com hash SHA-256) agora executável diretamente dentro do terminal interativo.
    • Isolamento Local do /doc: O editor de documentação do terminal salva única e exclusivamente no disco local, evitando envios acidentais para a nuvem.

    ⚡ Melhorias

    • Suporte e documentação de políticas de ciclo de vida (Lifecycle Rules) para expiração de histórico não-corrente em annotations/.
    • Autocompletion do terminal atualizado com /seaweed sync e modificadores --seaweed, -W e --no-cache no comando /annotate.

    [0.2.15] — 2026

    🌟 Adicionado

    • Documentação Oficial no GitHub Pages: Estrutura completa bilíngue (Português e Inglês) usando Material for MkDocs.
    • Agente Autônomo In-Memory: Suporte aprimorado ao loop ReAct e compressão de PL/SQL no comando leai chat.
    • Suporte Multi-Provedor de IA: Integrações REST leves com OpenAI, Gemini, Claude, DeepSeek, Qwen e Ollama.

    ⚡ Melhorias

    • Rastreamento de linhagem multi-nível (trace) com cálculo automático de severidade de risco.
    • Resolução recursiva de sinônimos públicos e privados (PUBLIC SYNONYM) e @dblink.
    • Esqueletização cirúrgica de subprogramas PL/SQL para otimização de até 95% dos tokens.

    [0.2.0] — Primeiras Versões

    • Extração técnica de catálogo Oracle em JSON.
    • Camada editável e não-destrutiva de anotações em YAML.
    • Compilação para Markdown com YAML Frontmatter e diagramas Mermaid.