Skip to content

Feat/agnostic architecture - Arquitetura Agnóstica e Adaptação Dinâmica de Ambiente#2

Open
LAMP-LUCAS wants to merge 27 commits into
mainfrom
feat/agnostic-architecture
Open

Feat/agnostic architecture - Arquitetura Agnóstica e Adaptação Dinâmica de Ambiente#2
LAMP-LUCAS wants to merge 27 commits into
mainfrom
feat/agnostic-architecture

Conversation

@LAMP-LUCAS
Copy link
Copy Markdown
Owner

🎯 Descrição
Este PR transforma o FOTON System em um sistema operacional de arquitetura agnóstica, permitindo sua execução resiliente tanto em
ambientes Server/Docker (Ubuntu) quanto em ambientes Desktop (Windows/Linux/Mac).

A principal mudança é a eliminação do acoplamento rígido com bibliotecas gráficas e específicas do Windows no boot do sistema,
utilizando para isso o padrão Ports & Adapters (Hexagonal).

🛠️ Principais Mudanças

  1. EnvironmentPorter (O Porteiro):

    • Novo módulo Singleton que detecta no startup as capacidades do ambiente (Docker, WSL, X11/Wayland, Modo MCP).
    • Define perfis de uso (SERVER_HEADLESS, DESKTOP_GUI, etc.) para guiar o comportamento do sistema.
  2. Padrão Adapter para Desacoplamento:

    • SO Integrator: Abstração para criação de atalhos e manipulação de arquivos externos, com implementações específicas para Windows
      (winshell) e Linux (.desktop).
    • Form Interface: Abstração para o preenchimento de fichas. Se o pywebview não estiver disponível ou falhar, o sistema faz
      fallback automático para o Navegador Padrão ou modo TUI.
  3. Menus Dinâmicos:

    • A CLI agora oculta automaticamente opções que o ambiente não suporta (ex: opções de interface visual não aparecem em servidores
      SSH/Docker).
  4. Gestão de Dependências Otimizada:

    • Divisão dos requisitos em requirements-core.txt (essencial para servidores) e requirements-desktop.txt (pacotes pesados de UI).
    • Refatoração do build.py para suportar targets segmentados (--target=linux-server vs windows-desktop).

🧪 Testes Realizados (TDD)
Foram adicionados testes unitários em tests/unit/ cobrindo:

  • Detecção correta de Docker e WSL via Mock.
  • Validação de menus condicionados ao perfil do sistema.
  • Garantia de que imports de bibliotecas de Windows não quebram a execução em Linux.

📄 Documentação (PARA/Zettelkasten)

  • Plano de Sprint: docs/01_PROJECTS/Sprint_AgnosticOS/PlanAgnosticOS.md
  • Relatório de Execução: docs/01_PROJECTS/Sprint_AgnosticOS/ReportAgnosticOS.md

🔗 Links Relacionados

  • [[LlmContext]]
  • [[PlanAgnosticOS]]

LAMP-LUCAS added 27 commits May 6, 2026 18:27
…p. Includes path redirection, environment seeding, and MCP feedback.
…bug tool. Enforce quoting for literals (years/codes) to prevent decimal formatting errors.
…conditional --clean and explicit codec imports.
Implemented a centralized ADR system, standardized file naming to PascalCase, updated internal graph links, and organized root markdown files into logical spheres.
Added .obsidian/ to .gitignore to prevent local editor configurations from being tracked in the repository.
…zado

- Implementação do DependencyManager para instalação de plugins de IA sob demanda (VENV isolado).
- Introdução do WebViewBridge para interface visual de preenchimento de fichas (.html integrado).
- Otimização radical do script de build com suporte a versões LITE (sem IA) e FULL (completa).
- Refatoração do menu principal para incluir acesso à nova interface de preenchimento.
- Melhoria na resiliência do instalador contra arquivos bloqueados e falta de imports (time, jaraco).
- Correção de dependências críticas no executável (PIL para imagens, pandas.plotting para estabilidade).
…ency Fixes

- Implementação do TerminalFormFiller com TDD/DDD para performance instantânea.
- Correção definitiva das dependências de WebView (pythonnet, clr-loader).
- Adição de fallback para navegador caso a interface nativa falhe.
- Atualização das notas de lançamento (RELEASE_v1.2.0.md).
- Adição de testes unitários para a lógica de formulários interativos.
…bility

- Added 'caminho_template_info' setting for custom project DNA.
- Refactored ClientService and DocumentService to read from centralized template file.
- Removed hardcoded template strings for better DRY and maintenance.
- Improved PathManager to handle unified template path resolution.
- Implemented TipService for dynamic parsing of [!DIDACTIC] tags in docs/.
- Added footer tips to Main Menu for general system knowledge.
- Added contextual didactic footer to TUI Form Filler for formatting and SSOT guidance.
- Updated documentation files with the new didactic metalanguage.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant