8.4 KiB
Revisão das entregas e omissões — 29/09/2026
As instruções de implementação e avanço entre fases estão autorizadas. Não é necessária nova autorização genérica. Este inventário distingue funcionalidades entregues de trabalho por terminar; não substitui a verificação integral de cada requisito dos anexos.
Falhas confirmadas e corrigidas nesta revisão
- O Excel foi inicialmente interpretado de forma errada: B:G são códigos, H é a designação do nível mais profundo da linha. Os dropdowns receberam códigos como nomes. Corrigida a transformação, preservando UUID; 1.920 nomes reparados, 69 referências sem definição inequívoca retiradas das opções e preservadas para auditoria. A contagem anterior de 1.990 não provava qualidade ou completude.
- Os dropdowns só estavam na gestão. Acrescentados ao catálogo público, ao filtro de zonas e à criação de oportunidades, clusters/projectos e zonas. Removidos os inputs livres de província/distrito das fichas de edição de oportunidades e zonas; alterações de localização usam os identificadores.
- As associações guardadas não eram usadas pela pesquisa pública. A pesquisa passa a usar o território seleccionado e os seus descendentes, com validação da hierarquia. A pesquisa da carteira considera a localização dos projectos/clusters/corredores ligados aos dossiers publicados.
- As seis oportunidades existentes estavam sem relação territorial. Foram associadas às províncias por correspondência única de nome, normalizando apenas caixa, espaços exteriores e acentuação. Não se inferiram distritos a partir de descrições.
- O envio do filtro pelo navegador falhava:
education=falseem texto não passava a validação booleana efilters=[]fazia a leitura de.sortdevolver o método nativo JavaScript. Corrigidos serialização 0/1 e valor inicial da ordenação; teste real de selecção, submissão e recarregamento passou. - Alterar a localização de uma zona podia deixar a versão documental intacta. A alteração passa pelo serviço da zona, cria snapshot e devolve o registo a rascunho.
Dados e disponibilidade actual
Referências com nomes efectivamente extraídos: 11 províncias, 148 distritos, 437 postos administrativos e 1.324 localidades, além do país. Estes totais referem-se ao Excel recebido; não são declaração de cobertura administrativa actual do país. Dez linhas foram sinalizadas por conflitos/lacunas; 18.477 linhas de bairros/aldeias não são convertidas em localidades. As 69 referências anteriores sem definição inequívoca ficaram arquivadas, sem quebra de FK.
Disponível localmente em /oportunidades, /zonas, nas páginas de criação/edição aplicáveis e em /management/territory-associations. Filtro público expõe apenas ID/nome/tipo/pai das referências divulgadas, não os ficheiros originais. Publicação do vocabulário alfanumérico por instrução do responsável não equivale a publicação de limites geográficos homologados. Os dados confidenciais/restritos e ascendentes retirados não entram nas opções públicas.
Backup/restauro verificado antes desta correcção: storage/app/private/zones-backup-20260929-005946/, 113 tabelas. Relatórios e candidatos anteriores permanecem privados. A reparação não introduziu nova migration nem apagou referências fisicamente.
Trabalho que continua por terminar
| Área | Lacuna confirmada nos relatórios/código | Trabalho necessário |
|---|---|---|
| GIS completo | Limites geográficos versionados, transformação/validação de geometrias, endpoints resolve/near/bbox e cobertura espacial não entregues integralmente | Implementar serviços e contratos; carregar geometrias apenas quando fornecidas, sem inventar coordenadas |
| Integração territorial transversal | A nova associação é principal; os consumidores educativos, organizações e restantes formulários não usam ainda todos o mesmo selector; relações múltiplas legadas continuam separadas | Consolidar consumidores e testar cada jornada, incluindo históricos e remoção de referências |
| Importação territorial | CSV auditado, mas não existe ainda o workflow integral de batches/rejeições/aprovação/carga; PDF histórico tem colunas ambíguas | Terminar pipeline, excepções documentadas e reconciliação dos códigos; não tratar aprovação como reparação automática de dados contraditórios |
| IA | Base lexical/determinística; não há modelo generativo, embeddings, reranker ou benchmark generativo | Implementar RAG e avaliação com corpus autorizado; documentar recursos e fornecedor efectivamente usados |
| Mercado de Negócios | Preparação/submissão privada e objectos tipados; publicação, revisão completa, sala documental segura e integrações não concluídas | Implementar os estados/jornadas restantes, acesso documental, scanner, retenção e testes |
| ZEE/ZFI | Núcleo e filtros existentes; cadastro local de zonas continua vazio; modelo integral de actividades, benefícios, obrigações, lotes e indicadores não entregue | Completar domínio e importar conteúdos disponíveis com origem; não substituir dados ausentes por zonas fictícias |
| Educação | Há implementação parcial; metodologia, consumidores, integração e piloto não estão integralmente entregues | Confrontar decisões posteriores com o relatório histórico, executar lacunas técnicas e testar o fluxo completo |
| CRM/integrações | A integração externa real com SuiteCRM e a consolidação da outra máquina não foram executadas | Validar ligação quando disponível; a consolidação da outra máquina foi expressamente adiada pelo utilizador |
| Operação/QA | Testes automáticos e alguns percursos de navegador não cobrem todos os prompts; carga, acessibilidade assistiva e produção não demonstradas | Matriz de aceitação por jornada, testes com dados reais, ensaios operacionais e disponibilização no destino configurado |
Estas lacunas não são todas bloqueios de autorização. A maior parte corresponde a implementação que ficou por fazer. Dependências de dados, de ligações externas e de recursos de execução devem ser identificadas separadamente; não servem para suspender trabalho independente já autorizado.
Evidência desta correcção
tools/territory-public-browser.mjs verifica o portal local sem escrever dados: 11 províncias com nomes, 17 opções de distrito para Zambezia, duas oportunidades correspondentes, filtro no URL preservado após recarregar, larguras 390/1.440 px sem overflow e zero erros JavaScript. A suite PHP cobre autorização, referências privadas, hierarquia, criação, associação, conflitos de versão e pesquisa. Os totais finais são registados no relatório GIS.
Não declarar os prompts integralmente concluídos enquanto a matriz acima contiver lacunas. A disponibilidade de uma tabela, de um endpoint ou de um teste isolado não equivale à entrega da jornada pedida pelo utilizador.