From 92eaa93570b96561a0d2ab60787b7af8171c9529 Mon Sep 17 00:00:00 2001 From: nala Date: Sun, 25 Oct 2026 00:50:30 +0200 Subject: [PATCH] docs(iva): prepare joint P087 P127 delivery after isolated restore --- ...-property-transfers-delivery-20261025.json | 165 ++++++++++++++++++ ...transfers-readonly-rollback-20261025.patch | 10 ++ 2 files changed, 175 insertions(+) create mode 100644 docs/investmoz/simulations/l1-property-transfers-delivery-20261025.json create mode 100644 docs/investmoz/simulations/l1-property-transfers-readonly-rollback-20261025.patch diff --git a/docs/investmoz/simulations/l1-property-transfers-delivery-20261025.json b/docs/investmoz/simulations/l1-property-transfers-delivery-20261025.json new file mode 100644 index 00000000..e2212098 --- /dev/null +++ b/docs/investmoz/simulations/l1-property-transfers-delivery-20261025.json @@ -0,0 +1,165 @@ +{ + "status": "ready_after_fresh_authenticated_preflight_and_verified_backup_restore", + "candidate": "d84883b801123664770ab6c69d7e7ddec148e352", + "base_installed": "ce9d649fbf631b584cb521ce120c98a4cb459c13", + "coverage_complete_branches": { + "AUD-SIM-L1-P087": [ + "binding_lease" + ], + "AUD-SIM-L1-P127": [ + "business_onerous", + "business_free" + ] + }, + "branch_count_complete": 2, + "treatment_count": 3, + "QA_example_count": 3, + "runtime_delta": [ + { + "path": "resources/js/lib/iva-property-transfers.ts", + "sha256_LF": "0d92edaf29b37cbe58f4d60ad3c61756f4cfdf71b8165e47438e9e3d7c59041e" + }, + { + "path": "resources/js/components/simulation-property-transfers.tsx", + "sha256_LF": "ca2e125cf814ea3f797db9befbccbe6df3d1e9d91118b10af0cd2302e0e307e8" + }, + { + "path": "resources/js/components/simulation-monthly-iva.tsx", + "sha256_LF": "2b5a10dfd5a180d008403e5fe27333553d95c373c43c3ff629b4a1b4ff44bdfe" + }, + { + "path": "resources/js/lib/project-dossier.ts", + "sha256_LF": "d59ab0d244d342d3c4167766529499c3cd0cb866e6680c7e4db0508b9c9e62cb" + } + ], + "counts_before": { + "delivered": 116, + "QA": 2, + "functional_pending": 14, + "documentary": 1, + "total": 133 + }, + "counts_current": { + "delivered": 116, + "QA": 2, + "functional_pending": 14, + "documentary": 1, + "total": 133 + }, + "counts_after_delivery": { + "delivered": 118, + "QA": 0, + "functional_pending": 14, + "documentary": 1, + "total": 133 + }, + "QA_proofs_reused": [ + "iva-l1-property-transfers-qa-20261025.json" + ], + "authorization": "Tempo explicitly requests one joint delivery ofd84883b8,P087/P127,preserving concurrent changes and installeddelta only", + "scope": "2026;P087baseMZN exacta,classificação pode manter-se com base indeterminada.P127classificação própria de não exigibilidade,sem preencher base/IVA comzero.Sem exigibilidade fiscal calculada,nova dedução,campo11,regularização ou totaisModeloA.P125categoria/elegibilidademargem eP123consignação mantidos separados.", + "source": "CIVA Lei13/2016:3(3)a PDF6/p1426(264);3(5) PDF7/p1426(265);15(1) PDF13/p1426(271),páginas visualmente conferidas.Lei22/2022PDF3 mantém15(1);Lei10/2025PDF12 mantém3(3)a/3(5),não altera15.Rectificação2017 sem alteração destas disposições.Acervo seisPDF inventariado/hashes conferidos.", + "meaning": { + "P087": "Entrega material de bens em execução de contrato de locação com cláusula vinculante para ambas as partes de transferência da propriedade3(3)a. Classificação separada da base15(1):contraprestação obtida/a obter,sem próprioIVA,com composição/âmbito identificados. Não usar15(2)a da consignação,nem transformar mera opção de compra em cláusula vinculante.", + "P127": "Cessão onerosa ou gratuita de estabelecimento,totalidade ou parte de património susceptível de constituir ramo independente3(5). Adquirente é ou passa pela aquisição a sujeito passivo2(1)a e pratica operações com direito à dedução. Imposto não devido nem exigível no âmbito demonstrado;não isenção genérica,nem base/taxa zero ou nova dedução. Não impor condição autónoma de continuidade além dos factos da fonte." + }, + "classification_and_scope": "P087 binding lease materialdelivery3(3)a,base15(1),notconsignment15(2)a.P1273(5) businessscope/acquirer2(1)a/deductionactivities explicit;no genericexemption/zerobase/newdeduction.", + "preservation": "116priorclosures andpartialP084/P085 preserved;acceptedperbranchQA reused;one integration/backup/realisolatedrestore/check forwhole set", + "partial_P084_P085": "Preparation/conditional simulation only;benefits pending;no closure", + "limits": "L1aberto;P00105/06;P121digital/P084/P085pendentes;bebidasL2/L3;Estatísticas/IAadiadas", + "containment": "l1-property-transfers-readonly-rollback-20261025.patch,checked only,not applied;blocks newP087/P127calculations,preserves readers/history/otherbranches", + "authenticated_preflight": { + "installed": { + "status": "installed", + "commit": "ce9d649fbf631b584cb521ce120c98a4cb459c13", + "release": "/var/www/investmoz-homologacao/releases/ce9d649fbf631b584cb521ce120c98a4cb459c13-f7d31a27", + "previous_release": "/var/www/investmoz-homologacao/releases/019bcbad6c5a2371e4ca55f7b687447316606fb1-8865b05d", + "database_migrations": 0, + "content_imports": 0 + }, + "current_link": "/var/www/investmoz-homologacao/releases/ce9d649fbf631b584cb521ce120c98a4cb459c13-f7d31a27", + "release_revision": { + "commit": "ce9d649fbf631b584cb521ce120c98a4cb459c13", + "branch": "main", + "built_at": "2026-10-24T22:42:39.117961+00:00", + "manifest_sha256": "eeab5319e220e8017f0f06e4b4ba2572ccadb5be465cde82d696ac0e64f5ae0c" + }, + "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-property-transfers-delivery-20261025/backup", + "target": { + "database": "teste_investidor", + "port": 5432 + }, + "tables": 174, + "files_verified": 369, + "dump_sha256": "30ce2f710bb55e4222d598277fa92ecce8fc6064e49bca63dff2da128e233c2f", + "files_sha256": "13cd195e51574749c71ffff895d20b5d38044e0c38582af8e51e01fca4765540", + "restore_verified": false + }, + "restore": { + "restore_verified": true, + "tables_verified": 174, + "container_network": "none", + "database": "l1_property_transfers_restore_20261024", + "port": 55441, + "source_dump_sha256": "30ce2f710bb55e4222d598277fa92ecce8fc6064e49bca63dff2da128e233c2f", + "active_database_writes": 0 + } + }, + "next_dependency_groups_authorized": { + "transversal_first": [ + "P104", + "P131", + "P132" + ], + "transversal_then": [ + "P002" + ], + "digital": [ + "P121", + "P130" + ], + "travel_and_events": [ + "P129", + "P133" + ], + "imports_and_benefits": [ + "P046", + "P047", + "P058", + "P059" + ], + "specific_documentary_nonblocking": [ + "P084", + "P085", + "P001" + ] + } +} diff --git a/docs/investmoz/simulations/l1-property-transfers-readonly-rollback-20261025.patch b/docs/investmoz/simulations/l1-property-transfers-readonly-rollback-20261025.patch new file mode 100644 index 00000000..4e7665bc --- /dev/null +++ b/docs/investmoz/simulations/l1-property-transfers-readonly-rollback-20261025.patch @@ -0,0 +1,10 @@ +--- a/resources/js/lib/iva-property-transfers.ts ++++ b/resources/js/lib/iva-property-transfers.ts +@@ -47,6 +47,7 @@ + function key(draft:Record,book:PropertyTransferBook):string{return JSON.stringify({version:propertyTransferVersion,scope:acquisitionScope(draft),location:draft.selection_labels??{},currency:draft.currency,rows:book.rows});} + export function propertyTransferCurrent(draft:Record,book:PropertyTransferBook):boolean{return!!book.result&&book.result.sourceKey===key(draft,book);} + export function recordPropertyTransfers(draft:Record,book:PropertyTransferBook):PropertyTransferBook{ ++ throw new Error('Novos cálculos P087/P127 temporariamente suspensos;dados,histórico,relatórios e restantes ramos preservados.'); + if(!book.rows.length||new Set(book.rows.map(r=>r.id)).size!==book.rows.length)throw new Error('Indique operações com identificadores distintos;originais conservados.'); + const result:PropertyTransferCalculation={version:propertyTransferVersion,revision:(book.result?.revision??0)+1,calculatedAt:new Date().toISOString(),opportunity:acquisitionScope(draft),location:JSON.stringify(draft.selection_labels??{}),sourceKey:key(draft,book),source:propertyTransferSource,inputs:structuredClone(book.rows),rows:book.rows.map(row=>evaluatePropertyTransfer(row,draft.currency))}; + const next={...book,result,history:[...(book.history??[]),...(book.result?[book.result]:[])]};savePropertyTransferBook(draft,next);return next;