flowral.docs

Primeiro sprint técnico — Do repositório à primeira sessão Wayland

Não é tarefa executada. Instruções para um agente de código iniciar o Flowral Linux de forma incremental, sem tocar em discos reais inadvertidamente.

Primeiro loop visual, antes do build de ISO

Provisionar workspace Rust+Slint de prova, viewer/live-preview, Slint MCP em localhost e tarefas just de check/preview; registrar hot reload real e screenshot de botão interativo. O laboratório VM QEMU/KVM + libvirt deve ser versionado como procedimento antes de alterar qualquer disco. Seguir live preview e toolchain.

Objetivo

Gerar um primeiro boot de Void Linux glibc + Swirl + WezTerm + Fish, com rede e áudio funcionais, configuração básica de bordas e testes de consumo. Tema e Central de Controle entram em PRs seguintes.

Entradas

  • Repositório atual.
  • Máquina de desenvolvimento Linux com ambiente de build e VM KVM/QEMU.
  • Documentação oficial Void/Swirl fixada por commit/data.
  • Hardware Lenovo ThinkPad E430 disponível somente para validação supervisionada.
  • Credenciais necessárias para repositórios fornecidas pelo usuário; nunca pedir senhas para escrever em arquivos do repositório.

Sequência

1. Descobrir upstream e versões

  • Registrar hash/commit exato de Swirl e suas dependências.
  • Verificar compatibilidade wlroots, Sway IPC, renderer e opção sd-bus-provider; não assumir que opção libsystemd do README funciona em Void sem systemd.
  • Descobrir nome real dos pacotes no XBPS; não inventar apt/pacman equivalentes.
  • Capturar license do Slint, Swirl e fontes/temas escolhidos; reportar restrições de redistribuição.
  • Criar docs/implementation/compatibilidade.md contendo resultados verificados.

2. Provisionar base em VM descartável

  • Void glibc, runit, rede, seat/session, D-Bus, PipeWire/WirePlumber, driver Mesa e utilitários de diagnóstico.
  • Preparar TTY de recuperação e console serial QEMU quando possível.
  • Não instalar Calamares ainda; foco em boot.
  • Confirmar que $XDG_RUNTIME_DIR tem owner/permissões corretas.

3. Compilar e iniciar Swirl

  • Criar recipe XBPS local do Swirl, ou processo de compilação registrado para protótipo.
  • Documentar patches locais e erros, especialmente dependência opcional systemd.
  • Testar keyboard, mouse, scroll, resize de tiled/floating e IPC com swaymsg.
  • Configurá-lo com borda de foco e sem título do compositor.
  • Garantir TTY e terminal como fallback.

4. UX mínima

  • WezTerm inicia via tecla e usa decoração sem titlebar testada.
  • Fish como shell interativo do usuário; scripts continuam em /bin/sh.
  • Fuzzel abre os atalhos instalados, Mako mostra notificações e swAYlock trava a sessão.
  • PCManFM inicia e abre arquivos MIME conforme ambiente.
  • Flatpak/AppImage/agents não precisam ser instalados para a primeira validação.

5. Performance baseline

  • Medir RAM desktop-idle com todos os serviços essenciais funcionais.
  • Registrar PSS por processo, disponibilidade, versões e GPU ativa.
  • Fazer comparativo inicial com/sem compositor, e capturar regressões após adição de GUI.
  • Se não alcançar 300 MiB, apresentar dados, não desativar serviços fundamentais artificialmente.

Saídas do PR

  • distro/ com script reproduzível e seguro, sem operação no disco host como padrão.
  • packages/ com manifesto das versões verificadas.
  • tests/ com smoke commands/artefatos redigidos.
  • Documento de compatibilidade, logs relevantes e relatório RAM.
  • Lista de bloqueios técnicos e fallback.

Definition of done

  1. Boot VM em sessão Swirl e sair corretamente para TTY.
  2. WezTerm/Fish funcional, Fuzzel e PCManFM abrem, rede e áudio operam.
  3. Controle de janelas e resize funciona, sem titlebar externa.
  4. Sem processos inexplicados permanentes.
  5. Testes e versões documentados, sem dados sensíveis.
  6. Nenhum script de instalação destrutivo executado no ThinkPad E430.