diff --git a/app/Http/Controllers/PortalServicesController.php b/app/Http/Controllers/PortalServicesController.php index d0d4dda8..81bfc3f3 100644 --- a/app/Http/Controllers/PortalServicesController.php +++ b/app/Http/Controllers/PortalServicesController.php @@ -71,7 +71,6 @@ class PortalServicesController extends Controller $props = ['section' => $page, 'filters' => $filters, 'countries' => app(CountryCatalogue::class)->all()]; if ($page === 'sectors') { $props['sectors'] = \App\Services\SectorOrganization::catalog(); - $props['sectorDetails'] = $props['sectors']->map(fn (Sector $sector) => app(\App\Services\SectorInvestment::class)->page($sector))->values(); } if (in_array($page, ['documents', 'legislation'], true)) { $query = $this->resources(); diff --git a/docs/investmoz/consolidated-review-matrix-2026-10-03.md b/docs/investmoz/consolidated-review-matrix-2026-10-03.md index 1fc2aa48..5eafe770 100644 --- a/docs/investmoz/consolidated-review-matrix-2026-10-03.md +++ b/docs/investmoz/consolidated-review-matrix-2026-10-03.md @@ -1403,3 +1403,16 @@ O relatório comum tinha um conflito de imports. Foram conservados ambos e as ch Retomar na sessão local com SSH autenticado, usando a autorização já registada: medir espaço/inodes na partição efectiva, comparar com compilação e backup, conferir main e revisão activa, criar e ensaiar backup fresco, instalar L8 e conferir apenas o seu delta. Depois repetir as guardas necessárias para a candidata conjunta e conferir o delta proactivo preservando L8. Manter a versão activa até a nova estar pronta. Excluir fixtures QA dos inputs de instalação; não executar seeders/importações de amostras, não publicar pilotos privados nem usar o pacote QA como cópia da base activa. SGF TEMPO separado. Recibo de preparação: `docs/investmoz/unification/sequential-delivery-preparation-20261027.json`. Provas e instrução de passagem: `outputs/sequential-delivery-20261027/`. Os recibos de execução e as duas revisões servidas serão registados apenas depois de execução real na sessão autenticada; este recibo não os substitui. + + +## 27/10/2026 — correcção delimitada da navegação dos sectores + +Reprodução local autorizada da intenção de `88b39b527859bd420f2e223a7afea89bea38de54`, indisponível no origin/outro ambiente. Base exacta `9fda6d6e12832a3cf25e7314f1f895dd430238c5`; novo ramo `codex/sector-navigation-fix-local-20261027`. Não se afirma identidade binária com o pacote externo. QA concluída; instalação ainda pendente nesta revisão documental. + +**Causa e alteração:** o índice `/sectores` carregava `sectorDetails` para todos os sectores e apresentava as páginas completas abaixo dos cartões; os cartões passavam a âncoras locais. Removidos esse carregamento e a apresentação agregada. Os cartões usam `sector.url`, preservando as páginas individuais, a especialização Fintech e os caminhos históricos existentes. O índice mantém descrições curtas, contagens e acesso aos sectores, sem repetir guias e oportunidades de todos eles. + +**Preservação:** página individual, `SectorContent`, `SectorEntry`, `SectorInvestment`, `SectorOrganization`, filtros, dados mestres, originais e continuidade para o mesmo dossier não foram alterados. PEC `7fdb6b42` continua no seu ramo QA; não é integrado nesta correcção. L8 instalado e percurso proactivo de `9fda6d6e` preservados. Songo/Gurué privados; sem fixtures QA no activo, publicação, importações, migrations ou alterações de permissões. + +**Delta demonstrado:** actualizados os dois testes afectados de `SectorCatalogueContentTest` e acrescentado um caso de isolamento/regresso/recarregamento:3 testes/319 asserções, base isolada `proactive_investment_20261027_test`, loopback55441, transacções com rollback; sem `migrate:fresh`. Wayfinder `--with-form`, TypeScript e build QA aprovados. Navegador real:10 cartões, acesso separado a Agronegócio e Turismo, oportunidades próprias, filtro Agronegócio mantido no catálogo, recarregamento da página individual e regresso ao índice sem repetição. Entrada Turismo para o dossier conserva o contexto sectorial na ligação e encaminha o visitante para a autenticação existente; não se repetiu a prova completa de gravação do dossier já aceite. A amostra QA não tem guias editoriais carregados; a preservação dos guias assenta na comparação dos consumidores/fontes, e será conferida no destino sem republicar conteúdo. A captura de imagem do browser devolveu «0 width»; árvore de acessibilidade e testes guardados, sem alegação de captura visual inexistente. + +Requisitos existentes actualizados apenas neste delta: `MASTER-471012ab-0007` e `MASTER-9dee08d0-0017`; não se encerra automaticamente o âmbito mais amplo dessas linhas. Recibo QA: `docs/investmoz/unification/sector-navigation-qa-20261027.json`. Provas locais: `outputs/sector-navigation-fix-20261027/`. Entrega autorizada seguirá o processo Git existente, com capacidade, backup/restauro fresco, comparação de fonte/dados/schema/configuração/permissões e revisão efectivamente servida. diff --git a/docs/investmoz/unification/sector-navigation-qa-20261027.json b/docs/investmoz/unification/sector-navigation-qa-20261027.json new file mode 100644 index 00000000..f1c8f03c --- /dev/null +++ b/docs/investmoz/unification/sector-navigation-qa-20261027.json @@ -0,0 +1,88 @@ +{ + "date": "2026-10-27", + "status": "QA passed; not yet installed", + "source_intention": "88b39b527859bd420f2e223a7afea89bea38de54", + "reproduced_locally": true, + "byte_equivalence_to_external_commit": false, + "baseline": "9fda6d6e12832a3cf25e7314f1f895dd430238c5", + "branch": "codex/sector-navigation-fix-local-20261027", + "runtime_delta": [ + "app/Http/Controllers/PortalServicesController.php", + "resources/js/pages/portal/services.tsx" + ], + "tests": { + "feature_tests": 3, + "assertions": 319, + "database": "proactive_investment_20261027_test", + "port": 55441, + "rollback": true, + "routes": "passed", + "typescript": "passed", + "build": "passed" + }, + "browser": { + "index_cards": 10, + "separate_sectors": [ + "agronegocio", + "turismo" + ], + "opportunities_isolated": true, + "filter": "agronegocio", + "back": true, + "reload": true, + "fintech_url_preserved": true, + "dossier_entry": "sector:3; existing guest authentication, no new dossier created", + "screenshots": "capture unavailable: zero width; AX proof retained", + "editorial_guides": "not loaded in QA sample; consumers unchanged, destination to check" + }, + "protected_files": [ + { + "file": "resources/js/components/sector-content.tsx", + "sha256_LF": "4ee55554f8a88ba7db1ac0dc74259d4e66603979c3873f9ec897437830b8e0ae", + "unchanged": true + }, + { + "file": "resources/js/components/sector-entry.tsx", + "sha256_LF": "96672c709b70f840d105c664a92d49a17acb66cd852d43dadaa8f3fef8b3e845", + "unchanged": true + }, + { + "file": "resources/js/components/public-sector-cards.tsx", + "sha256_LF": "858ba6235ef8b46461d416b3264436e4df2c9555b8e6d8c3644dbd8c55463484", + "unchanged": true + }, + { + "file": "app/Services/SectorInvestment.php", + "sha256_LF": "0b8fbc6e3d03ede627e95332703e4749a53d86708bdc0f9579e958caf30e4d17", + "unchanged": true + }, + { + "file": "app/Services/SectorOrganization.php", + "sha256_LF": "f0e54fe6acfe746c6758387f43610232cb51371b0404bcefaf466d8b704f3ae3", + "unchanged": true + }, + { + "file": "app/Http/Controllers/PublicPortalController.php", + "sha256_LF": "cb6abd75533660a52e18148cc5f1ab706d2e08f9c94334510541e6b0e003b461", + "unchanged": true + }, + { + "file": "resources/js/lib/project-dossier.ts", + "sha256_LF": "d59f3fa4dcb3fade1f967564c972e30932aa095a4e5dd4ba0be8b4e07492ef0a", + "unchanged": true + }, + { + "file": "resources/js/lib/irpc-annual-settlement.ts", + "sha256_LF": "8cca5316259e3ebabfa75be9f64143a8664a447ac30b23b882318edfd70a68f1", + "unchanged": true + }, + { + "file": "routes/web.php", + "sha256_LF": "95930c76977d446b74a422acc4b60869ff6bae5d4567c21cc644484c5f09cbda", + "unchanged": true + } + ], + "pec_branch_not_integrated": "7fdb6b42", + "active_writes": 0, + "private_pilots_published": false +} diff --git a/docs/investmoz/unification/traceability-and-manual.md b/docs/investmoz/unification/traceability-and-manual.md index 862cb869..9b74163b 100644 --- a/docs/investmoz/unification/traceability-and-manual.md +++ b/docs/investmoz/unification/traceability-and-manual.md @@ -6924,3 +6924,16 @@ O relatório comum tinha um conflito de imports. Foram conservados ambos e as ch Retomar na sessão local com SSH autenticado, usando a autorização já registada: medir espaço/inodes na partição efectiva, comparar com compilação e backup, conferir main e revisão activa, criar e ensaiar backup fresco, instalar L8 e conferir apenas o seu delta. Depois repetir as guardas necessárias para a candidata conjunta e conferir o delta proactivo preservando L8. Manter a versão activa até a nova estar pronta. Excluir fixtures QA dos inputs de instalação; não executar seeders/importações de amostras, não publicar pilotos privados nem usar o pacote QA como cópia da base activa. SGF TEMPO separado. Recibo de preparação: `docs/investmoz/unification/sequential-delivery-preparation-20261027.json`. Provas e instrução de passagem: `outputs/sequential-delivery-20261027/`. Os recibos de execução e as duas revisões servidas serão registados apenas depois de execução real na sessão autenticada; este recibo não os substitui. + + +## 27/10/2026 — correcção delimitada da navegação dos sectores + +Reprodução local autorizada da intenção de `88b39b527859bd420f2e223a7afea89bea38de54`, indisponível no origin/outro ambiente. Base exacta `9fda6d6e12832a3cf25e7314f1f895dd430238c5`; novo ramo `codex/sector-navigation-fix-local-20261027`. Não se afirma identidade binária com o pacote externo. QA concluída; instalação ainda pendente nesta revisão documental. + +**Causa e alteração:** o índice `/sectores` carregava `sectorDetails` para todos os sectores e apresentava as páginas completas abaixo dos cartões; os cartões passavam a âncoras locais. Removidos esse carregamento e a apresentação agregada. Os cartões usam `sector.url`, preservando as páginas individuais, a especialização Fintech e os caminhos históricos existentes. O índice mantém descrições curtas, contagens e acesso aos sectores, sem repetir guias e oportunidades de todos eles. + +**Preservação:** página individual, `SectorContent`, `SectorEntry`, `SectorInvestment`, `SectorOrganization`, filtros, dados mestres, originais e continuidade para o mesmo dossier não foram alterados. PEC `7fdb6b42` continua no seu ramo QA; não é integrado nesta correcção. L8 instalado e percurso proactivo de `9fda6d6e` preservados. Songo/Gurué privados; sem fixtures QA no activo, publicação, importações, migrations ou alterações de permissões. + +**Delta demonstrado:** actualizados os dois testes afectados de `SectorCatalogueContentTest` e acrescentado um caso de isolamento/regresso/recarregamento:3 testes/319 asserções, base isolada `proactive_investment_20261027_test`, loopback55441, transacções com rollback; sem `migrate:fresh`. Wayfinder `--with-form`, TypeScript e build QA aprovados. Navegador real:10 cartões, acesso separado a Agronegócio e Turismo, oportunidades próprias, filtro Agronegócio mantido no catálogo, recarregamento da página individual e regresso ao índice sem repetição. Entrada Turismo para o dossier conserva o contexto sectorial na ligação e encaminha o visitante para a autenticação existente; não se repetiu a prova completa de gravação do dossier já aceite. A amostra QA não tem guias editoriais carregados; a preservação dos guias assenta na comparação dos consumidores/fontes, e será conferida no destino sem republicar conteúdo. A captura de imagem do browser devolveu «0 width»; árvore de acessibilidade e testes guardados, sem alegação de captura visual inexistente. + +Requisitos existentes actualizados apenas neste delta: `MASTER-471012ab-0007` e `MASTER-9dee08d0-0017`; não se encerra automaticamente o âmbito mais amplo dessas linhas. Recibo QA: `docs/investmoz/unification/sector-navigation-qa-20261027.json`. Provas locais: `outputs/sector-navigation-fix-20261027/`. Entrega autorizada seguirá o processo Git existente, com capacidade, backup/restauro fresco, comparação de fonte/dados/schema/configuração/permissões e revisão efectivamente servida. diff --git a/docs/investmoz/v2/auditoria-portal/matriz-requisitos.csv b/docs/investmoz/v2/auditoria-portal/matriz-requisitos.csv index 4c6a10ec..3bea8083 100644 --- a/docs/investmoz/v2/auditoria-portal/matriz-requisitos.csv +++ b/docs/investmoz/v2/auditoria-portal/matriz-requisitos.csv @@ -412,13 +412,13 @@ MASTER-9dee08d0-0017,"Falta de Profundidade nos Cards: As descrições dos secto [RECONCILIACAO-43-20261019] 5: Sem saldo de código no recorte visual aceite.","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. | Entrega operacional deste delta concluída. Mercado Financeiro geral vazio e restante acervo mantêm os seus estados. Licenças, requisitos e documentos específicos Fintech por atividade permanecem por determinar; não bloqueiam a preparação independente nem se consideram concluídos. Mantém-se o detalhe integral de incentivos, entidades e documentos específicos por setor por completar. | Recorte QA demonstrado, sem encerrar critérios globais. Histórico económico combinado conservado, fora de novas escolhas; oportunidade6 não inferida como Fintech. Sem fusões por nome. Recuperação existente conferida por leitura e hashes; outra sessão/dispositivo e percursos aceites não reensaiados. Conferência dos anexos pelo utilizador pendente. | Recorte aprovado disponibilizado; requisitos globais permanecem abertos. Atividade historica combinada e oportunidade6 sem reclassificacao. Conferencia dos anexos finais pelo utilizador pendente. Sem repetir testes aceites, formularios ou L1. -[UTILIZACAO-HOMOLOGACAO-20261019] 5: Disponibilidade condicionada conforme limite registado — Ecrã aberto: dez sectores principais, especialização Fintech sem cartão principal duplicado; 12 registos conservados.","OpportunityManagement, OpportunityCanonicalContract/Response, OpportunityReviewMateriality, PortalProfileAccess, OpportunityResources","Dependências operacionais desta entrega resolvidas: hashes, backup/restauro fresco, conta autenticada, scans e publicações. Dependências regulatórias específicas e editoriais restantes preservadas no critério atual. | Origem: pedido expresso da Tempo de18/10. IDs, especialização por leitura e ponte histórica são escolhas técnicas; sem nova regra organizacional. Ativo inalterado; disponibilização separada. Sem migration/instalação140000/150000; reversão retém somente a rota nova Fintech além dos dados/histórico e associação2→8. Estados e critérios anteriores preservados. | Origem: autorizacao expressa Tempo18/10/2026. Backup/restauro e execucao autenticada concluidos; 140000/150000 presentes uma vez, sem migrations. Reversao parcial preserva dados/auditoria/esquemas e rota compativel Fintech. Matriz/manual/backlog atuais preservados. Ficha integral dos parques separada.","Autorização Tempo para setores-fintech-QA-d5b4dc354265 DOC01 executada, limitada a 16 fontes/compilação e três artigos. Decisões fora deste recorte mantêm-se; nenhuma publicação do restante acervo.",Delta disponibilizado; pendências fora do recorte continuam na mesma matriz.,"Saldo operacional desta entrega: zero. A faixa 1h30–3h era estimativa, não saldo atual. Esforço das lacunas remanescentes depende de delimitação concreta; não repetir aceitações.","outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual. | outputs/investmoz-fintech-investimento-QA-20261015/RESULTADO-QA.md; PROVA-DELTA-QA.json; HTTP-DELTA-QA.json; PROVA-FINAL-DELTA-QA.json; HTTP-RECUPERACAO-FINAL-QA.json; MANIFESTO-ENTREGA.json | outputs/investmoz-setores-fintech-ativacao-20261015/RELATORIO-ENTREGA.md; PUBLISHED.json; PRESERVACAO-FINAL.json; HTTP-OPERACIONAL.json; FRESH-BACKUP.json; RECIBO-FINAL.json | 18/10: sectores-duplicacoes-QA-9b6097f97121, organização sectorial/duplicações apenas QA. Energia8/Mineração7; Fintech9 especialização de Mercado6; oportunidade2 reclassificada2→8 sem duplicação; 56HTTP,30serviço,3SQL e5reversão observados. Relatório e manifesto exatos em outputs/investmoz-sectores-duplicacoes-QA-20261018/para-revisao/. | 18/10/2026: disponibilizada sectores-duplicacoes-QA-e9f7d821b6f7 em investemoz:5432, procedimento DOC02. Backup/restauro fresco validado. 34 fontes/167 build. Conta2 com permissao/MFA; oportunidade2 sector2 para8; evento/recibo unicos, operacao27e6a658-d8bc-4d94-ab7b-b977ba56d141. Mesma transacao/ligacao e limpeza SET LOCAL observadas. Provas em outputs/investmoz-sectores-duplicacoes-ativacao-20261018/CONFERENCIA-FINAL.json e para-revisao/RECIBO-EXECUCAO.json. | Homologação teste-investidor 19/10/2026: Sectores e duplicação visual=Instalado mas desabilitado. Saldo derivado e limites em outputs/investmoz-disponibilizacao-integral-20261019/SALDO-E-ACTUALIZACAO-CONSOLIDADA.md. Não substitui estado/provas do activo; trecho documental encerrado, vínculo dossier aberto. | Proposta integral fdcb31f1b5b9: aplicação activa local completa + R2/DOC01/destino reconciliados; schema/build/recuperação de contexto e reversão de apresentação ensaiados no clone isolado. Não instalado remotamente. Inc. QA territoriais/Inhambane/programas separados. Limites e decisões em outputs/investmoz-disponibilizacao-integral-20261019/PROPOSTA-INTEGRAL-PARA-DECISAO.md. | Execução autorizada fdcb31f1b5b9 concluída em teste-investidor: Sectores e duplicação visual=Disponível. 1080 hashes iguais, schema171/88, custódia/scan/recuperação reais. Sem publicação ou papéis novos. Vínculo dossier legítimo pendente; incrementos QA separados. Limites em outputs/investmoz-disponibilizacao-integral-20261019/RESULTADO-DISPONIBILIZACAO-INTEGRAL.md; não encerra critérios globais não demonstrados. +[UTILIZACAO-HOMOLOGACAO-20261019] 5: Disponibilidade condicionada conforme limite registado — Ecrã aberto: dez sectores principais, especialização Fintech sem cartão principal duplicado; 12 registos conservados.","OpportunityManagement, OpportunityCanonicalContract/Response, OpportunityReviewMateriality, PortalProfileAccess, OpportunityResources","Dependências operacionais desta entrega resolvidas: hashes, backup/restauro fresco, conta autenticada, scans e publicações. Dependências regulatórias específicas e editoriais restantes preservadas no critério atual. | Origem: pedido expresso da Tempo de18/10. IDs, especialização por leitura e ponte histórica são escolhas técnicas; sem nova regra organizacional. Ativo inalterado; disponibilização separada. Sem migration/instalação140000/150000; reversão retém somente a rota nova Fintech além dos dados/histórico e associação2→8. Estados e critérios anteriores preservados. | Origem: autorizacao expressa Tempo18/10/2026. Backup/restauro e execucao autenticada concluidos; 140000/150000 presentes uma vez, sem migrations. Reversao parcial preserva dados/auditoria/esquemas e rota compativel Fintech. Matriz/manual/backlog atuais preservados. Ficha integral dos parques separada.","Autorização Tempo para setores-fintech-QA-d5b4dc354265 DOC01 executada, limitada a 16 fontes/compilação e três artigos. Decisões fora deste recorte mantêm-se; nenhuma publicação do restante acervo.",Delta disponibilizado; pendências fora do recorte continuam na mesma matriz.,"Saldo operacional desta entrega: zero. A faixa 1h30–3h era estimativa, não saldo atual. Esforço das lacunas remanescentes depende de delimitação concreta; não repetir aceitações.","27/10 navegação sectoresQA:3/319 rollback55441;cartões sem detalhes agregados;sector.url;duas escolhas isoladas;filtro,regresso/reload e ligação dossier preservados;Wayfinder/tipos/build. Recibo sector-navigation-qa-20261027.json. | Histórico preservado: outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual. | outputs/investmoz-fintech-investimento-QA-20261015/RESULTADO-QA.md; PROVA-DELTA-QA.json; HTTP-DELTA-QA.json; PROVA-FINAL-DELTA-QA.json; HTTP-RECUPERACAO-FINAL-QA.json; MANIFESTO-ENTREGA.json | outputs/investmoz-setores-fintech-ativacao-20261015/RELATORIO-ENTREGA.md; PUBLISHED.json; PRESERVACAO-FINAL.json; HTTP-OPERACIONAL.json; FRESH-BACKUP.json; RECIBO-FINAL.json | 18/10: sectores-duplicacoes-QA-9b6097f97121, organização sectorial/duplicações apenas QA. Energia8/Mineração7; Fintech9 especialização de Mercado6; oportunidade2 reclassificada2→8 sem duplicação; 56HTTP,30serviço,3SQL e5reversão observados. Relatório e manifesto exatos em outputs/investmoz-sectores-duplicacoes-QA-20261018/para-revisao/. | 18/10/2026: disponibilizada sectores-duplicacoes-QA-e9f7d821b6f7 em investemoz:5432, procedimento DOC02. Backup/restauro fresco validado. 34 fontes/167 build. Conta2 com permissao/MFA; oportunidade2 sector2 para8; evento/recibo unicos, operacao27e6a658-d8bc-4d94-ab7b-b977ba56d141. Mesma transacao/ligacao e limpeza SET LOCAL observadas. Provas em outputs/investmoz-sectores-duplicacoes-ativacao-20261018/CONFERENCIA-FINAL.json e para-revisao/RECIBO-EXECUCAO.json. | Homologação teste-investidor 19/10/2026: Sectores e duplicação visual=Instalado mas desabilitado. Saldo derivado e limites em outputs/investmoz-disponibilizacao-integral-20261019/SALDO-E-ACTUALIZACAO-CONSOLIDADA.md. Não substitui estado/provas do activo; trecho documental encerrado, vínculo dossier aberto. | Proposta integral fdcb31f1b5b9: aplicação activa local completa + R2/DOC01/destino reconciliados; schema/build/recuperação de contexto e reversão de apresentação ensaiados no clone isolado. Não instalado remotamente. Inc. QA territoriais/Inhambane/programas separados. Limites e decisões em outputs/investmoz-disponibilizacao-integral-20261019/PROPOSTA-INTEGRAL-PARA-DECISAO.md. | Execução autorizada fdcb31f1b5b9 concluída em teste-investidor: Sectores e duplicação visual=Disponível. 1080 hashes iguais, schema171/88, custódia/scan/recuperação reais. Sem publicação ou papéis novos. Vínculo dossier legítimo pendente; incrementos QA separados. Limites em outputs/investmoz-disponibilizacao-integral-20261019/RESULTADO-DISPONIBILIZACAO-INTEGRAL.md; não encerra critérios globais não demonstrados. [UTILIZACAO-HOMOLOGACAO-20261019] Leitura nominal de contas/recursos no destino; saldo18/10; prévia29 sem escrita; comparação de hashes QA separados. outputs/investmoz-disponibilizacao-integral-20261019/UTILIZACAO-EFECTIVA-HOMOLOGACAO.md [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,,,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.",oportunidades,"27/10/2026 — navegação sectorial, reprodução local autorizada da intenção88b39b5 | Histórico preservado: 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.",,,"Correcção delimitada dos sectores emQA,sem instalação;âmbito maior da linha e provas anteriores preservados. | Histórico preservado: " MASTER-9dee08d0-0018,"Guias de processos passo a passo: deve existir uma secção dedicada que explique, de forma visual e textual, a rota do investidor: constituição de empresa, obtenção de NUIT, registo na APIEX, licenciamento simplificado quando aplicável, abertura de conta bancária e registo cambial.",portal do investidor\Reformulacao do portal do investidor.docx; SHA 9dee08d0ebbbb262651a01ffc7e0ade97323664bda59fe8ce0b07ead82736ce1; w:p 219,negócios,/api/v1/business-opportunities; /api/v1/business-opportunities/{slug}; /api/v1/existing-business/listings; /api/v1/existing-business/listings/{id}; /api/v1/existing-business/listings/{id}/objects; /api/v1/existing-business/listings/{id}/objects/{object}; /api/v1/existing-business/listings/{id}/transitions; /api/v1/existing-business/listings/{id}/verifications; /api/v1/existing-business/reviews; /api/v1/simulation-drafts/linkable-businesses; /api/v1/simulation-drafts/{id}/business-link; /investidor/negocios,"ExistingBusinessDrafts/Policy, anúncio público, InterestSubmission e filtros atuais. 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,Negócio→revisão/publicação→interesse→origem→estatística única→recuperação; preparar caso existente autorizado sem forçar estado. Critério individual original preservado; cobertura atual ainda não individualizada.,Políticas legadas próprias e docs/mandatos; QA18445zero anúncios publicados; notificaçõesOFF. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,"MASTER-9dee08d0-0018: Guias de processos passo a passo: deve existir uma secção dedicada que explique, de forma visual e textual, a rota do investidor: constituição de empresa, obtenção de NUIT, registo na APIEX, licenciamento simplificado quando aplicável, abertura de conta bancária e registo cambial.",P2,MASTER-9dee08d0-0018: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-9dee08d0-0018,1,"[{""id"":""MASTER-9dee08d0-0018"",""pedido"":""Guias de processos passo a passo: deve existir uma secção dedicada que explique, de forma visual e textual, a rota do investidor: constituição de empresa, obtenção de NUIT, registo na APIEX, licenciamento simplificado quando aplicável, abertura de conta bancária e registo cambial."",""fontes"":[""portal do investidor\\Reformulacao do portal do investidor.docx; SHA 9dee08d0ebbbb262651a01ffc7e0ade97323664bda59fe8ce0b07ead82736ce1; w:p 219""],""aceitacao"":""Guias de processos passo a passo: deve existir uma secção dedicada que explique, de forma visual e textual, a rota do investidor: constituição de empresa, obtenção de NUIT, registo na APIEX, licenciamento simplificado quando aplicável, abertura de conta bancária e registo cambial."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""negócios""}]",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.existing_businesses: 2 registos; public.existing_business_revisions: 2 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.",Negócio→revisão/publicação→interesse→origem→estatística única→recuperação; preparar caso existente autorizado sem forçar estado. Critério individual original preservado; cobertura atual ainda não individualizada.,"ExistingBusinessDrafts/Policy, anúncio público, InterestSubmission e filtros atuais",Políticas legadas próprias e docs/mandatos; QA18445zero anúncios publicados; notificaçõesOFF.,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: negócios. 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.,negócios,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/ExistingBusinessController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"ExistingBusinessFoundationTest, ExistingBusinessIntakeTest, ExistingBusinessWizardTest; 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-9dee08d0-0019,"Nota de validação: Todas as referências a benefícios fiscais, taxas reduzidas, incentivos aduaneiros, repatriamento de capitais e licenciamento deve ser confirmadas com a legislação vigente e com as entidades competentes antes da publicação final no portal. O portal deve apresentar informação orientadora, mas evitar substituir parecer jurídico, decisão administrativa ou confirmação oficial das autoridades.",portal do investidor\Reformulacao do portal do investidor.docx; SHA 9dee08d0ebbbb262651a01ffc7e0ade97323664bda59fe8ce0b07ead82736ce1; w:p 225,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-9dee08d0-0019: Nota de validação: Todas as referências a benefícios fiscais, taxas reduzidas, incentivos aduaneiros, repatriamento de capitais e licenciamento deve ser confirmadas com a legislação vigente e com as entidades competentes antes da publicação final no portal. O portal deve apresentar informação orientadora, mas evitar substituir parecer jurídico, decisão administrativa ou confirmação oficial das autoridades.",P2,MASTER-9dee08d0-0019: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-9dee08d0-0019,1,"[{""id"":""MASTER-9dee08d0-0019"",""pedido"":""Nota de validação: Todas as referências a benefícios fiscais, taxas reduzidas, incentivos aduaneiros, repatriamento de capitais e licenciamento deve ser confirmadas com a legislação vigente e com as entidades competentes antes da publicação final no portal. O portal deve apresentar informação orientadora, mas evitar substituir parecer jurídico, decisão administrativa ou confirmação oficial das autoridades."",""fontes"":[""portal do investidor\\Reformulacao do portal do investidor.docx; SHA 9dee08d0ebbbb262651a01ffc7e0ade97323664bda59fe8ce0b07ead82736ce1; w:p 225""],""aceitacao"":""Nota de validação: Todas as referências a benefícios fiscais, taxas reduzidas, incentivos aduaneiros, repatriamento de capitais e licenciamento deve ser confirmadas com a legislação vigente e com as entidades competentes antes da publicação final no portal. O portal deve apresentar informação orientadora, mas evitar substituir parecer jurídico, decisão administrativa ou confirmação oficial das autoridades."",""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-9dee08d0-0020,Como começar: A página principal deve incluir uma secção curta com cinco passos para novos investidores:,portal do investidor\Reformulacao do portal do investidor.docx; SHA 9dee08d0ebbbb262651a01ffc7e0ade97323664bda59fe8ce0b07ead82736ce1; w:p 232 | portal do investidor\backup\Reformulacao do portal do investidor 1.docx; SHA efd550fd2a9d2a21785d7b3c140d4608f1ba27c52f156e2709e9fbf388a1a569; w:p 215 | portal do investidor\backup\Reformulacao do portal do investidor v2.docx; SHA 9f5719c8b0cf78855f727d980b77a8f9409fc7f93e303e25d355d009a07d5734; w:p 228 | portal do investidor\backup\Reformulacao do portal do investidor v3.docx; SHA 626cae3d584658842ca36b658e7b5b3cc98d87036747e65b29274f0209734e5a; w:p 231,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-9dee08d0-0020: Como começar: A página principal deve incluir uma secção curta com cinco passos para novos investidores: | MASTER-efd550fd-0020: Como começar: A página principal deve incluir uma secção curta com cinco passos para novos investidores: | MASTER-9f5719c8-0021: Como começar: A página principal deve incluir uma secção curta com cinco passos para novos investidores: | MASTER-626cae3d-0019: Como começar: A página principal deve incluir uma secção curta com cinco passos para novos investidores:,P2,MASTER-9dee08d0-0020: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-efd550fd-0020: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-9f5719c8-0021: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-626cae3d-0019: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-9dee08d0-0020 | MASTER-efd550fd-0020 | MASTER-9f5719c8-0021 | MASTER-626cae3d-0019,4,"[{""id"":""MASTER-9dee08d0-0020"",""pedido"":""Como começar: A página principal deve incluir uma secção curta com cinco passos para novos investidores:"",""fontes"":[""portal do investidor\\Reformulacao do portal do investidor.docx; SHA 9dee08d0ebbbb262651a01ffc7e0ade97323664bda59fe8ce0b07ead82736ce1; w:p 232""],""aceitacao"":""Como começar: A página principal deve incluir uma secção curta com cinco passos para novos investidores:"",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-efd550fd-0020"",""pedido"":""Como começar: A página principal deve incluir uma secção curta com cinco passos para novos investidores:"",""fontes"":[""portal do investidor\\backup\\Reformulacao do portal do investidor 1.docx; SHA efd550fd2a9d2a21785d7b3c140d4608f1ba27c52f156e2709e9fbf388a1a569; w:p 215""],""aceitacao"":""Como começar: A página principal deve incluir uma secção curta com cinco passos para novos investidores:"",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-9f5719c8-0021"",""pedido"":""Como começar: A página principal deve incluir uma secção curta com cinco passos para novos investidores:"",""fontes"":[""portal do investidor\\backup\\Reformulacao do portal do investidor v2.docx; SHA 9f5719c8b0cf78855f727d980b77a8f9409fc7f93e303e25d355d009a07d5734; w:p 228""],""aceitacao"":""Como começar: A página principal deve incluir uma secção curta com cinco passos para novos investidores:"",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""governação/outros""},{""id"":""MASTER-626cae3d-0019"",""pedido"":""Como começar: A página principal deve incluir uma secção curta com cinco passos para novos investidores:"",""fontes"":[""portal do investidor\\backup\\Reformulacao do portal do investidor v3.docx; SHA 626cae3d584658842ca36b658e7b5b3cc98d87036747e65b29274f0209734e5a; w:p 231""],""aceitacao"":""Como começar: A página principal deve incluir uma secção curta com cinco passos para novos investidores:"",""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.",,, @@ -529,7 +529,7 @@ MASTER-471012ab-0003,"O presente documento estabelece a base para o upgrade do P MASTER-471012ab-0004,"Disponibilizar à Tempo instrumentos de CRM, monitoria, análise de procura e gestão de oportunidades.",portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 82 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 428 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 86 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 128 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 428,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-0004: Disponibilizar à Tempo instrumentos de CRM, monitoria, análise de procura e gestão de oportunidades. | MASTER-e1169a77-0022: Disponibilizar à Tempo instrumentos de CRM, monitoria, análise de procura e gestão de oportunidades. | MASTER-f70ce307-0005: Disponibilizar à Tempo instrumentos de CRM, monitoria, análise de procura e gestão de oportunidades. | MASTER-51b8f0ad-0005: Disponibilizar à Tempo instrumentos de CRM, monitoria, análise de procura e gestão de oportunidades. | MASTER-edece80c-0022: Disponibilizar à Tempo instrumentos de CRM, monitoria, análise de procura e gestão de oportunidades.",P2,MASTER-471012ab-0004: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0022: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0005: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0005: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0022: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-471012ab-0004 | MASTER-e1169a77-0022 | MASTER-f70ce307-0005 | MASTER-51b8f0ad-0005 | MASTER-edece80c-0022,5,"[{""id"":""MASTER-471012ab-0004"",""pedido"":""Disponibilizar à Tempo instrumentos de CRM, monitoria, análise de procura e gestão de oportunidades."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 82""],""aceitacao"":""Disponibilizar à Tempo instrumentos de CRM, monitoria, análise de procura e gestão de oportunidades."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-e1169a77-0022"",""pedido"":""Disponibilizar à Tempo instrumentos de CRM, monitoria, análise de procura e gestão de oportunidades."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 428""],""aceitacao"":""Disponibilizar à Tempo instrumentos de CRM, monitoria, análise de procura e gestão de oportunidades."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-f70ce307-0005"",""pedido"":""Disponibilizar à Tempo instrumentos de CRM, monitoria, análise de procura e gestão de oportunidades."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 86""],""aceitacao"":""Disponibilizar à Tempo instrumentos de CRM, monitoria, análise de procura e gestão de oportunidades."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-51b8f0ad-0005"",""pedido"":""Disponibilizar à Tempo instrumentos de CRM, monitoria, análise de procura e gestão de oportunidades."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 128""],""aceitacao"":""Disponibilizar à Tempo instrumentos de CRM, monitoria, análise de procura e gestão de oportunidades."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-edece80c-0022"",""pedido"":""Disponibilizar à Tempo instrumentos de CRM, monitoria, análise de procura e gestão de oportunidades."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 428""],""aceitacao"":""Disponibilizar à Tempo instrumentos de CRM, monitoria, análise de procura e gestão de oportunidades."",""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-0005,"O upgrade deverá preservar e aprofundar os cinco eixos informativos já apresentados no portal InvestMoz — “Porquê investir em Moçambique”, “Actividades económicas”, “Oportunidades de negócios”, “Áreas de investimento” e “Reguladores” — convertendo-os de páginas predominantemente informativas numa jornada orientada à decisão e à conversão. Cada conteúdo deverá conduzir o visitante da compreensão do mercado para a selecção de uma oportunidade, consulta de requisitos, manifestação de interesse e acompanhamento no CRM.",portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 91 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 95 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 137,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-0005: O upgrade deverá preservar e aprofundar os cinco eixos informativos já apresentados no portal InvestMoz — “Porquê investir em Moçambique”, “Actividades económicas”, “Oportunidades de negócios”, “Áreas de investimento” e “Reguladores” — convertendo-os de páginas predominantemente informativas numa jornada orientada à decisão e à conversão. Cada conteúdo deverá conduzir o visitante da compreensão do mercado para a selecção de uma oportunidade, consulta de requisitos, manifestação de interesse e acompanhamento no CRM. | MASTER-f70ce307-0006: O upgrade deverá preservar e aprofundar os cinco eixos informativos já apresentados no portal InvestMoz — “Porquê investir em Moçambique”, “Actividades económicas”, “Oportunidades de negócios”, “Áreas de investimento” e “Reguladores” — convertendo-os de páginas predominantemente informativas numa jornada orientada à decisão e à conversão. Cada conteúdo deverá conduzir o visitante da compreensão do mercado para a selecção de uma oportunidade, consulta de requisitos, manifestação de interesse e acompanhamento no CRM. | MASTER-51b8f0ad-0006: O upgrade deverá preservar e aprofundar os cinco eixos informativos já apresentados no portal InvestMoz — “Porquê investir em Moçambique”, “Actividades económicas”, “Oportunidades de negócios”, “Áreas de investimento” e “Reguladores” — convertendo-os de páginas predominantemente informativas numa jornada orientada à decisão e à conversão. Cada conteúdo deverá conduzir o visitante da compreensão do mercado para a selecção de uma oportunidade, consulta de requisitos, manifestação de interesse e acompanhamento no CRM.",P2,MASTER-471012ab-0005: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0006: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0006: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-471012ab-0005 | MASTER-f70ce307-0006 | MASTER-51b8f0ad-0006,3,"[{""id"":""MASTER-471012ab-0005"",""pedido"":""O upgrade deverá preservar e aprofundar os cinco eixos informativos já apresentados no portal InvestMoz — “Porquê investir em Moçambique”, “Actividades económicas”, “Oportunidades de negócios”, “Áreas de investimento” e “Reguladores” — convertendo-os de páginas predominantemente informativas numa jornada orientada à decisão e à conversão. Cada conteúdo deverá conduzir o visitante da compreensão do mercado para a selecção de uma oportunidade, consulta de requisitos, manifestação de interesse e acompanhamento no CRM."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 91""],""aceitacao"":""O upgrade deverá preservar e aprofundar os cinco eixos informativos já apresentados no portal InvestMoz — “Porquê investir em Moçambique”, “Actividades económicas”, “Oportunidades de negócios”, “Áreas de investimento” e “Reguladores” — convertendo-os de páginas predominantemente informativas numa jornada orientada à decisão e à conversão. Cada conteúdo deverá conduzir o visitante da compreensão do mercado para a selecção de uma oportunidade, consulta de requisitos, manifestação de interesse e acompanhamento no CRM."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-f70ce307-0006"",""pedido"":""O upgrade deverá preservar e aprofundar os cinco eixos informativos já apresentados no portal InvestMoz — “Porquê investir em Moçambique”, “Actividades económicas”, “Oportunidades de negócios”, “Áreas de investimento” e “Reguladores” — convertendo-os de páginas predominantemente informativas numa jornada orientada à decisão e à conversão. Cada conteúdo deverá conduzir o visitante da compreensão do mercado para a selecção de uma oportunidade, consulta de requisitos, manifestação de interesse e acompanhamento no CRM."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 95""],""aceitacao"":""O upgrade deverá preservar e aprofundar os cinco eixos informativos já apresentados no portal InvestMoz — “Porquê investir em Moçambique”, “Actividades económicas”, “Oportunidades de negócios”, “Áreas de investimento” e “Reguladores” — convertendo-os de páginas predominantemente informativas numa jornada orientada à decisão e à conversão. Cada conteúdo deverá conduzir o visitante da compreensão do mercado para a selecção de uma oportunidade, consulta de requisitos, manifestação de interesse e acompanhamento no CRM."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-51b8f0ad-0006"",""pedido"":""O upgrade deverá preservar e aprofundar os cinco eixos informativos já apresentados no portal InvestMoz — “Porquê investir em Moçambique”, “Actividades económicas”, “Oportunidades de negócios”, “Áreas de investimento” e “Reguladores” — convertendo-os de páginas predominantemente informativas numa jornada orientada à decisão e à conversão. Cada conteúdo deverá conduzir o visitante da compreensão do mercado para a selecção de uma oportunidade, consulta de requisitos, manifestação de interesse e acompanhamento no CRM."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 137""],""aceitacao"":""O upgrade deverá preservar e aprofundar os cinco eixos informativos já apresentados no portal InvestMoz — “Porquê investir em Moçambique”, “Actividades económicas”, “Oportunidades de negócios”, “Áreas de investimento” e “Reguladores” — convertendo-os de páginas predominantemente informativas numa jornada orientada à decisão e à conversão. Cada conteúdo deverá conduzir o visitante da compreensão do mercado para a selecção de uma oportunidade, consulta de requisitos, manifestação de interesse e acompanhamento no CRM."",""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-0006,"Proposta de valor do país organizada por acesso a mercados, localização regional, recursos, corredores logísticos, base produtiva, capital humano, energia, zonas económicas, estabilidade institucional e oportunidades de transformação. Cada argumento deve ter fonte, data e contexto.",portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 98 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 444 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 101 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 143 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 444,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-0006: Proposta de valor do país organizada por acesso a mercados, localização regional, recursos, corredores logísticos, base produtiva, capital humano, energia, zonas económicas, estabilidade institucional e oportunidades de transformação. Cada argumento deve ter fonte, data e contexto. | MASTER-e1169a77-0024: Proposta de valor do país organizada por acesso a mercados, localização regional, recursos, corredores logísticos, base produtiva, capital humano, energia, zonas económicas, estabilidade institucional e oportunidades de transformação. Cada argumento deve ter fonte, data e contexto. | MASTER-f70ce307-0007: Proposta de valor do país organizada por acesso a mercados, localização regional, recursos, corredores logísticos, base produtiva, capital humano, energia, zonas económicas, estabilidade institucional e oportunidades de transformação. Cada argumento deve ter fonte, data e contexto. | MASTER-51b8f0ad-0007: Proposta de valor do país organizada por acesso a mercados, localização regional, recursos, corredores logísticos, base produtiva, capital humano, energia, zonas económicas, estabilidade institucional e oportunidades de transformação. Cada argumento deve ter fonte, data e contexto. | MASTER-edece80c-0024: Proposta de valor do país organizada por acesso a mercados, localização regional, recursos, corredores logísticos, base produtiva, capital humano, energia, zonas económicas, estabilidade institucional e oportunidades de transformação. Cada argumento deve ter fonte, data e contexto.",P1,MASTER-471012ab-0006: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0024: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0007: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0007: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0024: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-471012ab-0006 | MASTER-e1169a77-0024 | MASTER-f70ce307-0007 | MASTER-51b8f0ad-0007 | MASTER-edece80c-0024,5,"[{""id"":""MASTER-471012ab-0006"",""pedido"":""Proposta de valor do país organizada por acesso a mercados, localização regional, recursos, corredores logísticos, base produtiva, capital humano, energia, zonas económicas, estabilidade institucional e oportunidades de transformação. Cada argumento deve ter fonte, data e contexto."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 98""],""aceitacao"":""Proposta de valor do país organizada por acesso a mercados, localização regional, recursos, corredores logísticos, base produtiva, capital humano, energia, zonas económicas, estabilidade institucional e oportunidades de transformação. Cada argumento deve ter fonte, data e contexto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-e1169a77-0024"",""pedido"":""Proposta de valor do país organizada por acesso a mercados, localização regional, recursos, corredores logísticos, base produtiva, capital humano, energia, zonas económicas, estabilidade institucional e oportunidades de transformação. Cada argumento deve ter fonte, data e contexto."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 444""],""aceitacao"":""Proposta de valor do país organizada por acesso a mercados, localização regional, recursos, corredores logísticos, base produtiva, capital humano, energia, zonas económicas, estabilidade institucional e oportunidades de transformação. Cada argumento deve ter fonte, data e contexto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-f70ce307-0007"",""pedido"":""Proposta de valor do país organizada por acesso a mercados, localização regional, recursos, corredores logísticos, base produtiva, capital humano, energia, zonas económicas, estabilidade institucional e oportunidades de transformação. Cada argumento deve ter fonte, data e contexto."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 101""],""aceitacao"":""Proposta de valor do país organizada por acesso a mercados, localização regional, recursos, corredores logísticos, base produtiva, capital humano, energia, zonas económicas, estabilidade institucional e oportunidades de transformação. Cada argumento deve ter fonte, data e contexto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-51b8f0ad-0007"",""pedido"":""Proposta de valor do país organizada por acesso a mercados, localização regional, recursos, corredores logísticos, base produtiva, capital humano, energia, zonas económicas, estabilidade institucional e oportunidades de transformação. Cada argumento deve ter fonte, data e contexto."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 143""],""aceitacao"":""Proposta de valor do país organizada por acesso a mercados, localização regional, recursos, corredores logísticos, base produtiva, capital humano, energia, zonas económicas, estabilidade institucional e oportunidades de transformação. Cada argumento deve ter fonte, data e contexto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-edece80c-0024"",""pedido"":""Proposta de valor do país organizada por acesso a mercados, localização regional, recursos, corredores logísticos, base produtiva, capital humano, energia, zonas económicas, estabilidade institucional e oportunidades de transformação. Cada argumento deve ter fonte, data e contexto."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 444""],""aceitacao"":""Proposta de valor do país organizada por acesso a mercados, localização regional, recursos, corredores logísticos, base produtiva, capital humano, energia, zonas económicas, estabilidade institucional e oportunidades de transformação. Cada argumento deve ter fonte, data e contexto."",""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-0007,Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto.,portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 104 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 450 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 107 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 149 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 450,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-0007: Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto. | MASTER-e1169a77-0025: Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto. | MASTER-f70ce307-0008: Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto. | MASTER-51b8f0ad-0008: Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto. | MASTER-edece80c-0025: Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto.,P2,MASTER-471012ab-0007: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0025: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0008: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0008: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0025: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-471012ab-0007 | MASTER-e1169a77-0025 | MASTER-f70ce307-0008 | MASTER-51b8f0ad-0008 | MASTER-edece80c-0025,5,"[{""id"":""MASTER-471012ab-0007"",""pedido"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 104""],""aceitacao"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-e1169a77-0025"",""pedido"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 450""],""aceitacao"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-f70ce307-0008"",""pedido"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 107""],""aceitacao"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-51b8f0ad-0008"",""pedido"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 149""],""aceitacao"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-edece80c-0025"",""pedido"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 450""],""aceitacao"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""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-0007,Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto.,portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 104 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 450 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 107 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 149 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 450,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-0007: Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto. | MASTER-e1169a77-0025: Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto. | MASTER-f70ce307-0008: Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto. | MASTER-51b8f0ad-0008: Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto. | MASTER-edece80c-0025: Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto.,P2,MASTER-471012ab-0007: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0025: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0008: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0008: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0025: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-471012ab-0007 | MASTER-e1169a77-0025 | MASTER-f70ce307-0008 | MASTER-51b8f0ad-0008 | MASTER-edece80c-0025,5,"[{""id"":""MASTER-471012ab-0007"",""pedido"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 104""],""aceitacao"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-e1169a77-0025"",""pedido"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 450""],""aceitacao"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-f70ce307-0008"",""pedido"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 107""],""aceitacao"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-51b8f0ad-0008"",""pedido"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 149""],""aceitacao"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-edece80c-0025"",""pedido"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 450""],""aceitacao"":""Seleccionar actividade; ver oportunidades; registar perfil sectorial; propor projecto."",""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.,"27/10 navegação sectoresQA:3/319 rollback55441;cartões sem detalhes agregados;sector.url;duas escolhas isoladas;filtro,regresso/reload e ligação dossier preservados;Wayfinder/tipos/build. Recibo sector-navigation-qa-20261027.json. | Histórico preservado: 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,"27/10/2026 — navegação sectorial, reprodução local autorizada da intenção88b39b5 | Histórico preservado: 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.",,,"Correcção delimitada dos sectores emQA,sem instalação;âmbito maior da linha e provas anteriores preservados. | Histórico preservado: " MASTER-471012ab-0008,"Cada página deve mostrar fonte, data de actualização, proprietário do conteúdo, idioma e estado de validação.",portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 128 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 476 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 133 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 175 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 476,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-0008: Cada página deve mostrar fonte, data de actualização, proprietário do conteúdo, idioma e estado de validação. | MASTER-e1169a77-0027: Cada página deve mostrar fonte, data de actualização, proprietário do conteúdo, idioma e estado de validação. | MASTER-f70ce307-0010: Cada página deve mostrar fonte, data de actualização, proprietário do conteúdo, idioma e estado de validação. | MASTER-51b8f0ad-0010: Cada página deve mostrar fonte, data de actualização, proprietário do conteúdo, idioma e estado de validação. | MASTER-edece80c-0027: Cada página deve mostrar fonte, data de actualização, proprietário do conteúdo, idioma e estado de validação.",P2,MASTER-471012ab-0008: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0027: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0010: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0010: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0027: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-471012ab-0008 | MASTER-e1169a77-0027 | MASTER-f70ce307-0010 | MASTER-51b8f0ad-0010 | MASTER-edece80c-0027,5,"[{""id"":""MASTER-471012ab-0008"",""pedido"":""Cada página deve mostrar fonte, data de actualização, proprietário do conteúdo, idioma e estado de validação."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 128""],""aceitacao"":""Cada página deve mostrar fonte, data de actualização, proprietário do conteúdo, idioma e estado de validação."",""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-0027"",""pedido"":""Cada página deve mostrar fonte, data de actualização, proprietário do conteúdo, idioma e estado de validação."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 476""],""aceitacao"":""Cada página deve mostrar fonte, data de actualização, proprietário do conteúdo, idioma e estado de validação."",""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-0010"",""pedido"":""Cada página deve mostrar fonte, data de actualização, proprietário do conteúdo, idioma e estado de validação."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 133""],""aceitacao"":""Cada página deve mostrar fonte, data de actualização, proprietário do conteúdo, idioma e estado de validação."",""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-0010"",""pedido"":""Cada página deve mostrar fonte, data de actualização, proprietário do conteúdo, idioma e estado de validação."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 175""],""aceitacao"":""Cada página deve mostrar fonte, data de actualização, proprietário do conteúdo, idioma e estado de validação."",""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-0027"",""pedido"":""Cada página deve mostrar fonte, data de actualização, proprietário do conteúdo, idioma e estado de validação."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 476""],""aceitacao"":""Cada página deve mostrar fonte, data de actualização, proprietário do conteúdo, idioma e estado de validação."",""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-0009,"Dados económicos, incentivos, licenças, taxas e prazos devem distinguir valor oficial, estimativa, referência histórica e informação pendente.",portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 129 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 477 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 134 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 176 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 477,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-0009: Dados económicos, incentivos, licenças, taxas e prazos devem distinguir valor oficial, estimativa, referência histórica e informação pendente. | MASTER-e1169a77-0028: Dados económicos, incentivos, licenças, taxas e prazos devem distinguir valor oficial, estimativa, referência histórica e informação pendente. | MASTER-f70ce307-0011: Dados económicos, incentivos, licenças, taxas e prazos devem distinguir valor oficial, estimativa, referência histórica e informação pendente. | MASTER-51b8f0ad-0011: Dados económicos, incentivos, licenças, taxas e prazos devem distinguir valor oficial, estimativa, referência histórica e informação pendente. | MASTER-edece80c-0028: Dados económicos, incentivos, licenças, taxas e prazos devem distinguir valor oficial, estimativa, referência histórica e informação pendente.",P2,MASTER-471012ab-0009: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0028: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0011: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0011: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0028: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-471012ab-0009 | MASTER-e1169a77-0028 | MASTER-f70ce307-0011 | MASTER-51b8f0ad-0011 | MASTER-edece80c-0028,5,"[{""id"":""MASTER-471012ab-0009"",""pedido"":""Dados económicos, incentivos, licenças, taxas e prazos devem distinguir valor oficial, estimativa, referência histórica e informação pendente."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 129""],""aceitacao"":""Dados económicos, incentivos, licenças, taxas e prazos devem distinguir valor oficial, estimativa, referência histórica e informação pendente."",""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-0028"",""pedido"":""Dados económicos, incentivos, licenças, taxas e prazos devem distinguir valor oficial, estimativa, referência histórica e informação pendente."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 477""],""aceitacao"":""Dados económicos, incentivos, licenças, taxas e prazos devem distinguir valor oficial, estimativa, referência histórica e informação pendente."",""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-0011"",""pedido"":""Dados económicos, incentivos, licenças, taxas e prazos devem distinguir valor oficial, estimativa, referência histórica e informação pendente."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 134""],""aceitacao"":""Dados económicos, incentivos, licenças, taxas e prazos devem distinguir valor oficial, estimativa, referência histórica e informação pendente."",""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-0011"",""pedido"":""Dados económicos, incentivos, licenças, taxas e prazos devem distinguir valor oficial, estimativa, referência histórica e informação pendente."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 176""],""aceitacao"":""Dados económicos, incentivos, licenças, taxas e prazos devem distinguir valor oficial, estimativa, referência histórica e informação pendente."",""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-0028"",""pedido"":""Dados económicos, incentivos, licenças, taxas e prazos devem distinguir valor oficial, estimativa, referência histórica e informação pendente."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 477""],""aceitacao"":""Dados económicos, incentivos, licenças, taxas e prazos devem distinguir valor oficial, estimativa, referência histórica e informação pendente."",""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-0010,"Perfis sectoriais devem conter oportunidades imediatas, projectos em preparação, lacunas de mercado, fornecedores procurados e compradores potenciais.",portal do investidor\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 130 | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 478 | portal do investidor\Portal V4\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 135 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 177 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 478,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.","27/10 identidade proactivaQA 3439f350,sem instalação ou análise económica real;L8 14360748 preservada. | Histórico preservado: 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.","Caso CB-METROLOGIA-20261027: ficha401→dossier894343c7-c33d-452e-a6a5-b6675f77ee23; cinco evidências recuperadas e relatório; consulta anónima recusada. Provas técnicas1afab4a2 reutilizadas. | Histórico preservado: 14API/139asserções;7relatório;UI Laravel login/MFA,criar/guardar/recuperar/editar,divulgar sóQA,anónimo,dossier,recarregar/retomar;tipos/build. | Histórico preservado: outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.","Parcial — primeiro caso com fontes reais aplicado em QA; necessidade comercial ainda hipótese, não publicado. | Histórico preservado: Parcial — primeiro percurso proactivo editorial demonstrado emQA;demais cláusulas originais conservadas. | Histórico preservado: 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-0010: Perfis sectoriais devem conter oportunidades imediatas, projectos em preparação, lacunas de mercado, fornecedores procurados e compradores potenciais. | MASTER-e1169a77-0029: Perfis sectoriais devem conter oportunidades imediatas, projectos em preparação, lacunas de mercado, fornecedores procurados e compradores potenciais. | MASTER-f70ce307-0012: Perfis sectoriais devem conter oportunidades imediatas, projectos em preparação, lacunas de mercado, fornecedores procurados e compradores potenciais. | MASTER-51b8f0ad-0012: Perfis sectoriais devem conter oportunidades imediatas, projectos em preparação, lacunas de mercado, fornecedores procurados e compradores potenciais. | MASTER-edece80c-0029: Perfis sectoriais devem conter oportunidades imediatas, projectos em preparação, lacunas de mercado, fornecedores procurados e compradores potenciais.",P2,MASTER-471012ab-0010: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-e1169a77-0029: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-f70ce307-0012: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0012: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0029: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,MASTER-471012ab-0010 | MASTER-e1169a77-0029 | MASTER-f70ce307-0012 | MASTER-51b8f0ad-0012 | MASTER-edece80c-0029,5,"[{""id"":""MASTER-471012ab-0010"",""pedido"":""Perfis sectoriais devem conter oportunidades imediatas, projectos em preparação, lacunas de mercado, fornecedores procurados e compradores potenciais."",""fontes"":[""portal do investidor\\upgrade do portal de investimentos.docx; SHA 471012abb0f56377956f4ab822fe3186e2561bee0471508a5d807091f2e0154f; w:p 130""],""aceitacao"":""Perfis sectoriais devem conter oportunidades imediatas, projectos em preparação, lacunas de mercado, fornecedores procurados e compradores potenciais."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-e1169a77-0029"",""pedido"":""Perfis sectoriais devem conter oportunidades imediatas, projectos em preparação, lacunas de mercado, fornecedores procurados e compradores potenciais."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 478""],""aceitacao"":""Perfis sectoriais devem conter oportunidades imediatas, projectos em preparação, lacunas de mercado, fornecedores procurados e compradores potenciais."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-f70ce307-0012"",""pedido"":""Perfis sectoriais devem conter oportunidades imediatas, projectos em preparação, lacunas de mercado, fornecedores procurados e compradores potenciais."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v1.docx; SHA f70ce3075523c6278e00dce15b9c7acf2b690679e16959ae5f7d007e754cfc6e; w:p 135""],""aceitacao"":""Perfis sectoriais devem conter oportunidades imediatas, projectos em preparação, lacunas de mercado, fornecedores procurados e compradores potenciais."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-51b8f0ad-0012"",""pedido"":""Perfis sectoriais devem conter oportunidades imediatas, projectos em preparação, lacunas de mercado, fornecedores procurados e compradores potenciais."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 177""],""aceitacao"":""Perfis sectoriais devem conter oportunidades imediatas, projectos em preparação, lacunas de mercado, fornecedores procurados e compradores potenciais."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""oportunidades""},{""id"":""MASTER-edece80c-0029"",""pedido"":""Perfis sectoriais devem conter oportunidades imediatas, projectos em preparação, lacunas de mercado, fornecedores procurados e compradores potenciais."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 478""],""aceitacao"":""Perfis sectoriais devem conter oportunidades imediatas, projectos em preparação, lacunas de mercado, fornecedores procurados e compradores potenciais."",""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,"27/10: autonomia pela interface demonstrada com perfil QA autorizado: resposta anexada/recuperada,ideia revista e mesmo dossier actualizado sem publicação. Songo/Gurué intactos;sem sessão de formação real presumida. | Histórico preservado: 27/10: Songo pronto para prospecção,privado e pendente de respostas;ficha da equipa disponível. Novo piloto Gurué402/contexto1:apoio à colheita e qualidade do chá como hipótese,sem procura ou viabilidade confirmadas. | Histórico preservado: Caso regional401v3:Vulcan,EDM eNacalaLogistics são prospectos adicionais;ligação accionistaVulcan/Nacala preservada;projecto futuro fora da base. O responsável confirmou ausência de dados comerciais;sustentabilidade não demonstrada. | Histórico preservado: Cahora Bassa: actividade HCB documentada; calibração planeada2026; apoio associado no Songo como hipótese. Prazos do plano passados; sem adjudicação, ausência de oferta ou viabilidade inferidas. | Histórico preservado: Reutiliza rascunhos/auditoria/promoção/catálogo/dossier/contextos existentes;sem novos mestres ou permissões. Equipa interna prepara sem promotor real conhecido;outros âmbitos preservados. | Histórico preservado: 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.",Concluir apenas com evidência económica local por caso;provar participação/contrato/acesso quando alegados. Automatização e quantificação futura dependem de dados/pressupostos explícitos;sem fecho global deste requisito. | Histórico preservado: 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/management_draft,auditoria cifrada,OpportunityPromotion,geo_locations,sectors,value_chains,documentos e escolhas por ideia no dossier/simulador. | Histórico preservado: OpportunityManagement, OpportunityCanonicalContract/Response, OpportunityReviewMateriality, PortalProfileAccess, OpportunityResources","Instalação:capacidade/inodes,main actual,backup/restauro fresco e delta servido. Songo:respostas externas;Gurué:necessidade comercial por confirmar. Independentes da disponibilidade técnica. | Histórico preservado: Songo:inventários/programas/interesse e propostas dos parceiros,distinguindo centros de compra. Gurué:problema actual,critérios,janelas,papéis e pagador. Entrega técnica independente;instalação aguarda capacidade medida. | Histórico preservado: Comercial apenas deste caso:inventários/programas por comprador,volumes,capacidade/preço de parceiros e custo de missões/rotas. Sem frequência anual presumida,zeros ou dupla contagem. Entrega técnica1afab4a2independente. | Histórico preservado: Validação comercial limita apenas a hipótese CB-METROLOGIA;não bloqueia entrega técnica1afab4a2. Confirmar recorrência,volumes/âmbito,parceiros e vantagem;admitir necessidade futura ou arquivo fundamentado se satisfeita. | Histórico preservado: Estado/recorrência das compras, instrumentos/quantidades/requisitos, oferta e parceiros actuais, vantagem/custos; confirmar cada ponto com o comprador e prestadores. Sem contacto externo ou bloqueio pela capacidade do servidor. | Histórico preservado: Método Ruanda disponível(PDF2007,31p;PPT2008,50slides);metodologia não confirma procura local. Fontes internas não divulgadas;revisão semântica editorial no fluxo existente. | Histórico preservado: 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.","Pedido expresso27/10:encerrar aprofundamento do Songo nesta passagem;prospecção externa e viabilidade quando chegarem respostas;avançar próximo piloto territorial,privado. Publicação e instalação continuam separadas. | Histórico preservado: Decisão expressa:concursos são evidência de procura para oportunidades geradas;foco em cliente,problema,valor,recursos/parcerias e dossier,sem produto de gestão de concursos. | Histórico preservado: Pedido expressoTempo27/10:primeiro incremento emQA,sem integrarL8/instalar/limparservidor/alterarSGF. Sem novo aprovador organizacional. | Histórico preservado: Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.",Implementação e demonstraçãoQA do recorte;conteúdo económico real por confirmar e automação futura separados. | Histórico preservado: 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.,"FichaQA403v4,dossiercontexto2,anexo ClamAV e hash igual ao original. Correcção51d536b7:complementos não tratam preparação privada como origem pública perdida. 2testes/18asserções;provas aceites reutilizadas. Guia no manual;recibo proactive-team-autonomy-qa-20261027.json. | Histórico preservado: Ficha de prospecção PDF2p/42campos reaberta e revista. Novo casoGurué402v1,dossiercontexto1,5referências,recuperação/relatório existentes. Todos os dados anteriores eSongo401v3intactos. Recibo proactive-handoff-gurue-qa-20261027.json;sem código novo,contacto externo,instalação ou repetição de provas. | Histórico preservado: Ficha401/contexto3com11evidências,relatório recuperado e históricos intactos. Recibo proactive-regional-clients-qa-20261027.json;fontes primárias regionais;sem nova funcionalidade,testes repetidos,instalação ou publicação. | Histórico preservado: FichaQA401v2,dossiercontexto2;7fontes recuperadas;anúncio HCB17/08/2026 e âmbitoIPACM0100;provas técnicas reutilizadas. Recibo proactive-opportunity-model-qa-20261027.json;sem novo código,publicação ou instalação. | Histórico preservado: docs/investmoz/unification/proactive-real-pilot-qa-20261027.json;outputs/proactive-real-pilot-20261027/;originais/linhasQAanteriores preservados;sem delta funcional ou instalação. | Histórico preservado: docs/investmoz/unification/proactive-investment-first-qa-20261027.json;outputs/proactive-investment-20261027/;89motores/31originais fiscais e2Ruanda preservados. | Histórico preservado: 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,"27/10/2026 — identidade proactiva,primeiro incremento QA | Histórico preservado: 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.,,,"Só percurso técnico com fixtures sintéticas. Hipótese/necessidade/ideia/projecto/oferta não equiparados;sem procura,viabilidade,contrato,acesso ou benefício fiscal presumidos.","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.",,,"Aplicação real preliminar privada emQA demonstrada;cláusulas integrais e pendências conservadas;sem publicação real ou validação comercial. | Histórico preservado: Primeiro incremento proactivo QA demonstrado;requisito global parcial,sem instalação nem validação económica real." diff --git a/resources/js/pages/portal/services.tsx b/resources/js/pages/portal/services.tsx index ae737c83..c396455c 100644 --- a/resources/js/pages/portal/services.tsx +++ b/resources/js/pages/portal/services.tsx @@ -71,7 +71,6 @@ type Page = { }; type Props = { sectorEntry?: SectorDetailData['sectorEntry']; - sectorDetails?: SectorDetailData[]; countries?: Country[]; section: string; filters?: Record; @@ -518,41 +517,9 @@ export default function Services(p: Props) { description: sector.short_description, opportunitiesCount: sector.opportunities_count, specializations: sector.specializations, - url: p.sectorDetails?.length - ? `#sector-${sector.slug}` - : sector.url, + url: sector.url, }))} /> - {p.sectorDetails?.map((detail) => ( -
-
-

- {detail.sector.name} -

- - Abrir página do sector - -
- - - Voltar à lista de sectores - -
- ))} {!p.sectors?.length && (

Não existem sectores publicados.

)} diff --git a/tests/Feature/SectorCatalogueContentTest.php b/tests/Feature/SectorCatalogueContentTest.php index 4b463ca9..db3857ea 100644 --- a/tests/Feature/SectorCatalogueContentTest.php +++ b/tests/Feature/SectorCatalogueContentTest.php @@ -47,17 +47,22 @@ class SectorCatalogueContentTest extends TestCase $before = [DB::table('desk_cases')->count(), DB::table('opportunities')->count(), DB::table('portal_resources')->count()]; $props = $this->get('/sectores')->assertOk()->inertiaProps(); - $this->assertSame(array_column($props['sectors'], 'id'), array_column(array_column($props['sectorDetails'], 'sector'), 'id')); - foreach ($props['sectorDetails'] as $detail) { - $single = $this->get('/sectores/'.$detail['sector']['slug'])->assertOk()->inertiaProps(); - $this->assertSame($single['sector'], $detail['sector']); - $this->assertSame($single['sectorEntry'], $detail['sectorEntry']); - $this->assertSame($single['opportunities'], $detail['opportunities']); - $this->assertIsArray($detail['sectorEntry']['articles']); - $this->assertIsArray($detail['sectorEntry']['relations']); - $this->assertIsArray($detail['sectorEntry']['locations']); + $this->assertArrayNotHasKey('sectorDetails', $props); + $ids = array_column($props['sectors'], 'id'); + $this->assertSame($ids, array_values(array_unique($ids))); + foreach ($props['sectors'] as $card) { + $this->assertSame(\App\Services\SectorOrganization::href($card['slug']), $card['url']); + $this->assertStringNotContainsString('#', $card['url']); + $single = $this->get($card['url'])->assertOk()->inertiaProps(); + $this->assertSame('sector', $single['section']); + $this->assertSame($card['id'], $single['sector']['id']); + $this->assertArrayNotHasKey('sectorDetails', $single); + $this->assertArrayNotHasKey('sectors', $single); + $this->assertIsArray($single['sectorEntry']['articles']); + $this->assertIsArray($single['sectorEntry']['relations']); + $this->assertIsArray($single['sectorEntry']['locations']); } - $entry = collect($props['sectorDetails'])->firstWhere('sector.id', $withoutGuide->id)['sectorEntry']; + $entry = $this->get('/sectores/'.$withoutGuide->slug)->assertOk()->inertiaProps()['sectorEntry']; $this->assertSame([], $entry['articles']); $this->assertSame('/minhas-oportunidades/create?sector_id='.$withoutGuide->id, $entry['register_href']); $this->assertNotNull($entry['start_href']); @@ -80,10 +85,11 @@ class SectorCatalogueContentTest extends TestCase } config(['investor-path.enabled' => false, 'portal.profile_access_enabled' => false]); $props = $this->get('/sectores')->assertOk()->inertiaProps(); - $ids = array_column(array_column($props['sectorDetails'], 'sector'), 'id'); + $this->assertArrayNotHasKey('sectorDetails', $props); + $ids = array_column($props['sectors'], 'id'); $this->assertNotContains($unpublished->id, $ids); $this->assertNotContains($inactive->id, $ids); - $detail = collect($props['sectorDetails'])->firstWhere('sector.id', $public->id); + $detail = $this->get('/sectores/'.$public->slug)->assertOk()->inertiaProps(); $this->assertSame([$slugs['published']], array_column($detail['opportunities'], 'slug')); $this->assertNull($detail['sectorEntry']['start_href']); $this->assertNull($detail['sectorEntry']['register_href']); @@ -92,4 +98,29 @@ class SectorCatalogueContentTest extends TestCase $this->get('/sectores/'.$unpublished->slug)->assertNotFound(); $this->get('/sectores/'.$inactive->slug)->assertNotFound(); } + public function test_selecting_a_sector_keeps_opportunities_scoped_on_reload_and_return(): void + { + $a = $this->sector();$b = $this->sector(); + foreach ([$a, $b] as $sector) { + $slug = 'qa-isolated-'.Str::lower(Str::random(12)); + Opportunity::create(['sector_id'=>$sector->id, 'reference'=>$slug, 'title'=>$slug, 'slug'=>$slug, + 'summary'=>'Synthetic scoped opportunity', 'status'=>'published', 'published_at'=>now()->subDay()]); + } + $index = $this->get('/sectores')->assertOk()->inertiaProps(); + foreach ([$a, $b, $a] as $sector) { + $url = collect($index['sectors'])->firstWhere('id', $sector->id)['url']; + $first = $this->get($url)->assertOk()->inertiaProps(); + $reload = $this->get($url)->assertOk()->inertiaProps(); + $this->assertSame($first['sector'], $reload['sector']); + $this->assertSame($first['opportunities'], $reload['opportunities']); + $this->assertSame($sector->id, $first['sector']['id']); + $this->assertSame(Opportunity::where('sector_id',$sector->id)->pluck('slug')->all(), array_column($first['opportunities'],'slug')); + $this->assertSame('/investimentos/a-partir-do-setor/'.$sector->slug, $first['sectorEntry']['start_href']); + $this->get($first['sectorEntry']['start_href'])->assertRedirect('/login'); + $returned = $this->get('/sectores')->assertOk()->inertiaProps(); + $this->assertSame($index['sectors'], $returned['sectors']); + $this->assertArrayNotHasKey('sectorDetails', $returned); + } + } + }