diff --git a/docs/investmoz/consolidated-review-matrix-2026-10-03.md b/docs/investmoz/consolidated-review-matrix-2026-10-03.md index f3d738cd..ba928663 100644 --- a/docs/investmoz/consolidated-review-matrix-2026-10-03.md +++ b/docs/investmoz/consolidated-review-matrix-2026-10-03.md @@ -2110,3 +2110,12 @@ Corrigidos dois defeitos sobre `4f72751b`: uma oportunidade explícita fora de u Ambos reproduzidos antes da correcção. Passaram 3 testes Unit novos (5 asserções) e 20 testes Feature existentes dirigidos (461 asserções), incluindo os estados MFA incompletos. PHPStan e Pint passaram no âmbito registado no recibo. Reutilizadas as provas históricas de 798 PHP e 1190 frontend: não se afirma uma nova execução integral. Conferidos os 32 ficheiros de provas anteriores, sem divergências; contrato de migrações mantém-se compatível, sem novo delta de schema. Diagnóstico autenticado apenas de leitura às 20:40:29 UTC: destino continua em `fde73438`, nenhum erro Laravel datado de hoje no conjunto limitado examinado (até quatro logs recentes, últimos 2MiB por ficheiro), nenhum índice não sistémico inválido e nenhuma conta com confirmação MFA sem segredo em `teste_investidor:5432`. Não é uma auditoria histórica completa. Nenhuma instalação ou escrita na base activa. Conferência visual dirigida da candidata continua pendente; incluir estes dois comportamentos nos percursos já afectados. Evidências e hashes do novo delta no campo `targeted_error_consistency_review` do recibo existente. + + +### 29/10/2026 — percurso adaptativo: situação e próxima acção visíveis no resumo + +Incremento de apresentação sobre `fb9a363e`, nos requisitos existentes V2-07/V2-10 e na orientação da Tempo de 23/10: com preparação activa, a situação do pedido, próxima acção e informação em falta passam a estar visíveis antes da secção fechada de detalhe. O investidor mantém a ligação existente para continuar o formulário; fontes, documentos e histórico sem aplicação continuam consultáveis. A preparação inactiva não passa a exigir passos novos. O componente partilhado cobre o percurso do investidor, a avaliação de contexto e a comparação de impacto. A alteração não edita declarações nem altera regras de enquadramento, cálculo, permissões ou schema. + +Conferência dirigida: seis testes frontend existentes passaram; 22 verificações SSR cobriram os três modos, rótulos de dados em falta, preparação inactiva/ausente, ligação de continuação, histórico preservado e imutabilidade da origem. Tipos, formatação, lint e compilação QA passaram. Provas anteriores reutilizadas. Recibo no campo `adaptive_summary_increment` de `local-validation-20261029.json`. + +**Conferência visual pendente pela equipa:** na candidata, abrir o resumo de preparação activo, conferir situação/próxima acção/dados em falta sem expandir detalhes, continuar pelo formulário e consultar histórico/fontes; verificar também preparação inactiva e ausência de dados em falta. Registar revisão, perfil, percurso e resultado nesta matriz. SSR não comprova apresentação no navegador. Sem instalação ou avanço de main; este incremento não encerra os requisitos transversais. diff --git a/docs/investmoz/unification/local-validation-20261029.json b/docs/investmoz/unification/local-validation-20261029.json index b8edb94f..a1ba5aa5 100644 --- a/docs/investmoz/unification/local-validation-20261029.json +++ b/docs/investmoz/unification/local-validation-20261029.json @@ -1182,5 +1182,39 @@ "deployment_triggered": false }, "installation": "not triggered; directed candidate visual acceptance remains pending" + }, + "adaptive_summary_increment": { + "recorded_at": "2026-10-29T20:51:14.826754+00:00", + "base_commit": "fb9a363e9ec2ea6a4171f818f7066524001f0d2b", + "requirements": [ + "V2-07", + "V2-10", + "AGENTS.md: adaptive journey, Tempo decision 2026-10-23" + ], + "behavior": "Enabled private-investment preparation shows mode, next action and missing information before collapsed details; existing continuation link, sources and history retained.", + "scope": "Presentation increment in existing component used by investor path, context assessment and impact comparison; no backend, schema, permissions or tax-rule changes.", + "source_sha256": "3ece2a02e8850ba51b95fd26c54b591734b7b16d9f4acb4d668900edb4f48bd1", + "checks": { + "existing_directed_frontend_tests": 6, + "ssr_assertions": 22, + "types": "passed", + "format": "passed", + "lint": "passed", + "qa_build": "passed" + }, + "build_notes": "Initial build emitted a successful bundle but PowerShell reported nonzero with native stderr warnings. Native subprocess rerun records the actual exit code; existing optional font-fallback and chunk-size warnings remain.", + "evidence": { + "outputs/validation-20261029/adaptive-summary-frontend.log": "994d2f903754de5b3e55ca7d16c663df028d2690ad9bb7f53d40dc04b0a4b493", + "outputs/validation-20261029/adaptive-summary-ssr.log": "007b949eb7de05a6a8b459d5f0d761e059b138ffdaa6ca6be2359aad2ccd29ce", + "outputs/validation-20261029/adaptive-summary-types.log": "82962651e47f564de653ad2883f8fd34e7dae4b4468e4ac459cb3331962a3879", + "outputs/validation-20261029/adaptive-summary-format-check.log": "05dfa2b9a446accfd3ca297b76ae4959329b3d74ecfaac9778401687b641c4e3", + "outputs/validation-20261029/adaptive-summary-lint.log": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "outputs/validation-20261029/adaptive-summary-build.log": "aeac00243008a6264c1d1472bacd83b7f3a1608e29422c8d5fcef2d3cfc7ce66", + "outputs/validation-20261029/adaptive-summary-build-native.log": "458a59f4a8d794887576a417a90529cf29775cb17f58cd27137f54ee7a25d227", + "outputs/validation-20261029/adaptive-summary-build-exit.json": "48c0a1c3e213fae8dd8cd86e6c1d5ce41d5584b9f81e2c1022c51481f7a2e487" + }, + "baseline_evidence": "Reused accepted PHP/frontend baseline; no full-suite rerun.", + "visual_acceptance": "Pending team execution and recording against candidate; SSR does not replace browser acceptance.", + "installation": "Not triggered; main and active release unchanged." } } diff --git a/docs/investmoz/unification/traceability-and-manual.md b/docs/investmoz/unification/traceability-and-manual.md index 1893743b..8636dacf 100644 --- a/docs/investmoz/unification/traceability-and-manual.md +++ b/docs/investmoz/unification/traceability-and-manual.md @@ -7647,3 +7647,12 @@ Corrigidos dois defeitos sobre `4f72751b`: uma oportunidade explícita fora de u Ambos reproduzidos antes da correcção. Passaram 3 testes Unit novos (5 asserções) e 20 testes Feature existentes dirigidos (461 asserções), incluindo os estados MFA incompletos. PHPStan e Pint passaram no âmbito registado no recibo. Reutilizadas as provas históricas de 798 PHP e 1190 frontend: não se afirma uma nova execução integral. Conferidos os 32 ficheiros de provas anteriores, sem divergências; contrato de migrações mantém-se compatível, sem novo delta de schema. Diagnóstico autenticado apenas de leitura às 20:40:29 UTC: destino continua em `fde73438`, nenhum erro Laravel datado de hoje no conjunto limitado examinado (até quatro logs recentes, últimos 2MiB por ficheiro), nenhum índice não sistémico inválido e nenhuma conta com confirmação MFA sem segredo em `teste_investidor:5432`. Não é uma auditoria histórica completa. Nenhuma instalação ou escrita na base activa. Conferência visual dirigida da candidata continua pendente; incluir estes dois comportamentos nos percursos já afectados. Evidências e hashes do novo delta no campo `targeted_error_consistency_review` do recibo existente. + + +### 29/10/2026 — percurso adaptativo: situação e próxima acção visíveis no resumo + +Incremento de apresentação sobre `fb9a363e`, nos requisitos existentes V2-07/V2-10 e na orientação da Tempo de 23/10: com preparação activa, a situação do pedido, próxima acção e informação em falta passam a estar visíveis antes da secção fechada de detalhe. O investidor mantém a ligação existente para continuar o formulário; fontes, documentos e histórico sem aplicação continuam consultáveis. A preparação inactiva não passa a exigir passos novos. O componente partilhado cobre o percurso do investidor, a avaliação de contexto e a comparação de impacto. A alteração não edita declarações nem altera regras de enquadramento, cálculo, permissões ou schema. + +Conferência dirigida: seis testes frontend existentes passaram; 22 verificações SSR cobriram os três modos, rótulos de dados em falta, preparação inactiva/ausente, ligação de continuação, histórico preservado e imutabilidade da origem. Tipos, formatação, lint e compilação QA passaram. Provas anteriores reutilizadas. Recibo no campo `adaptive_summary_increment` de `local-validation-20261029.json`. + +**Conferência visual pendente pela equipa:** na candidata, abrir o resumo de preparação activo, conferir situação/próxima acção/dados em falta sem expandir detalhes, continuar pelo formulário e consultar histórico/fontes; verificar também preparação inactiva e ausência de dados em falta. Registar revisão, perfil, percurso e resultado nesta matriz. SSR não comprova apresentação no navegador. Sem instalação ou avanço de main; este incremento não encerra os requisitos transversais. diff --git a/resources/js/components/private-investment-preparation.tsx b/resources/js/components/private-investment-preparation.tsx index 93492566..97b1e6b8 100644 --- a/resources/js/components/private-investment-preparation.tsx +++ b/resources/js/components/private-investment-preparation.tsx @@ -73,6 +73,44 @@ export function PreparationSummary({

Preparar o pedido de investimento privado

+ {data.enabled && ( +
+

+ Situação: {preparationMode(data.mode)}. +

+

+ Próxima acção: {data.next}. +

+ {data.missing_fields.length > 0 && ( +

+ Informação em falta:{' '} + {( + data.missing_labels ?? + data.missing_fields.map( + (key) => + data.questions?.find( + (q) => q.key === key, + )?.label ?? + ( + { + currency: 'Moeda do projecto', + expected_start_date: + 'Data prevista de início', + entity_stage: + 'Situação da entidade', + } as Record + )[key] ?? + key, + ) + ).join('; ')} + . +

+ )} +
+ )} {caseId && (

-

{data.next}

- {data.missing_fields.length > 0 && ( -

- Informação em falta:{' '} - {( - data.missing_labels ?? - data.missing_fields.map( - (key) => - data.questions?.find( - (q) => q.key === key, - )?.label ?? - ( - { - currency: - 'Moeda do projecto', - expected_start_date: - 'Data prevista de início', - entity_stage: - 'Situação da entidade', - } as Record - )[key] ?? - key, - ) - ).join('; ')} - . -

- )} {!data.period_covered && (

Este incremento cobre pedidos com início