docs: delimit remaining transversal investment scope

This commit is contained in:
2026-10-23 18:06:42 +02:00
parent b6a626c92d
commit bc84fbdb3e
2 changed files with 39 additions and 4 deletions
@@ -1,5 +1,40 @@
# Rastreabilidade, utilização e formação
## Saldo finito da aplicação transversal — 23/10/2026
Pedido expresso da Tempo: substituir a qualificação genérica de cobertura parcial por pendências delimitadas, sem repetir provas aceites. Este é o inventário corrente dentro do manual e da matriz existentes; as avaliações anteriores abaixo ficam como histórico, subordinadas aos fechos posteriores. Base revista: `b6a626c9`, com código entregue em `55136b44`. Revisão de código, contratos, testes existentes e recibos; **não houve execução funcional nova**, alteração de dados ou instalação nesta passagem. Uma lacuna de código abaixo não é apresentada como novo incidente observado no navegador.
### Corrigido, demonstrado e entregue — manter encerrado
| Recorte | Entrega / prova reutilizada |
| --- | --- |
| Gravação/idioma, origem dos dados no relatório, sete ligações da Beira | `6b544548`; recibo `4098192a`. |
| Complementos com identidade, necessidade sem oferta, serviço e relação à oportunidade no dossier | `d8224ba8`; recibo `af926180`; serviço sintético exclusivamente QA, Fiação em preparação/localização por definir. |
| Zonas/parques, Terra/DUAT, Balcão e manifestação: tratar a oportunidade escolhida, alterar só a segunda e conservar a primeira, guardar/recuperar associação e relatórios cobertos | `55136b44`; recibo `b6a626c9`; QA `4a01e9e2`. Inclui escolha explícita quando há várias, edições deliberadas e associação bloqueada de pedido devolvido. |
| Resumos editáveis no simulador, nomes territoriais, terreno Sim/Não/Por definir, ocultação/reabertura de etapa global e continuidade carteira/dossier | Incrementos `7ca94967`, `f2150b19`, `5bda74ae`, entregues na linha `7c1f5321` e preservados pelas entregas seguintes; recibos de preparação adaptativa e continuidade existentes. Não voltar a exigir a instalação indicada como pendente em notas históricas. |
### Pendências actuais — sete recortes, sem expansão implícita
| N.º / situação | Ecrã ou consumidor e limite exacto | Resultado necessário / próxima acção delimitada |
| --- | --- | --- |
| 1 — Falha de integração identificada no código | **Simulador iniciado pelo dossier com várias oportunidades.** `InvestorContext::prefill()` só delimita o simulador quando recebe a chave; `DossierPrefill` exclui o simulador do selector de oportunidade. A entrada geral continua a propor os campos comuns derivados da primeira, embora mostre todas as fichas. | Permitir identificar explicitamente o âmbito da análise e recuperar a oportunidade em tratamento; tornar explícito o âmbito comum quando for essa a escolha. Manter rascunhos, edições e relatórios aceites. Não somar investimentos nem inventar uma regra de agregação financeira. Prova nova apenas: seleccionar a segunda neste consumidor e conferir a sua localização/sector/parque e a identificação do âmbito no resultado. |
| 2 — Falha de integração identificada no código | **Dossier, etapas e próxima acção.** `InvestorPath::view()` calcula aplicabilidade por `investor_path.facts` global; `land_needed=no` oculta a acção Terra para o dossier todo. `InvestorContext::landPreparation()` também lê esse único facto. Não há distinção de decisões de terra diferentes entre duas oportunidades. | Conservar a resposta global válida, mas impedir que dispense silenciosamente a necessidade específica de outra oportunidade. Ligar decisão, explicação e próxima acção ao âmbito tratado; desconhecido continua pendente. Prova nova: uma oportunidade sem necessidade e outra com necessidade, sem repetir o ciclo global Sim/Não já aceite. |
| 3 — Falha de integração identificada no código | **Atalho Terra/DUAT no resumo do dossier.** `InvestorPath::view()` procura o caso mais recentemente actualizado do titular com o mesmo dossier, sem filtrar `context_opportunity`; o atalho abre esse caso. A correcção dos formulários não torna esta escolha do resumo específica. | Com dois pedidos de oportunidades diferentes, apresentar escolha identificável ou atalho por oportunidade, recuperando o pedido correspondente. Preservar os pedidos e respectivos snapshots; não substituir pelo último pedido do dossier. A lista de pedidos/resultados deve permitir distinguir as associações. |
| 4 — Ainda sem prova delimitada | **Editor de contexto: retirar, substituir ou reordenar a primeira oportunidade.** A prova aceite altera apenas a segunda; o código ainda projecta a primeira em `selection`/campos comuns. Testes de mudança territorial e de conservação de várias fichas são reutilizados, mas não demonstram este impacto na interface. | Conferir apenas a prévia da retirada/substituição da primeira, confirmação e recuperação: campos comuns propostos, edições preservadas, segunda intacta e pedidos antigos mantidos como históricos. Não declarar perda nem pedir nova prova da alteração exclusiva da segunda. |
| 5 — Ainda sem prova delimitada | **Reutilização perfil/empresa/organização → contexto e ferramentas.** A manifestação já recebe conta e empresa em `InvestmentSubmissionController::create()`; o perfil já existe. Isso não comprova a herança dos dados equivalentes na preparação do dossier, Terra e simulador. | Traçar apenas campos equivalentes e autorizados (identificação/contacto, representação, país/origem quando semanticamente coincidentes), registar o que chega, o que volta a ser pedido e a prioridade de edições locais. Corrigir só duplicação demonstrada. País de constituição, residência fiscal e localização do projecto não são intercambiáveis. Não repetir o preenchimento da manifestação já coberto. |
| 6 — Ainda sem prova delimitada | **Entradas por ideia, sector ou localização com passagem para operação privada.** Há prova de rascunho/reauth territorial em `InvestmentCorridorContextTest` e de carteira/oportunidade nos recibos aceites. Não é prova de todas estas entradas alternativas até ao consumidor. | Conferir somente cada entrada alternativa ainda não coberta: fonte e escolhas no arranque, regresso/autenticação e recuperação no mesmo dossier; pedir apenas dados ausentes. Reutilizar o caso territorial e as entradas carteira/oportunidade existentes, sem os repetir. Não pressupor que falham. |
| 7 — Ainda sem prova delimitada | **Exportações nativas do dossier/plano para âmbito múltiplo.** Valores, idioma, proveniência, exportações financeiras e recuperação já têm provas próprias; relatório Terra e associação canónica dos consumidores também. Falta isolar o efeito da escolha de âmbito nos restantes artefactos nativos, após resolver 1–3. | Conferir apenas correspondência oportunidade/localização/parque, etapas aplicáveis e identidade de pedidos em Word/PDF/ZIP efectivamente gerados. Não repetir cálculos, idioma, sete ligações, anexos nem o relatório Terra aceites. Um formato que não inclua esse conteúdo deve ser registado como sem aplicação, não como falha. |
São **três lacunas de integração constatadas por leitura e quatro verificações delimitadas**, não sete falhas de execução. Os itens 1–3 determinam a correcção executável seguinte; 4–6 podem ser conferidos independentemente em QA isolado; 7 depende apenas do âmbito corrigido. A contagem refere-se a estes sete recortes, não a cada formato ou campo. Uma verificação que passe encerra o item; uma que falhe regista o defeito concreto na mesma linha da matriz. Não criar outra matriz/backlog nem converter ausência de prova em regressão.
### Nunca implementado / desenvolvimento futuro — separado do saldo de regressões
O editor unificado de actores, fornecedores, contactos e infraestruturas das fichas territoriais e a cartografia de linhas de corredores não existem no produto demonstrado. Candidaturas com procedimento autónomo, restauro automático de snapshots e entrega a CRM remoto sem conector configurado também não são funcionalidades perdidas. Permanecem nos respectivos requisitos de desenvolvimento, fora dos sete recortes acima; não são pré-condições para os corrigir. Ausência de oferta ou associação documental não autoriza criar uma relação, localização ou publicação. Estatísticas e IA continuam adiadas por decisão da Tempo.
### Rastreabilidade e limite desta revisão
Consumidores revistos: editor/arranques de contexto, resumo e etapas do dossier, simulador e reutilização, parques, Terra/DUAT, Balcão, manifestação, perfil/empresas e composição dos relatórios. Fontes: `InvestorContext`, `InvestorPath`, `InvestmentConsumerScope`, `InvestmentSubmissionController`, `dossier-prefill`, `investment-opportunity-choices`, `project-dossier`, testes `InvestmentCorridorContextTest`, `InvestmentConsumerScopeTest`, `InvestorPathTest` e `context-inheritance`, recibos de instalação existentes. Não se auditou novamente gestão editorial, publicação, RLS, legislação ou cálculos fiscais; mantêm os seus inventários e aceitações próprios. A avaliação final de navegação e apresentação pela Tempo vem depois do fecho desta lista. Referências na matriz existente: `AUD-LEG-06`, `AUD-SIM-INT03`, `AUD-SIM-INT06`.
## Oportunidade em tratamento — entregue na homologação, 23/10/2026
Por instrução expressa da Tempo, a correcção QA `4a01e9e2` e o recibo `55136b44` foram integrados no `main` existente por avanço directo, sem force ou conflitos. O destino serve **`55136b44`**, confirmado em `https://teste-investidor.tempo.co.mz/build/revision.json`, build `2026-10-23T15:55:10.921100+00:00`, manifest SHA-256 `b2dd6172516f220344ede5fc9d7876b7fc8417416d03842d737452709379a12c`. [Recibo da instalação](multi-opportunity-context-installation-receipt-20261023.json).
File diff suppressed because one or more lines are too long