flowral.docs

Registro de decisões (ADR simplificado)

Fonte de verdade. Aprovado = escolhido pelo usuário; Proposto = arquitetura sugerida, sujeita a validação; Aberto = não decidido. Modificações exigem data, justificativa e arquivos afetados.

ID Estado Decisão / limite
FL-001 Aprovado Nome do projeto Flowral Linux, repositório raillen/floral-linux
FL-002 Aprovado Void Linux glibc x86_64, XBPS, runit
FL-003 Aprovado Swirl Wayland, scrolling tiling e floating; integridade e suporte no Void serão validados
FL-004 Aprovado Janelas sem titlebar/botões do compositor; contorno fino de foco e exceções para CSD
FL-005 Aprovado WezTerm, Fish com suggestions/completions/abreviações; PCManFM personalizado
FL-006 Aprovado Neovim enxuto, highlight e sugestões sem LSP obrigatório, Markdown enriquecido
FL-007 Aprovado Temas Sakura/Daisy/Petunia × Light/Dark, estética papel; GUI, terminais e TUIs alcançados por adaptadores
FL-008 Aprovado Gerenciador de temas e central própria em Rust + Slint
FL-009 Aprovado Central integrada para aparência, rede, Bluetooth, áudio, tela, energia, pacotes e MCPs
FL-010 Aprovado Workspace de agentes, chat + integração ACP, suporte OpenCode V2+
FL-011 Aprovado UI para providers personalizados: endpoint, modelos, credenciais, testes e escopos
FL-012 Aprovado Ferramentas de agentes e aplicativos listados no catálogo; instalação sob demanda, sem autostart
FL-013 Aprovado Alvo Lenovo ThinkPad Edge E430; meta de até 300 MiB de RAM em repouso
FL-014 Proposto turnstile + seatd + acpid, greetd/tuigreet, NetworkManager, PipeWire/WirePlumber, TLP
FL-015 Proposto Fuzzel e swaybar provisórios; barra segmentada própria após spike Layer Shell
FL-016 Proposto Calamares adaptado para Void/ XBPS + fallback void-installer na ISO
FL-017 Proposto Slint nos apps, protocolo Wayland Layer Shell via toolkit comprovado para surfaces ancoradas
FL-018 Proposto Sem daemon de tema obrigatório; motor Rust com adaptadores e aplicações transacionais
FL-019 Aberto Implementação ou adoção futura de terminal e gerenciador de arquivos Rust
FL-020 Aberto Licenças próprias do projeto, fontes distribuídas e direitos de wallpapers
FL-021 Aberto Autenticação/segredos: libsecret ou outra solução segura conforme serviços disponíveis
FL-022 Aberto Detalhes de boot Legacy/UEFI e variante GPU/BIOS do E430 real
FL-023 Aprovado para planejamento Toolchain de agente com Slint Live Preview/MCP + QEMU/KVM/libvirt e scripts just, com testes reais antes de declarar funcionamento
FL-024 Aprovado como backlog futuro Flowral DE com Panel, Launcher, Notifications/toasts, Power Menu, OSD, Wallpaper, Greeter frontend, integração de swaylock/swayidle; manter substituição por etapas
FL-025 Aprovado Flowral Files e Flowral Terminal são somente ideias futuras; WezTerm e PCManFM mantidos
FL-026 Proposto Layer Shell sob Rust+Slint via spike com Smithay Client Toolkit / layer-shika (experimental), sem compromisso de adoção
FL-027 Proposto Prioridade dos componentes por esforço e risco em Flowral DE, sem prazo nem promessa de RAM
FL-028 Planejamento proposto Roadmap distribuído por v0.1, v0.3, v0.8, v1.0, v1.1, v1.2, v2.0; nenhum marco é entrega concluída
FL-029 Planejamento proposto V1.0 prioriza temas, Central de Controle, Panel/Launcher (com fallback), Power Menu, OSD, Wallpaper, UI de lock/idle e MVP de agentes
FL-030 Planejamento proposto Notifications e utilitários na v1.1; Tray/Clipboard na v1.2; greeter/lock próprio sujeitos a segurança em v2+; Files/Terminal sem versão

Distinções de compatibilidade obrigatórias

  • OpenCode V2+ refere-se à versão do produto OpenCode, não ao ACP V2.
  • ACP: negociar versão com agente. SDK Rust possui ACP estável v1 e ACP v2 experimental; não exigir v2 do ACP sem necessidade e testes.
  • MCP: é a interface agente→ferramentas, não cliente→agente. Config do OpenCode V2 usa mcp.servers e propriedade disabled.
  • Ter qualquer pacote instalado não o autoriza a iniciar serviço persistente.

Mudanças propostas após esta versão

Abrir ADR com: problema, alternativas, métricas (RAM/latência, manutenção, compatibilidade), proposta, riscos, decisão e plano de reversão. Decisões abertas não devem aparecer como funcionalidades já implementadas.