diff --git a/docs/investmoz/unification/catalogue-layout-qa-20261029.json b/docs/investmoz/unification/catalogue-layout-qa-20261029.json
new file mode 100644
index 00000000..44ff42d6
--- /dev/null
+++ b/docs/investmoz/unification/catalogue-layout-qa-20261029.json
@@ -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."
+ }
+}
diff --git a/docs/investmoz/unification/traceability-and-manual.md b/docs/investmoz/unification/traceability-and-manual.md
index 5575b0c3..f681ec0f 100644
--- a/docs/investmoz/unification/traceability-and-manual.md
+++ b/docs/investmoz/unification/traceability-and-manual.md
@@ -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
diff --git a/docs/investmoz/v2/auditoria-portal/matriz-requisitos.csv b/docs/investmoz/v2/auditoria-portal/matriz-requisitos.csv
index dadac045..8d4bf7e0 100644
--- a/docs/investmoz/v2/auditoria-portal/matriz-requisitos.csv
+++ b/docs/investmoz/v2/auditoria-portal/matriz-requisitos.csv
@@ -194,7 +194,7 @@ RF-MN-010,Pesquisar e filtrar oportunidades.,upgrade v4 SHA f0b9815…; p. 2993;
[RECONCILIACAO-43-20261019] Código e critérios confrontados com leitura READ ONLY fresca; PROVA-RECONCILIACAO-43-LEITURA.json, RECONCILIACAO-43-QA-FONTES.json, RECONCILIACAO-43-SCHEMA-QA.json. Não encerra critério funcional por inventário.
-[PLANO-P1-P6-20261019] Plano Tempo: 27–46 h disponibilização; P7 e desenvolvimento separados. Inclusão 36–39 expressa para decisão; sem publicação automática. Revisão de proposta d87970e701f0. Roteiro no manual existente; não encerra critério por instalação.",oportunidades,"12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada | 19/10/2026 — conta simples e estados de pesquisa, QA; activo preservado",,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Services/OpportunityManagement.php; app/Services/OpportunityResources.php; resources/js/pages/management/opportunity-draft.tsx — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"OpportunityManagementTest, OpportunityResourcesTest, OpportunityOriginReviewTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
+[PLANO-P1-P6-20261019] Plano Tempo: 27–46 h disponibilização; P7 e desenvolvimento separados. Inclusão 36–39 expressa para decisão; sem publicação automática. Revisão de proposta d87970e701f0. Roteiro no manual existente; não encerra critério por instalação. | 29/10/2026 — ergonomia do catálogo autorizada pela Tempo: inventário prévio preserva pesquisa AND, hierarquia territorial, moedas sem conversão, preparação/históricos, cinco vistas, CSV, favoritos, comparação, selecção/dossier, paginação e fichas de corredores/clusters/âncoras. Não há perda funcional confirmada neste delta de apresentação; disponibilidade no destino não inferida. Reutiliza provas de selectores 22/10, agronegócio/selecção múltipla 23/10 e corredor/percurso 27/10. Preparação local; sem schema, dados, configuração ou permissões novos. Manual: adenda 29/10/2026 — ergonomia do catálogo. | 29/10/2026 — delta visual local verificado: tipos/build QA aprovados; navegador 320/390/768/1024/1440px sem transbordo, filtros expandidos sem corte, descrições/avisos completos, teclado, contexto conservado, escolha/dossier, comparação quatro, cinco vistas e 29 fichas acessíveis; zero erros JS. Prévia com HTTP simulado e documentos públicos locais, sem base; não prova backend/autenticação ou disponibilidade activa. Recibo docs/investmoz/unification/catalogue-layout-qa-20261029.json; critérios globais e aceitação anterior preservados. 30/10/2026 — integração local da estrutura front 996b5b08 com alterações de main 332c16eb: resumo e contexto territorial, atalho à província, estados de pesquisa e guias preservados; manual existente e recibo de QA delimitam a prova, sem inferir disponibilidade activa. Ajuste subsequente: Mais filtros/Menos filtros acompanha a abertura; clique/teclado e escolhas conservadas demonstrados no componente React. Pedido Tempo: títulos e destaques em vermelho no catálogo; CSS validado sintacticamente, alteração local.",oportunidades,"12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada | 19/10/2026 — conta simples e estados de pesquisa, QA; activo preservado | 29/10/2026 — ergonomia do catálogo autorizada pela Tempo: inventário prévio preserva pesquisa AND, hierarquia territorial, moedas sem conversão, preparação/históricos, cinco vistas, CSV, favoritos, comparação, selecção/dossier, paginação e fichas de corredores/clusters/âncoras. Não há perda funcional confirmada neste delta de apresentação; disponibilidade no destino não inferida. Reutiliza provas de selectores 22/10, agronegócio/selecção múltipla 23/10 e corredor/percurso 27/10. Preparação local; sem schema, dados, configuração ou permissões novos. Manual: adenda 29/10/2026 — ergonomia do catálogo.",,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Services/OpportunityManagement.php; app/Services/OpportunityResources.php; resources/js/pages/management/opportunity-draft.tsx — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"OpportunityManagementTest, OpportunityResourcesTest, OpportunityOriginReviewTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-MN-011,Guardar pesquisas e oportunidades favoritas.,upgrade v4 SHA f0b9815…; p. 2997; requirements-audit.csv | portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 613 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 3449 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 620 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 2254 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 3449,oportunidades,/api/v1/business-opportunities; /api/v1/business-opportunities/{slug}; /investidor/terra-duat; /investidor/terra-duat/novo; /investidor/terra-duat/{id}; /investidor/terra-duat/{id}/actualizacoes; /investidor/terra-duat/{id}/documentos; /investidor/terra-duat/{id}/documentos/{attachment}; /investidor/terra-duat/{id}/editar; /investidor/terra-duat/{id}/imprimir; /investidor/terra-duat/{id}/solicitar-apoio; /management/opportunities,"OpportunityManagement, OpportunityCanonicalContract/Response, OpportunityReviewMateriality, PortalProfileAccess, OpportunityResources. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Reconciliar contrato/cláusula e provas por categoria; completar apenas falha/variante executável identificada. Response normativo não é completo. Critério individual original preservado; cobertura atual ainda não individualizada.,"030000→040000 já instalados; contratos/resources existentes, sessão/MFA, ClamD e worker para ficheiros; gates das seis categorias ON. Variantes modulares/offers continuam separadas. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-MN-011: Utilizador pode criar, editar e eliminar preferências e receber alertas autorizados. | MASTER-471012ab-0057: Guardar pesquisas e oportunidades favoritas. | MASTER-e1169a77-0207: Guardar pesquisas e oportunidades favoritas. | MASTER-f70ce307-0063: Guardar pesquisas e oportunidades favoritas. | MASTER-51b8f0ad-0143: Guardar pesquisas e oportunidades favoritas. | MASTER-edece80c-0207: Guardar pesquisas e oportunidades favoritas.",P2,RF-MN-011: Relatório 25/09 conservado; estado histórico não promove conclusão | MASTER-471012ab-0057: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0207: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0063: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0143: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0207: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,RF-MN-011 | MASTER-471012ab-0057 | MASTER-e1169a77-0207 | MASTER-f70ce307-0063 | MASTER-51b8f0ad-0143 | MASTER-edece80c-0207,6,"[{""id"":""RF-MN-011"",""pedido"":""Guardar pesquisas e oportunidades favoritas."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 2997; requirements-audit.csv""],""aceitacao"":""Utilizador pode criar, editar e eliminar preferências e receber alertas autorizados."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""oportunidades""},{""id"":""MASTER-471012ab-0057"",""pedido"":""Guardar pesquisas e oportunidades favoritas."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 613""],""aceitacao"":""Guardar pesquisas e oportunidades favoritas."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-e1169a77-0207"",""pedido"":""Guardar pesquisas e oportunidades favoritas."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 3449""],""aceitacao"":""Guardar pesquisas e oportunidades favoritas."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-f70ce307-0063"",""pedido"":""Guardar pesquisas e oportunidades favoritas."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 620""],""aceitacao"":""Guardar pesquisas e oportunidades favoritas."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-51b8f0ad-0143"",""pedido"":""Guardar pesquisas e oportunidades favoritas."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 2254""],""aceitacao"":""Guardar pesquisas e oportunidades favoritas."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-edece80c-0207"",""pedido"":""Guardar pesquisas e oportunidades favoritas."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 3449""],""aceitacao"":""Guardar pesquisas e oportunidades favoritas."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.opportunities: 6 registos; public.opportunity_images: tabela ausente; public.opportunity_documents: tabela ausente; public.opportunity_location_drafts: tabela ausente,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Reconciliar contrato/cláusula e provas por categoria; completar apenas falha/variante executável identificada. Response normativo não é completo. Critério individual original preservado; cobertura atual ainda não individualizada.,"OpportunityManagement, OpportunityCanonicalContract/Response, OpportunityReviewMateriality, PortalProfileAccess, OpportunityResources","030000→040000 já instalados; contratos/resources existentes, sessão/MFA, ClamD e worker para ficheiros; gates das seis categorias ON. Variantes modulares/offers continuam separadas.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: oportunidades. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,oportunidades,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Services/OpportunityManagement.php; app/Services/OpportunityResources.php; resources/js/pages/management/opportunity-draft.tsx — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"OpportunityManagementTest, OpportunityResourcesTest, OpportunityOriginReviewTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-MN-012,Calcular correspondência entre oferta e procura.,upgrade v4 SHA f0b9815…; p. 3001; requirements-audit.csv,governação/outros,/api/v1/investment/admin/interests/{interest}/status; /management/history; /management/interests; /management/interests/{interest}; /management/interests/{interest}/consent/contact; /management/interests/{interest}/consent/proponent; /management/opportunities; /management/opportunities/create; /management/opportunities/drafts; /management/opportunities/{id}/draft; /management/opportunities/{id}/edit; /management/opportunities/{id}/lifecycle,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-MN-012: Condições eliminatórias são avaliadas primeiro; pontuação guarda pesos, critérios, versão e explicação.",P2,RF-MN-012: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-MN-012,1,"[{""id"":""RF-MN-012"",""pedido"":""Calcular correspondência entre oferta e procura."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 3001; requirements-audit.csv""],""aceitacao"":""Condições eliminatórias são avaliadas primeiro; pontuação guarda pesos, critérios, versão e explicação."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""governação/outros""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,Requisito transversal; consultar estado-ativo-after.json,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer","Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: governação e demais cláusulas. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,governação e demais cláusulas,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",AGENTS.md — componentes do domínio encontrados; correspondência integral deste requisito não presumida,; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-MN-013,Permitir revisão humana da correspondência.,upgrade v4 SHA f0b9815…; p. 3005; requirements-audit.csv | portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 621 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 3457 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 628 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 2262 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 3457,governação/outros,/api/v1/investment/admin/interests/{interest}/status; /management/history; /management/interests; /management/interests/{interest}; /management/interests/{interest}/consent/contact; /management/interests/{interest}/consent/proponent; /management/opportunities; /management/opportunities/create; /management/opportunities/drafts; /management/opportunities/{id}/draft; /management/opportunities/{id}/edit; /management/opportunities/{id}/lifecycle,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.",RF-MN-013: Nenhum convite externo é enviado sem aprovação do gestor; decisão e fundamento ficam auditáveis. | MASTER-471012ab-0058: Permitir revisão humana da correspondência. | MASTER-e1169a77-0208: Permitir revisão humana da correspondência. | MASTER-f70ce307-0064: Permitir revisão humana da correspondência. | MASTER-51b8f0ad-0144: Permitir revisão humana da correspondência. | MASTER-edece80c-0208: Permitir revisão humana da correspondência.,P2,RF-MN-013: Relatório 25/09 conservado; estado histórico não promove conclusão | MASTER-471012ab-0058: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0208: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0064: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0144: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0208: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,RF-MN-013 | MASTER-471012ab-0058 | MASTER-e1169a77-0208 | MASTER-f70ce307-0064 | MASTER-51b8f0ad-0144 | MASTER-edece80c-0208,6,"[{""id"":""RF-MN-013"",""pedido"":""Permitir revisão humana da correspondência."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 3005; requirements-audit.csv""],""aceitacao"":""Nenhum convite externo é enviado sem aprovação do gestor; decisão e fundamento ficam auditáveis."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""governação/outros""},{""id"":""MASTER-471012ab-0058"",""pedido"":""Permitir revisão humana da correspondência."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 621""],""aceitacao"":""Permitir revisão humana da correspondência."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-e1169a77-0208"",""pedido"":""Permitir revisão humana da correspondência."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 3457""],""aceitacao"":""Permitir revisão humana da correspondência."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-f70ce307-0064"",""pedido"":""Permitir revisão humana da correspondência."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 628""],""aceitacao"":""Permitir revisão humana da correspondência."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-51b8f0ad-0144"",""pedido"":""Permitir revisão humana da correspondência."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 2262""],""aceitacao"":""Permitir revisão humana da correspondência."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-edece80c-0208"",""pedido"":""Permitir revisão humana da correspondência."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 3457""],""aceitacao"":""Permitir revisão humana da correspondência."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,Requisito transversal; consultar estado-ativo-after.json,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer","Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: governação e demais cláusulas. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,governação e demais cláusulas,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",AGENTS.md — componentes do domínio encontrados; correspondência integral deste requisito não presumida,; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
@@ -250,7 +250,7 @@ RF-MON-011,"Separação mínima entre criação, aprovação, emissão, recebime
RF-MON-012,"Painéis distinguem previsto, apurado, aprovado, facturado, recebido, vencido, estornado e disputado. Acesso varia por função.",upgrade v4 SHA f0b9815…; p. 3367; requirements-audit.csv,governação/outros,/api/v1/investment/admin/interests/{interest}/status; /management/history; /management/interests; /management/interests/{interest}; /management/interests/{interest}/consent/contact; /management/interests/{interest}/consent/proponent; /management/opportunities; /management/opportunities/create; /management/opportunities/drafts; /management/opportunities/{id}/draft; /management/opportunities/{id}/edit; /management/opportunities/{id}/lifecycle,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-MON-012: Entrada: contratos, comissões, facturas, pagamentos, estornos e dimensões. Saída: indicadores, listas reconciliáveis e exportações protegidas.",P2,RF-MON-012: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-MON-012,1,"[{""id"":""RF-MON-012"",""pedido"":""Painéis distinguem previsto, apurado, aprovado, facturado, recebido, vencido, estornado e disputado. Acesso varia por função."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 3367; requirements-audit.csv""],""aceitacao"":""Entrada: contratos, comissões, facturas, pagamentos, estornos e dimensões. Saída: indicadores, listas reconciliáveis e exportações protegidas."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""governação/outros""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,Requisito transversal; consultar estado-ativo-after.json,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer","Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: governação e demais cláusulas. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,governação e demais cláusulas,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",AGENTS.md — componentes do domínio encontrados; correspondência integral deste requisito não presumida,; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-PII-001,Importar projectos por folha estruturada ou API.,upgrade v4 SHA f0b9815…; p. 3939; requirements-audit.csv,governação/outros,/api/v1/investment/admin/interests/{interest}/status; /management/history; /management/interests; /management/interests/{interest}; /management/interests/{interest}/consent/contact; /management/interests/{interest}/consent/proponent; /management/opportunities; /management/opportunities/create; /management/opportunities/drafts; /management/opportunities/{id}/draft; /management/opportunities/{id}/edit; /management/opportunities/{id}/lifecycle,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-PII-001: O sistema valida campos, identifica duplicados, gera relatório de erros e preserva código e fonte.",P2,RF-PII-001: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-PII-001,1,"[{""id"":""RF-PII-001"",""pedido"":""Importar projectos por folha estruturada ou API."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 3939; requirements-audit.csv""],""aceitacao"":""O sistema valida campos, identifica duplicados, gera relatório de erros e preserva código e fonte."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""governação/outros""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,Requisito transversal; consultar estado-ativo-after.json,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer","Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: governação e demais cláusulas. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,governação e demais cláusulas,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",AGENTS.md — componentes do domínio encontrados; correspondência integral deste requisito não presumida,; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-PII-002,Gerir versões e validação institucional.,upgrade v4 SHA f0b9815…; p. 3942; requirements-audit.csv,Balcão/orientação,/balcao-virtual/contextos; /balcao-virtual/dossiers; /balcao-virtual/dossiers/{id}; /balcao-virtual/dossiers/{id}/documentos; /balcao-virtual/dossiers/{id}/documentos/{document}; /balcao-virtual/dossiers/{id}/documentos/{document}/conferencia; /balcao-virtual/dossiers/{id}/etapas; /balcao-virtual/dossiers/{id}/fontes; /balcao-virtual/dossiers/{id}/orientacao; /balcao-virtual/dossiers/{id}/pedidos; /balcao-virtual/dossiers/{id}/pressupostos; /balcao-virtual/dossiers/{id}/recomendacoes,"VirtualDesk, pedidos/casos, anexos, contexto dossier e acompanhamento. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Pedido contextual→gravar→submeter→nova sessão→gestor→mensagem/documentos/resultado, reaproveitando A/B. Critério individual original preservado; cobertura atual ainda não individualizada.","Perfis próprios do Balcão; serviços/campos e decisões externas aplicáveis, sem inventar destinatário/prazo. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-PII-002: Cada publicação identifica versão, data, entidade promotora, aprovador e histórico de alterações.",P2,RF-PII-002: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-PII-002,1,"[{""id"":""RF-PII-002"",""pedido"":""Gerir versões e validação institucional."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 3942; requirements-audit.csv""],""aceitacao"":""Cada publicação identifica versão, data, entidade promotora, aprovador e histórico de alterações."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""Balcão/orientação""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.desk_cases: 1 registos; public.desk_requests: 0 registos; public.desk_institutional_links: 0 registos; public.desk_messages: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","Pedido contextual→gravar→submeter→nova sessão→gestor→mensagem/documentos/resultado, reaproveitando A/B. Critério individual original preservado; cobertura atual ainda não individualizada.","VirtualDesk, pedidos/casos, anexos, contexto dossier e acompanhamento","Perfis próprios do Balcão; serviços/campos e decisões externas aplicáveis, sem inventar destinatário/prazo.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: balcão. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,balcão,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Services/VirtualDesk.php; app/Services/Ai/InvestorGuidance.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,InvestorGuidanceTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
-RF-PII-003,Publicar catálogo pesquisável e comparável.,upgrade v4 SHA f0b9815…; p. 3945; requirements-audit.csv | portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1577 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4426 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1579 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3213 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4426,governação/outros,/api/v1/investment/admin/interests/{interest}/status; /management/history; /management/interests; /management/interests/{interest}; /management/interests/{interest}/consent/contact; /management/interests/{interest}/consent/proponent; /management/opportunities; /management/opportunities/create; /management/opportunities/drafts; /management/opportunities/{id}/draft; /management/opportunities/{id}/edit; /management/opportunities/{id}/lifecycle,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-PII-003: O utilizador filtra por sector, território, valor, fase e modalidade e compara projectos seleccionados. | MASTER-471012ab-0137: Publicar catálogo pesquisável e comparável. | MASTER-e1169a77-0290: Publicar catálogo pesquisável e comparável. | MASTER-f70ce307-0146: Publicar catálogo pesquisável e comparável. | MASTER-51b8f0ad-0226: Publicar catálogo pesquisável e comparável. | MASTER-edece80c-0290: Publicar catálogo pesquisável e comparável.",P2,RF-PII-003: Relatório 25/09 conservado; estado histórico não promove conclusão | MASTER-471012ab-0137: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0290: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0146: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0226: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0290: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,RF-PII-003 | MASTER-471012ab-0137 | MASTER-e1169a77-0290 | MASTER-f70ce307-0146 | MASTER-51b8f0ad-0226 | MASTER-edece80c-0290,6,"[{""id"":""RF-PII-003"",""pedido"":""Publicar catálogo pesquisável e comparável."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 3945; requirements-audit.csv""],""aceitacao"":""O utilizador filtra por sector, território, valor, fase e modalidade e compara projectos seleccionados."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""governação/outros""},{""id"":""MASTER-471012ab-0137"",""pedido"":""Publicar catálogo pesquisável e comparável."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1577""],""aceitacao"":""Publicar catálogo pesquisável e comparável."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-e1169a77-0290"",""pedido"":""Publicar catálogo pesquisável e comparável."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4426""],""aceitacao"":""Publicar catálogo pesquisável e comparável."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-f70ce307-0146"",""pedido"":""Publicar catálogo pesquisável e comparável."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1579""],""aceitacao"":""Publicar catálogo pesquisável e comparável."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-51b8f0ad-0226"",""pedido"":""Publicar catálogo pesquisável e comparável."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3213""],""aceitacao"":""Publicar catálogo pesquisável e comparável."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-edece80c-0290"",""pedido"":""Publicar catálogo pesquisável e comparável."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4426""],""aceitacao"":""Publicar catálogo pesquisável e comparável."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,Requisito transversal; consultar estado-ativo-after.json,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer","Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: governação e demais cláusulas. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,governação e demais cláusulas,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",AGENTS.md — componentes do domínio encontrados; correspondência integral deste requisito não presumida,; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
+RF-PII-003,Publicar catálogo pesquisável e comparável.,upgrade v4 SHA f0b9815…; p. 3945; requirements-audit.csv | portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1577 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4426 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1579 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3213 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4426,governação/outros,/api/v1/investment/admin/interests/{interest}/status; /management/history; /management/interests; /management/interests/{interest}; /management/interests/{interest}/consent/contact; /management/interests/{interest}/consent/proponent; /management/opportunities; /management/opportunities/create; /management/opportunities/drafts; /management/opportunities/{id}/draft; /management/opportunities/{id}/edit; /management/opportunities/{id}/lifecycle,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-PII-003: O utilizador filtra por sector, território, valor, fase e modalidade e compara projectos seleccionados. | MASTER-471012ab-0137: Publicar catálogo pesquisável e comparável. | MASTER-e1169a77-0290: Publicar catálogo pesquisável e comparável. | MASTER-f70ce307-0146: Publicar catálogo pesquisável e comparável. | MASTER-51b8f0ad-0226: Publicar catálogo pesquisável e comparável. | MASTER-edece80c-0290: Publicar catálogo pesquisável e comparável.",P2,RF-PII-003: Relatório 25/09 conservado; estado histórico não promove conclusão | MASTER-471012ab-0137: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0290: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0146: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0226: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0290: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,RF-PII-003 | MASTER-471012ab-0137 | MASTER-e1169a77-0290 | MASTER-f70ce307-0146 | MASTER-51b8f0ad-0226 | MASTER-edece80c-0290,6,"[{""id"":""RF-PII-003"",""pedido"":""Publicar catálogo pesquisável e comparável."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 3945; requirements-audit.csv""],""aceitacao"":""O utilizador filtra por sector, território, valor, fase e modalidade e compara projectos seleccionados."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""governação/outros""},{""id"":""MASTER-471012ab-0137"",""pedido"":""Publicar catálogo pesquisável e comparável."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1577""],""aceitacao"":""Publicar catálogo pesquisável e comparável."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-e1169a77-0290"",""pedido"":""Publicar catálogo pesquisável e comparável."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4426""],""aceitacao"":""Publicar catálogo pesquisável e comparável."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-f70ce307-0146"",""pedido"":""Publicar catálogo pesquisável e comparável."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1579""],""aceitacao"":""Publicar catálogo pesquisável e comparável."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-51b8f0ad-0226"",""pedido"":""Publicar catálogo pesquisável e comparável."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3213""],""aceitacao"":""Publicar catálogo pesquisável e comparável."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-edece80c-0290"",""pedido"":""Publicar catálogo pesquisável e comparável."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4426""],""aceitacao"":""Publicar catálogo pesquisável e comparável."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,Requisito transversal; consultar estado-ativo-after.json,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer","Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: governação e demais cláusulas. Esforço de código adicional só após lacuna reproduzida.,"outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual. | 29/10/2026 — ergonomia do catálogo autorizada pela Tempo: inventário prévio preserva pesquisa AND, hierarquia territorial, moedas sem conversão, preparação/históricos, cinco vistas, CSV, favoritos, comparação, selecção/dossier, paginação e fichas de corredores/clusters/âncoras. Não há perda funcional confirmada neste delta de apresentação; disponibilidade no destino não inferida. Reutiliza provas de selectores 22/10, agronegócio/selecção múltipla 23/10 e corredor/percurso 27/10. Preparação local; sem schema, dados, configuração ou permissões novos. Manual: adenda 29/10/2026 — ergonomia do catálogo. | 29/10/2026 — delta visual local verificado: tipos/build QA aprovados; navegador 320/390/768/1024/1440px sem transbordo, filtros expandidos sem corte, descrições/avisos completos, teclado, contexto conservado, escolha/dossier, comparação quatro, cinco vistas e 29 fichas acessíveis; zero erros JS. Prévia com HTTP simulado e documentos públicos locais, sem base; não prova backend/autenticação ou disponibilidade activa. Recibo docs/investmoz/unification/catalogue-layout-qa-20261029.json; critérios globais e aceitação anterior preservados. 30/10/2026 — integração local da estrutura front 996b5b08 com alterações de main 332c16eb: resumo e contexto territorial, atalho à província, estados de pesquisa e guias preservados; manual existente e recibo de QA delimitam a prova, sem inferir disponibilidade activa. Ajuste subsequente: Mais filtros/Menos filtros acompanha a abertura; clique/teclado e escolhas conservadas demonstrados no componente React. Pedido Tempo: títulos e destaques em vermelho no catálogo; CSS validado sintacticamente, alteração local.",governação e demais cláusulas,"12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada | 29/10/2026 — ergonomia do catálogo autorizada pela Tempo: inventário prévio preserva pesquisa AND, hierarquia territorial, moedas sem conversão, preparação/históricos, cinco vistas, CSV, favoritos, comparação, selecção/dossier, paginação e fichas de corredores/clusters/âncoras. Não há perda funcional confirmada neste delta de apresentação; disponibilidade no destino não inferida. Reutiliza provas de selectores 22/10, agronegócio/selecção múltipla 23/10 e corredor/percurso 27/10. Preparação local; sem schema, dados, configuração ou permissões novos. Manual: adenda 29/10/2026 — ergonomia do catálogo.",,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",AGENTS.md — componentes do domínio encontrados; correspondência integral deste requisito não presumida,; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-PII-004,Gerar páginas e fichas promocionais.,upgrade v4 SHA f0b9815…; p. 3948; requirements-audit.csv,governação/outros,/api/v1/investment/admin/interests/{interest}/status; /management/history; /management/interests; /management/interests/{interest}; /management/interests/{interest}/consent/contact; /management/interests/{interest}/consent/proponent; /management/opportunities; /management/opportunities/create; /management/opportunities/drafts; /management/opportunities/{id}/draft; /management/opportunities/{id}/edit; /management/opportunities/{id}/lifecycle,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.",RF-PII-004: Conteúdo aprovado pode ser publicado na Web e exportado nos idiomas disponíveis sem dados reservados.,P2,RF-PII-004: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-PII-004,1,"[{""id"":""RF-PII-004"",""pedido"":""Gerar páginas e fichas promocionais."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 3948; requirements-audit.csv""],""aceitacao"":""Conteúdo aprovado pode ser publicado na Web e exportado nos idiomas disponíveis sem dados reservados."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""governação/outros""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,Requisito transversal; consultar estado-ativo-after.json,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer","Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: governação e demais cláusulas. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,governação e demais cláusulas,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",AGENTS.md — componentes do domínio encontrados; correspondência integral deste requisito não presumida,; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-PII-005,Registar manifestações de interesse por projecto.,upgrade v4 SHA f0b9815…; p. 3951; requirements-audit.csv | portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1583 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4432 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1585 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3219 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4432,CRM/solicitações,//; /Simulador; /api/v1/documents/recommendations; /api/v1/investment/submissions; /api/v1/investment/submissions/{id}; /api/v1/investment/submissions/{id}/attachments; /api/v1/investment/submissions/{id}/attachments/{attachment}; /api/v1/investment/submissions/{id}/submit; /apoio; /balcao-virtual; /como-investir; /documentos,"investors/contacts/leads/tasks, OpportunityContacts, acompanhamento interno existente. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Converter sem duplicar, tarefa/responsável/próxima ação recuperáveis; corrigir apenas falha comprovada. Critério individual original preservado; cobertura atual ainda não individualizada.",Relações mestre/contexto e autorizações; não depende de CRM externo. C131 sóQA. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,"RF-PII-005: A submissão gera protocolo, associa projecto e campanha e cria contacto ou oportunidade no CRM. | MASTER-471012ab-0138: Registar manifestações de interesse por projecto. | MASTER-e1169a77-0291: Registar manifestações de interesse por projecto. | MASTER-f70ce307-0147: Registar manifestações de interesse por projecto. | MASTER-51b8f0ad-0227: Registar manifestações de interesse por projecto. | MASTER-edece80c-0291: Registar manifestações de interesse por projecto.",P2,RF-PII-005: Relatório 25/09 conservado; estado histórico não promove conclusão | MASTER-471012ab-0138: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0291: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0147: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0227: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0291: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,RF-PII-005 | MASTER-471012ab-0138 | MASTER-e1169a77-0291 | MASTER-f70ce307-0147 | MASTER-51b8f0ad-0227 | MASTER-edece80c-0291,6,"[{""id"":""RF-PII-005"",""pedido"":""Registar manifestações de interesse por projecto."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 3951; requirements-audit.csv""],""aceitacao"":""A submissão gera protocolo, associa projecto e campanha e cria contacto ou oportunidade no CRM."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""CRM/solicitações""},{""id"":""MASTER-471012ab-0138"",""pedido"":""Registar manifestações de interesse por projecto."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1583""],""aceitacao"":""Registar manifestações de interesse por projecto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""CRM/solicitações""},{""id"":""MASTER-e1169a77-0291"",""pedido"":""Registar manifestações de interesse por projecto."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4432""],""aceitacao"":""Registar manifestações de interesse por projecto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""CRM/solicitações""},{""id"":""MASTER-f70ce307-0147"",""pedido"":""Registar manifestações de interesse por projecto."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1585""],""aceitacao"":""Registar manifestações de interesse por projecto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""CRM/solicitações""},{""id"":""MASTER-51b8f0ad-0227"",""pedido"":""Registar manifestações de interesse por projecto."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3219""],""aceitacao"":""Registar manifestações de interesse por projecto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""CRM/solicitações""},{""id"":""MASTER-edece80c-0291"",""pedido"":""Registar manifestações de interesse por projecto."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4432""],""aceitacao"":""Registar manifestações de interesse por projecto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""CRM/solicitações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.interest_requests: 4 registos; public.leads: 0 registos; public.investors: 3 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","Converter sem duplicar, tarefa/responsável/próxima ação recuperáveis; corrigir apenas falha comprovada. Critério individual original preservado; cobertura atual ainda não individualizada.","investors/contacts/leads/tasks, OpportunityContacts, acompanhamento interno existente",Relações mestre/contexto e autorizações; não depende de CRM externo. C131 sóQA.,Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: acompanhamento. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,acompanhamento,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Http/Controllers/CrmController.php; app/Services/DeclaredOriginStatistics.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InterestSubmissionTest, InvestmentWorkspaceTest, PortalOriginCompatibilityTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-PII-006,Qualificar e pontuar potenciais investidores.,upgrade v4 SHA f0b9815…; p. 3954; requirements-audit.csv,governação/outros,/api/v1/investment/admin/interests/{interest}/status; /management/history; /management/interests; /management/interests/{interest}; /management/interests/{interest}/consent/contact; /management/interests/{interest}/consent/proponent; /management/opportunities; /management/opportunities/create; /management/opportunities/drafts; /management/opportunities/{id}/draft; /management/opportunities/{id}/edit; /management/opportunities/{id}/lifecycle,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-PII-006: A pontuação considera capacidade, experiência, prazo, modalidade e adequação, mantendo explicação e revisão humana.",P2,RF-PII-006: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-PII-006,1,"[{""id"":""RF-PII-006"",""pedido"":""Qualificar e pontuar potenciais investidores."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 3954; requirements-audit.csv""],""aceitacao"":""A pontuação considera capacidade, experiência, prazo, modalidade e adequação, mantendo explicação e revisão humana."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""governação/outros""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,Requisito transversal; consultar estado-ativo-after.json,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer","Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: governação e demais cláusulas. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,governação e demais cláusulas,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",AGENTS.md — componentes do domínio encontrados; correspondência integral deste requisito não presumida,; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
@@ -329,7 +329,7 @@ RNF-EDU-004,Disponibilidade — Percentagem de tempo de serviço mensal,educatio
RNF-EDU-005,Escalabilidade — Consistência sob concorrência e backlog,education/nonfunctional.csv,educação,/management/education; /management/education/catalog/{kind}; /management/education/demands/{id}/analysis; /management/education/demands/{id}/investment; /management/education/{kind}; /management/education/{kind}/{id}/review,"Cursos, necessidades/capacidades, atores, catálogo e políticas existentes. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Separar catálogo existente de procura/capacidade e painel por ator; preparar execução futura sem cadastros paralelos. Critério individual original preservado; cobertura atual ainda não individualizada.,Novas jornadas não são iniciadas nesta auditoria. Dados reais/perfis/rascunho incompleto pendentes. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,RNF-EDU-005: 0 duplicados em 100 reenvios concorrentes; proposta drenagem de 1000 eventos em <=15min sem dependência externa indisponível,P2,RNF-EDU-005: Limiar proposto não é resultado medido,RNF-EDU-005,1,"[{""id"":""RNF-EDU-005"",""pedido"":""Escalabilidade — Consistência sob concorrência e backlog"",""fontes"":[""education/nonfunctional.csv""],""aceitacao"":""0 duplicados em 100 reenvios concorrentes; proposta drenagem de 1000 eventos em <=15min sem dependência externa indisponível"",""estado"":""parcial"",""variantes"":""Limiar proposto não é resultado medido"",""modulo"":""educação""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.labour_demands: 0 registos; public.training_capacities: 0 registos; public.education_opportunities: 0 registos; public.education_investment_proposals: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Separar catálogo existente de procura/capacidade e painel por ator; preparar execução futura sem cadastros paralelos. Critério individual original preservado; cobertura atual ainda não individualizada.,"Cursos, necessidades/capacidades, atores, catálogo e políticas existentes",Novas jornadas não são iniciadas nesta auditoria. Dados reais/perfis/rascunho incompleto pendentes.,Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: educação. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,educação,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Http/Controllers/EducationController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"EducationTest, SkillsEducationSchemaTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RNF-EDU-006,Acessibilidade — Barreiras no percurso crítico,education/nonfunctional.csv,educação,/management/education; /management/education/catalog/{kind}; /management/education/demands/{id}/analysis; /management/education/demands/{id}/investment; /management/education/{kind}; /management/education/{kind}/{id}/review,"Cursos, necessidades/capacidades, atores, catálogo e políticas existentes. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Separar catálogo existente de procura/capacidade e painel por ator; preparar execução futura sem cadastros paralelos. Critério individual original preservado; cobertura atual ainda não individualizada.,Novas jornadas não são iniciadas nesta auditoria. Dados reais/perfis/rascunho incompleto pendentes. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,RNF-EDU-006: 0 bloqueios de teclado; rótulos/erros legíveis; proposta WCAG 2.2 AA a validar com auditoria,P2,RNF-EDU-006: Limiar proposto não é resultado medido,RNF-EDU-006,1,"[{""id"":""RNF-EDU-006"",""pedido"":""Acessibilidade — Barreiras no percurso crítico"",""fontes"":[""education/nonfunctional.csv""],""aceitacao"":""0 bloqueios de teclado; rótulos/erros legíveis; proposta WCAG 2.2 AA a validar com auditoria"",""estado"":""parcial"",""variantes"":""Limiar proposto não é resultado medido"",""modulo"":""educação""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.labour_demands: 0 registos; public.training_capacities: 0 registos; public.education_opportunities: 0 registos; public.education_investment_proposals: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Separar catálogo existente de procura/capacidade e painel por ator; preparar execução futura sem cadastros paralelos. Critério individual original preservado; cobertura atual ainda não individualizada.,"Cursos, necessidades/capacidades, atores, catálogo e políticas existentes",Novas jornadas não são iniciadas nesta auditoria. Dados reais/perfis/rascunho incompleto pendentes.,Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: educação. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,educação,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Http/Controllers/EducationController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"EducationTest, SkillsEducationSchemaTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RNF-EDU-007,PT/EN — Cobertura de mensagens e estados críticos,education/nonfunctional.csv,educação,/management/education; /management/education/catalog/{kind}; /management/education/demands/{id}/analysis; /management/education/demands/{id}/investment; /management/education/{kind}; /management/education/{kind}/{id}/review,"Cursos, necessidades/capacidades, atores, catálogo e políticas existentes. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Separar catálogo existente de procura/capacidade e painel por ator; preparar execução futura sem cadastros paralelos. Critério individual original preservado; cobertura atual ainda não individualizada.,Novas jornadas não são iniciadas nesta auditoria. Dados reais/perfis/rascunho incompleto pendentes. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,RNF-EDU-007: 100% fluxos críticos PT/EN; 0 chaves de tradução em bruto,P2,RNF-EDU-007: Limiar proposto não é resultado medido,RNF-EDU-007,1,"[{""id"":""RNF-EDU-007"",""pedido"":""PT/EN — Cobertura de mensagens e estados críticos"",""fontes"":[""education/nonfunctional.csv""],""aceitacao"":""100% fluxos críticos PT/EN; 0 chaves de tradução em bruto"",""estado"":""parcial"",""variantes"":""Limiar proposto não é resultado medido"",""modulo"":""educação""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.labour_demands: 0 registos; public.training_capacities: 0 registos; public.education_opportunities: 0 registos; public.education_investment_proposals: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Separar catálogo existente de procura/capacidade e painel por ator; preparar execução futura sem cadastros paralelos. Critério individual original preservado; cobertura atual ainda não individualizada.,"Cursos, necessidades/capacidades, atores, catálogo e políticas existentes",Novas jornadas não são iniciadas nesta auditoria. Dados reais/perfis/rascunho incompleto pendentes.,Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: educação. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,educação,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Http/Controllers/EducationController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"EducationTest, SkillsEducationSchemaTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
-RNF-EDU-008,Responsividade — Overflow e perda de acções,education/nonfunctional.csv,educação,/management/education; /management/education/catalog/{kind}; /management/education/demands/{id}/analysis; /management/education/demands/{id}/investment; /management/education/{kind}; /management/education/{kind}/{id}/review,"Cursos, necessidades/capacidades, atores, catálogo e políticas existentes. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Separar catálogo existente de procura/capacidade e painel por ator; preparar execução futura sem cadastros paralelos. Critério individual original preservado; cobertura atual ainda não individualizada.,Novas jornadas não são iniciadas nesta auditoria. Dados reais/perfis/rascunho incompleto pendentes. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,RNF-EDU-008: 0 overflow horizontal global a 360/390/768/1366px; tabelas com scroll local acessível,P2,RNF-EDU-008: Limiar proposto não é resultado medido,RNF-EDU-008,1,"[{""id"":""RNF-EDU-008"",""pedido"":""Responsividade — Overflow e perda de acções"",""fontes"":[""education/nonfunctional.csv""],""aceitacao"":""0 overflow horizontal global a 360/390/768/1366px; tabelas com scroll local acessível"",""estado"":""parcial"",""variantes"":""Limiar proposto não é resultado medido"",""modulo"":""educação""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.labour_demands: 0 registos; public.training_capacities: 0 registos; public.education_opportunities: 0 registos; public.education_investment_proposals: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Separar catálogo existente de procura/capacidade e painel por ator; preparar execução futura sem cadastros paralelos. Critério individual original preservado; cobertura atual ainda não individualizada.,"Cursos, necessidades/capacidades, atores, catálogo e políticas existentes",Novas jornadas não são iniciadas nesta auditoria. Dados reais/perfis/rascunho incompleto pendentes.,Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: educação. Esforço de código adicional só após lacuna reproduzida.,"outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual. | 21/10/2026: pedido expresso da Tempo para uma única navbar, sem retirar acessos; aplicação de AGENTS.md, decisões de 12/10/2026. Agrupamento Tempo, posições, breakpoint 1280px e altura 72px são escolhas de apresentação, não novas regras operacionais. Prova local isolada do header em tools/portal-header-qa.mjs e outputs/header-navbar-20261021/qa-results.json; não encerra o critério integral nem representa implantação no activo.",educação,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Http/Controllers/EducationController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"EducationTest, SkillsEducationSchemaTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
+RNF-EDU-008,Responsividade — Overflow e perda de acções,education/nonfunctional.csv,educação,/management/education; /management/education/catalog/{kind}; /management/education/demands/{id}/analysis; /management/education/demands/{id}/investment; /management/education/{kind}; /management/education/{kind}/{id}/review,"Cursos, necessidades/capacidades, atores, catálogo e políticas existentes. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Separar catálogo existente de procura/capacidade e painel por ator; preparar execução futura sem cadastros paralelos. Critério individual original preservado; cobertura atual ainda não individualizada.,Novas jornadas não são iniciadas nesta auditoria. Dados reais/perfis/rascunho incompleto pendentes. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,RNF-EDU-008: 0 overflow horizontal global a 360/390/768/1366px; tabelas com scroll local acessível,P2,RNF-EDU-008: Limiar proposto não é resultado medido,RNF-EDU-008,1,"[{""id"":""RNF-EDU-008"",""pedido"":""Responsividade — Overflow e perda de acções"",""fontes"":[""education/nonfunctional.csv""],""aceitacao"":""0 overflow horizontal global a 360/390/768/1366px; tabelas com scroll local acessível"",""estado"":""parcial"",""variantes"":""Limiar proposto não é resultado medido"",""modulo"":""educação""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.labour_demands: 0 registos; public.training_capacities: 0 registos; public.education_opportunities: 0 registos; public.education_investment_proposals: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Separar catálogo existente de procura/capacidade e painel por ator; preparar execução futura sem cadastros paralelos. Critério individual original preservado; cobertura atual ainda não individualizada.,"Cursos, necessidades/capacidades, atores, catálogo e políticas existentes",Novas jornadas não são iniciadas nesta auditoria. Dados reais/perfis/rascunho incompleto pendentes.,Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: educação. Esforço de código adicional só após lacuna reproduzida.,"outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual. | 21/10/2026: pedido expresso da Tempo para uma única navbar, sem retirar acessos; aplicação de AGENTS.md, decisões de 12/10/2026. Agrupamento Tempo, posições, breakpoint 1280px e altura 72px são escolhas de apresentação, não novas regras operacionais. Prova local isolada do header em tools/portal-header-qa.mjs e outputs/header-navbar-20261021/qa-results.json; não encerra o critério integral nem representa implantação no activo. | 29/10/2026 — ergonomia do catálogo autorizada pela Tempo: inventário prévio preserva pesquisa AND, hierarquia territorial, moedas sem conversão, preparação/históricos, cinco vistas, CSV, favoritos, comparação, selecção/dossier, paginação e fichas de corredores/clusters/âncoras. Não há perda funcional confirmada neste delta de apresentação; disponibilidade no destino não inferida. Reutiliza provas de selectores 22/10, agronegócio/selecção múltipla 23/10 e corredor/percurso 27/10. Preparação local; sem schema, dados, configuração ou permissões novos. Manual: adenda 29/10/2026 — ergonomia do catálogo. | 29/10/2026 — delta visual local verificado: tipos/build QA aprovados; navegador 320/390/768/1024/1440px sem transbordo, filtros expandidos sem corte, descrições/avisos completos, teclado, contexto conservado, escolha/dossier, comparação quatro, cinco vistas e 29 fichas acessíveis; zero erros JS. Prévia com HTTP simulado e documentos públicos locais, sem base; não prova backend/autenticação ou disponibilidade activa. Recibo docs/investmoz/unification/catalogue-layout-qa-20261029.json; critérios globais e aceitação anterior preservados. 30/10/2026 — integração local da estrutura front 996b5b08 com alterações de main 332c16eb: resumo e contexto territorial, atalho à província, estados de pesquisa e guias preservados; manual existente e recibo de QA delimitam a prova, sem inferir disponibilidade activa. Ajuste subsequente: Mais filtros/Menos filtros acompanha a abertura; clique/teclado e escolhas conservadas demonstrados no componente React. Pedido Tempo: títulos e destaques em vermelho no catálogo; CSS validado sintacticamente, alteração local.",educação,"12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada | 29/10/2026 — ergonomia do catálogo autorizada pela Tempo: inventário prévio preserva pesquisa AND, hierarquia territorial, moedas sem conversão, preparação/históricos, cinco vistas, CSV, favoritos, comparação, selecção/dossier, paginação e fichas de corredores/clusters/âncoras. Não há perda funcional confirmada neste delta de apresentação; disponibilidade no destino não inferida. Reutiliza provas de selectores 22/10, agronegócio/selecção múltipla 23/10 e corredor/percurso 27/10. Preparação local; sem schema, dados, configuração ou permissões novos. Manual: adenda 29/10/2026 — ergonomia do catálogo.",,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Http/Controllers/EducationController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"EducationTest, SkillsEducationSchemaTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RNF-EDU-009,Interoperabilidade — Validade de contratos e tipos,education/nonfunctional.csv,educação,/management/education; /management/education/catalog/{kind}; /management/education/demands/{id}/analysis; /management/education/demands/{id}/investment; /management/education/{kind}; /management/education/{kind}/{id}/review,"Cursos, necessidades/capacidades, atores, catálogo e políticas existentes. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Separar catálogo existente de procura/capacidade e painel por ator; preparar execução futura sem cadastros paralelos. Critério individual original preservado; cobertura atual ainda não individualizada.,Novas jornadas não são iniciadas nesta auditoria. Dados reais/perfis/rascunho incompleto pendentes. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,"RNF-EDU-009: 100% exemplos conformes; datas ISO, UUID, moeda/país normalizados; 0 breaking changes não versionadas",P2,RNF-EDU-009: Limiar proposto não é resultado medido,RNF-EDU-009,1,"[{""id"":""RNF-EDU-009"",""pedido"":""Interoperabilidade — Validade de contratos e tipos"",""fontes"":[""education/nonfunctional.csv""],""aceitacao"":""100% exemplos conformes; datas ISO, UUID, moeda/país normalizados; 0 breaking changes não versionadas"",""estado"":""parcial"",""variantes"":""Limiar proposto não é resultado medido"",""modulo"":""educação""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.labour_demands: 0 registos; public.training_capacities: 0 registos; public.education_opportunities: 0 registos; public.education_investment_proposals: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Separar catálogo existente de procura/capacidade e painel por ator; preparar execução futura sem cadastros paralelos. Critério individual original preservado; cobertura atual ainda não individualizada.,"Cursos, necessidades/capacidades, atores, catálogo e políticas existentes",Novas jornadas não são iniciadas nesta auditoria. Dados reais/perfis/rascunho incompleto pendentes.,Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: educação. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,educação,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Http/Controllers/EducationController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"EducationTest, SkillsEducationSchemaTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RNF-EDU-010,Observabilidade — Operações correlacionadas sem segredos,education/nonfunctional.csv,educação,/management/education; /management/education/catalog/{kind}; /management/education/demands/{id}/analysis; /management/education/demands/{id}/investment; /management/education/{kind}; /management/education/{kind}/{id}/review,"Cursos, necessidades/capacidades, atores, catálogo e políticas existentes. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Separar catálogo existente de procura/capacidade e painel por ator; preparar execução futura sem cadastros paralelos. Critério individual original preservado; cobertura atual ainda não individualizada.,Novas jornadas não são iniciadas nesta auditoria. Dados reais/perfis/rascunho incompleto pendentes. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,RNF-EDU-010: 100% mutações com correlation_id e actor; 0 tokens/PII nos eventos; proposta alerta em <=5min,P2,RNF-EDU-010: Limiar proposto não é resultado medido,RNF-EDU-010,1,"[{""id"":""RNF-EDU-010"",""pedido"":""Observabilidade — Operações correlacionadas sem segredos"",""fontes"":[""education/nonfunctional.csv""],""aceitacao"":""100% mutações com correlation_id e actor; 0 tokens/PII nos eventos; proposta alerta em <=5min"",""estado"":""parcial"",""variantes"":""Limiar proposto não é resultado medido"",""modulo"":""educação""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.labour_demands: 0 registos; public.training_capacities: 0 registos; public.education_opportunities: 0 registos; public.education_investment_proposals: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Separar catálogo existente de procura/capacidade e painel por ator; preparar execução futura sem cadastros paralelos. Critério individual original preservado; cobertura atual ainda não individualizada.,"Cursos, necessidades/capacidades, atores, catálogo e políticas existentes",Novas jornadas não são iniciadas nesta auditoria. Dados reais/perfis/rascunho incompleto pendentes.,Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: educação. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,educação,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Http/Controllers/EducationController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"EducationTest, SkillsEducationSchemaTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RNF-EDU-011,Backup — Cobertura e recuperabilidade,education/nonfunctional.csv,educação,/management/education; /management/education/catalog/{kind}; /management/education/demands/{id}/analysis; /management/education/demands/{id}/investment; /management/education/{kind}; /management/education/{kind}/{id}/review,"Cursos, necessidades/capacidades, atores, catálogo e políticas existentes. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Separar catálogo existente de procura/capacidade e painel por ator; preparar execução futura sem cadastros paralelos. Critério individual original preservado; cobertura atual ainda não individualizada.,Novas jornadas não são iniciadas nesta auditoria. Dados reais/perfis/rascunho incompleto pendentes. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,RNF-EDU-011: Proposta backup diário cifrado; 100% recursos críticos incluídos; restauro trimestral verificado,P1,RNF-EDU-011: Limiar proposto não é resultado medido,RNF-EDU-011,1,"[{""id"":""RNF-EDU-011"",""pedido"":""Backup — Cobertura e recuperabilidade"",""fontes"":[""education/nonfunctional.csv""],""aceitacao"":""Proposta backup diário cifrado; 100% recursos críticos incluídos; restauro trimestral verificado"",""estado"":""parcial"",""variantes"":""Limiar proposto não é resultado medido"",""modulo"":""educação""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.labour_demands: 0 registos; public.training_capacities: 0 registos; public.education_opportunities: 0 registos; public.education_investment_proposals: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Separar catálogo existente de procura/capacidade e painel por ator; preparar execução futura sem cadastros paralelos. Critério individual original preservado; cobertura atual ainda não individualizada.,"Cursos, necessidades/capacidades, atores, catálogo e políticas existentes",Novas jornadas não são iniciadas nesta auditoria. Dados reais/perfis/rascunho incompleto pendentes.,Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: educação. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,educação,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Http/Controllers/EducationController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"EducationTest, SkillsEducationSchemaTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
@@ -655,8 +655,12 @@ MASTER-471012ab-0120,"Seleccionar componente, cultura ou serviço e manifestar i
MASTER-471012ab-0121,"Nota editorial: custos, metas, maturidade, entidades responsáveis e disponibilidade para investimento devem ser confirmados com o MPD e a entidade de tutela antes da publicação. A ficha pública deve distinguir claramente informação oficial, estimativa, oportunidade complementar e chamada exploratória ao mercado.",portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1444 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4292 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1446 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3080 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4292,oportunidades,/api/v1/business-opportunities; /api/v1/business-opportunities/{slug}; /investidor/terra-duat; /investidor/terra-duat/novo; /investidor/terra-duat/{id}; /investidor/terra-duat/{id}/actualizacoes; /investidor/terra-duat/{id}/documentos; /investidor/terra-duat/{id}/documentos/{attachment}; /investidor/terra-duat/{id}/editar; /investidor/terra-duat/{id}/imprimir; /investidor/terra-duat/{id}/solicitar-apoio; /management/opportunities,"OpportunityManagement, OpportunityCanonicalContract/Response, OpportunityReviewMateriality, PortalProfileAccess, OpportunityResources. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Reconciliar contrato/cláusula e provas por categoria; completar apenas falha/variante executável identificada. Response normativo não é completo. Critério individual original preservado; cobertura atual ainda não individualizada.,"030000→040000 já instalados; contratos/resources existentes, sessão/MFA, ClamD e worker para ficheiros; gates das seis categorias ON. Variantes modulares/offers continuam separadas. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","MASTER-471012ab-0121: Nota editorial: custos, metas, maturidade, entidades responsáveis e disponibilidade para investimento devem ser confirmados com o MPD e a entidade de tutela antes da publicação. A ficha pública deve distinguir claramente informação oficial, estimativa, oportunidade complementar e chamada exploratória ao mercado. | MASTER-e1169a77-0274: Nota editorial: custos, metas, maturidade, entidades responsáveis e disponibilidade para investimento devem ser confirmados com o MPD e a entidade de tutela antes da publicação. A ficha pública deve distinguir claramente informação oficial, estimativa, oportunidade complementar e chamada exploratória ao mercado. | MASTER-f70ce307-0130: Nota editorial: custos, metas, maturidade, entidades responsáveis e disponibilidade para investimento devem ser confirmados com o MPD e a entidade de tutela antes da publicação. A ficha pública deve distinguir claramente informação oficial, estimativa, oportunidade complementar e chamada exploratória ao mercado. | MASTER-51b8f0ad-0210: Nota editorial: custos, metas, maturidade, entidades responsáveis e disponibilidade para investimento devem ser confirmados com o MPD e a entidade de tutela antes da publicação. A ficha pública deve distinguir claramente informação oficial, estimativa, oportunidade complementar e chamada exploratória ao mercado. | MASTER-edece80c-0274: Nota editorial: custos, metas, maturidade, entidades responsáveis e disponibilidade para investimento devem ser confirmados com o MPD e a entidade de tutela antes da publicação. A ficha pública deve distinguir claramente informação oficial, estimativa, oportunidade complementar e chamada exploratória ao mercado.",P2,MASTER-471012ab-0121: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0274: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0130: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0210: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0274: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-471012ab-0121 | MASTER-e1169a77-0274 | MASTER-f70ce307-0130 | MASTER-51b8f0ad-0210 | MASTER-edece80c-0274,5,"[{""id"":""MASTER-471012ab-0121"",""pedido"":""Nota editorial: custos, metas, maturidade, entidades responsáveis e disponibilidade para investimento devem ser confirmados com o MPD e a entidade de tutela antes da publicação. A ficha pública deve distinguir claramente informação oficial, estimativa, oportunidade complementar e chamada exploratória ao mercado."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1444""],""aceitacao"":""Nota editorial: custos, metas, maturidade, entidades responsáveis e disponibilidade para investimento devem ser confirmados com o MPD e a entidade de tutela antes da publicação. A ficha pública deve distinguir claramente informação oficial, estimativa, oportunidade complementar e chamada exploratória ao mercado."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-e1169a77-0274"",""pedido"":""Nota editorial: custos, metas, maturidade, entidades responsáveis e disponibilidade para investimento devem ser confirmados com o MPD e a entidade de tutela antes da publicação. A ficha pública deve distinguir claramente informação oficial, estimativa, oportunidade complementar e chamada exploratória ao mercado."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4292""],""aceitacao"":""Nota editorial: custos, metas, maturidade, entidades responsáveis e disponibilidade para investimento devem ser confirmados com o MPD e a entidade de tutela antes da publicação. A ficha pública deve distinguir claramente informação oficial, estimativa, oportunidade complementar e chamada exploratória ao mercado."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-f70ce307-0130"",""pedido"":""Nota editorial: custos, metas, maturidade, entidades responsáveis e disponibilidade para investimento devem ser confirmados com o MPD e a entidade de tutela antes da publicação. A ficha pública deve distinguir claramente informação oficial, estimativa, oportunidade complementar e chamada exploratória ao mercado."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1446""],""aceitacao"":""Nota editorial: custos, metas, maturidade, entidades responsáveis e disponibilidade para investimento devem ser confirmados com o MPD e a entidade de tutela antes da publicação. A ficha pública deve distinguir claramente informação oficial, estimativa, oportunidade complementar e chamada exploratória ao mercado."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-51b8f0ad-0210"",""pedido"":""Nota editorial: custos, metas, maturidade, entidades responsáveis e disponibilidade para investimento devem ser confirmados com o MPD e a entidade de tutela antes da publicação. A ficha pública deve distinguir claramente informação oficial, estimativa, oportunidade complementar e chamada exploratória ao mercado."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3080""],""aceitacao"":""Nota editorial: custos, metas, maturidade, entidades responsáveis e disponibilidade para investimento devem ser confirmados com o MPD e a entidade de tutela antes da publicação. A ficha pública deve distinguir claramente informação oficial, estimativa, oportunidade complementar e chamada exploratória ao mercado."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-edece80c-0274"",""pedido"":""Nota editorial: custos, metas, maturidade, entidades responsáveis e disponibilidade para investimento devem ser confirmados com o MPD e a entidade de tutela antes da publicação. A ficha pública deve distinguir claramente informação oficial, estimativa, oportunidade complementar e chamada exploratória ao mercado."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4292""],""aceitacao"":""Nota editorial: custos, metas, maturidade, entidades responsáveis e disponibilidade para investimento devem ser confirmados com o MPD e a entidade de tutela antes da publicação. A ficha pública deve distinguir claramente informação oficial, estimativa, oportunidade complementar e chamada exploratória ao mercado."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.opportunities: 6 registos; public.opportunity_images: tabela ausente; public.opportunity_documents: tabela ausente; public.opportunity_location_drafts: tabela ausente,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Reconciliar contrato/cláusula e provas por categoria; completar apenas falha/variante executável identificada. Response normativo não é completo. Critério individual original preservado; cobertura atual ainda não individualizada.,"OpportunityManagement, OpportunityCanonicalContract/Response, OpportunityReviewMateriality, PortalProfileAccess, OpportunityResources","030000→040000 já instalados; contratos/resources existentes, sessão/MFA, ClamD e worker para ficheiros; gates das seis categorias ON. Variantes modulares/offers continuam separadas.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: oportunidades. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,oportunidades,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Services/OpportunityManagement.php; app/Services/OpportunityResources.php; resources/js/pages/management/opportunity-draft.tsx — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"OpportunityManagementTest, OpportunityResourcesTest, OpportunityOriginReviewTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
MASTER-471012ab-0122,"Local do investimento: país, região, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência e coordenadas geográficas, quando disponíveis. Projectos nacionais ou multiterritoriais devem listar cada área abrangida e indicar a localização principal.",portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1447 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4295 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1449 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3083 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4295,cartografia/relações,/api/v1/geo/drafts; /api/v1/geo/search; /api/v1/geo/sources; /api/v1/geo/sources/{id}/transitions; /api/v1/geo/territories; /api/v1/geo/territories/{id}; /api/v1/geo/territories/{id}/transitions; /api/v1/geo/territories/{type}/{id}; /api/v1/geo/{collection}; /api/v1/investment/compare; /api/v1/investment/export; /api/v1/investment/favourites/{id},"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","MASTER-471012ab-0122: Local do investimento: país, região, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência e coordenadas geográficas, quando disponíveis. Projectos nacionais ou multiterritoriais devem listar cada área abrangida e indicar a localização principal. | MASTER-e1169a77-0275: Local do investimento: país, região, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência e coordenadas geográficas, quando disponíveis. Projectos nacionais ou multiterritoriais devem listar cada área abrangida e indicar a localização principal. | MASTER-f70ce307-0131: Local do investimento: país, região, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência e coordenadas geográficas, quando disponíveis. Projectos nacionais ou multiterritoriais devem listar cada área abrangida e indicar a localização principal. | MASTER-51b8f0ad-0211: Local do investimento: país, região, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência e coordenadas geográficas, quando disponíveis. Projectos nacionais ou multiterritoriais devem listar cada área abrangida e indicar a localização principal. | MASTER-edece80c-0275: Local do investimento: país, região, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência e coordenadas geográficas, quando disponíveis. Projectos nacionais ou multiterritoriais devem listar cada área abrangida e indicar a localização principal.",P1,MASTER-471012ab-0122: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0275: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0131: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0211: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0275: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-471012ab-0122 | MASTER-e1169a77-0275 | MASTER-f70ce307-0131 | MASTER-51b8f0ad-0211 | MASTER-edece80c-0275,5,"[{""id"":""MASTER-471012ab-0122"",""pedido"":""Local do investimento: país, região, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência e coordenadas geográficas, quando disponíveis. Projectos nacionais ou multiterritoriais devem listar cada área abrangida e indicar a localização principal."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1447""],""aceitacao"":""Local do investimento: país, região, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência e coordenadas geográficas, quando disponíveis. Projectos nacionais ou multiterritoriais devem listar cada área abrangida e indicar a localização principal."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""cartografia/relações""},{""id"":""MASTER-e1169a77-0275"",""pedido"":""Local do investimento: país, região, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência e coordenadas geográficas, quando disponíveis. Projectos nacionais ou multiterritoriais devem listar cada área abrangida e indicar a localização principal."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4295""],""aceitacao"":""Local do investimento: país, região, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência e coordenadas geográficas, quando disponíveis. Projectos nacionais ou multiterritoriais devem listar cada área abrangida e indicar a localização principal."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""cartografia/relações""},{""id"":""MASTER-f70ce307-0131"",""pedido"":""Local do investimento: país, região, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência e coordenadas geográficas, quando disponíveis. Projectos nacionais ou multiterritoriais devem listar cada área abrangida e indicar a localização principal."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1449""],""aceitacao"":""Local do investimento: país, região, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência e coordenadas geográficas, quando disponíveis. Projectos nacionais ou multiterritoriais devem listar cada área abrangida e indicar a localização principal."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""cartografia/relações""},{""id"":""MASTER-51b8f0ad-0211"",""pedido"":""Local do investimento: país, região, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência e coordenadas geográficas, quando disponíveis. Projectos nacionais ou multiterritoriais devem listar cada área abrangida e indicar a localização principal."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3083""],""aceitacao"":""Local do investimento: país, região, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência e coordenadas geográficas, quando disponíveis. Projectos nacionais ou multiterritoriais devem listar cada área abrangida e indicar a localização principal."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""cartografia/relações""},{""id"":""MASTER-edece80c-0275"",""pedido"":""Local do investimento: país, região, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência e coordenadas geográficas, quando disponíveis. Projectos nacionais ou multiterritoriais devem listar cada área abrangida e indicar a localização principal."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4295""],""aceitacao"":""Local do investimento: país, região, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência e coordenadas geográficas, quando disponíveis. Projectos nacionais ou multiterritoriais devem listar cada área abrangida e indicar a localização principal."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.geo_locations: 1990 registos; public.geo_geometries: 0 registos; public.project_locations: 28 registos; public.cluster_projects: 13 registos; public.opportunity_projects: 0 registos; public.opportunity_clusters: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",resources/js/components/investment-territory.tsx; app/Http/Controllers/InvestmentTerritoryController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InvestmentTerritoryTest, TerritorialRegistryTest, InvestmentTerritorialTraceabilityTest, InvestmentZoneTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
MASTER-471012ab-0123,"Localização normalizada: país, âmbito nacional ou regional, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência, latitude, longitude e localização principal. Registos multiterritoriais devem admitir múltiplas localizações relacionadas.",portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1460 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4308 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1462 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3096 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4308,cartografia/relações,/api/v1/geo/drafts; /api/v1/geo/search; /api/v1/geo/sources; /api/v1/geo/sources/{id}/transitions; /api/v1/geo/territories; /api/v1/geo/territories/{id}; /api/v1/geo/territories/{id}/transitions; /api/v1/geo/territories/{type}/{id}; /api/v1/geo/{collection}; /api/v1/investment/compare; /api/v1/investment/export; /api/v1/investment/favourites/{id},"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","MASTER-471012ab-0123: Localização normalizada: país, âmbito nacional ou regional, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência, latitude, longitude e localização principal. Registos multiterritoriais devem admitir múltiplas localizações relacionadas. | MASTER-e1169a77-0276: Localização normalizada: país, âmbito nacional ou regional, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência, latitude, longitude e localização principal. Registos multiterritoriais devem admitir múltiplas localizações relacionadas. | MASTER-f70ce307-0132: Localização normalizada: país, âmbito nacional ou regional, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência, latitude, longitude e localização principal. Registos multiterritoriais devem admitir múltiplas localizações relacionadas. | MASTER-51b8f0ad-0212: Localização normalizada: país, âmbito nacional ou regional, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência, latitude, longitude e localização principal. Registos multiterritoriais devem admitir múltiplas localizações relacionadas. | MASTER-edece80c-0276: Localização normalizada: país, âmbito nacional ou regional, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência, latitude, longitude e localização principal. Registos multiterritoriais devem admitir múltiplas localizações relacionadas.",P1,MASTER-471012ab-0123: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0276: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0132: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0212: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0276: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-471012ab-0123 | MASTER-e1169a77-0276 | MASTER-f70ce307-0132 | MASTER-51b8f0ad-0212 | MASTER-edece80c-0276,5,"[{""id"":""MASTER-471012ab-0123"",""pedido"":""Localização normalizada: país, âmbito nacional ou regional, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência, latitude, longitude e localização principal. Registos multiterritoriais devem admitir múltiplas localizações relacionadas."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1460""],""aceitacao"":""Localização normalizada: país, âmbito nacional ou regional, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência, latitude, longitude e localização principal. Registos multiterritoriais devem admitir múltiplas localizações relacionadas."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""cartografia/relações""},{""id"":""MASTER-e1169a77-0276"",""pedido"":""Localização normalizada: país, âmbito nacional ou regional, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência, latitude, longitude e localização principal. Registos multiterritoriais devem admitir múltiplas localizações relacionadas."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4308""],""aceitacao"":""Localização normalizada: país, âmbito nacional ou regional, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência, latitude, longitude e localização principal. Registos multiterritoriais devem admitir múltiplas localizações relacionadas."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""cartografia/relações""},{""id"":""MASTER-f70ce307-0132"",""pedido"":""Localização normalizada: país, âmbito nacional ou regional, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência, latitude, longitude e localização principal. Registos multiterritoriais devem admitir múltiplas localizações relacionadas."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1462""],""aceitacao"":""Localização normalizada: país, âmbito nacional ou regional, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência, latitude, longitude e localização principal. Registos multiterritoriais devem admitir múltiplas localizações relacionadas."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""cartografia/relações""},{""id"":""MASTER-51b8f0ad-0212"",""pedido"":""Localização normalizada: país, âmbito nacional ou regional, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência, latitude, longitude e localização principal. Registos multiterritoriais devem admitir múltiplas localizações relacionadas."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3096""],""aceitacao"":""Localização normalizada: país, âmbito nacional ou regional, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência, latitude, longitude e localização principal. Registos multiterritoriais devem admitir múltiplas localizações relacionadas."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""cartografia/relações""},{""id"":""MASTER-edece80c-0276"",""pedido"":""Localização normalizada: país, âmbito nacional ou regional, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência, latitude, longitude e localização principal. Registos multiterritoriais devem admitir múltiplas localizações relacionadas."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4308""],""aceitacao"":""Localização normalizada: país, âmbito nacional ou regional, província, distrito, posto administrativo, localidade, município ou cidade, corredor, zona económica, parque industrial ou bacia, endereço ou referência, latitude, longitude e localização principal. Registos multiterritoriais devem admitir múltiplas localizações relacionadas."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.geo_locations: 1990 registos; public.geo_geometries: 0 registos; public.project_locations: 28 registos; public.cluster_projects: 13 registos; public.opportunity_projects: 0 registos; public.opportunity_clusters: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",resources/js/components/investment-territory.tsx; app/Http/Controllers/InvestmentTerritoryController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InvestmentTerritoryTest, TerritorialRegistryTest, InvestmentTerritorialTraceabilityTest, InvestmentZoneTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
+<<<<<<< HEAD
MASTER-471012ab-0124,"Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos.",portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1470 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4318 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1472 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3106 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4318,Balcão/orientação,/balcao-virtual/contextos; /balcao-virtual/dossiers; /balcao-virtual/dossiers/{id}; /balcao-virtual/dossiers/{id}/documentos; /balcao-virtual/dossiers/{id}/documentos/{document}; /balcao-virtual/dossiers/{id}/documentos/{document}/conferencia; /balcao-virtual/dossiers/{id}/etapas; /balcao-virtual/dossiers/{id}/fontes; /balcao-virtual/dossiers/{id}/orientacao; /balcao-virtual/dossiers/{id}/pedidos; /balcao-virtual/dossiers/{id}/pressupostos; /balcao-virtual/dossiers/{id}/recomendacoes,"VirtualDesk, pedidos/casos, anexos, contexto dossier e acompanhamento. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual. Continuidade local: InvestmentOpportunityAlerts, InvestmentWorkspace, notificações e pesquisa públicas reutilizadas.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.","outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual. [OPPORTUNITY-ALERTS-20261102] ACT-11 local: preferências e correspondência do catálogo público, confirmação, critérios, frequência, canal no portal e cancelamento; notificações de manifestações preservadas. 16 testes Feature/253 asserções e dois frontend aprovados; PHPStan, tipos, lint e compilação passaram. Fonte/versão/critério conservados; lote201, falha/repetição e migração com dados anteriores demonstrados. Recibo opportunity_alerts_increment_20261102 e manual de 02/11/2026. Sem instalação ou prova visual; fontes de concursos/incentivos e canais externos pendentes. [QUICK-SEARCH-COTTON-20261102] Pedido Tempo: plantio de algodao. Pesquisa combina palavras e variantes delimitadas de cultivo, normaliza acentos, usa hierarquia territorial pública e preserva filtros. Duas APIs, página, mapa e exportação consistentes; fichas de transformação apenas como relacionadas quando não existe correspondência completa. Barra GET/autofill. Nove testes Feature/205 asserções e cinco frontend aprovados; PHPStan, tipos, lint e compilação passaram. Recibo quick_opportunity_search_increment_20261102 e manual. Sem dados reais inventados, instalação ou prova visual; requisito agregado parcial. [TENDER-ALERTS-20261102] ACT-11 local: escolha voluntária de concursos nas preferências existentes, sem alterar subscrições anteriores. Consulta pública e versões reutilizadas; sem rascunhos, propostas ou competências novas. Critérios próprios, frequência, cancelamento, proveniência e histórico; lotes por catálogo sem bloqueio da outra fonte. 30 testes distintos/607 asserções e seis frontend aprovados; PHPStan, tipos, lint e compilação passaram. Recibo tender_alerts_increment_20261102 e manual de 02/11. Saldo de concursos do recorte anterior implementado em QA; incentivos/canais externos, instalação/agendador e visual pendentes. Requisito agregado parcial. [FUNDING-ALERTS-20261102] ACT-11: versões publicadas de fundos/programas/incentivos do catálogo integradas no motor de alertas existente, com adesão explícita e preferências antigas preservadas. Filtros e desconhecidos explicados, origem/versão/estado conservados, retirada/acesso próprio, cancelamento, lote e reversão transaccional. 36 testes/612 asserções e seis frontend; PHPStan, tipos, lint e compilação aprovados. Recibo funding_alerts_increment_20261102 e manual. Sem canais externos, recolha externa ou instalação no activo; requisito agregado parcial. [FUNDING-ASSESSMENT-CONCURRENCY-20261102] Nove pares concorrentes observados aprovaram referências/versões/interesses, geradores duplicados, preferências idempotentes e ambas as precedências de cancelamento. Conferência de critérios mostra/envia apenas perguntas aplicáveis, preserva respostas locais e reinicia por ficha/versão. Oito frontend, tipos/lint/compilação aprovados; PHP da aplicação sem delta, provas 36 Feature/612 reutilizadas após conferir hashes. Recibo funding_assessment_concurrency_increment_20261102. Visual, vínculos de referência, canais externos e disponibilização continuam pendentes.","Implementado parcialmente — alertas do catálogo em QA local. Histórico anterior: Sem evidência suficiente","02/11/2026: concorrência do gerador verificada nos cenários delimitados e perguntas aplicáveis corrigidas. Restam visual, vínculos da referência, canais externos e disponibilização/agendador. Histórico: 02/11/2026: oportunidades, concursos e fundos/apoios do catálogo integrados em alertas locais com prova. Restam canais/outras fontes externas, concorrência específica do gerador, visual, vínculos de referência e disponibilização/agendador. Histórico: Continuidade 02/11/2026: oportunidades e concursos integrados em alertas no portal com escolha explícita e provas QA; pendência local de concursos do recorte anterior actualizada. Restam incentivos, canais externos, disponibilização/agendador, visual e correspondência dos restantes critérios agregados. Histórico preservado: 02/11/2026: alertas do catálogo público implementados e demonstrados em QA local. Restam disponibilização, visual, restantes fontes/canais de alertas e correspondência individual das demais capacidades desta cláusula; sem fecho transversal. Histórico preservado: Pedido contextual→gravar→submeter→nova sessão→gestor→mensagem/documentos/resultado, reaproveitando A/B. Critério individual original preservado; cobertura atual ainda não individualizada.","Perfis próprios do Balcão; serviços/campos e decisões externas aplicáveis, sem inventar destinatário/prazo. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","MASTER-471012ab-0124: Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos. | MASTER-e1169a77-0277: Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos. | MASTER-f70ce307-0133: Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos. | MASTER-51b8f0ad-0213: Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos. | MASTER-edece80c-0277: Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos.",P2,MASTER-471012ab-0124: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0277: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0133: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0213: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0277: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-471012ab-0124 | MASTER-e1169a77-0277 | MASTER-f70ce307-0133 | MASTER-51b8f0ad-0213 | MASTER-edece80c-0277,5,"[{""id"":""MASTER-471012ab-0124"",""pedido"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1470""],""aceitacao"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""Balcão/orientação""},{""id"":""MASTER-e1169a77-0277"",""pedido"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4318""],""aceitacao"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""Balcão/orientação""},{""id"":""MASTER-f70ce307-0133"",""pedido"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1472""],""aceitacao"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""Balcão/orientação""},{""id"":""MASTER-51b8f0ad-0213"",""pedido"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3106""],""aceitacao"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""Balcão/orientação""},{""id"":""MASTER-edece80c-0277"",""pedido"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4318""],""aceitacao"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""Balcão/orientação""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.desk_cases: 1 registos; public.desk_requests: 0 registos; public.desk_institutional_links: 0 registos; public.desk_messages: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","02/11/2026: concorrência do gerador verificada nos cenários delimitados e perguntas aplicáveis corrigidas. Restam visual, vínculos da referência, canais externos e disponibilização/agendador. Histórico: 02/11/2026: oportunidades, concursos e fundos/apoios do catálogo integrados em alertas locais com prova. Restam canais/outras fontes externas, concorrência específica do gerador, visual, vínculos de referência e disponibilização/agendador. Histórico: Continuidade 02/11/2026: oportunidades e concursos integrados em alertas no portal com escolha explícita e provas QA; pendência local de concursos do recorte anterior actualizada. Restam incentivos, canais externos, disponibilização/agendador, visual e correspondência dos restantes critérios agregados. Histórico preservado: 02/11/2026: alertas do catálogo público implementados e demonstrados em QA local. Restam disponibilização, visual, restantes fontes/canais de alertas e correspondência individual das demais capacidades desta cláusula; sem fecho transversal.
Histórico: Pedido contextual→gravar→submeter→nova sessão→gestor→mensagem/documentos/resultado, reaproveitando A/B. Critério individual original preservado; cobertura atual ainda não individualizada.","VirtualDesk, pedidos/casos, anexos, contexto dossier e acompanhamento","Perfis próprios do Balcão; serviços/campos e decisões externas aplicáveis, sem inventar destinatário/prazo.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: balcão. Esforço de código adicional só após lacuna reproduzida.,"outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual. [OPPORTUNITY-ALERTS-20261102] ACT-11 local: preferências e correspondência do catálogo público, confirmação, critérios, frequência, canal no portal e cancelamento; notificações de manifestações preservadas. 16 testes Feature/253 asserções e dois frontend aprovados; PHPStan, tipos, lint e compilação passaram. Fonte/versão/critério conservados; lote201, falha/repetição e migração com dados anteriores demonstrados. Recibo opportunity_alerts_increment_20261102 e manual de 02/11/2026. Sem instalação ou prova visual; fontes de concursos/incentivos e canais externos pendentes. [QUICK-SEARCH-COTTON-20261102] Pedido Tempo: plantio de algodao. Pesquisa combina palavras e variantes delimitadas de cultivo, normaliza acentos, usa hierarquia territorial pública e preserva filtros. Duas APIs, página, mapa e exportação consistentes; fichas de transformação apenas como relacionadas quando não existe correspondência completa. Barra GET/autofill. Nove testes Feature/205 asserções e cinco frontend aprovados; PHPStan, tipos, lint e compilação passaram. Recibo quick_opportunity_search_increment_20261102 e manual. Sem dados reais inventados, instalação ou prova visual; requisito agregado parcial. [TENDER-ALERTS-20261102] ACT-11 local: escolha voluntária de concursos nas preferências existentes, sem alterar subscrições anteriores. Consulta pública e versões reutilizadas; sem rascunhos, propostas ou competências novas. Critérios próprios, frequência, cancelamento, proveniência e histórico; lotes por catálogo sem bloqueio da outra fonte. 30 testes distintos/607 asserções e seis frontend aprovados; PHPStan, tipos, lint e compilação passaram. Recibo tender_alerts_increment_20261102 e manual de 02/11. Saldo de concursos do recorte anterior implementado em QA; incentivos/canais externos, instalação/agendador e visual pendentes. Requisito agregado parcial. [FUNDING-ALERTS-20261102] ACT-11: versões publicadas de fundos/programas/incentivos do catálogo integradas no motor de alertas existente, com adesão explícita e preferências antigas preservadas. Filtros e desconhecidos explicados, origem/versão/estado conservados, retirada/acesso próprio, cancelamento, lote e reversão transaccional. 36 testes/612 asserções e seis frontend; PHPStan, tipos, lint e compilação aprovados. Recibo funding_alerts_increment_20261102 e manual. Sem canais externos, recolha externa ou instalação no activo; requisito agregado parcial. [FUNDING-ASSESSMENT-CONCURRENCY-20261102] Nove pares concorrentes observados aprovaram referências/versões/interesses, geradores duplicados, preferências idempotentes e ambas as precedências de cancelamento. Conferência de critérios mostra/envia apenas perguntas aplicáveis, preserva respostas locais e reinicia por ficha/versão. Oito frontend, tipos/lint/compilação aprovados; PHP da aplicação sem delta, provas 36 Feature/612 reutilizadas após conferir hashes. Recibo funding_assessment_concurrency_increment_20261102. Visual, vínculos de referência, canais externos e disponibilização continuam pendentes.",balcão,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Services/VirtualDesk.php; app/Services/Ai/InvestorGuidance.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,InvestorGuidanceTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
+=======
+MASTER-471012ab-0124,"Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos.",portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1470 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4318 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1472 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3106 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4318,Balcão/orientação,/balcao-virtual/contextos; /balcao-virtual/dossiers; /balcao-virtual/dossiers/{id}; /balcao-virtual/dossiers/{id}/documentos; /balcao-virtual/dossiers/{id}/documentos/{document}; /balcao-virtual/dossiers/{id}/documentos/{document}/conferencia; /balcao-virtual/dossiers/{id}/etapas; /balcao-virtual/dossiers/{id}/fontes; /balcao-virtual/dossiers/{id}/orientacao; /balcao-virtual/dossiers/{id}/pedidos; /balcao-virtual/dossiers/{id}/pressupostos; /balcao-virtual/dossiers/{id}/recomendacoes,"VirtualDesk, pedidos/casos, anexos, contexto dossier e acompanhamento. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Pedido contextual→gravar→submeter→nova sessão→gestor→mensagem/documentos/resultado, reaproveitando A/B. Critério individual original preservado; cobertura atual ainda não individualizada.","Perfis próprios do Balcão; serviços/campos e decisões externas aplicáveis, sem inventar destinatário/prazo. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","MASTER-471012ab-0124: Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos. | MASTER-e1169a77-0277: Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos. | MASTER-f70ce307-0133: Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos. | MASTER-51b8f0ad-0213: Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos. | MASTER-edece80c-0277: Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos.",P2,MASTER-471012ab-0124: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0277: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0133: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0213: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0277: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-471012ab-0124 | MASTER-e1169a77-0277 | MASTER-f70ce307-0133 | MASTER-51b8f0ad-0213 | MASTER-edece80c-0277,5,"[{""id"":""MASTER-471012ab-0124"",""pedido"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1470""],""aceitacao"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""Balcão/orientação""},{""id"":""MASTER-e1169a77-0277"",""pedido"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4318""],""aceitacao"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""Balcão/orientação""},{""id"":""MASTER-f70ce307-0133"",""pedido"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1472""],""aceitacao"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""Balcão/orientação""},{""id"":""MASTER-51b8f0ad-0213"",""pedido"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3106""],""aceitacao"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""Balcão/orientação""},{""id"":""MASTER-edece80c-0277"",""pedido"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4318""],""aceitacao"":""Disponibilizar pesquisa, filtros, comparação, favoritos, alertas e recomendação de projectos."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""Balcão/orientação""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.desk_cases: 1 registos; public.desk_requests: 0 registos; public.desk_institutional_links: 0 registos; public.desk_messages: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","Pedido contextual→gravar→submeter→nova sessão→gestor→mensagem/documentos/resultado, reaproveitando A/B. Critério individual original preservado; cobertura atual ainda não individualizada.","VirtualDesk, pedidos/casos, anexos, contexto dossier e acompanhamento","Perfis próprios do Balcão; serviços/campos e decisões externas aplicáveis, sem inventar destinatário/prazo.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: balcão. Esforço de código adicional só após lacuna reproduzida.,"outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual. | 29/10/2026 — ergonomia do catálogo autorizada pela Tempo: inventário prévio preserva pesquisa AND, hierarquia territorial, moedas sem conversão, preparação/históricos, cinco vistas, CSV, favoritos, comparação, selecção/dossier, paginação e fichas de corredores/clusters/âncoras. Não há perda funcional confirmada neste delta de apresentação; disponibilidade no destino não inferida. Reutiliza provas de selectores 22/10, agronegócio/selecção múltipla 23/10 e corredor/percurso 27/10. Preparação local; sem schema, dados, configuração ou permissões novos. Manual: adenda 29/10/2026 — ergonomia do catálogo. | 29/10/2026 — delta visual local verificado: tipos/build QA aprovados; navegador 320/390/768/1024/1440px sem transbordo, filtros expandidos sem corte, descrições/avisos completos, teclado, contexto conservado, escolha/dossier, comparação quatro, cinco vistas e 29 fichas acessíveis; zero erros JS. Prévia com HTTP simulado e documentos públicos locais, sem base; não prova backend/autenticação ou disponibilidade activa. Recibo docs/investmoz/unification/catalogue-layout-qa-20261029.json; critérios globais e aceitação anterior preservados. 30/10/2026 — integração local da estrutura front 996b5b08 com alterações de main 332c16eb: resumo e contexto territorial, atalho à província, estados de pesquisa e guias preservados; manual existente e recibo de QA delimitam a prova, sem inferir disponibilidade activa. Ajuste subsequente: Mais filtros/Menos filtros acompanha a abertura; clique/teclado e escolhas conservadas demonstrados no componente React. Pedido Tempo: títulos e destaques em vermelho no catálogo; CSS validado sintacticamente, alteração local.",balcão,"12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada | 29/10/2026 — ergonomia do catálogo autorizada pela Tempo: inventário prévio preserva pesquisa AND, hierarquia territorial, moedas sem conversão, preparação/históricos, cinco vistas, CSV, favoritos, comparação, selecção/dossier, paginação e fichas de corredores/clusters/âncoras. Não há perda funcional confirmada neste delta de apresentação; disponibilidade no destino não inferida. Reutiliza provas de selectores 22/10, agronegócio/selecção múltipla 23/10 e corredor/percurso 27/10. Preparação local; sem schema, dados, configuração ou permissões novos. Manual: adenda 29/10/2026 — ergonomia do catálogo.",,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Services/VirtualDesk.php; app/Services/Ai/InvestorGuidance.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,InvestorGuidanceTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
+>>>>>>> origin/main
MASTER-471012ab-0125,"Implementar chamadas para acção: “Manifestar interesse”, “Solicitar dossier”, “Agendar reunião” e “Propor financiamento ou parceria”.",portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1471 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4319 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1473 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3107 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4319,Balcão/orientação,/balcao-virtual/contextos; /balcao-virtual/dossiers; /balcao-virtual/dossiers/{id}; /balcao-virtual/dossiers/{id}/documentos; /balcao-virtual/dossiers/{id}/documentos/{document}; /balcao-virtual/dossiers/{id}/documentos/{document}/conferencia; /balcao-virtual/dossiers/{id}/etapas; /balcao-virtual/dossiers/{id}/fontes; /balcao-virtual/dossiers/{id}/orientacao; /balcao-virtual/dossiers/{id}/pedidos; /balcao-virtual/dossiers/{id}/pressupostos; /balcao-virtual/dossiers/{id}/recomendacoes,"VirtualDesk, pedidos/casos, anexos, contexto dossier e acompanhamento. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Pedido contextual→gravar→submeter→nova sessão→gestor→mensagem/documentos/resultado, reaproveitando A/B. Critério individual original preservado; cobertura atual ainda não individualizada.","Perfis próprios do Balcão; serviços/campos e decisões externas aplicáveis, sem inventar destinatário/prazo. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","MASTER-471012ab-0125: Implementar chamadas para acção: “Manifestar interesse”, “Solicitar dossier”, “Agendar reunião” e “Propor financiamento ou parceria”. | MASTER-e1169a77-0278: Implementar chamadas para acção: “Manifestar interesse”, “Solicitar dossier”, “Agendar reunião” e “Propor financiamento ou parceria”. | MASTER-f70ce307-0134: Implementar chamadas para acção: “Manifestar interesse”, “Solicitar dossier”, “Agendar reunião” e “Propor financiamento ou parceria”. | MASTER-51b8f0ad-0214: Implementar chamadas para acção: “Manifestar interesse”, “Solicitar dossier”, “Agendar reunião” e “Propor financiamento ou parceria”. | MASTER-edece80c-0278: Implementar chamadas para acção: “Manifestar interesse”, “Solicitar dossier”, “Agendar reunião” e “Propor financiamento ou parceria”.",P2,MASTER-471012ab-0125: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0278: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0134: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0214: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0278: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-471012ab-0125 | MASTER-e1169a77-0278 | MASTER-f70ce307-0134 | MASTER-51b8f0ad-0214 | MASTER-edece80c-0278,5,"[{""id"":""MASTER-471012ab-0125"",""pedido"":""Implementar chamadas para acção: “Manifestar interesse”, “Solicitar dossier”, “Agendar reunião” e “Propor financiamento ou parceria”."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1471""],""aceitacao"":""Implementar chamadas para acção: “Manifestar interesse”, “Solicitar dossier”, “Agendar reunião” e “Propor financiamento ou parceria”."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""Balcão/orientação""},{""id"":""MASTER-e1169a77-0278"",""pedido"":""Implementar chamadas para acção: “Manifestar interesse”, “Solicitar dossier”, “Agendar reunião” e “Propor financiamento ou parceria”."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4319""],""aceitacao"":""Implementar chamadas para acção: “Manifestar interesse”, “Solicitar dossier”, “Agendar reunião” e “Propor financiamento ou parceria”."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""Balcão/orientação""},{""id"":""MASTER-f70ce307-0134"",""pedido"":""Implementar chamadas para acção: “Manifestar interesse”, “Solicitar dossier”, “Agendar reunião” e “Propor financiamento ou parceria”."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1473""],""aceitacao"":""Implementar chamadas para acção: “Manifestar interesse”, “Solicitar dossier”, “Agendar reunião” e “Propor financiamento ou parceria”."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""Balcão/orientação""},{""id"":""MASTER-51b8f0ad-0214"",""pedido"":""Implementar chamadas para acção: “Manifestar interesse”, “Solicitar dossier”, “Agendar reunião” e “Propor financiamento ou parceria”."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3107""],""aceitacao"":""Implementar chamadas para acção: “Manifestar interesse”, “Solicitar dossier”, “Agendar reunião” e “Propor financiamento ou parceria”."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""Balcão/orientação""},{""id"":""MASTER-edece80c-0278"",""pedido"":""Implementar chamadas para acção: “Manifestar interesse”, “Solicitar dossier”, “Agendar reunião” e “Propor financiamento ou parceria”."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4319""],""aceitacao"":""Implementar chamadas para acção: “Manifestar interesse”, “Solicitar dossier”, “Agendar reunião” e “Propor financiamento ou parceria”."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""Balcão/orientação""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.desk_cases: 1 registos; public.desk_requests: 0 registos; public.desk_institutional_links: 0 registos; public.desk_messages: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","Pedido contextual→gravar→submeter→nova sessão→gestor→mensagem/documentos/resultado, reaproveitando A/B. Critério individual original preservado; cobertura atual ainda não individualizada.","VirtualDesk, pedidos/casos, anexos, contexto dossier e acompanhamento","Perfis próprios do Balcão; serviços/campos e decisões externas aplicáveis, sem inventar destinatário/prazo.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: balcão. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,balcão,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Services/VirtualDesk.php; app/Services/Ai/InvestorGuidance.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,InvestorGuidanceTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
MASTER-471012ab-0126,Identificar cadeia e localização → captar interesse → validar capacidade → formar grupos por elo → visitas → propostas.,portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1505 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4354 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1507 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3141 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4354,governação/outros,/api/v1/investment/admin/interests/{interest}/status; /management/history; /management/interests; /management/interests/{interest}; /management/interests/{interest}/consent/contact; /management/interests/{interest}/consent/proponent; /management/opportunities; /management/opportunities/create; /management/opportunities/drafts; /management/opportunities/{id}/draft; /management/opportunities/{id}/edit; /management/opportunities/{id}/lifecycle,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.",MASTER-471012ab-0126: Identificar cadeia e localização → captar interesse → validar capacidade → formar grupos por elo → visitas → propostas. | MASTER-e1169a77-0279: Identificar cadeia e localização → captar interesse → validar capacidade → formar grupos por elo → visitas → propostas. | MASTER-f70ce307-0135: Identificar cadeia e localização → captar interesse → validar capacidade → formar grupos por elo → visitas → propostas. | MASTER-51b8f0ad-0215: Identificar cadeia e localização → captar interesse → validar capacidade → formar grupos por elo → visitas → propostas. | MASTER-edece80c-0279: Identificar cadeia e localização → captar interesse → validar capacidade → formar grupos por elo → visitas → propostas.,P2,MASTER-471012ab-0126: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0279: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0135: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0215: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0279: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-471012ab-0126 | MASTER-e1169a77-0279 | MASTER-f70ce307-0135 | MASTER-51b8f0ad-0215 | MASTER-edece80c-0279,5,"[{""id"":""MASTER-471012ab-0126"",""pedido"":""Identificar cadeia e localização → captar interesse → validar capacidade → formar grupos por elo → visitas → propostas."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1505""],""aceitacao"":""Identificar cadeia e localização → captar interesse → validar capacidade → formar grupos por elo → visitas → propostas."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-e1169a77-0279"",""pedido"":""Identificar cadeia e localização → captar interesse → validar capacidade → formar grupos por elo → visitas → propostas."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4354""],""aceitacao"":""Identificar cadeia e localização → captar interesse → validar capacidade → formar grupos por elo → visitas → propostas."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-f70ce307-0135"",""pedido"":""Identificar cadeia e localização → captar interesse → validar capacidade → formar grupos por elo → visitas → propostas."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1507""],""aceitacao"":""Identificar cadeia e localização → captar interesse → validar capacidade → formar grupos por elo → visitas → propostas."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-51b8f0ad-0215"",""pedido"":""Identificar cadeia e localização → captar interesse → validar capacidade → formar grupos por elo → visitas → propostas."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3141""],""aceitacao"":""Identificar cadeia e localização → captar interesse → validar capacidade → formar grupos por elo → visitas → propostas."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-edece80c-0279"",""pedido"":""Identificar cadeia e localização → captar interesse → validar capacidade → formar grupos por elo → visitas → propostas."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4354""],""aceitacao"":""Identificar cadeia e localização → captar interesse → validar capacidade → formar grupos por elo → visitas → propostas."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,Requisito transversal; consultar estado-ativo-after.json,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer","Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: governação e demais cláusulas. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,governação e demais cláusulas,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",AGENTS.md — componentes do domínio encontrados; correspondência integral deste requisito não presumida,; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
MASTER-471012ab-0127,Mapear janelas de financiamento → adaptar concept note → identificar consórcio → validar elegibilidade → submissão → seguimento.,portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1515 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4364 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1517 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3151 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4364,governação/outros,/api/v1/investment/admin/interests/{interest}/status; /management/history; /management/interests; /management/interests/{interest}; /management/interests/{interest}/consent/contact; /management/interests/{interest}/consent/proponent; /management/opportunities; /management/opportunities/create; /management/opportunities/drafts; /management/opportunities/{id}/draft; /management/opportunities/{id}/edit; /management/opportunities/{id}/lifecycle,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.",MASTER-471012ab-0127: Mapear janelas de financiamento → adaptar concept note → identificar consórcio → validar elegibilidade → submissão → seguimento. | MASTER-e1169a77-0280: Mapear janelas de financiamento → adaptar concept note → identificar consórcio → validar elegibilidade → submissão → seguimento. | MASTER-f70ce307-0136: Mapear janelas de financiamento → adaptar concept note → identificar consórcio → validar elegibilidade → submissão → seguimento. | MASTER-51b8f0ad-0216: Mapear janelas de financiamento → adaptar concept note → identificar consórcio → validar elegibilidade → submissão → seguimento. | MASTER-edece80c-0280: Mapear janelas de financiamento → adaptar concept note → identificar consórcio → validar elegibilidade → submissão → seguimento.,P2,MASTER-471012ab-0127: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0280: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0136: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0216: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0280: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-471012ab-0127 | MASTER-e1169a77-0280 | MASTER-f70ce307-0136 | MASTER-51b8f0ad-0216 | MASTER-edece80c-0280,5,"[{""id"":""MASTER-471012ab-0127"",""pedido"":""Mapear janelas de financiamento → adaptar concept note → identificar consórcio → validar elegibilidade → submissão → seguimento."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 1515""],""aceitacao"":""Mapear janelas de financiamento → adaptar concept note → identificar consórcio → validar elegibilidade → submissão → seguimento."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-e1169a77-0280"",""pedido"":""Mapear janelas de financiamento → adaptar concept note → identificar consórcio → validar elegibilidade → submissão → seguimento."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 4364""],""aceitacao"":""Mapear janelas de financiamento → adaptar concept note → identificar consórcio → validar elegibilidade → submissão → seguimento."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-f70ce307-0136"",""pedido"":""Mapear janelas de financiamento → adaptar concept note → identificar consórcio → validar elegibilidade → submissão → seguimento."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 1517""],""aceitacao"":""Mapear janelas de financiamento → adaptar concept note → identificar consórcio → validar elegibilidade → submissão → seguimento."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-51b8f0ad-0216"",""pedido"":""Mapear janelas de financiamento → adaptar concept note → identificar consórcio → validar elegibilidade → submissão → seguimento."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 3151""],""aceitacao"":""Mapear janelas de financiamento → adaptar concept note → identificar consórcio → validar elegibilidade → submissão → seguimento."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-edece80c-0280"",""pedido"":""Mapear janelas de financiamento → adaptar concept note → identificar consórcio → validar elegibilidade → submissão → seguimento."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 4364""],""aceitacao"":""Mapear janelas de financiamento → adaptar concept note → identificar consórcio → validar elegibilidade → submissão → seguimento."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,Requisito transversal; consultar estado-ativo-after.json,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.",Localizar obrigação verificável e consumidores/contrato atuais antes de estimar implementação ou declarar conclusão. Critério individual original preservado; cobertura atual ainda não individualizada.,"Entidades, schema/configuração e serviços existentes; correspondência individual por estabelecer","Ler secção/versão correspondente; distinguir requisito funcional, decisão e exemplo. Fontes oficiais já aceites.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: governação e demais cláusulas. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,governação e demais cláusulas,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",AGENTS.md — componentes do domínio encontrados; correspondência integral deste requisito não presumida,; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
diff --git a/olidar desenvolvimentos do portal InvestMoz b/olidar desenvolvimentos do portal InvestMoz
new file mode 100644
index 00000000..06e02cbe
--- /dev/null
+++ b/olidar desenvolvimentos do portal InvestMoz
@@ -0,0 +1,284 @@
+ AGENTS.md | 4 [32m+[m
+ app/Exceptions/OpportunityWorkflowUnavailable.php | 21 [32m+[m
+ .../Controllers/Api/V1/OpportunityController.php | 2 [32m+[m
+ .../Controllers/CompanyComparisonController.php | 33 [32m+[m
+ .../Controllers/CompanyPreparationController.php | 24 [32m+[m
+ app/Http/Controllers/CrmController.php | 90 [32m+[m[31m-[m
+ app/Http/Controllers/DashboardController.php | 13 [32m+[m[31m-[m
+ .../DeskRequestCheckpointController.php | 20 [32m+[m
+ .../Controllers/DeskServiceEditorController.php | 7 [32m+[m[31m-[m
+ app/Http/Controllers/DocumentMalwareController.php | 30 [32m+[m[31m-[m
+ app/Http/Controllers/EducationController.php | 147 [32m+[m[31m-[m
+ .../EducationDeclarationDraftController.php | 34 [32m+[m
+ .../Controllers/ExistingBusinessController.php | 2 [32m+[m
+ .../Controllers/InvestmentDiscoveryController.php | 8 [32m+[m[31m-[m
+ app/Http/Controllers/InvestmentGuideController.php | 31 [32m+[m
+ .../Controllers/InvestmentPortfolioController.php | 8 [32m+[m[31m-[m
+ .../Controllers/InvestmentWorkspaceController.php | 49 [32m+[m[31m-[m
+ app/Http/Controllers/InvestmentZoneController.php | 4 [32m+[m
+ app/Http/Controllers/InvestorPathController.php | 16 [32m+[m[31m-[m
+ app/Http/Controllers/LegacyContentController.php | 2 [32m+[m
+ .../OpportunityManagementController.php | 2 [32m+[m
+ .../Controllers/OpportunityResourceController.php | 30 [32m+[m[31m-[m
+ .../Controllers/PartnershipExchangeController.php | 206 [32m+[m[31m-[m
+ app/Http/Controllers/PortalProfileController.php | 15 [32m+[m[31m-[m
+ .../PortalProfileInstallationController.php | 14 [32m+[m
+ app/Http/Controllers/PortalServicesController.php | 3 [32m+[m
+ app/Http/Controllers/ProactiveSupplyController.php | 15 [32m+[m
+ .../Controllers/ProductExperimentController.php | 41 [32m+[m
+ .../Controllers/ProductUsageMetricsController.php | 19 [32m+[m
+ .../PublicBusinessOpportunityController.php | 43 [32m+[m[31m-[m
+ .../Controllers/TechnicalSupportController.php | 45 [32m+[m
+ app/Http/Controllers/VirtualDeskController.php | 173 [32m+[m[31m-[m
+ .../VirtualDeskInstallationController.php | 11 [32m+[m[31m-[m
+ .../VirtualDeskOperationsController.php | 86 [32m+[m[31m-[m
+ app/Http/Middleware/CollectPublicSearchMetrics.php | 25 [32m+[m
+ .../PublicBusinessOpportunityResource.php | 5 [32m+[m
+ app/Jobs/ScanDocumentForMalware.php | 127 [32m+[m[31m-[m
+ app/Models/CrmTask.php | 21 [32m+[m
+ app/Services/Ai/AssistiveRules.php | 5 [32m+[m[31m-[m
+ app/Services/Ai/InvestorGuidance.php | 12 [32m+[m[31m-[m
+ app/Services/BusinessFormSchema.php | 41 [32m+[m[31m-[m
+ app/Services/BusinessPointPublication.php | 125 [32m+[m
+ app/Services/BusinessProximitySearch.php | 53 [32m+[m
+ app/Services/CompanyComparison.php | 208 [32m+[m
+ app/Services/CompanyPreparation.php | 285 [32m+[m
+ app/Services/CrmNextAction.php | 27 [32m+[m
+ app/Services/CrmTaskCreation.php | 76 [32m+[m
+ app/Services/CrmTaskPreparations.php | 117 [32m+[m
+ app/Services/DashboardWorkQueue.php | 88 [32m+[m
+ app/Services/DeskAttachments.php | 116 [32m+[m
+ app/Services/DeskPaymentEvidence.php | 46 [32m+[m
+ app/Services/DeskRequestCheckpoints.php | 88 [32m+[m
+ app/Services/DeskServiceAvailability.php | 47 [32m+[m
+ app/Services/DeskServiceEditor.php | 103 [32m+[m[31m-[m
+ app/Services/EducationAccess.php | 21 [32m+[m
+ app/Services/EducationDeclarationDrafts.php | 142 [32m+[m
+ app/Services/EducationDeclarationRules.php | 29 [32m+[m
+ app/Services/EducationReviews.php | 101 [32m+[m
+ app/Services/EducationWorkQueue.php | 40 [32m+[m
+ app/Services/ExistingBusinessDrafts.php | 3 [32m+[m[31m-[m
+ app/Services/ExistingBusinessIntake.php | 4 [32m+[m[31m-[m
+ app/Services/InvestmentGuides.php | 169 [32m+[m
+ app/Services/InvestmentProfileCommands.php | 68 [32m+[m
+ app/Services/InvestorPath.php | 4 [32m+[m[31m-[m
+ app/Services/Malware/DocumentScanAttempts.php | 76 [32m+[m
+ app/Services/Malware/DocumentScanDelivery.php | 46 [32m+[m
+ app/Services/Malware/DocumentScanRetry.php | 78 [32m+[m
+ app/Services/OpportunityImageProcessor.php | 18 [32m+[m[31m-[m
+ app/Services/OpportunityProfileWorkflow.php | 12 [32m+[m
+ app/Services/OpportunityResourceFileCleanup.php | 65 [32m+[m
+ app/Services/OpportunityResources.php | 24 [32m+[m[31m-[m
+ app/Services/OpportunityScanDispatch.php | 50 [32m+[m
+ app/Services/OpportunityTechnicalExecution.php | 40 [32m+[m
+ app/Services/OpportunityTechnicalIncidents.php | 134 [32m+[m
+ app/Services/OpportunityTechnicalSupport.php | 128 [32m+[m
+ app/Services/OpportunityWorkflowExecution.php | 28 [32m+[m
+ app/Services/OrganizationCountry.php | 28 [32m+[m[31m-[m
+ app/Services/PartnershipAgreementHistory.php | 141 [32m+[m
+ app/Services/PartnershipAgreementProjection.php | 84 [32m+[m
+ app/Services/PartnershipAgreements.php | 140 [32m+[m
+ app/Services/PartnershipCandidacies.php | 188 [32m+[m
+ app/Services/PartnershipCandidacyHistory.php | 198 [32m+[m
+ app/Services/PartnershipDraftSaves.php | 46 [32m+[m
+ app/Services/PartnershipExchange.php | 250 [32m+[m[31m-[m
+ app/Services/PartnershipMilestones.php | 78 [32m+[m
+ app/Services/PartnershipNotifications.php | 145 [32m+[m
+ app/Services/PartnershipPublication.php | 110 [32m+[m
+ app/Services/PartnershipPublicationHistory.php | 195 [32m+[m
+ app/Services/PartnershipRoomUploads.php | 69 [32m+[m
+ app/Services/PortalAudit.php | 15 [32m+[m[31m-[m
+ app/Services/PortalProfileAccess.php | 4 [32m+[m
+ app/Services/PortalProfileAdministration.php | 6 [32m+[m[31m-[m
+ app/Services/PortalProfileInstallation.php | 107 [32m+[m[31m-[m
+ app/Services/ProactiveSupply.php | 79 [32m+[m[31m-[m
+ app/Services/ProductExperiments.php | 307 [32m+[m
+ app/Services/ProductUsageMetrics.php | 170 [32m+[m
+ app/Services/PublicBusinessLocations.php | 57 [32m+[m
+ app/Services/PublicSearchMetrics.php | 144 [32m+[m
+ app/Services/TechnicalIncidentHandling.php | 138 [32m+[m
+ app/Services/TechnicalSupportProfileSchema.php | 40 [32m+[m
+ app/Services/VerifiedDocumentBinary.php | 2 [32m+[m[31m-[m
+ app/Services/VirtualDesk.php | 177 [32m+[m[31m-[m
+ app/Services/VirtualDeskInstallation.php | 3 [32m+[m
+ bootstrap/app.php | 2 [32m+[m
+ config/bvm-admission-guide.php | 101 [32m+[m
+ config/company-comparison.php | 30 [32m+[m
+ config/investment-guides.php | 37 [32m+[m
+ config/product-experiments.php | 17 [32m+[m
+ config/product-metrics.php | 26 [32m+[m
+ config/search-metrics.php | 30 [32m+[m
+ ...6_11_02_230000_education_declaration_drafts.php | 38 [32m+[m
+ ...3_000000_existing_business_location_sources.php | 27 [32m+[m
+ ...6_11_03_010000_desk_service_effective_dates.php | 24 [32m+[m
+ ...026_11_03_020000_create_product_experiments.php | 71 [32m+[m
+ ...6_11_03_030000_create_product_search_counts.php | 50 [32m+[m
+ ...1_03_040000_create_desk_request_checkpoints.php | 33 [32m+[m
+ ...2026_11_03_050000_scope_desk_document_links.php | 26 [32m+[m
+ ..._03_060000_crm_task_creation_commands_index.php | 17 [32m+[m
+ ...6_11_03_070000_create_crm_task_preparations.php | 32 [32m+[m
+ ..._11_03_080000_add_technical_support_profile.php | 26 [32m+[m
+ .../unification/local-validation-20261029.json | 51257 [32m+++++++++++++++++++[m
+ .../unification/traceability-and-manual.md | 1058 [32m+[m
+ docs/investmoz/v2/auditoria-portal/backlog.md | 247 [32m+[m[31m-[m
+ .../v2/auditoria-portal/matriz-requisitos.csv | 393 [32m+[m[31m-[m
+ .../auditoria-portal/visao-consolidada-modulos.md | 184 [32m+[m[31m-[m
+ resources/js/components/business-point-summary.tsx | 131 [32m+[m
+ resources/js/components/crm-edit-comparison.tsx | 120 [32m+[m
+ resources/js/components/crm-task-creation.tsx | 293 [32m+[m
+ resources/js/components/dashboard-work-queue.tsx | 167 [32m+[m
+ resources/js/components/desk-attachment-field.tsx | 453 [32m+[m
+ resources/js/components/desk-case-state-form.tsx | 124 [32m+[m
+ resources/js/components/desk-document-picker.tsx | 175 [32m+[m
+ resources/js/components/desk-draft-recovery.tsx | 691 [32m+[m
+ .../js/components/desk-internal-operations.tsx | 59 [32m+[m[31m-[m
+ .../js/components/desk-payment-document-form.tsx | 138 [32m+[m
+ resources/js/components/desk-service-history.tsx | 12 [32m+[m
+ resources/js/components/desk-typed-choice.tsx | 88 [32m+[m
+ resources/js/components/education-review.tsx | 229 [32m+[m
+ .../js/components/education-submitted-snapshot.tsx | 110 [32m+[m
+ .../js/components/funding-criteria-assessment.tsx | 197 [32m+[m
+ .../js/components/investment-profile-editor.tsx | 313 [32m+[m
+ resources/js/components/investor-guidance.tsx | 44 [32m+[m[31m-[m
+ .../components/opportunity-technical-incidents.tsx | 81 [32m+[m
+ .../js/components/organization-country-editor.tsx | 233 [32m+[m
+ .../js/components/organization-country-reuse.tsx | 155 [32m+[m
+ .../partnership-agreement-instrument.tsx | 86 [32m+[m
+ .../js/components/partnership-candidacies.tsx | 730 [32m+[m
+ .../js/components/partnership-edit-comparison.tsx | 275 [32m+[m
+ .../components/partnership-publication-summary.tsx | 85 [32m+[m
+ .../js/components/partnership-publication.tsx | 210 [32m+[m
+ .../js/components/partnership-room-comparison.tsx | 175 [32m+[m
+ resources/js/components/proactive-supply.tsx | 31 [32m+[m[31m-[m
+ resources/js/components/profile-navigation.tsx | 13 [32m+[m
+ resources/js/components/search-usage-report.tsx | 118 [32m+[m
+ resources/js/components/similar-businesses.tsx | 250 [32m+[m[31m-[m
+ .../js/components/technical-incident-handling.tsx | 122 [32m+[m
+ .../js/components/technical-incident-notice.tsx | 108 [32m+[m
+ resources/js/lib/business-locations.ts | 52 [32m+[m
+ resources/js/lib/company-comparison.ts | 17 [32m+[m
+ resources/js/lib/company-preparation.ts | 72 [32m+[m
+ resources/js/lib/crm-record-edit.ts | 213 [32m+[m
+ resources/js/lib/crm-task-creation.ts | 371 [32m+[m
+ resources/js/lib/crm-task-preparation.ts | 384 [32m+[m
+ resources/js/lib/desk-checkpoints.ts | 154 [32m+[m
+ resources/js/lib/desk-field-values.ts | 61 [32m+[m
+ resources/js/lib/desk-field-visibility.ts | 19 [32m+[m[31m-[m
+ resources/js/lib/education-review.ts | 388 [32m+[m
+ resources/js/lib/investment-guides.ts | 34 [32m+[m
+ resources/js/lib/investment-profile-editor.ts | 433 [32m+[m
+ resources/js/lib/organization-country-reuse.ts | 325 [32m+[m
+ resources/js/lib/page-preparation-guard.ts | 28 [32m+[m
+ resources/js/lib/partnership-agreement.ts | 63 [32m+[m
+ resources/js/lib/partnership-candidacy-edit.ts | 805 [32m+[m
+ resources/js/lib/partnership-edit.ts | 862 [32m+[m
+ resources/js/lib/partnership-history.ts | 26 [32m+[m
+ resources/js/lib/partnership-publication.ts | 465 [32m+[m
+ resources/js/lib/partnership-room-delivery.ts | 199 [32m+[m
+ resources/js/lib/partnership-room-edit.ts | 845 [32m+[m
+ resources/js/lib/product-experiments.ts | 107 [32m+[m
+ resources/js/lib/product-usage.ts | 69 [32m+[m
+ resources/js/lib/profile-json.ts | 14 [32m+[m[31m-[m
+ resources/js/lib/profile-support-installation.ts | 406 [32m+[m
+ resources/js/lib/technical-incident-handling.ts | 368 [32m+[m
+ resources/js/lib/technical-incident-labels.ts | 45 [32m+[m
+ resources/js/pages/crm/investor.tsx | 116 [32m+[m[31m-[m
+ resources/js/pages/crm/lead.tsx | 207 [32m+[m[31m-[m
+ resources/js/pages/crm/types.ts | 3 [32m+[m
+ resources/js/pages/dashboard.tsx | 12 [32m+[m
+ resources/js/pages/desk/case.tsx | 240 [32m+[m[31m-[m
+ resources/js/pages/desk/catalogue.tsx | 20 [32m+[m[31m-[m
+ resources/js/pages/desk/request.tsx | 723 [32m+[m[31m-[m
+ resources/js/pages/desk/service-editor.tsx | 337 [32m+[m[31m-[m
+ resources/js/pages/education/declaration.tsx | 154 [32m+[m
+ resources/js/pages/education/index.tsx | 728 [32m+[m[31m-[m
+ resources/js/pages/funding/show.tsx | 157 [32m+[m[31m-[m
+ .../js/pages/investment/business-marketplace.tsx | 82 [32m+[m[31m-[m
+ .../js/pages/investment/business-opportunity.tsx | 25 [32m+[m[31m-[m
+ resources/js/pages/investment/business-wizard.tsx | 88 [32m+[m[31m-[m
+ resources/js/pages/investment/business.tsx | 31 [32m+[m[31m-[m
+ .../js/pages/investment/company-comparison.tsx | 386 [32m+[m
+ .../js/pages/investment/company-preparation.tsx | 790 [32m+[m
+ resources/js/pages/investment/guide.tsx | 676 [32m+[m
+ resources/js/pages/investment/profile.tsx | 293 [32m+[m[31m-[m
+ resources/js/pages/investment/zone-attachments.tsx | 18 [32m+[m[31m-[m
+ resources/js/pages/investor-path/index.tsx | 41 [32m+[m[31m-[m
+ resources/js/pages/investor-path/show.tsx | 23 [32m+[m
+ resources/js/pages/management/experiments/edit.tsx | 722 [32m+[m
+ .../js/pages/management/experiments/index.tsx | 122 [32m+[m
+ .../js/pages/management/opportunity-draft.tsx | 8 [32m+[m
+ .../js/pages/management/opportunity-resources.tsx | 6 [32m+[m
+ .../pages/management/proactive-supply-review.tsx | 419 [32m+[m
+ resources/js/pages/management/product-usage.tsx | 267 [32m+[m
+ resources/js/pages/management/shared.tsx | 10 [32m+[m[31m-[m
+ .../js/pages/partnerships/agreement-history.tsx | 199 [32m+[m
+ resources/js/pages/partnerships/dashboard.tsx | 51 [32m+[m[31m-[m
+ resources/js/pages/partnerships/detail.tsx | 508 [32m+[m[31m-[m
+ resources/js/pages/partnerships/editor.tsx | 824 [32m+[m[31m-[m
+ .../js/pages/partnerships/interest-history.tsx | 350 [32m+[m
+ .../js/pages/partnerships/publication-history.tsx | 349 [32m+[m
+ resources/js/pages/partnerships/room.tsx | 777 [32m+[m[31m-[m
+ resources/js/pages/partnerships/shared.tsx | 6 [32m+[m
+ resources/js/pages/portal/privacy-policy.tsx | 22 [32m+[m
+ resources/js/pages/portal/services.tsx | 24 [32m+[m[31m-[m
+ resources/js/pages/profiles/administration.tsx | 33 [32m+[m[31m-[m
+ resources/js/pages/profiles/installation.tsx | 28 [32m+[m
+ .../js/pages/profiles/support-installation.tsx | 170 [32m+[m
+ resources/js/pages/profiles/technical-incident.tsx | 98 [32m+[m
+ resources/js/pages/profiles/technical-support.tsx | 150 [32m+[m
+ resources/js/types/profile-access.ts | 2 [32m+[m
+ resources/views/desk/receipt-answers.blade.php | 9 [32m+[m
+ resources/views/desk/receipt.blade.php | 16 [32m+[m
+ routes/investor-path.php | 11 [32m+[m
+ routes/partnerships.php | 3 [32m+[m
+ routes/virtual-desk.php | 6 [32m+[m
+ routes/web.php | 26 [32m+[m
+ tests/Feature/BusinessPointPublicationTest.php | 242 [32m+[m
+ tests/Feature/BusinessProximitySearchTest.php | 157 [32m+[m
+ tests/Feature/BvmAdmissionGuideTest.php | 174 [32m+[m
+ tests/Feature/CompanyComparisonTest.php | 199 [32m+[m
+ tests/Feature/CompanyPreparationTest.php | 198 [32m+[m
+ tests/Feature/CrmIntakeTest.php | 12 [32m+[m[31m-[m
+ tests/Feature/CrmNextActionTest.php | 199 [32m+[m
+ tests/Feature/CrmRecordVersionsTest.php | 140 [32m+[m
+ tests/Feature/CrmTaskCreationTest.php | 168 [32m+[m
+ tests/Feature/CrmTaskPreparationTest.php | 232 [32m+[m
+ tests/Feature/DashboardWorkQueueTest.php | 275 [32m+[m
+ tests/Feature/DeskAttachmentFieldsTest.php | 409 [32m+[m
+ tests/Feature/DeskCaseStateTest.php | 132 [32m+[m
+ tests/Feature/DeskClosedLifecycleTest.php | 164 [32m+[m
+ tests/Feature/DeskDocumentReuseTest.php | 166 [32m+[m
+ tests/Feature/DeskPaymentEvidenceTest.php | 213 [32m+[m
+ tests/Feature/DeskRequestCheckpointTest.php | 204 [32m+[m
+ tests/Feature/DeskServiceEffectiveDatesTest.php | 198 [32m+[m
+ tests/Feature/DeskTypedFieldsTest.php | 247 [32m+[m
+ tests/Feature/DocumentScanRetryTest.php | 204 [32m+[m
+ tests/Feature/EducationDeclarationDraftsTest.php | 136 [32m+[m
+ tests/Feature/EducationWorkQueueTest.php | 294 [32m+[m
+ tests/Feature/InvestmentGuidesTest.php | 186 [32m+[m
+ tests/Feature/InvestmentProfileCommandsTest.php | 107 [32m+[m
+ tests/Feature/OpportunityCanonicalWorkflowTest.php | 120 [32m+[m
+ .../Feature/OpportunityTechnicalIncidentsTest.php | 258 [32m+[m
+ tests/Feature/OrganizationCountryCommandsTest.php | 130 [32m+[m
+ .../OrganizationCountryReuseCommandsTest.php | 148 [32m+[m
+ tests/Feature/PartnershipAgreementHistoryTest.php | 256 [32m+[m
+ .../Feature/PartnershipAgreementProjectionTest.php | 235 [32m+[m
+ tests/Feature/PartnershipAgreementRecoveryTest.php | 232 [32m+[m
+ tests/Feature/PartnershipCandidaciesTest.php | 250 [32m+[m
+ tests/Feature/PartnershipCandidacyHistoryTest.php | 204 [32m+[m
+ tests/Feature/PartnershipDashboardPrivacyTest.php | 324 [32m+[m
+ tests/Feature/PartnershipDraftRecoveryTest.php | 184 [32m+[m
+ tests/Feature/PartnershipEditingTest.php | 211 [32m+[m
+ tests/Feature/PartnershipParticipantsTest.php | 186 [32m+[m
+ .../Feature/PartnershipPublicationHistoryTest.php | 223 [32m+[m
+ .../Feature/PartnershipPublicationRecoveryTest.php | 189 [32m+[m
+ .../Feature/PartnershipPublicationSummaryTest.php | 171 [32m+[m
+ tests/Feature/PartnershipRoomRecoveryTest.php | 214 [32m+[m
+ tests/Feature/ProactiveSupplyReviewTest.php | 188 [32m+[m
+ tests/Feature/ProductExperimentsTest.php | 272 [32m+[m
+ tests/Feature/ProductUsageMetricsTest.php | 206 [32m+[m
+ tests/Feature/PublicSearchMetricsTest.php | 275 [32m+[m
+ tests/Feature/ResourceTechnicalIncidentsTest.php | 247 [32m+[m
+ tests/Feature/ScanTechnicalIncidentsTest.php | 422 [32m+[m
+ tests/Feature/SupportIncidentNoticesTest.php | 173 [32m+[m
+ tests/Feature/SupportProfileInstallationTest.php | 25
\ No newline at end of file
diff --git a/resources/css/investment-catalogue.css b/resources/css/investment-catalogue.css
new file mode 100644
index 00000000..38de9add
--- /dev/null
+++ b/resources/css/investment-catalogue.css
@@ -0,0 +1,445 @@
+/* Presentation only: catalogue queries, records and permissions retain their contracts. */
+.investment-catalogue {
+ --catalogue-accent: #c9141b;
+ --catalogue-ink: #17324d;
+ max-width: 1440px;
+ color: var(--catalogue-ink);
+}
+.investment-catalogue > h1 {
+ font-size: clamp(1.6rem, 3vw, 2.15rem);
+ letter-spacing: -0.035em;
+}
+.investment-catalogue .catalogue-intro {
+ margin-top: 0.65rem;
+ max-width: 76ch;
+ color: #526477;
+ line-height: 1.7;
+}
+.catalogue-workspace {
+ display: grid;
+ gap: 1.5rem;
+ align-items: start;
+}
+.catalogue-workspace > *,
+.catalogue-results > *,
+.catalogue-opportunity > * {
+ min-width: 0;
+}
+.catalogue-filters {
+ border: 1px solid #dce3eb;
+ border-radius: 1rem;
+ background: #fff;
+ overflow: clip;
+}
+.catalogue-filters-toggle,
+.catalogue-filters-heading {
+ align-items: center;
+ gap: 0.65rem;
+ padding: 1rem 1.15rem;
+ font-weight: 650;
+}
+.catalogue-filters-toggle {
+ display: flex;
+ width: 100%;
+ text-align: left;
+ min-height: 52px;
+}
+.catalogue-filters-toggle > svg:last-child {
+ margin-left: auto;
+ transition: transform 0.15s;
+}
+.catalogue-filters-toggle[aria-expanded='true'] > svg:last-child {
+ transform: rotate(180deg);
+}
+.catalogue-filters-heading {
+ display: none;
+}
+#catalogue-filter-fields {
+ padding: 0 1.15rem 1.15rem;
+}
+.catalogue-filters input:not([type='checkbox']),
+.catalogue-filters select {
+ min-height: 44px;
+ max-width: 100%;
+ font-size: 0.875rem;
+}
+.catalogue-filter-group {
+ border-top: 1px solid #e5eaf0;
+}
+.catalogue-filter-group > summary {
+ display: flex;
+ align-items: center;
+ gap: 0.6rem;
+ min-height: 52px;
+ padding: 0.65rem 0;
+ cursor: pointer;
+ list-style: none;
+ font-size: 0.875rem;
+ font-weight: 650;
+}
+.catalogue-filter-group > summary::-webkit-details-marker {
+ display: none;
+}
+.catalogue-filter-group > summary > svg {
+ margin-left: auto;
+ flex-shrink: 0;
+ transition: transform 0.15s;
+}
+.catalogue-filter-group[open] > summary > svg {
+ transform: rotate(180deg);
+}
+.catalogue-filter-group-content {
+ padding: 0.4rem 0 1rem;
+ display: grid;
+ gap: 1rem;
+}
+.catalogue-count {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ min-width: 1.5rem;
+ padding: 0.15rem 0.45rem;
+ border-radius: 99px;
+ background: #f0f3f7;
+ color: #526477;
+ font-size: 0.75rem;
+}
+.catalogue-filters .catalogue-filter-group {
+ margin-top: 0;
+}
+.catalogue-active-filters:empty {
+ display: none;
+}
+.catalogue-active-filters button {
+ border-radius: 0.5rem;
+ background: #f5f7fa;
+ border-color: #dce3eb;
+ font-size: 0.75rem;
+ overflow-wrap: anywhere;
+}
+.catalogue-filter-submit > button:first-of-type {
+ gap: 0.5rem;
+ background: var(--catalogue-accent);
+ min-height: 44px;
+}
+.catalogue-filter-submit > button:last-child {
+ min-height: 44px;
+ color: #526477;
+ font-size: 0.875rem;
+ border: 0;
+ text-decoration: none;
+}
+.catalogue-results {
+ display: flex;
+ flex-direction: column;
+ gap: 1.25rem;
+ scroll-margin-top: 2rem;
+}
+.catalogue-results-heading {
+ display: flex;
+ align-items: baseline;
+ flex-wrap: wrap;
+ gap: 0.35rem 1rem;
+}
+.catalogue-results-heading > h2 {
+ font-size: 1.125rem;
+ font-weight: 700;
+ letter-spacing: -0.02em;
+}
+.catalogue-results-heading > [role] {
+ border: 0;
+ padding: 0;
+ margin: 0;
+ color: #526477;
+ font-size: 0.875rem;
+}
+.catalogue-results-toolbar {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 0.8rem 1.25rem;
+ padding-bottom: 1.1rem;
+ border-bottom: 1px solid #dce3eb;
+}
+.catalogue-view-options {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 0.2rem;
+ padding: 0.25rem;
+ border: 1px solid #dce3eb;
+ border-radius: 0.75rem;
+ background: #fff;
+}
+.catalogue-view-button {
+ display: inline-flex;
+ gap: 0.4rem;
+ align-items: center;
+ justify-content: center;
+ min-height: 42px;
+ padding: 0.5rem 0.7rem;
+ border-radius: 0.5rem;
+ color: #526477;
+ font-size: 0.8rem;
+}
+.catalogue-view-button[aria-pressed='true'] {
+ background: #17324d;
+ color: #fff;
+}
+.catalogue-view-button:not(:disabled):hover {
+ color: var(--catalogue-accent);
+}
+.catalogue-view-button[aria-pressed='true']:not(:disabled):hover {
+ background: var(--catalogue-accent);
+ color: #fff;
+}
+.catalogue-view-button:disabled {
+ opacity: 0.5;
+ cursor: wait;
+}
+.catalogue-utility-actions {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 0.25rem 1.25rem;
+}
+.catalogue-utility-link {
+ display: inline-flex;
+ align-items: center;
+ gap: 0.4rem;
+ min-height: 44px;
+ font-size: 0.8rem;
+ color: #526477;
+}
+.catalogue-utility-link[aria-disabled='true'] {
+ opacity: 0.5;
+}
+.catalogue-cards {
+ display: grid;
+ gap: 1rem;
+}
+.catalogue-opportunity {
+ display: flex;
+ flex-direction: column;
+ border: 1px solid #dce3eb;
+ border-radius: 1rem;
+ background: white;
+ overflow: clip;
+ transition:
+ border-color 0.15s,
+ box-shadow 0.15s;
+}
+.catalogue-opportunity:hover,
+.catalogue-opportunity:focus-within {
+ border-color: #9cabbc;
+ box-shadow: 0 5px 18px #17324d0a;
+}
+.catalogue-opportunity-body {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ align-items: start;
+ gap: 0.85rem;
+ padding: 1.25rem;
+}
+.catalogue-sector {
+ padding: 0.25rem 0.6rem;
+ background: #f0f4f8;
+ color: #3d5268;
+ border-radius: 0.4rem;
+ font-size: 0.75rem;
+ font-weight: 600;
+}
+.catalogue-location {
+ display: flex;
+ align-items: flex-start;
+ gap: 0.4rem;
+ color: #526477;
+ font-size: 0.8rem;
+ line-height: 1.6;
+}
+.catalogue-location svg {
+ flex-shrink: 0;
+ margin-top: 0.2rem;
+}
+.catalogue-opportunity h2 {
+ font-size: 1.125rem;
+ line-height: 1.45;
+ letter-spacing: -0.015em;
+ color: var(--catalogue-ink);
+ overflow-wrap: anywhere;
+}
+.catalogue-summary {
+ color: #526477;
+ font-size: 0.875rem;
+ line-height: 1.7;
+}
+.catalogue-opportunity-facts {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ flex-wrap: wrap;
+ gap: 0.65rem;
+ width: 100%;
+ margin-top: auto;
+ padding-top: 0.5rem;
+ font-size: 0.875rem;
+}
+.catalogue-maturity {
+ padding: 0.25rem 0.6rem;
+ border-radius: 99px;
+ background: #f5f6f8;
+ color: #526477;
+ font-size: 0.75rem;
+}
+.catalogue-opportunity-actions {
+ padding: 0.45rem 1.25rem 0.75rem;
+ border-top: 1px solid #e5eaf0;
+}
+.catalogue-opportunity-links {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ flex-wrap: wrap;
+ gap: 0.25rem 0.75rem;
+}
+.catalogue-detail-link,
+.catalogue-favourite {
+ display: inline-flex;
+ align-items: center;
+ gap: 0.4rem;
+ min-height: 44px;
+ font-size: 0.8rem;
+}
+.catalogue-detail-link {
+ color: var(--catalogue-accent);
+ font-weight: 650;
+}
+.catalogue-favourite {
+ color: #526477;
+ text-align: left;
+}
+.catalogue-favourite[aria-pressed='true'] {
+ color: var(--catalogue-accent);
+}
+.catalogue-opportunity-choices {
+ display: grid;
+ gap: 0.15rem;
+ padding-top: 0.35rem;
+ border-top: 1px solid #eef1f5;
+}
+.catalogue-opportunity-choices label {
+ display: flex;
+ align-items: center;
+ gap: 0.6rem;
+ min-height: 44px;
+ font-size: 0.8rem;
+ line-height: 1.5;
+ cursor: pointer;
+}
+.catalogue-opportunity-choices input {
+ width: 1rem;
+ height: 1rem;
+ flex-shrink: 0;
+ accent-color: var(--catalogue-accent);
+}
+.catalogue-pagination {
+ display: flex;
+ justify-content: flex-end;
+ flex-wrap: wrap;
+ gap: 0.75rem;
+}
+.catalogue-pagination a {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ min-height: 44px;
+ padding: 0.5rem 1rem;
+ border: 1px solid #dce3eb;
+ border-radius: 0.5rem;
+ background: #fff;
+ font-size: 0.875rem;
+}
+.catalogue-territorial {
+ padding-top: 1.5rem;
+ border-top: 1px solid #dce3eb;
+}
+.catalogue-territorial > h2 {
+ font-size: 1.125rem;
+ font-weight: 700;
+}
+.catalogue-territorial > p {
+ margin: 0.5rem 0 1.2rem;
+ color: #526477;
+ font-size: 0.875rem;
+ line-height: 1.7;
+}
+.catalogue-territorial-links {
+ display: grid;
+ gap: 0.75rem;
+}
+.catalogue-territorial-link {
+ border: 1px solid #e5eaf0;
+ border-radius: 0.65rem;
+ padding: 0.85rem 1rem;
+ background: #fff;
+}
+.catalogue-territorial-link > span {
+ color: #526477;
+ font-size: 0.75rem;
+}
+.catalogue-territorial-link h3 {
+ font-size: 0.875rem;
+ line-height: 1.6;
+}
+/* Headings and emphasized catalogue content use Tempo's red. */
+.investment-catalogue :is(h1, h2, h3, h4, h5, h6, caption, th, strong),
+.investment-catalogue :is(p.font-bold, p.font-semibold),
+.investment-catalogue .catalogue-sector,
+.investment-catalogue .catalogue-filters-toggle,
+.investment-catalogue .catalogue-territorial .catalogue-filter-group > summary {
+ color: var(--catalogue-accent);
+}
+.investment-catalogue :is(a, button, summary, input, select):focus-visible {
+ outline: 2px solid #17324d;
+ outline-offset: 3px;
+}
+.investment-catalogue :is(a, button, summary):hover {
+ text-decoration: underline;
+ text-underline-offset: 3px;
+}
+@media (min-width: 640px) {
+ .catalogue-cards-grid,
+ .catalogue-territorial-links {
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ }
+}
+@media (min-width: 1024px) {
+ .catalogue-workspace {
+ grid-template-columns: 290px minmax(0, 1fr);
+ gap: 2rem;
+ }
+ .catalogue-filters-toggle {
+ display: none;
+ }
+ .catalogue-filters-heading {
+ display: flex;
+ }
+ .catalogue-results-heading {
+ min-height: 48px;
+ }
+ .catalogue-cards-list .catalogue-opportunity {
+ flex-direction: row;
+ }
+ .catalogue-cards-list .catalogue-opportunity-actions {
+ flex: 0 0 235px;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ border-top: 0;
+ border-left: 1px solid #e5eaf0;
+ }
+}
+@media (prefers-reduced-motion: reduce) {
+ .investment-catalogue * {
+ transition: none;
+ scroll-behavior: auto;
+ }
+}
diff --git a/resources/js/components/catalogue-filter-group.tsx b/resources/js/components/catalogue-filter-group.tsx
new file mode 100644
index 00000000..390ddf3c
--- /dev/null
+++ b/resources/js/components/catalogue-filter-group.tsx
@@ -0,0 +1,30 @@
+import { ChevronDown } from 'lucide-react';
+import { useState, type ReactNode } from 'react';
+
+export default function CatalogueFilterGroup({
+ title,
+ expandedTitle,
+ count = 0,
+ children,
+}: {
+ title: string;
+ expandedTitle?: string;
+ count?: number;
+ children: ReactNode;
+}) {
+ const [open, setOpen] = useState(false);
+
+ return (
+ setOpen(event.currentTarget.open)}
+ >
+
+ {open && expandedTitle ? expandedTitle : title}
+ {count > 0 && {count}}
+
+
+
{children}
+
+ );
+}
diff --git a/resources/js/components/opportunity-search-filters.tsx b/resources/js/components/opportunity-search-filters.tsx
index e63d40bb..99210ba5 100644
--- a/resources/js/components/opportunity-search-filters.tsx
+++ b/resources/js/components/opportunity-search-filters.tsx
@@ -1,6 +1,9 @@
import { Field, input, button, groupLabels } from '@/pages/investment/shared';
import type { References } from '@/pages/investment/shared';
import { TerritoryLevel, type TerritoryOption } from './investment-territory';
+import CatalogueFilterGroup from './catalogue-filter-group';
+import { useEffect, useState } from 'react';
+import { ChevronDown, Search, SlidersHorizontal } from 'lucide-react';
export const modalityLabels: Record = {
investment_project: 'Projecto de investimento',
@@ -83,6 +86,10 @@ export default function OpportunitySearchFilters({
clear: () => void;
errors: Record;
}) {
+ const [expanded, setExpanded] = useState(false);
+ useEffect(() => {
+ if (Object.keys(errors).length) setExpanded(true);
+ }, [errors]);
const select = (
key: string,
choices: { value: string; label: string }[],
@@ -217,13 +224,14 @@ export default function OpportunitySearchFilters({
);
return (