diff --git a/docs/investmoz/consolidated-review-matrix-2026-10-03.md b/docs/investmoz/consolidated-review-matrix-2026-10-03.md index e3aed36c..e26b752b 100644 --- a/docs/investmoz/consolidated-review-matrix-2026-10-03.md +++ b/docs/investmoz/consolidated-review-matrix-2026-10-03.md @@ -2075,3 +2075,17 @@ A conferência visual é limitada aos ecrãs/percursos afectados e pode ser real 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. + +### Entrega Git de daf86234 e 52faf89 — envio confirmado, visual e instalação pendentes + +Branch enviada e SHA remoto conferido: `codex/investemoz-reconciliation-20261029` em `52faf89a2cbd5fa70fb55a42835248e77014d4ae`. `origin/main` actualizado por fetch permanece `fde7343894964043fa633e3d4d07385a6cb7e039`: é antepassado da candidata, com zero commits em falta e 81 commits de histórico reconciliado à frente. `main` não foi avançado nem o instalador accionado. As provas automáticas aceites foram reutilizadas. + +**Delta de entrega conferido:** o pai `63147312` conserva também o incremento anterior `d1551dab` de IVA/P001: campos 05/06/07, agregação exclusiva, contagem única no campo 14 e reutilização dos campos 01/02 actuais. São quatro ficheiros de runtime e dois de testes além da documentação herdada; não atribuir esta alteração a `daf86234` nem a omitir da comparação com o destino. Reutilizar as provas fiscais já aceites e conferir apenas o delta ainda diferente no instalado. + +**Compatibilidade do instalador:** o último contrato de schema registado difere da candidata em cinco hashes de migrações históricas. A comparação estrutural confirmou corpos de operações `up` e `down` equivalentes a main, descontando as quatro guardas QA já validadas; o quinto ficheiro tem apenas formatação. Zero novos caminhos de migração. O pipeline existente recusa diferenças deste contrato: a proposta de cinco hashes está preparada, mas não foi aplicada ao servidor nem houve SQL no activo. Conferir contrato actual e reconciliar pelo processo existente antes de instalar; não contornar a guarda. + +**Conferência visual dirigida: pendente, execução pela equipa.** O conector foi novamente consultado e devolveu browser access host indisponível, sem browsers acessíveis. Usar os sete percursos da tabela anterior e, se ainda integrar o delta do destino, a correspondência/recuperação IVA/P001. Registar na mesma matriz revisão ensaiada, URL QA/percurso, perfil e âmbito autorizado, acção, esperado/observado, evidência e data. Este estado não demonstra falha do portal e não reabre a avaliação de todo o portal. + +**Instalação: pendente conforme a sequência pedida.** O ficheiro antigo de sessão SSH indicava connected_ready, mas o respectivo processo já não está operativo; a tentativa não interactiva com chave de host fixada foi recusada. A revisão instalada, capacidade actual e novo backup/restauro ainda não foram confirmados nesta entrega. Após o registo visual: sessão autenticada, alvo/capacidade/contrato/delta actuais, backup consistente e restauro isolado, avanço normal de main e pipeline existente, preservação da release anterior e verificação final de revisão/hashes/C132/dados/ficheiros/permissões. Sem migrações, importações ou alterações de permissões solicitadas no activo. + +Detalhes, cinco hashes e proposta: campo `git_delivery` do recibo existente `local-validation-20261029.json`. Este registo actualiza o estado de entrega; os resultados e recibos históricos da validação mantêm o seu contexto temporal. diff --git a/docs/investmoz/unification/local-validation-20261029.json b/docs/investmoz/unification/local-validation-20261029.json index 6f555351..952882a0 100644 --- a/docs/investmoz/unification/local-validation-20261029.json +++ b/docs/investmoz/unification/local-validation-20261029.json @@ -544,7 +544,7 @@ "comparison_base": "63147312e2fdb6dc235bcb2763f47d8b1aeeac3c", "confirmation": { "local_validation": "passed", - "push": "not_confirmed", + "push": "confirmed_to_delivery_branch", "installation": "not_confirmed", "visual_acceptance": "pending" }, @@ -661,5 +661,209 @@ "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." ] + }, + "git_delivery": { + "recorded_at": "2026-10-29T20:03:34.083203+00:00", + "requested_commits": [ + "daf8623441f1d88804e7fef34a3f2b807e1a39b9", + "52faf89a2cbd5fa70fb55a42835248e77014d4ae" + ], + "repository": "git@git.tempo.co.mz:nala/Investidor-V2.git", + "branch": "codex/investemoz-reconciliation-20261029", + "remote_source_tip_verified": "52faf89a2cbd5fa70fb55a42835248e77014d4ae", + "remote_main_verified": "fde7343894964043fa633e3d4d07385a6cb7e039", + "main_is_ancestor": true, + "behind_main": 0, + "ahead_main_at_source_tip": 81, + "main_advanced": false, + "accepted_automatic_proofs": "Reused unchanged. No full validation rerun; only migration operation bodies compared for delivery compatibility.", + "inherited_delta": { + "base": "63147312e2fdb6dc235bcb2763f47d8b1aeeac3c", + "runtime_and_test_paths_relative_to_main": [ + "resources/js/components/simulation-operations.tsx", + "resources/js/lib/iva-acquisitions.ts", + "resources/js/lib/iva-modelo-a.ts", + "resources/js/lib/iva-operations.ts", + "tests/frontend/iva-l1-delta.test.mjs", + "tests/frontend/iva-p001-correspondence.test.mjs" + ], + "origin_commit": "d1551dab", + "scope": "Previously reconciled IVA/P001: correspondence of fields 05/06/07, exclusive aggregation, field 14 single counting and current 01/02 reuse. Preserve the accepted QA evidence; reconcile this inherited delta with the installed destination before installation. This is not newly introduced by daf86234." + }, + "migration_contract": { + "reference": "Last recorded server contract in outputs/province-search-20261029/province-preflight.json; current server contract not refreshed.", + "differences": [ + { + "path": "database/migrations/2026_10_16_130000_add_investment_zone_editorial_draft.php", + "last_recorded_contract_sha256": "ff9b56f7c3d156bedfe0050953c2ea6c10811fd859524a8fb994e176527846f0", + "candidate_sha256": "4cfadc6c3d3a7211c276d8df75e1ca687d5386c65d94ce4d025ba4153b31d8ce", + "change": "isolated_QA_gate_plus_formatting", + "up_operations_and_down_body_equivalent_to_main": true + }, + { + "path": "database/migrations/2026_10_16_140000_add_investment_zone_operational_details.php", + "last_recorded_contract_sha256": "3d3e7f00df749475a67c4d098a42cbbc81f9015afc8b74e6be58c86dd1f2abfb", + "candidate_sha256": "22d78b712b39da0044aff727c49c68ebc32cca80c2cedec450c27a9e3804e13b", + "change": "isolated_QA_gate_plus_formatting", + "up_operations_and_down_body_equivalent_to_main": true + }, + { + "path": "database/migrations/2026_10_16_150000_create_investor_navigation_preferences.php", + "last_recorded_contract_sha256": "e12017e6a4d1a960057cf2d1df9dbd69faa867bf6a2d08a50dd3089a6a967100", + "candidate_sha256": "4239847d4828f2c0dda0dc609e420bc0683e7a73633a1eac84eee8e0b87f2aff", + "change": "isolated_QA_gate_plus_formatting", + "up_operations_and_down_body_equivalent_to_main": true + }, + { + "path": "database/migrations/2026_10_18_160000_add_portal_editorial_content.php", + "last_recorded_contract_sha256": "ea7058bac8b55366b35a9a326aabcfef7250adc61d523de2c61db94720940887", + "candidate_sha256": "9a1ff7ed29c081d8b5cde60a349921e63998653e91f3277738ad921a54cde2c1", + "change": "isolated_QA_gate_plus_formatting", + "up_operations_and_down_body_equivalent_to_main": true + }, + { + "path": "database/migrations/2026_10_28_180000_create_proactive_supply_observations.php", + "last_recorded_contract_sha256": "d6385b2672a1ab5d666f0f5567aebe71a7b11b364c98e5e57b980c9c3b177f74", + "candidate_sha256": "9058739b3305490f6184899d19505760a07df1fe5262d638e0cde12b92a99669", + "change": "formatting_only", + "up_operations_and_down_body_equivalent_to_main": true + } + ], + "new_migration_paths": [], + "proposed_contract": "outputs/validation-20261029/schema-contract-proposed.json", + "proposed_contract_sha256": "01673b8c817d7189416398927164d6daf787628d39012ee1221512fabf4933a7", + "active_contract_updated": false, + "active_SQL_executed": false, + "next_action": "After authenticated current-target comparison and fresh preservation evidence, reconcile these five source hashes through the existing operator-controlled process; do not bypass the pipeline gate.", + "proposed_source_contract": { + "database/migrations/0001_01_01_000000_create_users_table.php": "10d79883bc08ce46510f9ad8b1830b4d06d586dc56ae2c8bac3b3e491f69a90f", + "database/migrations/0001_01_01_000001_create_cache_table.php": "fbb4665e5a977e71df4e74ec75b3c06ca4f17ad0de7138fe9786639189978e77", + "database/migrations/0001_01_01_000002_create_jobs_table.php": "df4910687180313a14a3f96a8bddd808ae145ed1b107cd772caf865c0dc2b746", + "database/migrations/2024_01_01_000000_create_passkeys_table.php": "3c866281584abdc808b6b6fe1d28aae55d997d3f97c5dd2d07ae106ff58531fc", + "database/migrations/2025_08_14_170933_add_two_factor_columns_to_users_table.php": "79f22594944d826286ad1dafb13217967781e104dbb021a1c85fbdf9270db4a5", + "database/migrations/2026_01_01_000001_create_sectors_table.php": "7c14fadbf9fff20df321e4e04cfabd63f6c73ef1a60bf9c16d9bf2d80b2662f7", + "database/migrations/2026_01_01_000002_create_opportunities_table.php": "6d3c9c9ed11bf20751e3deef2a67a07087d58a235c5611724f397e01de3dca7d", + "database/migrations/2026_01_01_000003_create_interest_requests_table.php": "a7ea8a534af29639254f8c2ba49ed80c5b9fca92b5be76d93f5b1c84b5b1a5d9", + "database/migrations/2026_09_24_000100_investmoz_extensions_functions.php": "3daa494165853ba673f99012ed5651cfecfba153c676ae4b7099b9e6596ade38", + "database/migrations/2026_09_24_001000_investmoz_identity.php": "f644b0369b17b2954b05f563a569d92533ae1bb06f89bf1cc8454d069b733b96", + "database/migrations/2026_09_24_002000_investmoz_content.php": "9f3006caa7092eb3651033d7756982b176a54c79ac47a9cf9a67c306e369a81c", + "database/migrations/2026_09_24_003000_investmoz_geography.php": "405a75432fb9b90b4472c697a9239fc8d59907da8defbb985cf81cd3da958ee6", + "database/migrations/2026_09_24_004000_investmoz_projects.php": "7b7f652cf323299c346133e7fda6564722eab60e8bba193387f8fa2af8bf2d35", + "database/migrations/2026_09_24_005000_investmoz_clusters.php": "93dc9bff75f759fc209f00b1bbb2d6727fbf4d3014fa368db394254789ad7df1", + "database/migrations/2026_09_24_006000_investmoz_corridors.php": "8061e16466dfd505785bdd233851216cd01a62397d144da2f9c996a15b5481cf", + "database/migrations/2026_09_24_007000_investmoz_crm.php": "ef49c4e0b15f1a0e2eaccc6c60b578e88a616aeb42e3a420865bb29aa83009a8", + "database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php": "f64af9031e071ff30b94df64c13f507800928d3bb54e5d7d0bd6a8f2c495cd51", + "database/migrations/2026_09_24_009000_investmoz_education.php": "fa6245b9a0a07dadd3512099450230919cfaa134c98b81c6362fb76abc9a3ea0", + "database/migrations/2026_09_24_009500_investmoz_document_links.php": "68601d5dec9410609ae34050b137b46af3d8e09e3510a331aa824fc58d01ed9f", + "database/migrations/2026_09_24_010000_investmoz_governance_ai.php": "c66ce3cf351a97f164c325c87941260a448b2b301ed037d251e0562143e48f85", + "database/migrations/2026_09_24_011000_investmoz_integrations.php": "3bab367d76ae5d3a9ef5836a95ddc41d01b35d24d119c7f1380b9153f4055b38", + "database/migrations/2026_09_24_012000_investmoz_indexes.php": "ff069e7a2cd518b104671bb2879444aba1df504fce6664cd61cce80038901eca", + "database/migrations/2026_09_24_013000_investmoz_triggers.php": "a41f8563aada3f3dba8882e67c3647fd1e9edc88f11b382af59399d380f6b83e", + "database/migrations/2026_09_25_100000_extend_crm_intake.php": "3a3dd9daa6d33f574ddb4b4ae10106785a5d4c32033d2df26370ab5f353930a1", + "database/migrations/2026_09_25_110000_create_investment_gaps.php": "ac63e17c82ffe0f3b7f8b123ba7b7758f84f81746446147b324b4c8aaae24d36", + "database/migrations/2026_09_25_120000_add_interest_submission_receipts.php": "d91b496f157bb4cfef1d4c3f90a9cbbfc58c4825a2b849cc089daacf199f7ff5", + "database/migrations/2026_09_25_130000_investment_portfolio_journeys.php": "fb568a7542308c8d547383a46178df65482351114cd11c79a36be53c02377988", + "database/migrations/2026_09_26_100000_education_intake.php": "f1be568973d1d36fadaa4596be3913d97915b78f749ceca67223b43eedf4860f", + "database/migrations/2026_09_26_110000_education_investment_proposals.php": "cb5424ac06378922e88c2e078a4dc43d7399f90ccb09bfc08b222f753acabd11", + "database/migrations/2026_09_26_120000_investmoz_ai_foundation.php": "a46234f6e9c6f4e7a9183591f1061109a579551c83596f8a5f05677d508bc114", + "database/migrations/2026_09_26_140000_portfolio_owner_approval.php": "581a459ebdbc13649926dccdb1510c0d18d098cb61d14b829d7e29128b28bf4f", + "database/migrations/2026_09_27_120000_public_portal_services.php": "78b52a15cd5ff297ab894ab11d2a76c46ad42b91622b866bb7c885e96f00fea3", + "database/migrations/2026_09_27_140000_investment_unification.php": "13f7dfefb524b60ed5e64d04a74961c942484e7bb2dfd88bf05847aca6f8ff23", + "database/migrations/2026_09_27_150000_investor_workspace.php": "e0a8e15f190c167d9ee8003a126ca04b63e8403d1cdd2bcd80f1e32a2e445005", + "database/migrations/2026_09_28_090000_version_investment_dossiers.php": "0799712b2fa00243f51a61f67333946fe88806d1aaf2a4df844de9f3e70b0433", + "database/migrations/2026_09_28_100000_investment_zone_foundation.php": "13272489c8d63a4691a59ede5c9d051e27c71d4f6d622fc36ec093e7645ceef0", + "database/migrations/2026_09_28_110000_zone_geometry_review.php": "ed1350417e63d83c568b526d5dc853f04629de5c45507ba6376505668d740331", + "database/migrations/2026_09_28_120000_investment_submission_zones.php": "005df60312dacd190f11c5fccf34ed7d499778fecac22e319b73d6f038d67680", + "database/migrations/2026_09_28_130000_existing_business_foundation.php": "70a11a505c2bbff501f8e175d60a1dc5dd31df127cc6fe33c908bfdbe4fddf7d", + "database/migrations/2026_09_28_140000_existing_business_intake.php": "0b438174960ec39b905ec352d227c1eaa475a11e122069bcd6bb9aa3b1b78fba", + "database/migrations/2026_09_28_150000_territorial_registry.php": "deec29bc66e1c3c3f3f36d2345d822665192620d6af8e5931000b5efa1bec274", + "database/migrations/2026_09_28_160000_investment_primary_territory.php": "5aef6eade1a1ef59aa173941d62342f526edc5075262f2812cf00605455b1981", + "database/migrations/2026_09_29_100000_territory_integrity.php": "e01f43328a121f3b8e5ad3e1e2b38cf5ae6cddda3a7e7266b57619a1b82bc92f", + "database/migrations/2026_09_29_200000_existing_business_form_sector.php": "ceb4080d5fdc8235a400d8b665156f1aed81c8f96ce92cff41325e5a00e40f6c", + "database/migrations/2026_09_30_100100_skills_education_1.php": "024c510fc512d642628bdd50e1b7cb6d11b6f7af5a2e31927b626615cc7e1bd9", + "database/migrations/2026_09_30_100200_skills_education_2.php": "00aaf84c56e041072ca3203fd39edc81fe2c353e4fc70b715e7c290c1e3c2280", + "database/migrations/2026_09_30_100300_skills_education_3.php": "d009706676e62a9ee3fca6b208d3b13c17141d8fd701f647f32e6404cde0b2f4", + "database/migrations/2026_09_30_100400_skills_education_4.php": "c8b2a61c5faa6b0b55a7188f0273b4f7cf2e33fab83a3bbc67db7be96c34658a", + "database/migrations/2026_09_30_100500_skills_education_5.php": "5c6fda4c6fb80cf37ebed1a39f16b2d86e8c96ef10640abbbd10dea65468e27e", + "database/migrations/2026_09_30_100600_skills_education_6.php": "2d46e02f41242f7045d0b230c9bfaf1d701a3baa2834e8c40708e6001412daf9", + "database/migrations/2026_09_30_110000_project_dependency_integrity.php": "f249120f0f643093a1c640cbbe18124b78e5f09e391527a5a662e457efc8d1d9", + "database/migrations/2026_09_30_120000_extend_existing_business_marketplace.php": "92e2720c44dec895b52cc4a29b779c1c51164bd925cdf50aeee79f125de20ca1", + "database/migrations/2026_10_01_000100_create_reference_catalogs.php": "8eeff960ac42fbb6032cc4012630f72c420f665a834d6ebda42c577267a60acb", + "database/migrations/2026_10_01_000200_create_simulation_execution_core.php": "1468ce4dbdd95b17c2d70c135b0a56a0b505bed5f6646de599326779e2557ea4", + "database/migrations/2026_10_01_120000_create_simulation_form_drafts.php": "3fc94c8302a6dd812c8e8d4be020b23697274bdc261755e77d1d2719de2ff988", + "database/migrations/2026_10_02_120000_allow_owner_to_read_soft_deleted_simulation_drafts.php": "d595329fe3a6139d71005e4921f315a505cc2994c320a07f0fac8254144f15df", + "database/migrations/2026_10_02_160000_extend_existing_business_opportunity_types.php": "bcc18791582d2d3d971ff17e2c880bb05ed7f4933780bb6d9723c1dd9fada7c9", + "database/migrations/2026_10_03_170000_create_simulation_tax_rule_governance.php": "45ff5ddc7605cc0d240c3c8f93b8a73dfc1a721cc3ea1841b365c2c6403b90fb", + "database/migrations/2026_10_03_180000_govern_investment_structure_relations.php": "af7c896a3c198ecfc9e186542bf22cf99e9f81ae0981caf4101038d0944366cf", + "database/migrations/2026_10_03_190000_allow_public_read_of_published_tax_parameters.php": "0ecf6107cb21a8af02b4b80c2804799a934bf5f90a599dc8d0fd6388596e5a53", + "database/migrations/2026_10_03_200000_create_land_assistance_cases.php": "d02e00e88ff9566f71e734651c5fc4f6f8d1963a94cca0e57f71f0de3815ce5e", + "database/migrations/2026_10_03_210000_make_interest_request_email_nullable.php": "0f4e014ff0ac76ed9b2e7a7d3d815c10dbaae7e0b9e08d78a955649a2fca2bf6", + "database/migrations/2026_10_04_120000_add_opportunity_geography_scope.php": "f877d0e33d85a27051038ed952d0e6fdc532f6c29e6a7e4ee8ac052663926563", + "database/migrations/2026_10_04_120000_add_simulation_draft_continuity.php": "9c2f83cd5d3257b4ff63c91bf92c859432635b1f53b16bdd1037457916e9ada2", + "database/migrations/2026_10_04_130000_extend_investment_zone_records.php": "bd7fb6af86073cbbfb03e219c8401225eb09618a0b538245a2d0f581c945edf7", + "database/migrations/2026_10_04_140000_create_investment_zone_attachments.php": "f5bb1afb2fc90379749b1e294b73e6c383ccbbd4f68417a5612c5d3e78619a9d", + "database/migrations/2026_10_04_150000_relax_zone_operator_publication_requirement.php": "807d4c8a7c143a8c01058dd73e607c0d805c67aea7fd20ff108365b87a11e46a", + "database/migrations/2026_10_04_160000_extend_zone_development_and_area_scopes.php": "041c09d968c921aa27ece295f3a904feb701117fca42053133ec09e56dfa0fb1", + "database/migrations/2026_10_05_120000_extend_portal_document_catalogue.php": "d799fc0feddb6839060c3997dcfdbd32283b23b24d3ab5fb2626ab070eae9490", + "database/migrations/2026_10_05_130000_add_document_malware_scanning.php": "6e968d047ed54ecd88b37689e1b2885e23cb51b67596dd982902d2db26ab09ab", + "database/migrations/2026_10_06_140000_allow_unapproved_private_portal_resources.php": "4683ac0861dc0b66f20b8b6dc06369ad007272b1cdaadd7410efb987b0c9458d", + "database/migrations/2026_10_06_180000_add_document_applicability_dates.php": "6f3389c323741d2947bbbbd5f2002db18aa9babc4d20c63d4a3d48bde8923e08", + "database/migrations/2026_10_06_200000_add_document_requirement_evidence_links.php": "935d36cdd2d08487a31a426a9676642c37f1262fa30ce78c91d203a925c8f867", + "database/migrations/2026_10_06_210000_allow_informational_zone_publication_without_second_publisher.php": "fe33d216608040be464cab06d75efbc23340d4e7ccd259dfa7d0b909802a08da", + "database/migrations/2026_10_06_220000_add_company_purchase_business_modality.php": "7df04852ef45a7c33238f23a8274f63e2d187d58f56b7376b037e4931d655ce5", + "database/migrations/2026_10_07_160000_extend_internal_partnership_exchange.php": "558ae77d99ad35b32719462bc773e159c62a390101eecc827d7f8b74fc129784", + "database/migrations/2026_10_07_190000_create_internal_virtual_desk.php": "4a91b9ae313084feb913533f79ce2c61662c2110d38dd5effd98f6cd6fa1bd3f", + "database/migrations/2026_10_08_120000_extend_desk_investor_guidance.php": "bec56cead85748e3c28bba21f79086984d177d63b5194a38b385d7b2e19ec4b5", + "database/migrations/2026_10_09_020000_extend_opportunity_management.php": "8a804748cc6b2b537bb7c0e10e09dff3dc4d89b6c974b9f909a198adb2dd048d", + "database/migrations/2026_10_09_030000_extend_opportunity_resources.php": "d4e5c753ede8216e1d383865178c6db37c5422c21c3c8e7458cd4ee1e68659ed", + "database/migrations/2026_10_09_190000_prepare_investor_path.php": "939c2b2e5f9fd6a454fe7f8dd4f4373fd7df53f80e5c5f169db08e6e4c676728", + "database/migrations/2026_10_10_040000_create_portal_profile_authorization.php": "797c27b5f201b65e825fbdea6fd0ea49de2f9d48b1a9bf210d76af285224cc93", + "database/migrations/2026_10_10_050000_extend_organization_country.php": "1f4556f9c38c4b3aa85e34281ba3fc4113a61eab0f1d64193711a67e7ab18d30", + "database/migrations/2026_10_16_120000_extend_economic_reference_hierarchy.php": "c9ec8925487ac530a763dab50450457888dc6956a7fd561db197256f02e362a6", + "database/migrations/2026_10_16_130000_add_investment_zone_editorial_draft.php": "4cfadc6c3d3a7211c276d8df75e1ca687d5386c65d94ce4d025ba4153b31d8ce", + "database/migrations/2026_10_16_140000_add_investment_zone_operational_details.php": "22d78b712b39da0044aff727c49c68ebc32cca80c2cedec450c27a9e3804e13b", + "database/migrations/2026_10_16_150000_create_investor_navigation_preferences.php": "4239847d4828f2c0dda0dc609e420bc0683e7a73633a1eac84eee8e0b87f2aff", + "database/migrations/2026_10_18_160000_add_portal_editorial_content.php": "9a1ff7ed29c081d8b5cde60a349921e63998653e91f3277738ad921a54cde2c1", + "database/migrations/2026_10_21_130000_correct_fiscal_maintenance_actor_constraints.php": "49aad23e494914ce939f29929a0a934251c6096ea88d85f0ffdfcf86944af61b", + "database/migrations/2026_10_22_230000_create_portal_tenders.php": "03f8ec30add71a355f7ac6a55d4b0f4ab7d70f298142788a4ddceb2106f5fe9b", + "database/migrations/2026_10_28_180000_create_proactive_supply_observations.php": "9058739b3305490f6184899d19505760a07df1fe5262d638e0cde12b92a99669" + } + }, + "visual": { + "status": "pending_team_execution_and_record", + "connector_check": "Browser access host unavailable; browsers inventory empty. No browser control or visual acceptance performed.", + "scope": "Only the seven affected paths in delivery_scope plus the inherited IVA/P001 delta if still different at the destination. No full-portal reevaluation.", + "record_fields": [ + "tested_revision", + "QA_URL_and_path", + "authorized_actor_and_scope", + "action", + "expected_and_observed_result", + "evidence", + "date" + ], + "pending_results_do_not_prove_portal_failure": true + }, + "installation": { + "status": "pending", + "existing_pipeline": "/var/www/deploy/investmoz-pipeline.py", + "last_known_installed": "fde7343894964043fa633e3d4d07385a6cb7e039", + "last_known_installed_evidence": "outputs/province-search-20261029/province-status-4.json; historical observation, not a fresh destination check", + "fresh_target_and_capacity_checked": false, + "fresh_backup_restore_verified": false, + "SSH": "Historical connected_ready file has no live province-session worker; pinned-host BatchMode SSH attempt returned Permission denied (publickey,password). No credential requested in chat or guessed.", + "sequence": [ + "Record the bounded visual conference by the team.", + "Re-establish authenticated deployment session and read current installed revision, service, capacities and source contract.", + "Compare current destination with candidate, including inherited IVA delta and five historical migration hashes.", + "Create fresh consistent backup of active database, persistent files and configuration; verify restore in an isolated environment using the existing process.", + "Advance main normally and run the existing guarded pipeline for the fixed delivery revision; preserve the previous release for atomic rollback.", + "Verify installed revision and code hashes, C132 and data/files/permissions preservation; record installation results in the same matrix." + ], + "database_migrations_requested": 0, + "content_imports_requested": 0, + "permissions_changes_requested": 0, + "deployment_triggered": false + } } } diff --git a/docs/investmoz/unification/traceability-and-manual.md b/docs/investmoz/unification/traceability-and-manual.md index e4daecc5..378da422 100644 --- a/docs/investmoz/unification/traceability-and-manual.md +++ b/docs/investmoz/unification/traceability-and-manual.md @@ -7612,3 +7612,17 @@ A conferência visual é limitada aos ecrãs/percursos afectados e pode ser real 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. + +### Entrega Git de daf86234 e 52faf89 — envio confirmado, visual e instalação pendentes + +Branch enviada e SHA remoto conferido: `codex/investemoz-reconciliation-20261029` em `52faf89a2cbd5fa70fb55a42835248e77014d4ae`. `origin/main` actualizado por fetch permanece `fde7343894964043fa633e3d4d07385a6cb7e039`: é antepassado da candidata, com zero commits em falta e 81 commits de histórico reconciliado à frente. `main` não foi avançado nem o instalador accionado. As provas automáticas aceites foram reutilizadas. + +**Delta de entrega conferido:** o pai `63147312` conserva também o incremento anterior `d1551dab` de IVA/P001: campos 05/06/07, agregação exclusiva, contagem única no campo 14 e reutilização dos campos 01/02 actuais. São quatro ficheiros de runtime e dois de testes além da documentação herdada; não atribuir esta alteração a `daf86234` nem a omitir da comparação com o destino. Reutilizar as provas fiscais já aceites e conferir apenas o delta ainda diferente no instalado. + +**Compatibilidade do instalador:** o último contrato de schema registado difere da candidata em cinco hashes de migrações históricas. A comparação estrutural confirmou corpos de operações `up` e `down` equivalentes a main, descontando as quatro guardas QA já validadas; o quinto ficheiro tem apenas formatação. Zero novos caminhos de migração. O pipeline existente recusa diferenças deste contrato: a proposta de cinco hashes está preparada, mas não foi aplicada ao servidor nem houve SQL no activo. Conferir contrato actual e reconciliar pelo processo existente antes de instalar; não contornar a guarda. + +**Conferência visual dirigida: pendente, execução pela equipa.** O conector foi novamente consultado e devolveu browser access host indisponível, sem browsers acessíveis. Usar os sete percursos da tabela anterior e, se ainda integrar o delta do destino, a correspondência/recuperação IVA/P001. Registar na mesma matriz revisão ensaiada, URL QA/percurso, perfil e âmbito autorizado, acção, esperado/observado, evidência e data. Este estado não demonstra falha do portal e não reabre a avaliação de todo o portal. + +**Instalação: pendente conforme a sequência pedida.** O ficheiro antigo de sessão SSH indicava connected_ready, mas o respectivo processo já não está operativo; a tentativa não interactiva com chave de host fixada foi recusada. A revisão instalada, capacidade actual e novo backup/restauro ainda não foram confirmados nesta entrega. Após o registo visual: sessão autenticada, alvo/capacidade/contrato/delta actuais, backup consistente e restauro isolado, avanço normal de main e pipeline existente, preservação da release anterior e verificação final de revisão/hashes/C132/dados/ficheiros/permissões. Sem migrações, importações ou alterações de permissões solicitadas no activo. + +Detalhes, cinco hashes e proposta: campo `git_delivery` do recibo existente `local-validation-20261029.json`. Este registo actualiza o estado de entrega; os resultados e recibos históricos da validação mantêm o seu contexto temporal.