Record installed agribusiness workflow, preserved destination and pending real-account publication
tests / ci (push) Canceled after 0s

This commit is contained in:
2026-10-23 11:00:30 +02:00
parent c641b267ac
commit e12ef6ad42
3 changed files with 61 additions and 0 deletions
+2
View File
@@ -54,3 +54,5 @@ Antes de avançar com novas rondas de testes/validações, inventariar na matriz
Comparar código, schema, dados, configuração e permissões entre o último estado demonstrado e o destino. Distinguir eliminação, perda de visibilidade, diferença de ambiente, pendência real e estado documental desactualizado; uma página vazia ou a falta de nova prova não apagam a aceitação anterior. Reutilizar as provas aceites e conferir apenas o delta da reposição. Cada entrega seguinte deve explicar qualquer redução do âmbito previamente disponível, em vez de a aceitar como consequência normal da implementação.
Transporte privado não equivale à revogação de uma divulgação anterior aprovada. Reconciliar a decisão anterior de forma delimitada e auditada, sem publicar automaticamente conteúdos novos, reviver exemplares arquivados ou sobrescrever edições posteriores. Mantêm-se backup/restauro, autenticação e os limites concretos de cada tarefa.
Escolha técnica de verificação: comparar dados protegidos por segurança por linha (RLS) com identidades e contexto de acesso equivalentes. Uma leitura da aplicação sem actor pode ocultar registos que o utilizador do backup consegue ler; confirmar essa diferença antes de declarar perda ou propor reposição. Esta orientação não altera permissões do portal nem autoriza contornar RLS numa operação da equipa.
@@ -0,0 +1,55 @@
{
"target": {
"database": "teste_investidor",
"port": 5432
},
"tables": 174,
"changed_tables": {
"cache": {
"before": {
"rows": 101,
"checksum": "6fdb8f22e7c00074aba9e7e2c7167ec0"
},
"after": {
"rows": 101,
"checksum": "465845f27b223ee2e58c70e1065141d9"
}
},
"sessions": {
"before": {
"rows": 24,
"checksum": "ee7deebc29696fe68a4bb1ab98c81215"
},
"after": {
"rows": 24,
"checksum": "0b9475617e805eea2028454a139f2ac8"
}
}
},
"registered": 0,
"published": 0,
"records": [],
"resources": 59,
"geometries": 408,
"preexisting_opportunities_preserved": true,
"comparison_reader": "postgres, same identity as backup; RLS-filtered application counts are not used as loss evidence",
"served_revision": {
"commit": "c641b267ac3dca1615c014ab5dd75dc3b4abde8d",
"branch": "main",
"built_at": "2026-10-23T08:51:24.817702+00:00",
"manifest_sha256": "a7fb08d79db71f19f0dde06c8ebb9329cfaf8e93c2f5a80f460aef98aa885398"
},
"installation_complete": true,
"registration_complete": false,
"publication_complete": false,
"pending": "Ordinary real-account login and recent MFA; no credential or MFA bypass used.",
"backup_restore": {
"verified": true,
"tables": 174,
"files": 369,
"dump_sha256": "318fcdce6623f1032fa319372a08ff4219f4def509f64cf73b39674e8b85260e",
"files_sha256": "b0903725916a9b523a0f90c10ae6c42877f4374fb711f900f19e0b2053606536"
},
"management_url": "https://teste-investidor.tempo.co.mz/minhas-oportunidades/lotes/agronegocio",
"comparison_correction": "Initial application read was RLS-filtered; equivalent postgres read confirmed all simulation records preserved. No data restoration or security policy changes executed."
}
@@ -2,6 +2,10 @@
## Orientação do lote de Agronegócio — catálogo e selecção múltipla, 23/10/2026
**Instalação de código concluída na homologação:** revisão funcional `c641b267ac3dca1615c014ab5dd75dc3b4abde8d`, servida em `main`, com CI/build e promoção atómica concluídos; zero migrations e zero importações automáticas. A [página do lote](https://teste-investidor.tempo.co.mz/minhas-oportunidades/lotes/agronegocio) permite terminar o cadastro e a divulgação pela conta real autorizada. No último recibo desta passagem ainda havia **0/34 cadastradas e 0/34 divulgadas no destino**, por início de sessão/MFA pendente; as 34 estão públicas em QA. Não confundir instalação do código com publicação dos conteúdos. [Recibo do estado do destino](agribusiness-homologation-20261023.json).
**Preservação conferida antes do cadastro:** 172/174 tabelas iguais ao backup; apenas cache e sessões diferem. As 30 oportunidades preexistentes, biblioteca com 59 recursos, 408 geometrias, permissões e tabelas de simulação permanecem preservadas. A primeira comparação da aplicação, sem contexto de actor, mostrava vazias as tabelas de simulação sujeitas a RLS e originou um alerta incorrecto. A comparação posterior usou a mesma identidade de leitura do backup e confirmou igualdade integral dessas tabelas. Nenhuma reposição, eliminação ou alteração de política foi executada; a pausa técnica do observador foi desfeita e o deploy está activo.
Decisão expressa da Tempo nesta passagem: publicar as 34 fichas no catálogo de Agronegócio e permitir escolher uma ou várias, confirmar a localização por ficha, preparar o investimento com reutilização dos dados e consultar requisitos/documentos/entidades, simular e acompanhar no dossier autenticado. Corredores, clusters e projectos âncora enriquecem a análise e não são pré-condição de publicação; localização não activa benefícios fiscais. Não alterar Turismo de Inhambane. Esta orientação supera o estado privado do recibo QA anterior, conservado como histórico.
**Conferência do existente e delta:** o catálogo já comparava quatro fichas e o dossier já tinha 19 etapas, prévia/confirmação de contexto, mapas, reutilização no simulador/terra/Balcão, pedidos e histórico. Faltava transportar uma escolha múltipla identificada para esse mesmo dossier. Acrescentado `opportunity_choices` no contexto cifrado existente, sem tabela, migration, novo dossier paralelo ou novo papel. Cada escolha conserva ID, título, versão/hash, fonte, corredor documental e referência territorial própria. A escolha do catálogo persiste ao mudar de página; ao continuar um dossier, referências novas são acrescentadas às existentes, sem eliminar silenciosamente as anteriores. A comparação de quatro fichas permanece independente da escolha de investimento. A guarda de 100 referências por pedido é uma escolha técnica de tamanho, não nova decisão organizacional.