Files
Investidor-V2/docs/investmoz/zones/plan-and-traceability.md
T
nala 1106509116
tests / ci (push) Canceled after 0s
vrsao 2
2026-10-08 14:02:01 +02:00

57 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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](implementation-status.md) 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.