Skip to content

Spec Impact Matrix — canta-igreja

Gerado pelo Architect (Reversa) em 2026-05-11 Confiança: 🟢 CONFIRMADO | 🟡 INFERIDO | 🔴 LACUNA

Legenda de impacto:

  • 🔴 Crítico — qualquer mudança neste componente quebra os dependentes listados
  • 🟠 Alto — mudança requer atualização coordenada nos dependentes
  • 🟡 Médio — mudança tem reflexos secundários nos dependentes
  • 🟢 Baixo — dependência fraca, impacto isolado

1. Impacto por Componente de Dados

musica (tabela + modelo)

Componente impactado Tipo de impacto Razão Confiança
musica_busca (FTS5) 🔴 Crítico Tabela virtual espelha titulo e letra 🟢
MusicasRepository 🔴 Crítico Todas as queries dependem do schema 🟢
cantico_livro 🔴 Crítico FK id_musica 🟢
item_repertorio 🔴 Crítico FK nullable id_musica 🟢
sugestao_repertorio.itens 🟠 Alto Referencia id_musica dentro do JSON 🟢
Musicas Slice (Redux) 🟠 Alto EntityAdapter mapeado para o modelo 🟢
MusicaService 🟡 Médio Usa campos titulo, letra para compartilhamento 🟢
code-analysis.md (spec) 🟡 Médio Documentação de entidade desatualiza 🟢

repertorio (tabela + modelo)

Componente impactado Tipo de impacto Razão Confiança
item_repertorio 🔴 Crítico FK id_repertorio 🟢
RepertoriosRepository 🔴 Crítico Todas as queries dependem do schema 🟢
Repertorios Slice (Redux) 🔴 Crítico EntityAdapter mapeado para o modelo 🟢
ItensRepertorio Slice (Redux) 🟠 Alto Itens dependem do id_repertorio ativo 🟢
CompartilharService 🟠 Alto Serializa slug, titulo, metadata, ordem_musicas 🟢
FolhetoService 🟠 Alto Estratégias dependem de slug e itens do repertório 🟢
RepertorioService 🟠 Alto Gera mensagem com titulo, metadata, itens 🟢

sugestao_repertorio (tabela + modelo)

Componente impactado Tipo de impacto Razão Confiança
BibliotecaSugestoesRepertorioRepository 🔴 Crítico Queries de leitura e import via ATTACH 🟢
SugestoesRepertorio Slice (Redux) 🟠 Alto EntityAdapter mapeado para o modelo 🟢
SugestoesRepertorioService 🟠 Alto Sincronização e semeadura dependem do schema 🟢
CalendarioLiturgicoService 🟡 Médio Chave {CicloLiturgico}:{IdRomcal} une calendário + sugestão 🟢

liturgia_cache (tabela)

Componente impactado Tipo de impacto Razão Confiança
LiturgiaCacheRepository 🔴 Crítico Leitura e escrita direta 🟢
Liturgia API Slice (RTK) 🟠 Alto Middleware usa o cache antes de chamar DANCRF 🟢

2. Impacto por Serviço

CalendarioLiturgicoService

Componente impactado Tipo de impacto Razão Confiança
SugestoesRepertorioService 🔴 Crítico Gera chave CicloLiturgico:IdRomcal usada para vincular sugestões 🟢
Liturgia Slice (RTK Query) 🟠 Alto Calendário offline complementa as leituras DANCRF 🟢
Telas de Liturgia e Sugestão 🟠 Alto Cor litúrgica, nome do dia e tempo litúrgico vêm daqui 🟢
CorLiturgica (enum) 🟡 Médio Mapeamento de cores depende da saída do romcal 🟢

Auth

Componente impactado Tipo de impacto Razão Confiança
CompartilharService 🔴 Crítico Exige token válido antes de chamar API 🟢
FolhetoService 🔴 Crítico Estratégia Slug exige token válido 🟢
Acesso Slice (Redux) 🟠 Alto Estado usuarioLogado vem do Auth 🟢
CredentialsRepository 🟠 Alto Auth persiste e lê credenciais 🟢
UsuarioLogadoRepository 🟡 Médio Auth armazena dados do usuário no MMKV 🟢

ObraService

Componente impactado Tipo de impacto Razão Confiança
musica (tabela) 🔴 Crítico Import de obra faz upsert em musica via ATTACH 🟢
cantico_livro (tabela) 🔴 Crítico Import de obra faz upsert em cantico_livro 🟢
edicao_livro (tabela) 🟠 Alto Import de obra faz upsert em edicao_livro 🟢
musica_busca (FTS5) 🟠 Alto Trigger FTS5 atualiza ao fazer upsert em musica 🟡
BibliotecaRepository 🟠 Alto Registra exemplar após import 🟢
Biblioteca Slice (Redux) 🟡 Médio Invalida cache RTK Query após download 🟡

3. Impacto por Schema Migration

Migration Componentes Impactados Confiança
v8 repertorio, item_repertorio, tipo_repertorio — criação 🟢
v9 musica.informacoes — adicionado, sem impacto ativo 🟢
v10 repertorio.slug, repertorio.data_edicaoCompartilharService, FolhetoService 🟢
v11 musica.rotulos — filtros por rótulo na busca 🟢
v12 Force-reset de CRC32 — forçou re-import de todas as músicas 🟢
v13 sugestao_repertorioSugestoesRepertorioService, SugestoesRepertorio Slice 🟢
v14 repertorio.metadataRepertorioService (msg compartilhamento), tela de criação 🟢
v15 liturgia_cacheLiturgiaCacheRepository, Liturgia Slice 🟢

4. Matriz de Dependência entre Módulos

               musicas  repertorios  livros  biblioteca  sugestoes  liturgia  auth  configuracoes  arch
musicas           —        🟡           🟠      🟠          🟠         🟢       🟢       🟢           🟠
repertorios       🔴       —            🟢      🟢          🟢         🟡       🔴       🟢           🟠
livros            🟠       🟢           —       🟢          🟢         🟢       🟢       🟢           🟠
biblioteca        🔴       🟢           🟠      —           🟢         🟢       🟢       🟢           🟠
sugestoes         🟠       🟡           🟢      🟢          —          🔴       🟢       🟢           🟠
liturgia          🟢       🟡           🟢      🟢          🔴         —        🟢       🟢           🟠
auth              🟢       🟢           🟢      🟢          🟢         🟢       —        🟢           🟠
configuracoes     🟡       🟢           🟢      🟢          🟢         🟢       🟢       —            🟠
arch              🔴       🔴           🔴      🔴          🔴         🔴       🔴       🔴           —

Leitura: linha = "impacta" → coluna. Ex: musicas 🟠 livros = músicas tem dependência alta em livros.


5. Hotspots de Alto Risco

Componente Razão do risco Recomendação
musica (tabela + FTS5) Núcleo do produto. Toda busca e exibição passa por aqui. Alta cobertura de testes
MigrationSystem (arch) Migrations sem rollback. Erro quebra o app para todos os usuários instalados. Testar migrations em dados de produção
ObraService (ATTACH) Import atômico via ATTACH. Falha parcial pode corromper dados. Tratamento de erros robusto + retry
CalendarioLiturgicoService Acoplamento entre romcal (lib instável dev) e sugestões. Versão dev.125. Fixar versão do romcal
CompartilharService Depende de Auth + API externa. Alta superfície de falha de rede. Feedback claro ao usuário em falhas