diff --git a/docs/investmoz/unification/agribusiness-homologation-20261023.json b/docs/investmoz/unification/agribusiness-homologation-20261023.json index ca03600c..700019b3 100644 --- a/docs/investmoz/unification/agribusiness-homologation-20261023.json +++ b/docs/investmoz/unification/agribusiness-homologation-20261023.json @@ -5,14 +5,34 @@ }, "tables": 174, "changed_tables": { + "audit_events": { + "before": { + "rows": 520, + "checksum": "abeaf35ec4463ed7458f2e329a321edd" + }, + "after": { + "rows": 622, + "checksum": "3518cc7405c62ad9be2f90da444fd3fe" + } + }, "cache": { "before": { "rows": 101, "checksum": "6fdb8f22e7c00074aba9e7e2c7167ec0" }, "after": { - "rows": 101, - "checksum": "465845f27b223ee2e58c70e1065141d9" + "rows": 102, + "checksum": "d57b633a1293ed831a702d26f58f133c" + } + }, + "opportunities": { + "before": { + "rows": 30, + "checksum": "8b55b9b474aa78562b40380698981fb6" + }, + "after": { + "rows": 64, + "checksum": "6407d8192bb667003087a06aa3f0930f" } }, "sessions": { @@ -21,28 +41,267 @@ "checksum": "ee7deebc29696fe68a4bb1ab98c81215" }, "after": { - "rows": 24, - "checksum": "0b9475617e805eea2028454a139f2ac8" + "rows": 25, + "checksum": "0f41a35219cea6347427275b32897ad8" } } }, - "registered": 0, - "published": 0, - "records": [], + "registered": 34, + "published": 34, + "records": [ + { + "id": 31, + "title": "Batata, trigo, feijão, milho e soja — Corredor de Pemba–Lichinga", + "slug": "inv-mz-gen-7676707848914068", + "key": "80858ef1-42ad-5bc6-88ee-0a4a6253f9e2", + "status": "published" + }, + { + "id": 32, + "title": "Algodão — Corredor de Pemba–Lichinga", + "slug": "inv-mz-gen-9477691804857755", + "key": "29990fe3-2453-5308-8a23-27622209ab02", + "status": "published" + }, + { + "id": 33, + "title": "Sésamo — Corredor de Pemba–Lichinga", + "slug": "inv-mz-gen-7401258130600878", + "key": "9e79c4ac-01d5-5d20-abf3-b49df6ef8206", + "status": "published" + }, + { + "id": 36, + "title": "Mandioca — Corredor de Nacala", + "slug": "inv-mz-gen-1439048955084540", + "key": "4be5f275-3504-5a7e-8ba9-d51a51efd534", + "status": "published" + }, + { + "id": 38, + "title": "Algodão — Corredor de Nacala", + "slug": "inv-mz-gen-9644546880756388", + "key": "b337b1cf-01ae-5c35-9949-90704ea68f0f", + "status": "published" + }, + { + "id": 39, + "title": "Frutas e caju — Corredor de Nacala", + "slug": "inv-mz-gen-2468979899503991", + "key": "1e9d0e7a-9c63-58cb-9951-349c9cc236c6", + "status": "published" + }, + { + "id": 40, + "title": "Florestas — Corredor de Nacala", + "slug": "inv-mz-gen-7039993456771493", + "key": "ebd761cb-e793-5d11-809a-dc04e4baeb9d", + "status": "published" + }, + { + "id": 41, + "title": "Avicultura — Corredor de Nacala", + "slug": "inv-mz-gen-5080757788800956", + "key": "69d7e89a-bd72-574c-8ce1-104f4b8448d4", + "status": "published" + }, + { + "id": 42, + "title": "Arroz — Corredor do Vale do Zambeze", + "slug": "inv-mz-gen-5601915696649995", + "key": "405f0e8a-973f-5a2f-bbe8-f923944bcde1", + "status": "published" + }, + { + "id": 43, + "title": "Milho e batata — Corredor do Vale do Zambeze", + "slug": "inv-mz-gen-2709717524887763", + "key": "7002d77b-2df6-5373-91b0-a67abed64378", + "status": "published" + }, + { + "id": 44, + "title": "Sésamo — Corredor do Vale do Zambeze", + "slug": "inv-mz-gen-9164411293252209", + "key": "4bfe5b57-ea81-564e-a6ec-8867de5b79f7", + "status": "published" + }, + { + "id": 45, + "title": "Algodão — Corredor do Vale do Zambeze", + "slug": "inv-mz-gen-3014063241101625", + "key": "40c73a69-8724-5552-9612-ecd9ec50d6d8", + "status": "published" + }, + { + "id": 46, + "title": "Avicultura — Corredor do Vale do Zambeze", + "slug": "inv-mz-gen-6214131825033367", + "key": "d8ab3e05-a180-5a0a-877e-c9b4fab34931", + "status": "published" + }, + { + "id": 48, + "title": "Milho, trigo e arroz — Corredor da Beira", + "slug": "inv-mz-gen-6048328347519124", + "key": "a80dc6b8-1c9b-53ef-bf31-ec37fa22561f", + "status": "published" + }, + { + "id": 49, + "title": "Soja — Corredor da Beira", + "slug": "inv-mz-gen-4587508237495307", + "key": "59726827-4fe9-5256-af12-10bd56dab0e3", + "status": "published" + }, + { + "id": 52, + "title": "Açúcar — Corredor da Beira", + "slug": "inv-mz-gen-1634854290375763", + "key": "bc1ee2df-33f9-5262-9ad4-1af961393c88", + "status": "published" + }, + { + "id": 53, + "title": "Florestas — Corredor da Beira", + "slug": "inv-mz-gen-8326396601945337", + "key": "aaf5661e-0a45-561a-b74e-c5cbfaad7721", + "status": "published" + }, + { + "id": 55, + "title": "Arroz — Corredor do Limpopo", + "slug": "inv-mz-gen-4222404773242970", + "key": "0ebbae53-7331-5360-b704-3060f2f52548", + "status": "published" + }, + { + "id": 37, + "title": "Milho, amendoim e sésamo — Corredor de Nacala", + "slug": "inv-mz-gen-5107565297512781", + "key": "7887e378-6d59-5acc-94e1-41f320e690f6", + "status": "published" + }, + { + "id": 56, + "title": "Hortícolas — Corredor do Limpopo", + "slug": "inv-mz-gen-2333485246312757", + "key": "5ead8334-a1ea-5710-b5ae-751e1a97bc18", + "status": "published" + }, + { + "id": 58, + "title": "Avicultura — Corredor do Limpopo", + "slug": "inv-mz-gen-9065431632626708", + "key": "7b4070c4-59f9-59f3-ae3a-ef897998e5ae", + "status": "published" + }, + { + "id": 59, + "title": "Infraestruturas e serviços de apoio — Corredor do Limpopo", + "slug": "inv-mz-gen-5245892626712728", + "key": "09fa3da3-96c0-562c-8b3d-1010841fac16", + "status": "published" + }, + { + "id": 60, + "title": "Arroz — Corredor de Maputo", + "slug": "inv-mz-gen-8724580943323815", + "key": "8b3cd51b-d51a-5a60-9ec3-9222db943bbb", + "status": "published" + }, + { + "id": 63, + "title": "Avicultura — Corredor de Maputo", + "slug": "inv-mz-gen-4404538462410084", + "key": "a15d68d3-02c8-50d9-a03b-63f0478733ff", + "status": "published" + }, + { + "id": 34, + "title": "Florestas — Corredor de Pemba–Lichinga", + "slug": "inv-mz-gen-2816022300638626", + "key": "ccde9a38-0a27-5b46-a158-b2013128baaf", + "status": "published" + }, + { + "id": 35, + "title": "Avicultura — Corredor de Pemba–Lichinga", + "slug": "inv-mz-gen-6844264076753489", + "key": "1748aee6-cf7a-5e16-acde-d37777578d3a", + "status": "published" + }, + { + "id": 47, + "title": "Bovinos e caprinos — Corredor do Vale do Zambeze", + "slug": "inv-mz-gen-5894491385867554", + "key": "8a493e37-5d26-5cc7-9937-aab3e7ad0f40", + "status": "published" + }, + { + "id": 50, + "title": "Hortícolas — Corredor da Beira", + "slug": "inv-mz-gen-3954947238505605", + "key": "2d0fb383-6d02-5df6-a24a-57474ab15ad0", + "status": "published" + }, + { + "id": 51, + "title": "Sésamo — Corredor da Beira", + "slug": "inv-mz-gen-8142311444413640", + "key": "791e2921-92cf-5e08-9ff7-99a275bd6f34", + "status": "published" + }, + { + "id": 54, + "title": "Carne bovina — Corredor da Beira", + "slug": "inv-mz-gen-3963957640266320", + "key": "45423b00-4673-5595-b3ac-cc4ab8e1dc8a", + "status": "published" + }, + { + "id": 57, + "title": "Carne vermelha — Corredor do Limpopo", + "slug": "inv-mz-gen-4521723858186670", + "key": "fbbb0961-e5b0-5900-ad33-4efb5fc7bfc5", + "status": "published" + }, + { + "id": 61, + "title": "Hortícolas — Corredor de Maputo", + "slug": "inv-mz-gen-3403417739078882", + "key": "14b76956-6afa-5c52-8d56-db402dbbd099", + "status": "published" + }, + { + "id": 62, + "title": "Carne vermelha — Corredor de Maputo", + "slug": "inv-mz-gen-6923224180891809", + "key": "bd07739d-e0b8-5561-8baa-14f67571ecf5", + "status": "published" + }, + { + "id": 64, + "title": "Infraestruturas e serviços de apoio — Corredor de Maputo", + "slug": "inv-mz-gen-7371026296970534", + "key": "eb5bad23-5ea2-5f81-bb2e-85609853ae1b", + "status": "published" + } + ], "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", + "commit": "e12ef6ad426ff6ebc4e7421a1ddbe7f184d77a55", "branch": "main", - "built_at": "2026-10-23T08:51:24.817702+00:00", + "built_at": "2026-10-23T09:01:54.733542+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.", + "registration_complete": true, + "publication_complete": true, + "pending": null, "backup_restore": { "verified": true, "tables": 174, @@ -51,5 +310,17 @@ "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." + "comparison_correction": "Initial application read was RLS-filtered; equivalent postgres read confirmed all simulation records preserved. No data restoration or security policy changes executed.", + "execution": "Ordinary authenticated real-account browser interface, preview and confirmation, existing recent MFA. No console registration or publication.", + "public_url": "https://teste-investidor.tempo.co.mz/oportunidades?sector=agronegocio", + "browser_proof": { + "results": 34, + "selected_ids": [ + 64, + 63 + ], + "path": "/investimentos/iniciar?opportunities[]=64&opportunities[]=63", + "screenshot": "outputs/preservation-inventory-20261023/agribusiness-homologation-published.png" + }, + "unchanged_tables": 170 } diff --git a/docs/investmoz/unification/traceability-and-manual.md b/docs/investmoz/unification/traceability-and-manual.md index ed3bb240..1f00ba61 100644 --- a/docs/investmoz/unification/traceability-and-manual.md +++ b/docs/investmoz/unification/traceability-and-manual.md @@ -2,7 +2,9 @@ ## 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). +**Homologacao concluida, 23/10/2026:** 34/34 fichas cadastradas e divulgadas como **Em preparação**, pela interface da conta real, com previa, motivo, confirmacao e MFA recente. Revisao servida `e12ef6ad426ff6ebc4e7421a1ddbe7f184d77a55` (funcional `c641b267`), integrada pelo Git, sem migration. [Catalogo publico](https://teste-investidor.tempo.co.mz/oportunidades?sector=agronegocio), [gestao unica](https://teste-investidor.tempo.co.mz/gestao-conteudos) e [gestao do lote](https://teste-investidor.tempo.co.mz/minhas-oportunidades/lotes/agronegocio). A divulgacao nao autoriza execucao. [Recibo final](agribusiness-homologation-20261023.json). + +**Delta final:** IDs 31-64, sem duplicados; 34 resultados e escolha de duas fichas, IDs 64 e 63, no percurso existente. As 30 oportunidades anteriores, incluindo Turismo de Inhambane, permanecem exactamente iguais ao backup. Das 174 tabelas, 170 mantem checksum integral; alteracoes apenas em oportunidades (+34), auditoria (+102 eventos), cache e sessoes. Biblioteca (59 recursos), 408 geometrias, permissoes e simulacoes preservadas. Backup/restauro isolado verificado antes da operacao. Cadastro, edicao, recuperacao, previa, divulgacao, actualizacao e retirada usam o portal, sem comandos ou Codex nas operacoes correntes. Reutilizadas as provas QA do percurso, regras e historico; sem dossiers ficticios na homologacao. **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.