pt-BR

Auditoria da Logica Legada

Auditoria da Logica Legada

Esta matriz acompanha se os comportamentos importantes de Python/Haskell foram carregados para a nova base de codigo.

Protocolo serial

  • Python parse_line de legacy/arduino-audio-controller/audio_controller.py: implementado em packages/shared/src/protocol.ts
  • Comportamento antigo de sanitizeSerialPayload e parseSliderData do Haskell (auditoria de migracao): implementado em packages/shared/src/protocol.ts
  • Compatibilidade legada P1:512: preservada em parseSliderPacket

Matematica dos sliders

  • Python map_value: implementado em packages/shared/src/mixer.ts
  • Haskell calculateVolume: implementado como sliderValueToNormalized
  • Haskell applyNoiseReduction: implementado em packages/shared/src/mixer.ts
  • Comportamento de primeiro pacote do Haskell: preservado tratando valores anteriores ausentes como aplicaveis imediatamente

Snapshot de runtime e demo

  • Haskell buildRuntimeSnapshot: implementado em packages/shared/src/runtime.ts
  • Comportamento antigo de buildDemoFrame do Haskell: implementado em packages/shared/src/runtime.ts
  • Resumo de knobs para UI, alvos, outcomes e diagnosticos: exposto via store Zustand em apps/desktop/src/store/ioruba-store.ts

Persistencia e configuracoes

  • Persistencia Haskell de UiSettings: migrada para persistencia JSON do perfil inteiro por load_persisted_state e save_persisted_state
  • Modelo antigo dividido entre YAML config e UI state: substituido por payload JSON unico gerenciado pelo app desktop

Alvos de audio

  • Haskell MasterTarget: implementado em Rust via pactl set-sink-volume @DEFAULT_SINK@
  • Haskell ApplicationTarget: implementado em Rust resolvendo sink inputs e aplicando volume nos streams correspondentes
  • Haskell SourceTarget default_microphone: implementado em Rust com tratamento da source padrao e fallback para source nao-monitor
  • Haskell SinkTarget default_output: implementado em Rust com tratamento de sink padrao
  • Python set_master_volume e set_app_volume: preservados no backend Linux em Rust

Auto-reconexao e controle de runtime

  • Loop antigo de reconexao serial em Haskell: substituido por auto-reconexao do plugin serial Tauri + timeout de heartbeat em use-serial-runtime.ts
  • Toggle de modo demo: implementado na store Zustand e no hook de runtime
  • Persistencia de porta preferida: implementada no perfil persistido e no hook de conexao

Cobertura de testes adicionada

  • testes de protocolo e mixer compartilhados em packages/shared/tests/protocol.test.ts
  • testes de store desktop em apps/desktop/src/store/ioruba-store.test.ts
  • testes de parser Rust em apps/desktop/src-tauri/src/audio/linux.rs

Gaps conhecidos

  • O novo backend Linux esta implementado para controle real de audio.
  • Instaladores Windows e macOS sao gerados pelo workflow de release com tag, mas o backend de audio especifico dessas plataformas ainda e um stub explicito. O shell desktop funciona nelas; o controle real por alvo continua Linux-first nesta migracao.