From 7e5710ebbd235f9478f149f8470a238c9e66ea9e Mon Sep 17 00:00:00 2001 From: nala Date: Sat, 24 Oct 2026 22:52:59 +0200 Subject: [PATCH] docs(iva): prepare G7F delivery after verified backup and isolated restore --- .../simulations/l1-g7f-delivery-20261024.json | 128 ++++++++++++++++++ .../l1-g7f-readonly-rollback-20261024.patch | 10 ++ 2 files changed, 138 insertions(+) create mode 100644 docs/investmoz/simulations/l1-g7f-delivery-20261024.json create mode 100644 docs/investmoz/simulations/l1-g7f-readonly-rollback-20261024.patch diff --git a/docs/investmoz/simulations/l1-g7f-delivery-20261024.json b/docs/investmoz/simulations/l1-g7f-delivery-20261024.json new file mode 100644 index 00000000..5466c634 --- /dev/null +++ b/docs/investmoz/simulations/l1-g7f-delivery-20261024.json @@ -0,0 +1,128 @@ +{ + "status": "ready_after_fresh_authenticated_preflight_and_verified_backup_restore", + "candidate": "6f90fcb9d4ea6e93b13291e65fa6cb7406ca98c9", + "base_installed": "70b4a640ee5f790f8e6a089d157456ff437e336d", + "coverage_complete_branches": { + "AUD-SIM-L1-P101": [ + "tax_component", + "accessory_component" + ] + }, + "branch_count_complete": 1, + "treatment_count": 2, + "runtime_delta": [ + { + "path": "resources/js/lib/iva-composition-base.ts", + "sha256_LF": "557d6b4b5ed2c534b69e5edf43c9e4014cdfb7362bf164829cd16e4deeabbf73" + }, + { + "path": "resources/js/components/simulation-composition-base.tsx", + "sha256_LF": "3507c14f15e40bf018089520a46b7e22002ddbd9bffa64d179f085b0d933ae0e" + }, + { + "path": "resources/js/components/simulation-monthly-iva.tsx", + "sha256_LF": "82694be2d0a5ac097b64d68dceeda1df239bb2bf2bce193e8112d3dadad79a95" + }, + { + "path": "resources/js/lib/project-dossier.ts", + "sha256_LF": "c640883680629049ea851a63e28e967a70297257a55e5d885df8e32f4b81e871" + } + ], + "counts_before": { + "delivered": 83, + "QA": 1, + "functional_pending": 48, + "documentary": 1, + "total": 133 + }, + "counts_current": { + "delivered": 83, + "QA": 1, + "functional_pending": 48, + "documentary": 1, + "total": 133 + }, + "counts_after_delivery": { + "delivered": 84, + "QA": 0, + "functional_pending": 48, + "documentary": 1, + "total": 133 + }, + "QA_proofs_reused": [ + "iva-l1-g7f-qa-20261024.json" + ], + "authorization": "Tempo explicitly deploy6f90fcb9 through existingGit,preserve concurrentchanges and check installeddelta only;onebase peroperation,withoutdoublecounting or ownVAT;two componenttreatments sameP101branch", + "scope": "2026/MZN,P101compositiononly;no incidence/taxrates/IVA/deduction/field11/ModeloAtotals. Initialamount explicitlynetofownIVA and applicable15(6)exclusions;specialbases15(2)respected includingP095TCexclusion. DetailedP102exclusions notclosed by thisrecorte. Unknowncomponentamount/inclusion notassumedzero or missing;ownIVA not added ascomponent.", + "meaning": "Include taxes,duties,fees/otherimpositions excludingownVAT;accessory expenses charged forcommissions,packaging,transport/insurance onclientaccount. Both component treatments form one base peroperation,not parallelbases.", + "formula": "initial amount netofownVAT/applicableexclusions + sum of applicable components notalreadyincluded;alreadyincluded components retained without secondsum", + "preservation": "83priorclosures and partialP084/P085 preserved;acceptedQA reused;freshbackup/realisolatedrestore beforeinstallation;installeddelta only", + "partial_P084_P085": "Preparation/conditional simulation only,benefits pending;no closure", + "limits": "P084/P085partial,pending;P00105/06;L1open;beveragesL2/L3;Statistics/AIdeferred", + "containment": "l1-g7f-readonly-rollback-20261024.patch,checked only,not applied;blocks newP101calculations only,preserves readers/history/otherbranches", + "authenticated_preflight": { + "installed": { + "status": "installed", + "commit": "70b4a640ee5f790f8e6a089d157456ff437e336d", + "release": "/var/www/investmoz-homologacao/releases/70b4a640ee5f790f8e6a089d157456ff437e336d-c95636fc", + "previous_release": "/var/www/investmoz-homologacao/releases/92a7418cb6b080916a4d02d3c1db4be94d3d96f1-ebe3dcb6", + "database_migrations": 0, + "content_imports": 0 + }, + "current_link": "/var/www/investmoz-homologacao/releases/70b4a640ee5f790f8e6a089d157456ff437e336d-c95636fc", + "release_revision": { + "commit": "70b4a640ee5f790f8e6a089d157456ff437e336d", + "branch": "main", + "built_at": "2026-10-24T20:45:12.326319+00:00", + "manifest_sha256": "c141928a91011ced381e72b1e616469bb9fe061a2a9e9d7b43dcf8ec37ccd068" + }, + "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-g7f-delivery-20261024/backup", + "target": { + "database": "teste_investidor", + "port": 5432 + }, + "tables": 174, + "files_verified": 369, + "dump_sha256": "18729e57928183ae4a59eb2e34566a1e87ec4a1fa9e8d3a97177ab9623ae272a", + "files_sha256": "13142a0558b2a84ae6fd142789fe313f09ef3a0f3b201c6421a274e4105f7f23", + "restore_verified": false + }, + "restore": { + "restore_verified": true, + "tables_verified": 174, + "container_network": "none", + "database": "l1_g7f_restore_20261024", + "port": 55441, + "source_dump_sha256": "18729e57928183ae4a59eb2e34566a1e87ec4a1fa9e8d3a97177ab9623ae272a", + "active_database_writes": 0 + } + } +} diff --git a/docs/investmoz/simulations/l1-g7f-readonly-rollback-20261024.patch b/docs/investmoz/simulations/l1-g7f-readonly-rollback-20261024.patch new file mode 100644 index 00000000..18d1420a --- /dev/null +++ b/docs/investmoz/simulations/l1-g7f-readonly-rollback-20261024.patch @@ -0,0 +1,10 @@ +--- a/resources/js/lib/iva-composition-base.ts ++++ b/resources/js/lib/iva-composition-base.ts +@@ -55,6 +55,7 @@ + function key(draft:Record,book:CompositionBook):string{return JSON.stringify({version:compositionBaseVersion,scope:acquisitionScope(draft),location:draft.selection_labels??{},currency:draft.currency,rows:book.rows});} + export function compositionCurrent(draft:Record,book:CompositionBook):boolean{return!!book.result&&book.result.sourceKey===key(draft,book);} + export function recordCompositions(draft:Record,book:CompositionBook):CompositionBook{ ++ throw new Error('Novas bases P101 temporariamente suspensas; dados, histórico, relatórios e restantes ramos preservados.'); + if(!book.rows.length||new Set(book.rows.map(row=>row.id)).size!==book.rows.length)throw new Error('Indique operações com identificadores distintos;originais conservados.'); + const result:CompositionCalculation={version:compositionBaseVersion,revision:(book.result?.revision??0)+1,calculatedAt:new Date().toISOString(),opportunity:acquisitionScope(draft),location:JSON.stringify(draft.selection_labels??{}),sourceKey:key(draft,book),source:compositionBaseSource,inputs:structuredClone(book.rows),rows:book.rows.map(row=>evaluateComposition(row,draft.currency))}; + const next={...book,result,history:[...(book.history??[]),...(book.result?[book.result]:[])]};saveCompositionBook(draft,next);return next;