resolucao de conflitos

This commit is contained in:
2026-10-30 14:55:58 +02:00
7 changed files with 1833 additions and 715 deletions
@@ -0,0 +1,174 @@
{
"date": "2026-10-29",
"scope": "Reorganização visual local do catálogo autorizada pela Tempo; sem instalação no portal.",
"base": "838ad941a24ae76ec4bf91ccc3f92012668fe8cf",
"design": {
"desktop": "Painel lateral de filtros e resultados em duas colunas; lista com acções na coluna lateral do cartão.",
"mobile": "Filtros expansíveis; cartões numa coluna; áreas de toque e foco visível.",
"content": "Todos os campos, descrições, avisos e acções conservados; 29 fichas agrupadas por tipo. Aviso provincial e título dos resultados recuperados do pedido fornecido."
},
"checks": {
"types": {
"command": "npm run types:check",
"exit": 0
},
"build": {
"command": "INVESTMOZ_QA_BUILD=1 npm run build",
"exit": 0,
"target": "public/build-qa-opportunities",
"limitations": "Avisos existentes de fontaine opcional e chunks grandes. Compilação anterior à formatação final, apenas cosmética."
},
"browser": {
"result": "passed",
"scope": "Local compiled React application with public document-based preview fixtures and mocked HTTP, no database or external requests. Does not prove backend or live availability.",
"layouts": [
{
"width": 1440,
"scrollWidth": 1440,
"count": 12,
"headingY": 296.65625,
"sidebarVisible": true,
"groups": [
"Corredores6",
"Clusters8",
"Projectos âncora15"
]
},
{
"width": 1024,
"scrollWidth": 1024,
"count": 12,
"headingY": 292.234375,
"sidebarVisible": true,
"groups": [
"Corredores6",
"Clusters8",
"Projectos âncora15"
]
},
{
"width": 768,
"scrollWidth": 768,
"count": 12,
"headingY": 368.078125,
"sidebarVisible": false,
"groups": [
"Corredores6",
"Clusters8",
"Projectos âncora15"
]
},
{
"width": 390,
"scrollWidth": 390,
"count": 12,
"headingY": 395.265625,
"sidebarVisible": false,
"groups": [
"Corredores6",
"Clusters8",
"Projectos âncora15"
]
},
{
"width": 320,
"scrollWidth": 320,
"count": 12,
"headingY": 425.96875,
"sidebarVisible": false,
"groups": [
"Corredores6",
"Clusters8",
"Projectos âncora15"
]
}
],
"checks": [
"All 12 sample titles, full descriptions and territorial caveats preserved at every width; expanded filter controls fit 320/390/1024px.",
"Missing currency error remains visible on mobile.",
"Keyboard opens mobile filters; search preserved through collapse, reopen and reload.",
"Hierarchical territory selector still loads and updates filter context (synthetic QA territory).",
"Investment selection and dossier link survive reload.",
"Comparison still limits four selections and renders the existing comparison table.",
"All 29 territorial reference cards remain accessible in three expandable groups.",
"All five views activate and fit mobile width; map uses explicit no-coordinates preview data."
],
"pageErrors": 0
},
"logic": [
{
"file": "resources/js/pages/investment/catalogue.tsx",
"existingNonPresentationLogicBlocks": 33,
"missing": 0,
"excludes": "JSX and its inline handlers; those reviewed in source diff and directed browser checks."
},
{
"file": "resources/js/components/opportunity-search-filters.tsx",
"existingNonPresentationLogicBlocks": 5,
"missing": 0,
"excludes": "JSX and its inline handlers; those reviewed in source diff and directed browser checks."
}
]
},
"preservation": {
"schema": "Sem alterações.",
"data": "Sem acesso à base de dados; prévia baseada nos documentos locais e referências públicas já guardadas.",
"configuration": "Sem alterações.",
"permissions": "Sem alterações.",
"queries": "Filtros, endpoints e regras preservados; testes de backend anteriores reutilizados, sem nova prova de backend ou autenticação.",
"sourceFiles": [
{
"file": "resources/js/pages/investment/catalogue.tsx",
"sha256": "d4697cb83c2f92a786108286c7743401b44d61c5b367e9ff322b05d0424b0d70"
},
{
"file": "resources/js/components/opportunity-search-filters.tsx",
"sha256": "d5b75fc78f7dc272b745117d37e040f1bb921cec2783c3f50ddaaafff7e2df66"
},
{
"file": "resources/js/components/catalogue-filter-group.tsx",
"sha256": "f2728dfc2393de7d4f4338d3ea1057ed84317603980a2dc44f8a208d225cda45"
},
{
"file": "resources/css/investment-catalogue.css",
"sha256": "034a79a62ba13220f814027afd62e43c49e2947afd1d9e25a87ba37d3648fd93"
}
]
},
"evidence": {
"directory": "outputs/catalogue-layout-20261029/",
"screenshots": [
"catalogue-1440.png",
"catalogue-1024.png",
"catalogue-768.png",
"catalogue-390.png",
"catalogue-320.png",
"filters-expanded-390.png",
"territorial-expanded.png",
"list-1440.png"
]
},
"matrix": [
"RF-MN-010",
"RF-PII-003",
"RNF-EDU-008",
"MASTER-471012ab-0124"
],
"deployment": "Não realizada; alteração activa fora desta entrega local.",
"dynamicMoreFilters": {
"origin": "Pedido expresso da Tempo, 29/10/2026",
"collapsed": "Mais filtros",
"expanded": "Menos filtros",
"verification": {
"result": "passed",
"checks": [
"Mais filtros quando recolhido",
"Menos filtros quando aberto",
"Alternância por clique e teclado",
"Escolhas e contagem conservadas"
],
"scope": "Componente React real, compilado e exercitado em Chromium; sem backend ou base de dados."
},
"deployment": "Alteração local; sem instalação."
}
}
@@ -7384,3 +7384,32 @@ Estado actual: `investor-usability-git-delivery-20261028.json`. Os relatórios Q
Pedido expresso da Tempo: preencher formulário de IVA ou IRPC, em vez de abrir legislação. Base preservada: entrega instalada 789fffd0, Modelo A e aquisições/apuramento já aceites, L6 M20/M22 instalado em 5aaf1a56 e incrementos de L8. Nenhuma perda confirmada neste recorte; não se apagam as aceitações nem se repetem provas fiscais anteriores. Fontes reutilizadas do inventário de 20 exemplares acessíveis em outputs/irpc-l6-values-forms/accessible-source-inventory.json da QA anterior, incluindo temporários identificados; inventário do corpus e originais preservados. M22: três páginas conferidas visualmente nesta revisão, SHA256 4b61bd83d1fbcfd3b7b5c5523cea5923f7d0f65dc4c004eff58e5db38f763c88. Modelo A: correspondência e divergências aceites em modelo-a-reconciliacao-20261021.md; sem nova validação de proveniência.
Incremento em preparação QA: entrada directa em Documentos e Formulários, preenchimento manual dos campos correspondidos de IVA e subconjunto M22, identificação/período, revisão, impressão e ficheiro privado para recuperação mediante confirmação. Escolha técnica: sem persistência no servidor nem ligação automática ao dossier neste incremento; não altera schema, dados, permissões ou cálculos. Ficheiro não publicado. IRPC ajustamentos completos, outros regimes, anexos, assinatura e submissão à AT fora da cobertura; L8 permanece parcial. Ainda sem instalação deste incremento. Próximas provas apenas do delta: fidelidade da recuperação, rejeição de ficheiros incompatíveis sem perda, formatos/valores desconhecidos, acesso público e compilação.
## 29/10/2026 — ergonomia do catálogo: inventário antes da verificação
Origem: pedido expresso da Tempo para analisar alternativas e reorganizar a página sem alterar conteúdos. Escolha de implementação: painel lateral no computador, filtros expansíveis no móvel, grupos por finalidade e cartões com hierarquia visual; corredores, clusters e projectos âncora agrupados em secções expansíveis. Não introduz regra organizacional. Alternativas ponderadas: formulário integral no topo conserva o bloqueio vertical; janela sobreposta afasta o contexto dos resultados; painel responsivo permite consulta lado a lado e mantém os campos montados ao recolher.
Inventário do concluído consultado antes de nova ronda: selectores públicos independentes dos resultados e provas 22/10; agronegócio e escolha múltipla/dossier 23/10; vista por corredor e percurso proactivo 27/10; registos de reposição territorial e carteira mantidos. Preservar pesquisa combinada AND, filtros simples/avançados e geográficos, classificação histórica, montantes/moedas sem conversão, estados/erros, cinco vistas, CSV, favoritos/pedidos, comparação, escolha para investimento, paginação, guias e todas as fichas territoriais. Não existe eliminação funcional confirmada neste delta de código; não se infere disponibilidade activa pela apresentação local. O título dos resultados e o aviso provincial fornecidos no pedido estavam ausentes no componente local e são recuperados textualmente.
Comparação delimitada: só componentes de apresentação e CSS; schema, dados, configuração, fontes, relações e permissões sem alteração. Não se ligou à base activa nem se declarou perda por leitura sem actor. A candidata não modifica aceitação anterior ou limitações de outros incrementos. Matriz existente: RF-MN-010, RF-PII-003, RNF-EDU-008 e MASTER-471012ab-0124; sem nova matriz.
Verificação do delta por realizar: compilação/tipos, apresentação 320/390/768/1024/1440px, teclado, expansão sem perda de campos, vistas, conservação das acções/conteúdo e ausência de transbordo horizontal. Preparação local, sem instalação ou alteração de dados activos.
### Resultado do delta de apresentação — 29/10/2026
Concluído localmente. TypeScript e build isolado aprovados, sem instalação. Navegador Chromium com a aplicação React compilada e respostas HTTP de prévia locais, sem base de dados nem pedidos externos:320/390/768/1024/1440px sem transbordo horizontal; campos expandidos cabem no painel em320/390/1024px. Conferidas integralmente as descrições e avisos territoriais dos12cartões da amostra em cada largura, teclado para expandir, erro de moeda, recolher/reabrir/recarregar sem perder pesquisa, selectores hierárquicos, escolha persistente para dossier, limite/comparação de4, cinco vistas e acesso às29fichas(6corredores,8clusters,15âncoras). Zero erros JavaScript. Capturas efectivamente inspeccionadas:1440/1024/390/320px, filtros expandidos390px e lista1440px.
Comparação estrutural:33blocos preexistentes de lógica da página e5auxiliares dos filtros preservados; JSX/callbacks revistos no delta e nas interacções acima. Os avisos de ausência, a consulta pública e as ligações anteriores mantêm-se. Favoritos autenticados, backend de pesquisa/mapa, guias e permissões conservam os contratos/provas anteriores; esta prévia não é nova demonstração desses serviços nem da disponibilidade activa. Mapa exercitado com ausência explícita de coordenadas, sem criar pontos.
Recibo:docs/investmoz/unification/catalogue-layout-qa-20261029.json. Evidência local:outputs/catalogue-layout-20261029/. Nenhuma redução funcional pretendida; todas as fichas estão nos grupos expansíveis. Sem publicação, dados alterados, migrações, configuração ou permissões novas. Não encerra os critérios globais das quatro linhas da matriz.
Ajuste solicitado pela Tempo em29/10/2026: o controlo dos filtros avançados alterna entre “Mais filtros” (recolhido) e “Menos filtros” (aberto). O estado segue a abertura nativa da secção; os campos e escolhas continuam montados. Prova dirigida no componente React real em Chromium: clique/teclado, ambos os textos, valor editado e contagem conservados; sem errosJavaScript. Recibo local:outputs/catalogue-layout-20261029/toggle-receipt.json. Sem nova ronda global, instalação ou alteração de dados.
Ajuste visual solicitado pela Tempo em29/10/2026: títulos, cabeçalhos, rótulos de grupos e conteúdo do catálogo em negrito apresentados em vermelho; os botões com fundo colorido mantêm texto legível. CSS validado por análise sintáctica; alteração local de apresentação, sem instalação.
## 30/10/2026 — integração do catálogo main e front
Pedido expresso da Tempo: recuperar a estrutura visual da branch front combinando-a com as alterações de main. Base comum 838ad941; front 996b5b08; main 332c16eb. Inventário: a front demonstrou painel responsivo, filtros agrupados, cartões, cinco vistas, acções e fichas territoriais no recibo de 29/10; a main acrescentou resumo territorial, contexto por sector/localização, atalho para toda a província, estados de pesquisa e ligações de guias educativos. Integração local preserva ambos; o selector territorial e os serviços seguem main. As ausências de opções públicas não demonstram perda de dados.
Alteração de apresentação e composição local; sem modificação de schema, dados, configuração, permissões ou publicação. Evidências anteriores mantidas; as verificações desta integração e os seus limites constam de outputs/catalogue-integration-20261030/receipt.json quando disponíveis. Não substitui a prova de backend, autenticação ou disponibilidade no activo.
File diff suppressed because one or more lines are too long