Second Brain

Migração Legado → D2U.NET

Hub Obsidian para o plano de migração completo (Struts, DWR, workers, FTP).

  • Roadmap — visão geral do projecto
  • Matriz de rastreio (repo): Docs_New/implementation/legacy-migration-matrix.md
  • Ondas: Docs_New/implementation/rollout-waves.md
  • Homologação readiness: Docs_New/implementation/homologacao-readiness.mdHomologacao
  • Mapeamento URLs: Docs_New/api/legacy-endpoint-mapping.md
  • Proposta por sprint: Docs/proposta.md · Docs_EN/proposal.md
  • Apresentação cliente: Docs/apresentacao-cliente.md · Docs_EN/client-presentation.md
  • Features: Docs/features.md · Workflow: Docs/workflow.md (+ versões EN)
  • Por que .NET (vs Python/Node): Docs/dotnet-vs-alternativas.md · Docs_EN/dotnet-vs-alternatives.md

Estado 2026-07-09 — PARIDADE ~94–96% · HOMOLOGAÇÃO ⏳

Onda / entrega Foco Estado
0–9 Código paridade dict2us-app ✅ ~94–96%
Cutover código Jul/2026 Schema MySQL, aliases, emails, workers
Homologação Dump prod + smoke + piloto 7 dias ⏳ — Homologacao
ETL PostgreSQL Opcional pós-homologação

Suíte: 409 pass / 8 failTestes · Audit: Homologacao

Pós-Onda 9 — Role Inbox (2026-06-12)

Bugs críticos corrigidos (exposição cross-client, FSM sem enforcement):

  • Inbox/dashboard/busca scoped por perfil (legado generateRestrictionRuleByUser)
  • JobWorkflowEngine.TryTransition enforced; AssignedUserId + JobAssignment
  • Tabela user_mra_organization + ETL migrator
  • JobStatusGroups.InProcessStaff alinhado ao legado
  • 7 testes RoleInboxScenarioTests + 3 unit JobStatusGroupsTests

Onda 9 — resumo

  • Auditados: 164 struts mappings, 13 DWR beans/47 métodos, 10 endpoints do web.xml.
  • P0 resolvidos: downloads de ficheiros (/MedTrans/Download/*), URLs máquina-cliente respondem no lugar (/webhook, /xmlrpc com wire protocol real, /SPSUpload, /document.save, servlets do uploader…), edição de job, registo/ativação/forgot password, /data/*.
  • Zero stubs restantes — os 28 ecrãs stub viraram funcionais.
  • 8 entidades novas (templates, messages, specializations, xml_transcript*, contractors) + migration + 5 migrators ETL fase 2.
  • Fora de escopo declarado: iPhone/BB/Flash/ActiveX, scriberite, botões de teste.

Próximo passo

Sprint 11 (operacional): ETL staging (migrate -Fresh + validate), acceptance checklist + tools/scan/staging-scan.ps1, config produção (Email:*, Security:TokenSigningKey, Workers:Egress:*), janela de cutover conforme cutover-etl.md.