Ver também: ROADMAP-PROXIMOS-PASSOS.md — análise do app hoje + sequência prática de próximos passos (P0/P1, sprints, checklist).
- Entregáveis
- Matriz de prioridades (estabilidade > corretude de mapeamento > polifonia > performance > novas features).
- Taxonomia de métricas definida e instrumentada (dashboards mínimos).
- Métricas-alvo
- Crash-free sessions ≥ 99%.
- Tempo médio de recuperação de erro (MTTR) < 30 min.
- Cobertura de telemetria: ≥ 95% dos fluxos críticos com eventos.
- Riscos & mitigação
- Falta de visibilidade: instrumentar via feature flag que possa ser desligada se gerar overhead.
- Dados ruidosos: validar eventos em ambiente de canário antes de geral.
- Definição de pronto (DoD)
- Painel acessível e confiável.
- Eventos nomeados e documentados.
- Alertas configurados e testados com incidentes simulados.
- Entregáveis
- Hotfix dos bugs críticos conhecidos.
- Guardrails de schema/config para evitar drift (validação na inicialização e CI).
- Playbook de rollback (scripts + runbook).
- Métricas-alvo
- Crash-free sessions: ≥ 99.5%.
- Drift_ppm (configs divergentes por milhão de execuções): < 50 ppm.
- Tempo de rollback automatizado: < 5 min (P95).
- Riscos & mitigação
- Regressão em hotfix: envolver feature flags de escopo fino e rollout gradual (1% → 10% → 50% → 100%).
- Falhas de validação em produção: modo “warn” primeiro, “fail” depois de 1 sprint.
- DoD por entregável
- Hotfix: teste unitário + e2e cobrindo o bug; flag de rollout; monitoramento de erro configurado.
- Guardrails: testes de contrato em CI; falha visível; documentação de campos obrigatórios.
- Playbook: executado em ambiente de ensaio; tempos registrados; reversão restaurando estado anterior.
- Entregáveis
- Quebra de
index.tsxem módulos coesos (p. ex.,AppShell,Transport,Visualization,AudioEngine). - Mapa de teclado/nota refeito com tabela única de verdade + testes de mapeamento.
- Tipos e contratos explícitos para APIs internas (Props, eventos, payloads).
- Quebra de
- Métricas-alvo
- Tamanho do maior módulo: ≤ 400 linhas.
- Cobertura de testes no novo mapeamento: ≥ 90%.
- False_miss_rate (notas não reconhecidas quando deveriam): < 1%.
- Tempo médio para adicionar um novo mapeamento: < 30 min (medido em doc de dev).
- Riscos & mitigação
- Grande refactor sem segurança: refatoração orientada a testes; feature flag para novo mapeamento; congelar features.
- Divergência entre layout e áudio: snapshot de tabela de mapeamento validada em CI.
- DoD por entregável
- Módulos: lint/format ok; imports sem ciclos; docs curtas em
READMElocal. - Mapeamento: testes paramétricos cobrindo todas as teclas; tabela única referenciada; flag para fallback ao mapeamento antigo.
- Contratos: tipos exportados em um único pacote; verificação de quebra em CI (TS + API extractor/opcional).
- Módulos: lint/format ok; imports sem ciclos; docs curtas em
- Entregáveis
- Engine de polifonia com controle de vozes (voice stealing, prioridade) e limites configuráveis.
- Tests de integração áudio (simulação de acordes, sustain).
- Monitoramento de latência e jitter do áudio.
- Métricas-alvo
- Máximo de vozes simultâneas sem clipping: alvo ≥ N (definir após benchmarking de hardware alvo).
- Latência P95 da nota → áudio: ≤ 20 ms.
- Percentual de notas cortadas indevidamente: < 0.5%.
- Riscos & mitigação
- Overload em hardware fraco: auto-ajuste de limite de vozes; preset “safe mode”.
- Novos artefatos de áudio: canário por subset de usuários; logging de underruns.
- DoD por entregável
- Engine: testes de stress em CI (mock de tempo); flag para desativar polifonia nova.
- Integração: cenários de acordes gravados e reproduzidos; comparação de espectro básica.
- Monitoramento: métricas publicadas; alarmes de underrun configurados.
- Entregáveis
- Perfilagem e otimizações (render + áudio thread).
- Pipeline de release com canário, health-checks e rollback automático.
- Documentação de operação (SLOs, runbooks).
- Métricas-alvo
- FPS: ≥ 60 estável em cenário médio; jank < 5% de frames.
- Uso de CPU em cenário médio: < 60% (thread principal).
- Crash-free sessions: ≥ 99.7%.
- MTTR de incidentes: < 15 min.
- Riscos & mitigação
- Otimizações prematuras: só otimizar gargalos confirmados por perfil.
- Falhas em release: checagem de saúde automatizada + rollback gateado por erro.
- DoD por entregável
- Otimizações: perf antes/depois documentado; nenhum teste quebrado; métricas mostram ganho.
- Pipeline: release canário funcional; rollback testado; checklist publicado.
- Operação: SLOs aprovados; runbooks versionados; alertas com responsáveis claros.
- Fase 0 em paralelo com início da Fase 1 (instrumentação + hotfixes).
- Congelar features até concluir Fase 2; manter branch de manutenção para hotfix.
- Liberar polifonia (Fase 3) atrás de flag e rollout gradual.
- Consolidar performance e operação contínua (Fase 4) com ciclos curtos de medição/ajuste.
- Polifonia configurável e segura (voice stealing determinístico, limite adaptativo): encaixar na Fase 3; flag “safe hardware” para hardware fraco.
- Mapeamento único versionado + testes paramétricos (concorrentes têm múltiplos esquemas sem validação): Fase 2 já cobre; adicionar snapshot validado em CI e fallback por flag.
- Observabilidade e métricas expostas (raras nos concorrentes): iniciar na Fase 0 (taxonomia + painéis) e ampliar na Fase 4 com dashboards de latência, fps, crash-free e drift_ppm.
- Feature flags/rollback de baixo atrito (quase nenhum concorrente): Fase 1 entrega runbook e flags finas; Fase 4 consolida com canário + rollback automático.
- Modos de uso
- Ensino: labels dinâmicos, pedal, backing track simples — implementar na Fase 2/3 atrás de flag “edu”.
- Criação rápida: gravação MIDI/áudio lightweight — pós-Fase 3, sempre canarizado.
- Social/colab: salas com moderação e gravação colaborativa — só após crash-free ≥ 99.7% (pós-Fase 4 inicial).
- Sprint 1-2: instrumentar crash, drift_ppm e latência nota→áudio; validar schema em CI; hotfix críticos com flags de rollout.
- Sprint 3-4: quebrar
index.tsxem módulos; criar tabela única de mapeamento + testes paramétricos; habilitar fallback do mapeamento antigo. - Sprint 5-6: implementar engine de polifonia com voice stealing e limite configurável; métricas de underrun; rollout canário controlado.
- Sprint 7+: perfilagem render/áudio; ativar pipeline de canário + rollback automático; publicar dashboards de SLO. Só então abrir features sociais/edu/recording em flags dedicadas.