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

41 lines
7.5 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.
# Execução autorizada — 28/09/2026
O proprietário autorizou progressão automática entre fases e reiterou «prossiga». Não há nova aprovação de fase a pedir. As verificações técnicas e as pendências de dados mantêm-se registadas.
## Implementado até ao momento
- Migration `2026_09_28_100000_investment_zone_foundation`: nove tabelas aditivas; entidades ZEE/ZFI/parque separadas do enquadramento jurídico; identidade UUID com correspondências tipadas de oportunidades/projectos; associações M:N; revisão editorial encriptada e imutável.
- Migration `2026_09_28_110000_zone_geometry_review`: editor e revisor GIS separados. Geometrias PostGIS existentes reutilizadas; upload GeoJSON validado, perímetro exige polígono e referência legal, sobreposição de perímetros é remetida para revisão.
- APIs v2 para cadastro, fontes, validação/revogação, ligações, relações territoriais, geometrias e mapa. API v1 preservada, com filtros opcionais `zee_id`, `zfi_id`, `park_id`; resultados continuam a usar IDs canónicos de oportunidades existentes.
- As quatro entradas filtram o mesmo catálogo através de `dimension=cluster|corridor|zee|zfi`; filtros compatíveis são mantidos. `view=grid|list|map|combined` conserva a vista no URL. Falha do mapa apresenta a lista e mensagem de recuperação; ensaio de navegador confirmado.
- Páginas `/zonas`, `/zonas/{id}`, `/management/investment/zones` e `/management/investment/zones/{id}`. Catálogo tem quatro entradas; ficha de oportunidade e carteira territorial exibem associações publicadas.
- Edição PT/EN, formulário de fontes, relações e GIS; revisões e conflitos de versão. Fonte revogada ou vencida oculta zonas/associações e geometrias da consulta pública sem eliminar registos.
- Gestão exige autenticação, email verificado, gate de gestor e MFA confirmado. Validar fonte/GIS e publicar exigem designação em configuração. Auto-aprovação recusada. Suspensão/revogação continua acessível a gestores com MFA para retirar informação rapidamente.
- Migration `2026_09_28_120000_investment_submission_zones`: origem normalizada por FK, versão da zona e finalidade interest/dossier/meeting. Rascunho deduplicado por utilizador/zona/versão/investimento/finalidade; submissão revalida disponibilidade e versão, conserva origem no CRM e snapshot privado, e reutiliza protocolo nos reenvios.
- Comando `investment:reconcile-identities`: dry-run por omissão; `--apply` cria apenas correspondência directa de IDs. Executado localmente para seis oportunidades, preservando registos e URLs; 16 projectos continuam por reconciliar documentalmente, sem fusão automática.
## Aplicação local e reversão
Primeiro backup: `storage/app/private/zones-backup-20260928-015930/`, restaurado e conferido em 93 tabelas. Primeira migration levou a 102 tabelas; apenas migrations 35→36, novas tabelas vazias.
Segundo backup: `storage/app/private/zones-backup-20260928-021135/`, restaurado e conferido em 102 tabelas. Segunda migration manteve 102 tabelas; migrations 36→37. Sessões 3→2 durante uso local; contagens de negócio preservadas. Manifestações, oportunidades e dossiers não foram convertidos ou publicados em massa. Nenhuma zona fictícia foi inserida na base operacional.
Rollback das novas tabelas recusa se existirem dados; rollback vazio foi testado isoladamente. Com dados, usar restauro isolado do backup, reconciliar com a aplicação compatível e preservar a base actual para recuperação. Não executar rollback global das migrations antigas.
Terceiro backup: `zones-backup-20260928-061527/`, 102 tabelas restauradas/conferidas antes da origem de manifestações. Após migration: 103 tabelas, migrations 37→38, tabela nova vazia. Quarto backup: `zones-backup-20260928-062127/`, 103 tabelas verificadas antes da correspondência canónica. Reconciliação posterior: apenas `investment_items` e `investment_item_opportunities` mudaram de zero para seis; restantes contagens iguais. Relatórios privados em `storage/app/private/zone-reconciliation/`. [Inventário actual agregado](current-data.json).
## Limites actuais por fase
| Fase | Estado factual | Trabalho ainda necessário |
| ---- | ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 0 | Baseline e plano executados | Identidade Git para commits; não configurada em nome do utilizador |
| 1 | Núcleo canónico/legal/GIS aditivo implementado | Modelo completo de actividades, benefícios, obrigações, instalações, lotes e indicadores; matriz jurídica por artigo; correspondências projecto–oportunidade reconciliadas |
| 2 | APIs e administração do núcleo implementadas | Workflows institucionais completos, histórico de todas as entidades, atribuição nominal de funções, MFA de sessão e testes de contrato exaustivos |
| 3 | Filtros das zonas integrados com resultados sem duplicação | Descoberta indirecta por elos/nós/influência, ranking/sinónimos, telemetria e benchmark representativo |
| 4 | Cadastro e fichas com conteúdo PT/EN, mapa esquemático, lista–mapa, filtros/vista no URL e recuperação da falha do mapa | Interface integral EN, acessibilidade assistiva e E2E de todas as jornadas |
| 5 | Interesse/dossier/reunião assistidos com origem zona/versão/finalidade no protocolo e CRM interno | Origem completa de filtros, SLA parametrizado e integração externa real formalmente autorizada |
| 6 | Backups/restauros, dry-run, seis correspondências canónicas e reconciliação executados | UAT, carga, formação real, recuperação pontual e piloto com dados oficiais |
| 7 | Não iniciada | Decisão de produção, suporte e requisitos operacionais |
Não declarar a implementação integral concluída com base nesta entrega. Zero geometrias e zonas oficiais estão cadastradas localmente; o estado vazio é intencional até haver documentos e responsáveis. Configurar `INVESTMOZ_ZONE_LEGAL_REVIEWERS`, `INVESTMOZ_ZONE_GIS_REVIEWERS`, `INVESTMOZ_ZONE_PUBLISHERS` com emails de gestores já autorizados, após designação. Estas listas não atribuem competência legal por si próprias.