12 KiB
Plano por ficheiro e rastreabilidade
Tudo nesta página é proposto, excepto os artefactos de Fase 0. Caminhos e endpoints futuros não são anunciados como existentes. Responsáveis são papéis a designar, não aprovações já obtidas.
Actualização: a matriz original abaixo conserva o plano. O estado de implementação e a tabela seguinte distinguem o código agora existente dos requisitos ainda pendentes. A autorização posterior permite progressão automática; os gates não exigem nova confirmação de fase.
| Requisito coberto parcialmente | Migration / modelo | Serviço / API / ecrã existentes | Evidência automatizada | Responsabilidade |
|---|---|---|---|---|
| RF-ZON-001/005/015 | 100000_investment_zone_foundation, InvestmentZone |
InvestmentZones; InvestmentZoneController; /api/v2/investment/admin/zones; investment/zone.tsx |
InvestmentZoneTest: MFA, versão, revisão independente, snapshots encriptados e imutáveis | Implementação técnica executada; responsável institucional por designar |
| RF-ZON-003 | mesma migration; InvestmentLegalSource | InvestmentLegalSourceController; API legal-sources; formulário de fontes | Criação/revisão/revogação e ocultação imediata dos resultados dependentes | Jurídico por designar; nenhum benefício carregado |
| RF-ZON-002 | 110000_zone_geometry_review; geo_geometries existente |
InvestmentZoneGeometryController; zone-map; zone-map.tsx e zone-relations.tsx |
Geometrias inválidas, revisão independente, fonte retirada, mapa sem divulgação indevida | GIS por designar |
| RF-ZON-006/012; RF-CLU/COR | identidade e M:N da migration 100000 | InvestmentIdentity/InvestmentCatalogue/InvestmentZones; v1 filtros opcionais e v2 zonas; catálogo e carteira | Oportunidade única em duas zonas; âncora em três zonas/parque; duplicados recusados | Dados/Produto por designar |
| RF-ZON-008 | 120000_investment_submission_zones |
InvestmentSubmissionController/InvestmentWorkspace; API v1 preservada; investment/submission.tsx |
Rascunho deduplicado, protocolo idempotente, origem no atendimento, zona revogada recusada | Atendimento existente; homologação CRM externa pendente |
| Migração Fase 6 | correspondências tipadas | investment:reconcile-identities |
Dry-run sem mutações; aplicação/repetição preserva UUID e dados legados | Execução local reconciliada |
| Fase | Ficheiros / alterações previstas | Critério de saída |
|---|---|---|
| 0 | tools/zones-baseline.php; docs/investmoz/zones/* |
Inventário reproduzível, testes, diagnóstico, aprovação do piloto |
| 1 | Novas migrations aditivas investment_identity, investment_zones, legal_evidence, typed_relations, geometry_provenance; docs/investmoz/zones/{erd,data-dictionary,legal-matrix,migration-plan}.md |
ER, FKs, unicidade, vigência, checks GIS, dry-run e rollback testados; aprovação Arquitectura/Dados/GIS/Jurídico |
| 2 | app/Models/{InvestmentItem,InvestmentZone,LegalEvidence}.php; services de revisão/publicação; policies; controllers/resources/requests; routes/investment-zones.php; OpenAPI |
RBAC, MFA privilegiado, concorrência, histórico, autorização e contratos aprovados |
| 3 | Evoluir InvestmentCatalogue; repositório espacial; índices de pesquisa; telemetria agregada |
Quatro dimensões, deduplicação por UUID, relações explicáveis, relevância e desempenho medidos |
| 4 | resources/js/pages/investment/{catalogue,detail}.tsx; páginas zonas; selector de dimensão, camadas/mapa e traduções |
PT/EN, filtros URL, teclado, contraste, móvel, falhas parciais e E2E |
| 5 | InvestmentSubmissionController, intake, adaptador SuiteCRM, jobs/outbox, reconciliação |
Interesse único com todas as origens, consentimento, retry e falha externa testados |
| 6 | Comandos dry-run/apply/reconcile; relatórios privados; runbook; fixtures sintéticas | Sem perda de IDs/URLs, restauro ensaiado, segurança/carga/UAT e formação |
| 7 | Deploy, observabilidade e plano operacional | Aprovação formal de produção e suporte |
Modelo conceptual de relações, ainda sujeito ao ER da Fase 1: investimento → correspondências de oportunidade/projecto; investimento ↔ cluster/corredor/zona/parque/cadeia/infra-estrutura/território; zona → subzona/lote/instalação; zona ↔ operador/empresa/actividade; evidência jurídica → versões e validações; dimensão/relação/geometria → revisões e auditoria. PK/FK e cardinalidades exactas serão especificadas antes das migrations.
Matriz de rastreabilidade
Z1 = migration futura de zonas; L1 = evidência jurídica; R1 = relações tipadas; G1 = proveniência GIS; I1 = identidade canónica. API zonas e API catálogo v2 são contratos a desenhar; API v1 é preservada. Cada teste abaixo é planeado, não executado.
| Requisito | Entidade / migration | Modelo e serviço | API / ecrã | Teste de aceitação | Fase / responsável |
|---|---|---|---|---|---|
| RF-ZON-001 | Zona, revisão / Z1 | InvestmentZone, revisão | API zonas / cadastro | código único, concorrência, histórico | 1–2 / Dados |
| RF-ZON-002 | Geometria, lote / G1 | geometria e validação | mapa / perímetro | SRID, vazio, validade, conflito, acesso | 1–4 / GIS |
| RF-ZON-003 | Regra legal / L1 | regra e vigência | regimes / benefícios | expiração, contradição, não cumulação | 1–2 / Jurídico |
| RF-ZON-004 | Actividade/restrição / L1+R1 | elegibilidade assistida | actividades / condições | fundamento e excepção válidos | 1–2 / Jurídico |
| RF-ZON-005 | Ficha bilingue / Z1 | publicação | zona / detalhe | duas validações, fonte e tradução | 2–4 / Editorial |
| RF-ZON-006 | Item e dimensões / I1+R1 | pesquisa | catálogo / comparação | resultados únicos, filtros e acesso | 3–4 / Produto |
| RF-ZON-007 | Lote/instalação / Z1+G1 | ocupação | administração | reserva concorrente, contrato privado | 2–4 / Operação |
| RF-ZON-008 | Manifestação/origens / R1 | intake | submissions / formulário | protocolo único, consentimento | 5 / CRM |
| RF-ZON-009 | Processo e parecer / L1 | workflow assistido | processo / acompanhamento | sem acto oficial automático | 2–5 / Jurídico |
| RF-ZON-010 | Título/obrigação / L1 | validade e alertas | títulos / painel | vencimento retira informação vigente | 2 / Jurídico |
| RF-ZON-011 | Movimento/documento / Z1+L1 | operação assistida | gestão privada | não autoriza saída sem referência | 2–5 / Operação aduaneira |
| RF-ZON-012 | Relações / R1 | associações | dimensões / relações | M:N, fonte, período, sem duplicação | 1–4 / Dados |
| RF-ZON-013 | Infra-estrutura / R1 | capacidades | zona / infra-estruturas | capacidade, fonte, incidente | 2–4 / Operação |
| RF-ZON-014 | Indicador / Z1 | consolidação | indicadores / painel | separar realizado, autorizado, estimado | 2–4 / Dados |
| RF-ZON-015 | Papéis/revisões / L1 | policies e auditoria | administração | proibir auto-aprovação, isolamento | 1–6 / Segurança |
| RF-ZON-016 | Outbox/adaptador | integração | API versionada / operação | idempotência, retry, acordo formal | 5 / Integrações |
| RF-CLU-001* | Cluster/subcluster/cadeia / R1 | descoberta | catálogo / cluster | âncoras, elos, lacunas, fonte da relação | 1–4 / Produto e Dados |
| RF-COR-001* | Corredor/nó/influência / R1+G1 | descoberta espacial | catálogo / corredor | distinguir oficial, influência, proximidade | 1–4 / Produto e GIS |
*IDs locais atribuídos aos requisitos textuais de Cluster/Corredor do documento, que não lhes atribui numeração explícita.
Prioridade P0: identidade e compatibilidade, segregação, evidência jurídica, relações e GIS. P1: pesquisa quatro dimensões, PT/EN, interesse assistido, indicadores. P2: movimentos operacionais complexos, integrações institucionais e comparação avançada. A prioridade não elimina requisitos nem autoriza saltar gates. Os rótulos «MVP/Fase 2/Fase 3» da matriz funcional do anexo serão conciliados com as fases de execução 0–7 por capacidade, sem assumir equivalência numérica.