From 2a7254406db3aa6e8c71bfbaf56bbcda1f139d19 Mon Sep 17 00:00:00 2001 From: nala Date: Sat, 24 Oct 2026 23:49:58 +0200 Subject: [PATCH] docs(iva): prepare one G9A-G9J delivery after backup and isolated restore --- .../l1-g9-nondigital-delivery-20261024.json | 206 ++++++++++++++++++ ...ondigital-readonly-rollback-20261024.patch | 10 + 2 files changed, 216 insertions(+) create mode 100644 docs/investmoz/simulations/l1-g9-nondigital-delivery-20261024.json create mode 100644 docs/investmoz/simulations/l1-g9-nondigital-readonly-rollback-20261024.patch diff --git a/docs/investmoz/simulations/l1-g9-nondigital-delivery-20261024.json b/docs/investmoz/simulations/l1-g9-nondigital-delivery-20261024.json new file mode 100644 index 00000000..f28d8762 --- /dev/null +++ b/docs/investmoz/simulations/l1-g9-nondigital-delivery-20261024.json @@ -0,0 +1,206 @@ +{ + "status": "ready_after_fresh_authenticated_preflight_and_verified_backup_restore", + "candidate": "4601bf64a03a02254cbf2e247374996cb36b6a49", + "base_installed": "03c26d66139f36573cf58362a5076b4d5f98eca2", + "coverage_complete_branches": { + "AUD-SIM-L1-P111": [ + "rights_service" + ], + "AUD-SIM-L1-P112": [ + "advertising_service" + ], + "AUD-SIM-L1-P113": [ + "telecom_service" + ], + "AUD-SIM-L1-P114": [ + "consulting_service" + ], + "AUD-SIM-L1-P115": [ + "data_service" + ], + "AUD-SIM-L1-P116": [ + "finance_service" + ], + "AUD-SIM-L1-P117": [ + "staff_service" + ], + "AUD-SIM-L1-P118": [ + "intermediation_service" + ], + "AUD-SIM-L1-P119": [ + "abstention_service" + ], + "AUD-SIM-L1-P120": [ + "movable_lease_service" + ] + }, + "branch_count_complete": 10, + "treatment_count": 10, + "runtime_delta": [ + { + "path": "resources/js/lib/iva-listed-services.ts", + "sha256_LF": "fdc05407576a6c68f8158bc797331380c09e84282609a06ae2a7aa2966c54db6" + }, + { + "path": "resources/js/components/simulation-listed-services.tsx", + "sha256_LF": "77badfa54c3bb6e25fe5153bb852cebc48262b64b4aabc9348a2b1838094917a" + }, + { + "path": "resources/js/components/simulation-monthly-iva.tsx", + "sha256_LF": "43446ed6a23b0e101d72ea50f73cdbae0242ace92af12d836a0955cc85800d82" + }, + { + "path": "resources/js/lib/project-dossier.ts", + "sha256_LF": "fea39f530bf7786778dbdadbb6b08678f2a4071bcccc264e3d026155477517c8" + } + ], + "counts_before": { + "delivered": 93, + "QA": 10, + "functional_pending": 29, + "documentary": 1, + "total": 133 + }, + "counts_current": { + "delivered": 93, + "QA": 10, + "functional_pending": 29, + "documentary": 1, + "total": 133 + }, + "counts_after_delivery": { + "delivered": 103, + "QA": 0, + "functional_pending": 29, + "documentary": 1, + "total": 133 + }, + "QA_proofs_reused": [ + "iva-l1-g9-nondigital-qa-20261024.json" + ], + "authorization": "Tempo explicitly requests one joint delivery of4601bf64,P111–P120,main compatibility/concurrent changes preserved,installeddelta only", + "scope": "2026,serviços enumerados não digitais;localização e identificação do responsável pelas obrigações. Sem isenção confirmada,base,taxa,IVA,montante a pagar,dedução/campo11 ou totaisModeloA. P121/P130digitais eP002transversal não fechados;outros6(4)/(5)encaminhados para percursos próprios. Não automatiza declaração,pagamento,retenção ou prazo digital32(1)c.", + "source": "CIVA2(1)a/b,2(2),6(3),6(7)a–j e6(8),Lei13/2016PDF6–8/p1426(264–266);23(1)/(2),25(4),26(1–3),PDF16–17. Lei22/2022não altera estes artigos. Lei10/2025PDF12mantém alíneasa–j ealtera6(7–9);PDF13art23(2)excluik e remete declaração33(2);PDF14mantém26(1–3),adita26(4)digital ealtera33(2).", + "meaning": { + "P111": { + "clause": "6(7)a", + "treatment": "rights_service", + "nature": "Cessão/autorização de direitos de autor,licenças,marcas e análogos" + }, + "P112": { + "clause": "6(7)b", + "treatment": "advertising_service", + "nature": "Publicidade" + }, + "P113": { + "clause": "6(7)c", + "treatment": "telecom_service", + "nature": "Telecomunicações" + }, + "P114": { + "clause": "6(7)d", + "treatment": "consulting_service", + "nature": "Consultores,engenheiros,advogados,economistas,contabilistas/gabinetes de estudos,organização,investigação/desenvolvimento e similares" + }, + "P115": { + "clause": "6(7)e", + "treatment": "data_service", + "nature": "Tratamento de dados/fornecimento de informações" + }, + "P116": { + "clause": "6(7)f", + "treatment": "finance_service", + "nature": "Operações bancárias,financeiras,seguro/resseguro;eventual isenção independente" + }, + "P117": { + "clause": "6(7)g", + "treatment": "staff_service", + "nature": "Colocação de pessoal" + }, + "P118": { + "clause": "6(7)h", + "treatment": "intermediation_service", + "nature": "Intermediação em nome epor conta de outrem no fornecimento de serviço enumerado,subjacente identificado" + }, + "P119": { + "clause": "6(7)i", + "treatment": "abstention_service", + "nature": "Obrigação de não exercer,mesmo parcialmente,actividade/direito enumerado,subjacente identificado" + }, + "P120": { + "clause": "6(7)j", + "treatment": "movable_lease_service", + "nature": "Locação de bens móveis corpóreos,incluindo financeira,bens/contrato identificados" + } + }, + "formula": "Territorial classification and responsible party only,no monetarycalculation. No righttodeduction prerequisite for6(7);nondigital23(2)excludedigital26(4)/32(1)c routing.", + "preservation": "93prior closures and partialP084/P085 preserved;accepted perbranchQA reused;one integration/backup/real isolatedrestore/check for whole set", + "partial_P084_P085": "Preparation/conditional simulation only,benefits pending;no closure", + "limits": "P084/P085partial,pending;L1open;P00105/06;beveragesL2/L3;Statistics/AIdeferred", + "containment": "l1-g9-nondigital-readonly-rollback-20261024.patch,checked only,not applied;blocks newP111–120classifications,preserves readers/history/otherbranches", + "authenticated_preflight": { + "installed": { + "status": "installed", + "commit": "03c26d66139f36573cf58362a5076b4d5f98eca2", + "release": "/var/www/investmoz-homologacao/releases/03c26d66139f36573cf58362a5076b4d5f98eca2-ac76aca8", + "previous_release": "/var/www/investmoz-homologacao/releases/8f14f5dde24819fce062dc316ed21dfbe033ebf8-6abb42c2", + "database_migrations": 0, + "content_imports": 0 + }, + "current_link": "/var/www/investmoz-homologacao/releases/03c26d66139f36573cf58362a5076b4d5f98eca2-ac76aca8", + "release_revision": { + "commit": "03c26d66139f36573cf58362a5076b4d5f98eca2", + "branch": "main", + "built_at": "2026-10-24T21:42:26.795541+00:00", + "manifest_sha256": "7deb424f38c7361d0a8df4d0be22464ab066a01e5aa38ece15fa62115c15f8c4" + }, + "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-g9-nondigital-delivery-20261024/backup", + "target": { + "database": "teste_investidor", + "port": 5432 + }, + "tables": 174, + "files_verified": 369, + "dump_sha256": "8d783acaa134d37d4d5d7da2842f3a4a2ca159cab444b10b127fc1baf7113ac2", + "files_sha256": "195de1b12e33ce73510143f009a10cae42f622093e6049d36389e2849e3a117b", + "restore_verified": false + }, + "restore": { + "restore_verified": true, + "tables_verified": 174, + "container_network": "none", + "database": "l1_g9_nondigital_restore_20261024", + "port": 55441, + "source_dump_sha256": "8d783acaa134d37d4d5d7da2842f3a4a2ca159cab444b10b127fc1baf7113ac2", + "active_database_writes": 0 + } + } +} diff --git a/docs/investmoz/simulations/l1-g9-nondigital-readonly-rollback-20261024.patch b/docs/investmoz/simulations/l1-g9-nondigital-readonly-rollback-20261024.patch new file mode 100644 index 00000000..5646cceb --- /dev/null +++ b/docs/investmoz/simulations/l1-g9-nondigital-readonly-rollback-20261024.patch @@ -0,0 +1,10 @@ +--- a/resources/js/lib/iva-listed-services.ts ++++ b/resources/js/lib/iva-listed-services.ts +@@ -71,6 +71,7 @@ + function key(draft:Record,book:ListedServiceBook):string{return JSON.stringify({version:listedServiceVersion,scope:acquisitionScope(draft),location:draft.selection_labels??{},rows:book.rows});} + export function listedServiceCurrent(draft:Record,book:ListedServiceBook):boolean{return!!book.result&&book.result.sourceKey===key(draft,book);} + export function recordListedServices(draft:Record,book:ListedServiceBook):ListedServiceBook{ ++ throw new Error('Novas classificações P111–P120 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:ListedServiceCalculation={version:listedServiceVersion,revision:(book.result?.revision??0)+1,calculatedAt:new Date().toISOString(),opportunity:acquisitionScope(draft),location:JSON.stringify(draft.selection_labels??{}),sourceKey:key(draft,book),source:listedServiceSource,inputs:structuredClone(book.rows),rows:book.rows.map(row=>evaluateListedService(row))}; + const next={...book,result,history:[...(book.history??[]),...(book.result?[book.result]:[])]};saveListedServiceBook(draft,next);return next;