commit 23

This commit is contained in:
2026-11-04 08:49:36 +02:00
8 changed files with 2060 additions and 229 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."
}
}
@@ -7620,6 +7620,7 @@ Cobertura: identificação/período, 27 campos manuais IVA e 24 campos manuais M
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.
<<<<<<< HEAD
@@ -9071,3 +9072,5 @@ Validação e diagnósticos:29 Feature/364 finais, com seis novos de reutilizaç
Rastreabilidade dos executores: o recibo anterior organization_country_editor_increment_20261103 conservava na lista tooling_sha256 nomes de helpers da etapa workspace, por uma cópia de metadados. Mantêm-se esse recibo e todas as suas provas exactamente como estavam. Este incremento acrescenta prior_tooling_supplement_sha256 para os ficheiros efectivamente usados e retidos de check-organization-country-editor-qa, verify-organization-country-editor-concurrency e record-organization-country-editor, e liga os próprios executores actuais pelos caminhos correctos, incluindo este recorder. A suplementação de rastreabilidade não altera os resultados, fontes, observações de concorrência ou estado de instalação anteriores.
Preservação e próxima acção:79 tabelas de teste vazias, lock/identidade/owner/RLS/FORCE conferidos e fixture de falha revertida.89 recibos/411 provas anteriores preservados e16 novas provas arquivadas. Nenhuma migração/escrita activa ou comunicação externa. AUD-COUNTRY-02 e AUD-PROFILE-25 continuam parciais: clientes legados sem chave mantêm semântica anterior; restam outros consumidores/perfis, retoma durável/expiração, visual/móvel/browser, preenchimento real autorizado onde falta país, backup/restauro do candidato e disponibilização autenticada. A fonte aprovada não volta a ser submetida a uma validação genérica nem se inventam representantes. Próxima acção: confrontar os consumidores restantes e a recuperação de preparações com a matriz, reutilizando os mecanismos agora comuns.
=======
>>>>>>> origin/main
File diff suppressed because one or more lines are too long