docs: define functional scope of validated InvesteMoz revision
This commit is contained in:
@@ -2043,3 +2043,35 @@ Correcções incluem contratos de dados e falhas explícitas de leitura/hash, co
|
||||
Execução exclusivamente em bases QA isoladas em `127.0.0.1:55441`, com contextos vazios ou clones preparados conforme as guardas originais. Os 28 originais editoriais foram recuperados de arquivo local e conferidos por SHA-256; seis testes editoriais passaram com scanner real. Preservados os originais, arquivos de fontes, ferramentas históricas, chave da aplicação, dados activos e históricos. Zero migrações/importações/escritas na base activa, push ou deployment. A alteração inclui formatação abrangente do código mantido; o manifesto de hashes identifica os ficheiros validados.
|
||||
|
||||
**Conferência visual autenticada pendente:** a revisão automática interrompeu Computer Use por não conseguir determinar com confiança o URL actual do Chrome. Não foi declarado aceite visual de Competitividade nem encerramento transversal de ACT-01, ACT-02 ou V2-07/V2-10. Recibo e provas: [local-validation-20261029.json](unification/local-validation-20261029.json).
|
||||
|
||||
### daf86234 — âmbito funcional da entrega e conferência visual dirigida
|
||||
|
||||
Delta conferido contra o pai `63147312`. Revisão validada localmente; envio e instalação continuam sem confirmação. A aceitação visual está pendente por bloqueio da ferramenta, que não demonstra falha do portal.
|
||||
|
||||
| Área afectada | Correcção funcional incluída | Conferência visual dirigida |
|
||||
|---|---|---|
|
||||
| Dossier → simulador | Ao abrir um dossier sem seleccionar uma oportunidade, o snapshot conserva as oportunidades guardadas como proveniência. Localização, regime e requisitos específicos continuam dependentes da oportunidade escolhida. | Dossier com várias oportunidades: abrir simulador, escolher cada oportunidade, guardar e reabrir; conferir escolhas, contexto específico e edições deliberadas. |
|
||||
| Manifestação de interesse | A repetição do mesmo envio devolve uma confirmação estável, mesmo após evolução do pedido, sem reabrir o seu estado. A participação relativa a um negócio usa o título público correcto. A chave de envio é validada como UUID obrigatório; essa obrigação já existia antes deste commit. | Enviar interesse numa oportunidade e num negócio; repetir o envio e conferir referência, título e estado actual no acompanhamento, sem duplicação. |
|
||||
| Página inicial | A gravação ou eliminação de sectores/oportunidades invalida também a chave de cache actualmente usada pela página inicial, em português e inglês, evitando apresentação de dados anteriores. | Após alteração autorizada de um sector ou oportunidade, actualizar a página inicial e conferir a informação apresentada nos idiomas afectados. |
|
||||
| Classificação territorial | A selecção de localizações reutiliza directamente a consulta territorial pública existente, eliminando uma subconsulta recursiva redundante. Mantém a exclusão de referências privadas, não aprovadas ou com ascendência não pública. | Nos formulários que usam a classificação/localização da oportunidade, abrir as opções e conferir carregamento, selecção e exclusão de referências não autorizadas. A varredura QA de rotas terminou em cerca de 35 segundos; isso não é uma medição do portal instalado. |
|
||||
| Consulta pública e contacto | Pedidos anónimos deixam de consultar a governação de perfis no middleware de sessão. O POST JSON de contacto deixa de carregar a navegação Inertia, evitando essa dependência de base de dados; mantém os restantes controlos da rota. | Sem autenticação, abrir as entradas públicas afectadas e enviar o formulário de contacto; conferir confirmação e apresentação dos erros de validação. |
|
||||
| Leitura de artigos de agronegócio | O artigo original continua legível quando o sector/catálogo opcional de oportunidades de agronegócio ainda não foi carregado. Nessa situação, a ausência de ligações de oportunidades deixa de impedir a leitura. | Conferir o artigo de agronegócio e as suas ligações publicadas. A variante sem catálogo é ensaiada apenas em QA, sem remover cadastros do destino. |
|
||||
| Administração de perfis | Repõe o directório mínimo de contas existentes e as sugestões de selecção nas atribuições e substituições: identificador, nome, email e indicadores de confirmação/MFA. A consulta continua sujeita à administração autorizada e não inclui palavras-passe ou segredos MFA. | Com administrador autorizado e MFA, conferir as sugestões de contas nas atribuições e substituições; verificar também a recusa de acesso por perfil não autorizado, sem efectuar atribuições fictícias no activo. |
|
||||
|
||||
Robustez transversal: Leitura, hash e tamanho de ficheiros e divisões por expressão regular passam a tratar falhas explicitamente. Colecções preservam os seus elementos e rejeitam formas inválidas; valores estruturados indevidos em campos de texto aparecem como valor não textual em vez de [object Object]. Há ainda correcções de contratos de respostas, cabeçalhos, resultados de consultas e verificações de valores ausentes.
|
||||
|
||||
Formatação abrangente do código mantido, tipos, contratos de colecções/consultas/respostas, limpeza de lint e refactorizações auxiliares não constituem novas funcionalidades de negócio.
|
||||
|
||||
Fixtures de autenticação/MFA/publicação, isolamento de bases e ficheiros QA, isolamento dos manifestos de fontes e correcções das expectativas dos testes são suporte da validação, sem novas regras organizacionais.
|
||||
|
||||
Quatro migrações editoriais/de navegação existentes passam a aceitar também a guarda QA isolada já existente. Não são quatro migrações funcionais novas nem prova de execução no destino.
|
||||
|
||||
Competitividade e a compatibilidade dos filtros provinciais já estavam reconciliadas no pai 63147312; não são anunciadas como novas funcionalidades de daf86234.
|
||||
|
||||
Os totais de testes demonstram a validação técnica registada; não comprovam push, instalação, publicação editorial ou aceitação visual.
|
||||
|
||||
A conferência visual é limitada aos ecrãs/percursos afectados e pode ser realizada pela equipa, com registo na mesma matriz: revisão instalada, URL/percurso, perfil/âmbito autorizado, acção, resultado e evidência. O bloqueio da ferramenta não demonstra falha do portal.
|
||||
|
||||
Mantêm-se os estados dos requisitos amplos ACT-01, ACT-02 e V2-07/V2-10.
|
||||
|
||||
Ficheiros e testes por correcção: campo `delivery_scope` do [recibo existente](unification/local-validation-20261029.json). Este aditamento documenta o commit de implementação; não altera código executável nem repete a validação técnica já registada.
|
||||
|
||||
@@ -538,5 +538,128 @@
|
||||
"temporary_postgresql_cluster_stopped": true,
|
||||
"existing_application_processes_stopped": 0,
|
||||
"qa_backups_and_evidence_retained": true
|
||||
},
|
||||
"delivery_scope": {
|
||||
"implementation_commit": "daf8623441f1d88804e7fef34a3f2b807e1a39b9",
|
||||
"comparison_base": "63147312e2fdb6dc235bcb2763f47d8b1aeeac3c",
|
||||
"confirmation": {
|
||||
"local_validation": "passed",
|
||||
"push": "not_confirmed",
|
||||
"installation": "not_confirmed",
|
||||
"visual_acceptance": "pending"
|
||||
},
|
||||
"functional_corrections": [
|
||||
{
|
||||
"area": "Dossier → simulador",
|
||||
"change": "Ao abrir um dossier sem seleccionar uma oportunidade, o snapshot conserva as oportunidades guardadas como proveniência. Localização, regime e requisitos específicos continuam dependentes da oportunidade escolhida.",
|
||||
"code": [
|
||||
"app/Services/InvestorContext.php"
|
||||
],
|
||||
"tests": [
|
||||
"tests/Feature/InvestmentOpportunityChoicesTest.php",
|
||||
"tests/Feature/InvestmentPortfolioContinuityTest.php",
|
||||
"tests/Feature/InvestmentConsumerScopeTest.php"
|
||||
],
|
||||
"visual": "Dossier com várias oportunidades: abrir simulador, escolher cada oportunidade, guardar e reabrir; conferir escolhas, contexto específico e edições deliberadas."
|
||||
},
|
||||
{
|
||||
"area": "Manifestação de interesse",
|
||||
"change": "A repetição do mesmo envio devolve uma confirmação estável, mesmo após evolução do pedido, sem reabrir o seu estado. A participação relativa a um negócio usa o título público correcto. A chave de envio é validada como UUID obrigatório; essa obrigação já existia antes deste commit.",
|
||||
"code": [
|
||||
"app/Http/Controllers/Api/V1/InterestRequestController.php"
|
||||
],
|
||||
"tests": [
|
||||
"tests/Feature/InterestSubmissionTest.php",
|
||||
"tests/Feature/BusinessMarketplacePublicTest.php"
|
||||
],
|
||||
"visual": "Enviar interesse numa oportunidade e num negócio; repetir o envio e conferir referência, título e estado actual no acompanhamento, sem duplicação."
|
||||
},
|
||||
{
|
||||
"area": "Página inicial",
|
||||
"change": "A gravação ou eliminação de sectores/oportunidades invalida também a chave de cache actualmente usada pela página inicial, em português e inglês, evitando apresentação de dados anteriores.",
|
||||
"code": [
|
||||
"app/Providers/AppServiceProvider.php"
|
||||
],
|
||||
"tests": [
|
||||
"tests/Feature/PublicPortalNavigationTest.php"
|
||||
],
|
||||
"visual": "Após alteração autorizada de um sector ou oportunidade, actualizar a página inicial e conferir a informação apresentada nos idiomas afectados."
|
||||
},
|
||||
{
|
||||
"area": "Classificação territorial",
|
||||
"change": "A selecção de localizações reutiliza directamente a consulta territorial pública existente, eliminando uma subconsulta recursiva redundante. Mantém a exclusão de referências privadas, não aprovadas ou com ascendência não pública.",
|
||||
"code": [
|
||||
"app/Services/OpportunityClassification.php"
|
||||
],
|
||||
"tests": [
|
||||
"tests/Feature/InvestmentTerritoryTest.php",
|
||||
"tests/Feature/PortalAuditRoutesTest.php"
|
||||
],
|
||||
"visual": "Nos formulários que usam a classificação/localização da oportunidade, abrir as opções e conferir carregamento, selecção e exclusão de referências não autorizadas. A varredura QA de rotas terminou em cerca de 35 segundos; isso não é uma medição do portal instalado."
|
||||
},
|
||||
{
|
||||
"area": "Consulta pública e contacto",
|
||||
"change": "Pedidos anónimos deixam de consultar a governação de perfis no middleware de sessão. O POST JSON de contacto deixa de carregar a navegação Inertia, evitando essa dependência de base de dados; mantém os restantes controlos da rota.",
|
||||
"code": [
|
||||
"app/Http/Middleware/PortalProfileSession.php",
|
||||
"routes/investment.php"
|
||||
],
|
||||
"tests": [
|
||||
"tests/Unit/PortalContactTest.php",
|
||||
"tests/Feature/PublicPortalNavigationTest.php"
|
||||
],
|
||||
"visual": "Sem autenticação, abrir as entradas públicas afectadas e enviar o formulário de contacto; conferir confirmação e apresentação dos erros de validação."
|
||||
},
|
||||
{
|
||||
"area": "Leitura de artigos de agronegócio",
|
||||
"change": "O artigo original continua legível quando o sector/catálogo opcional de oportunidades de agronegócio ainda não foi carregado. Nessa situação, a ausência de ligações de oportunidades deixa de impedir a leitura.",
|
||||
"code": [
|
||||
"app/Services/CorridorAgribusinessOpportunities.php"
|
||||
],
|
||||
"tests": [
|
||||
"tests/Feature/LegacyContentTest.php",
|
||||
"tests/Feature/LegacyEditorialWorkflowTest.php"
|
||||
],
|
||||
"visual": "Conferir o artigo de agronegócio e as suas ligações publicadas. A variante sem catálogo é ensaiada apenas em QA, sem remover cadastros do destino."
|
||||
},
|
||||
{
|
||||
"area": "Administração de perfis",
|
||||
"change": "Repõe o directório mínimo de contas existentes e as sugestões de selecção nas atribuições e substituições: identificador, nome, email e indicadores de confirmação/MFA. A consulta continua sujeita à administração autorizada e não inclui palavras-passe ou segredos MFA.",
|
||||
"code": [
|
||||
"app/Http/Controllers/PortalProfileController.php",
|
||||
"resources/js/pages/profiles/administration.tsx"
|
||||
],
|
||||
"tests": [
|
||||
"tests/Feature/OpportunityPromotionTest.php"
|
||||
],
|
||||
"visual": "Com administrador autorizado e MFA, conferir as sugestões de contas nas atribuições e substituições; verificar também a recusa de acesso por perfil não autorizado, sem efectuar atribuições fictícias no activo."
|
||||
}
|
||||
],
|
||||
"cross_cutting_robustness": {
|
||||
"change": "Leitura, hash e tamanho de ficheiros e divisões por expressão regular passam a tratar falhas explicitamente. Colecções preservam os seus elementos e rejeitam formas inválidas; valores estruturados indevidos em campos de texto aparecem como valor não textual em vez de [object Object]. Há ainda correcções de contratos de respostas, cabeçalhos, resultados de consultas e verificações de valores ausentes.",
|
||||
"code": [
|
||||
"app/Support/CheckedFile.php",
|
||||
"app/Support/CheckedPattern.php",
|
||||
"app/Support/StructuredData.php",
|
||||
"resources/js/lib/input-text.ts"
|
||||
],
|
||||
"tests": [
|
||||
"tests/Unit/CheckedFileTest.php",
|
||||
"tests/Unit/StructuredDataTest.php",
|
||||
"tests/frontend/input-text.test.mjs"
|
||||
],
|
||||
"visual": "Nos formulários e documentos efectivamente usados nos percursos acima, conferir mensagens, valores recuperados e prévias. Dados inválidos e falhas de I/O são ensaiados em QA; não provocar corrupção no activo."
|
||||
},
|
||||
"technical_support": [
|
||||
"Formatação abrangente do código mantido, tipos, contratos de colecções/consultas/respostas, limpeza de lint e refactorizações auxiliares não constituem novas funcionalidades de negócio.",
|
||||
"Fixtures de autenticação/MFA/publicação, isolamento de bases e ficheiros QA, isolamento dos manifestos de fontes e correcções das expectativas dos testes são suporte da validação, sem novas regras organizacionais.",
|
||||
"Quatro migrações editoriais/de navegação existentes passam a aceitar também a guarda QA isolada já existente. Não são quatro migrações funcionais novas nem prova de execução no destino."
|
||||
],
|
||||
"scope_boundaries": [
|
||||
"Competitividade e a compatibilidade dos filtros provinciais já estavam reconciliadas no pai 63147312; não são anunciadas como novas funcionalidades de daf86234.",
|
||||
"Os totais de testes demonstram a validação técnica registada; não comprovam push, instalação, publicação editorial ou aceitação visual.",
|
||||
"A conferência visual é limitada aos ecrãs/percursos afectados e pode ser realizada pela equipa, com registo na mesma matriz: revisão instalada, URL/percurso, perfil/âmbito autorizado, acção, resultado e evidência. O bloqueio da ferramenta não demonstra falha do portal.",
|
||||
"Mantêm-se os estados dos requisitos amplos ACT-01, ACT-02 e V2-07/V2-10."
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7580,3 +7580,35 @@ Correcções incluem contratos de dados e falhas explícitas de leitura/hash, co
|
||||
Execução exclusivamente em bases QA isoladas em `127.0.0.1:55441`, com contextos vazios ou clones preparados conforme as guardas originais. Os 28 originais editoriais foram recuperados de arquivo local e conferidos por SHA-256; seis testes editoriais passaram com scanner real. Preservados os originais, arquivos de fontes, ferramentas históricas, chave da aplicação, dados activos e históricos. Zero migrações/importações/escritas na base activa, push ou deployment. A alteração inclui formatação abrangente do código mantido; o manifesto de hashes identifica os ficheiros validados.
|
||||
|
||||
**Conferência visual autenticada pendente:** a revisão automática interrompeu Computer Use por não conseguir determinar com confiança o URL actual do Chrome. Não foi declarado aceite visual de Competitividade nem encerramento transversal de ACT-01, ACT-02 ou V2-07/V2-10. Recibo e provas: [local-validation-20261029.json](local-validation-20261029.json).
|
||||
|
||||
### daf86234 — âmbito funcional da entrega e conferência visual dirigida
|
||||
|
||||
Delta conferido contra o pai `63147312`. Revisão validada localmente; envio e instalação continuam sem confirmação. A aceitação visual está pendente por bloqueio da ferramenta, que não demonstra falha do portal.
|
||||
|
||||
| Área afectada | Correcção funcional incluída | Conferência visual dirigida |
|
||||
|---|---|---|
|
||||
| Dossier → simulador | Ao abrir um dossier sem seleccionar uma oportunidade, o snapshot conserva as oportunidades guardadas como proveniência. Localização, regime e requisitos específicos continuam dependentes da oportunidade escolhida. | Dossier com várias oportunidades: abrir simulador, escolher cada oportunidade, guardar e reabrir; conferir escolhas, contexto específico e edições deliberadas. |
|
||||
| Manifestação de interesse | A repetição do mesmo envio devolve uma confirmação estável, mesmo após evolução do pedido, sem reabrir o seu estado. A participação relativa a um negócio usa o título público correcto. A chave de envio é validada como UUID obrigatório; essa obrigação já existia antes deste commit. | Enviar interesse numa oportunidade e num negócio; repetir o envio e conferir referência, título e estado actual no acompanhamento, sem duplicação. |
|
||||
| Página inicial | A gravação ou eliminação de sectores/oportunidades invalida também a chave de cache actualmente usada pela página inicial, em português e inglês, evitando apresentação de dados anteriores. | Após alteração autorizada de um sector ou oportunidade, actualizar a página inicial e conferir a informação apresentada nos idiomas afectados. |
|
||||
| Classificação territorial | A selecção de localizações reutiliza directamente a consulta territorial pública existente, eliminando uma subconsulta recursiva redundante. Mantém a exclusão de referências privadas, não aprovadas ou com ascendência não pública. | Nos formulários que usam a classificação/localização da oportunidade, abrir as opções e conferir carregamento, selecção e exclusão de referências não autorizadas. A varredura QA de rotas terminou em cerca de 35 segundos; isso não é uma medição do portal instalado. |
|
||||
| Consulta pública e contacto | Pedidos anónimos deixam de consultar a governação de perfis no middleware de sessão. O POST JSON de contacto deixa de carregar a navegação Inertia, evitando essa dependência de base de dados; mantém os restantes controlos da rota. | Sem autenticação, abrir as entradas públicas afectadas e enviar o formulário de contacto; conferir confirmação e apresentação dos erros de validação. |
|
||||
| Leitura de artigos de agronegócio | O artigo original continua legível quando o sector/catálogo opcional de oportunidades de agronegócio ainda não foi carregado. Nessa situação, a ausência de ligações de oportunidades deixa de impedir a leitura. | Conferir o artigo de agronegócio e as suas ligações publicadas. A variante sem catálogo é ensaiada apenas em QA, sem remover cadastros do destino. |
|
||||
| Administração de perfis | Repõe o directório mínimo de contas existentes e as sugestões de selecção nas atribuições e substituições: identificador, nome, email e indicadores de confirmação/MFA. A consulta continua sujeita à administração autorizada e não inclui palavras-passe ou segredos MFA. | Com administrador autorizado e MFA, conferir as sugestões de contas nas atribuições e substituições; verificar também a recusa de acesso por perfil não autorizado, sem efectuar atribuições fictícias no activo. |
|
||||
|
||||
Robustez transversal: Leitura, hash e tamanho de ficheiros e divisões por expressão regular passam a tratar falhas explicitamente. Colecções preservam os seus elementos e rejeitam formas inválidas; valores estruturados indevidos em campos de texto aparecem como valor não textual em vez de [object Object]. Há ainda correcções de contratos de respostas, cabeçalhos, resultados de consultas e verificações de valores ausentes.
|
||||
|
||||
Formatação abrangente do código mantido, tipos, contratos de colecções/consultas/respostas, limpeza de lint e refactorizações auxiliares não constituem novas funcionalidades de negócio.
|
||||
|
||||
Fixtures de autenticação/MFA/publicação, isolamento de bases e ficheiros QA, isolamento dos manifestos de fontes e correcções das expectativas dos testes são suporte da validação, sem novas regras organizacionais.
|
||||
|
||||
Quatro migrações editoriais/de navegação existentes passam a aceitar também a guarda QA isolada já existente. Não são quatro migrações funcionais novas nem prova de execução no destino.
|
||||
|
||||
Competitividade e a compatibilidade dos filtros provinciais já estavam reconciliadas no pai 63147312; não são anunciadas como novas funcionalidades de daf86234.
|
||||
|
||||
Os totais de testes demonstram a validação técnica registada; não comprovam push, instalação, publicação editorial ou aceitação visual.
|
||||
|
||||
A conferência visual é limitada aos ecrãs/percursos afectados e pode ser realizada pela equipa, com registo na mesma matriz: revisão instalada, URL/percurso, perfil/âmbito autorizado, acção, resultado e evidência. O bloqueio da ferramenta não demonstra falha do portal.
|
||||
|
||||
Mantêm-se os estados dos requisitos amplos ACT-01, ACT-02 e V2-07/V2-10.
|
||||
|
||||
Ficheiros e testes por correcção: campo `delivery_scope` do [recibo existente](local-validation-20261029.json). Este aditamento documenta o commit de implementação; não altera código executável nem repete a validação técnica já registada.
|
||||
|
||||
Reference in New Issue
Block a user