From 2d889a211ba303db31dcba815e439456dfba9f36 Mon Sep 17 00:00:00 2001 From: nala Date: Sat, 24 Oct 2026 20:04:30 +0200 Subject: [PATCH] docs(iva): prepare joint P048 P080 Git delivery after verified restore --- .../l1-g6d-g5c-delivery-20261024.json | 119 ++++++++++++++++++ ...1-g6d-g5c-readonly-rollback-20261024.patch | 10 ++ 2 files changed, 129 insertions(+) create mode 100644 docs/investmoz/simulations/l1-g6d-g5c-delivery-20261024.json create mode 100644 docs/investmoz/simulations/l1-g6d-g5c-readonly-rollback-20261024.patch diff --git a/docs/investmoz/simulations/l1-g6d-g5c-delivery-20261024.json b/docs/investmoz/simulations/l1-g6d-g5c-delivery-20261024.json new file mode 100644 index 00000000..65156127 --- /dev/null +++ b/docs/investmoz/simulations/l1-g6d-g5c-delivery-20261024.json @@ -0,0 +1,119 @@ +{ + "status": "ready_after_fresh_authenticated_preflight_and_verified_backup_restore", + "candidate": "50fdd97916ef910a61bff0bebbcdc835206e3786", + "base_installed": "d46b794ab2c6113738f76c69097ae3dcddcf56dd", + "coverage": { + "AUD-SIM-L1-P048": [ + "customs_transit_import", + "customs_temporary_import", + "customs_drawback_import" + ], + "AUD-SIM-L1-P080": [ + "special_economic_zone_import", + "free_zone_import", + "free_warehouse_import", + "general_free_warehouse_import", + "customs_warehouse_import", + "duty_free_shop_import" + ] + }, + "branch_count": 2, + "treatment_count": 9, + "runtime_delta": [ + { + "path": "resources/js/lib/iva-import-exemptions.ts", + "sha256_LF": "01698a4dfe4dd7bd39af44593a8b0909665c1066d4faa1f32c1315fec5b623eb" + }, + { + "path": "resources/js/components/simulation-import-exemptions.tsx", + "sha256_LF": "94276b469e172bf1ed0b763a6cd9215837da6bfa4e6b2637a41915d105690511" + } + ], + "counts_before": { + "delivered": 72, + "QA": 2, + "functional_pending": 58, + "documentary": 1, + "total": 133 + }, + "counts_after_delivery": { + "delivered": 74, + "QA": 0, + "functional_pending": 58, + "documentary": 1, + "total": 133 + }, + "QA_proofs_reused": [ + "iva-l1-g6d-qa-20261024.json", + "iva-l1-g5c-qa-20261024.json" + ], + "authorization": "Tempo24/10 explicit immediate delivery of P048/P080 jointly;preserve closures/concurrent changes;installed delta only", + "P084_P085": "Not delivered;documentary research joint,conditions distinct;draft preparation authorized without automatic benefit", + "limits": "L1open;P001only05/06;import classification separate from deduction/field11;beveragesL2/L3;Statistics/AIdeferred", + "rollback": "Keep previous release/backup;prepared readonly containment disables only new recording,keeps readers/history;not applied", + "authenticated_preflight": { + "installed": { + "status": "installed", + "commit": "d46b794ab2c6113738f76c69097ae3dcddcf56dd", + "release": "/var/www/investmoz-homologacao/releases/d46b794ab2c6113738f76c69097ae3dcddcf56dd-e81e61d1", + "previous_release": "/var/www/investmoz-homologacao/releases/4cebd617651ca877bd4715c661973873e69f05e1-f916c854", + "database_migrations": 0, + "content_imports": 0 + }, + "current_link": "/var/www/investmoz-homologacao/releases/d46b794ab2c6113738f76c69097ae3dcddcf56dd-e81e61d1", + "release_revision": { + "commit": "d46b794ab2c6113738f76c69097ae3dcddcf56dd", + "branch": "main", + "built_at": "2026-10-24T17:47:40.841865+00:00", + "manifest_sha256": "4e33ef8b77192cc28929f1ce8768c8df3d5e4b4d92ad912cf09d75077a9af40c" + }, + "service": "ExecMainStatus=0\nActiveState=inactive\nSubState=dead\n", + "configuration_keys": [ + "repository", + "branch", + "target_url", + "legacy_root", + "state_root", + "release_root", + "current_link", + "shared_assets", + "php", + "schema_contract", + "ci_environment", + "postgis_image", + "test_database", + "qa_port", + "retention", + "webhook_secret_file" + ], + "safe_paths": { + "repository": "nala/Investidor-V2", + "release_root": "/var/www/investmoz-homologacao/releases", + "postgis_image": "postgis/postgis@sha256:01a6a70e41e6c4467c8f55f6063555ed72db2d6662cd0d571040d42eadaeb6f6" + }, + "pipeline_sha256": "adec1c17654f3a8658b83b134f1e75f95391b235738552721906c3236e388604" + }, + "backup_restore": { + "backup": { + "stage": "/var/backups/investmoz-l1-g6d-g5c-delivery-20261024/backup", + "target": { + "database": "teste_investidor", + "port": 5432 + }, + "tables": 174, + "files_verified": 369, + "dump_sha256": "9c03002c45875ffec171a96f40d75532fd2ea6efe7dd89120e527f73d48c0cce", + "files_sha256": "24b8607c3e31787487daabe18903f021a916a794b6a17cdee2350b4ac807d81e", + "restore_verified": false + }, + "restore": { + "restore_verified": true, + "tables_verified": 174, + "container_network": "none", + "database": "l1_g6d_g5c_restore_20261024", + "port": 55441, + "source_dump_sha256": "9c03002c45875ffec171a96f40d75532fd2ea6efe7dd89120e527f73d48c0cce", + "active_database_writes": 0 + } + } +} diff --git a/docs/investmoz/simulations/l1-g6d-g5c-readonly-rollback-20261024.patch b/docs/investmoz/simulations/l1-g6d-g5c-readonly-rollback-20261024.patch new file mode 100644 index 00000000..761020f6 --- /dev/null +++ b/docs/investmoz/simulations/l1-g6d-g5c-readonly-rollback-20261024.patch @@ -0,0 +1,10 @@ +--- a/resources/js/lib/iva-import-exemptions.ts ++++ b/resources/js/lib/iva-import-exemptions.ts +@@ -81,6 +81,7 @@ + } + export function importExemptionCurrent(draft:Record,book:ImportExemptionBook):boolean {return !!book.result&&book.result.sourceKey===key(draft,book);} + export function recordImportExemptions(draft:Record,book:ImportExemptionBook):ImportExemptionBook { ++ throw new Error('Novas classificações de importação temporariamente suspensas; dados, histórico e relatórios preservados.'); + if(!book.rows.length||new Set(book.rows.map(r=>r.id)).size!==book.rows.length)throw new Error('Indique importações com identificadores distintos; versões anteriores conservadas.'); + const result:ImportExemptionCalculation={version:importExemptionVersion,revision:(book.result?.revision??0)+1,calculatedAt:new Date().toISOString(),opportunity:acquisitionScope(draft),location:JSON.stringify(draft.selection_labels??{}),sourceKey:key(draft,book),source:[...new Set(book.rows.map(row=>importRuleSource(row.treatment)))].join(' | '),inputs:structuredClone(book.rows),rows:book.rows.map(row=>evaluateImportExemption(row,draft.currency))}; + return {...book,result,history:[...(book.history??[]),...(book.result?[book.result]:[])]};