Skip to content

Arch — Tarefas de Implementação

Gerado pelo Writer (Reversa) em 2026-05-11

Pré-requisitos

  • [ ] @op-engineering/op-sqlite instalado e configurado por plataforma
  • [ ] Asset cantaIgreja.db disponível em android/app/src/main/assets/ e iOS bundle

Tarefas

  • [ ] T-01 — Implementar createPersistencePlatformStrategy com iOS/Android/Web
  • Origem: src/arch/persistence/platform/PersistencePlatformStrategies.ts
  • Critério: Cada plataforma retorna databasePath e cachePath corretos
  • Confiança: 🟢

  • [ ] T-02 — Implementar AssetDatabasePreparator.prepare

  • Origem: src/arch/persistence/AssetDatabasePreparator.ts
  • Critério: Asset copiado para local de dados na primeira instalação; idempotente
  • Confiança: 🟡

  • [ ] T-03 — Implementar MigrationsRepository.runMigrations

  • Origem: src/arch/persistence/MigrationsRepository.ts
  • Critério: PRAGMA user_version controla progressão; migrations executadas em sequência
  • Confiança: 🟢

  • [ ] T-04 — Implementar Banco singleton com lazy init + deduplication de promise

  • Origem: src/arch/persistence/Banco.ts
  • Critério: Duas chamadas simultâneas resultem em uma única abertura do banco
  • Confiança: 🟢

  • [ ] T-05 — Implementar WebBancoHooks.attach/detach com validação de segurança

  • Origem: Banco.tsWebBancoHooks
  • Critério: Alias inválido lança erro; filename escaping funcional; OPFS path correto
  • Confiança: 🟢

  • [ ] T-06 — Escrever migrations v8–v15 em ordem

  • Origem: src/arch/persistence/migration/
  • Critério: Banco parte de v0 e chega a v15 sem erros
  • Confiança: 🟡 (v12 e v14 não totalmente documentados)

Lacunas Pendentes (🔴)

  • Migrations v12 e v14 — SQL não lido completamente
  • AssetDatabasePreparator — lógica de cópia não confirmada
  • Web OPFS: attachFromCache — workaround documentado em repo memory