diff --git a/docs/investmoz/simulations/l1-p047-baggage-delivery-20261025.json b/docs/investmoz/simulations/l1-p047-baggage-delivery-20261025.json new file mode 100644 index 00000000..e81d5528 --- /dev/null +++ b/docs/investmoz/simulations/l1-p047-baggage-delivery-20261025.json @@ -0,0 +1,210 @@ +{ + "status": "ready_after_fresh_authenticated_preflight_and_verified_backup_restore", + "candidate": "6e1dc4104c4705908f88d3be64d8ef312c32d956", + "accepted_candidates": [ + "6e1dc410" + ], + "partial_candidate_preserved": "4f28fac5", + "base_installed": "e38aa74920412e545213b35b7585c847a0b8a969", + "coverage_complete_branches": { + "AUD-SIM-L1-P047": "Quatro famílias deCIVA12(1)b no âmbito demonstrado:partidos,mecenato,veículos diplomáticos/consulares eIPP;isenção de direitos demonstrada ou pressuposto expresso;pedido,redução e taxa0% distintos;sem concessão aduaneira automática." + }, + "branch_count_complete": 1, + "coverage_partial_branches": { + "AUD-SIM-L1-P058": "Quatro percursos de bagagem:funcionário civil,militar,estudante/bolseiro e regresso antecipado por serviço doEstado;acompanhada/não acompanhada. Cobertura parcial,semfecho;57(2)b,propriedade exactamente180dias e delimitação63(2) continuam pendentes. Veículos anteriores preservados." + }, + "coverage_label": "SóP047 conta como novo ramo entregue. P058 permanece pendente com avanço parcial explícito na interface e manifesto. Pressuposto de simulação não equivale a isenção concedida.", + "runtime_delta": [ + { + "path": "resources/js/components/simulation-monthly-iva.tsx", + "sha256_LF": "bc1e0ef295b3b9de567126c8d414f990d05530ce4e39f48eb82189fe76da9c8c" + }, + { + "path": "resources/js/components/simulation-remission-imports.tsx", + "sha256_LF": "af315ef59fcd152660fff5953d5ebcbbc67df6760723eb8ec7827cfd98d4e302" + }, + { + "path": "resources/js/components/simulation-returnee-baggage-fields.tsx", + "sha256_LF": "a1d98f191c18334ce3125bffa5f18c2b30099406768768d5421873eede1c820a" + }, + { + "path": "resources/js/components/simulation-returnees.tsx", + "sha256_LF": "c3fc9c14f5a8f0e992b8832ffbd3e936e057896d1c5ad60a7958c9ffc5d0dabc" + }, + { + "path": "resources/js/lib/iva-remission-catalog.ts", + "sha256_LF": "9207aff882eaee7cca30f41e6521c5b28c8a9f5ca76a10ff90accc8b0320eab6" + }, + { + "path": "resources/js/lib/iva-remission-imports.ts", + "sha256_LF": "f70b829d9873ada22391c839b8b030435cd56ccb8433310a2d26430c97657d30" + }, + { + "path": "resources/js/lib/iva-returnee-baggage.ts", + "sha256_LF": "7af40b71a8e3e3e3ad0327529b549df715bda1eaec739de2e5c5eb06e6973409" + }, + { + "path": "resources/js/lib/iva-returnees.ts", + "sha256_LF": "4e203d62fe3a758b0dfdfaf27988e84fd64dc1915f970e63141f1cd3506eccab" + }, + { + "path": "resources/js/lib/project-dossier.ts", + "sha256_LF": "093ebb47f98fb132a370d54b3f93610e300cc4e4394bf390cb7867753c271736" + } + ], + "documentary_delta": [ + { + "path": "docs/investmoz/simulations/source-archive/Lei-7-1991-Partidos-IFES.pdf", + "sha256": "6b783a0bb3330688ef10660a58060d9724aa2da6a873d234fe902f0eaaeda42d", + "state": "original archived;no automatic import,publication or fiscal activation" + }, + { + "path": "docs/investmoz/simulations/source-archive/Lei-14-1992-BR42.pdf", + "sha256": "089fff7423e99a70a230a73ca379e4ea3a91d124703f91016e57ff82794b9e56", + "state": "original archived;no automatic import,publication or fiscal activation" + }, + { + "path": "docs/investmoz/simulations/source-archive/Lei-4-1994-BR37-3-suplemento.pdf", + "sha256": "210df9db8980d0a5690cd187a6eeec7e37a900d743e39062c16f4e0d12215c7e", + "state": "original archived;no automatic import,publication or fiscal activation" + }, + { + "path": "docs/investmoz/simulations/source-archive/Decreto-22-2021-BR70.pdf", + "sha256": "a8fac38dcfe08f9c7a8e46254cff10e1ec82fc4f7a8d88ad6e4fe7d91ffc21a5", + "state": "original archived;no automatic import,publication or fiscal activation" + }, + { + "path": "docs/investmoz/simulations/source-archive/Decreto-29-1998-BR22-5-suplemento.pdf", + "sha256": "6242cbe675faadf085f43f95ec8c7e8868aafe67c3b2ab2bb010992288f954f8", + "state": "original archived;no automatic import,publication or fiscal activation" + } + ], + "compiled_delta_markers_expected": [ + "remissionImports", + "early_state_baggage", + "missionPlannedEnd", + "baggageRoute", + "Conferir quatro famílias e guardar versão", + "Regresso definitivo — veículos e bagagem (P058, cobertura parcial)", + "Aplicação legal directa; não é criada aprovação adicional", + "Cenário condicionado aos pressupostos expressos; não benefício concedido.", + "31/07/2026", + "fxSelection", + "formDecisionHash", + "sem calcular IVA devido ou dedução", + "Não representa cobertura digital integral" + ], + "counts_before": { + "delivered": 128, + "QA": 1, + "functional_pending": 3, + "documentary": 1, + "total": 133 + }, + "counts_current": { + "delivered": 128, + "QA": 1, + "functional_pending": 3, + "documentary": 1, + "total": 133 + }, + "counts_after_delivery": { + "delivered": 129, + "QA": 0, + "functional_pending": 3, + "documentary": 1, + "total": 133 + }, + "QA_proofs_reused": [ + "iva-l1-p047-families-qa-20261025.json", + "iva-l1-residuals-baggage-qa-20261025.json" + ], + "authorization": "Tempo25/10 pede entrega agrupadaP047candidata6e1dc410 e avanço parcialP058;preservar concorrência e conferir só delta instalado.", + "preservation": "128fechos,dados,configuração,permissões,originais,relações e históricos conservados;inventário na matriz/manual existentes;provasQA aceites reutilizadas.", + "limitations_balance": [ + "Classifica IVA por remissão apenas com isenção de direitos demonstrada ou pressuposto expresso; não concede benefício aduaneiro.", + "Não automatiza classificação pautal nem todos os procedimentos de cada regime referido. Condições específicas ausentes permanecem indeterminadas.", + "Pedido apresentado não concede;deferimento previsto é apenas cenário condicionado.", + "Sem direitos,ICE,base aduaneira,dedução/campo11,alienação ou soma aos livros anteriores.", + "P058 quatro percursosQA4f28fac5 preservados;três questões residuais permanecem abertas.", + "P084/P085 procedimentoTempo entregue preservado;falta somente correspondência específica de formulário/instrução e mapeamento.", + "P001 limitado05/06 da edição recebida;sem renumeração a partir de outros modelos.", + "Formalidades digitais não automatizadas e cálculo fiscal restante de ramos com âmbito limitado conservados;L1aberto." + ], + "remaining_ids": [ + "P058", + "P084", + "P085", + "P001" + ], + "P058_closure": false, + "P084_P085_procedure": "Already delivered Tempo workflow preserved;not reopened;no additional approvals.", + "P001": "Only05/06 received edition", + "L1": "open", + "containment": "l1-p047-baggage-readonly-rollback-20261025.patch checked without applying;P047/newbaggage evaluation suspended on demand;readers/history,priorvehiclepaths and previous release retained", + "authenticated_preflight": { + "installed": { + "status": "installed", + "commit": "e38aa74920412e545213b35b7585c847a0b8a969", + "release": "/var/www/investmoz-homologacao/releases/e38aa74920412e545213b35b7585c847a0b8a969-c2a813e8", + "previous_release": "/var/www/investmoz-homologacao/releases/a665ee9c974adb48706027e66fdd71b773d7358c-67adcc0e", + "database_migrations": 0, + "content_imports": 0 + }, + "current_link": "/var/www/investmoz-homologacao/releases/e38aa74920412e545213b35b7585c847a0b8a969-c2a813e8", + "release_revision": { + "commit": "e38aa74920412e545213b35b7585c847a0b8a969", + "branch": "main", + "built_at": "2026-10-25T09:07:12.105014+00:00", + "manifest_sha256": "9e01cbb05e4cc752f81a698bc88223dcbf5182b6eb2199e8f579ca2a11b6b2f3" + }, + "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-p047-baggage-delivery-20261025/backup", + "target": { + "database": "teste_investidor", + "port": 5432 + }, + "tables": 174, + "files_verified": 369, + "dump_sha256": "a554cd5c0a3bdbefaa66de744381c29202f796ad0d971923b5b6e77d0ae1ac66", + "files_sha256": "c48ae892aad058a3c5a6760f24bb001b910610b077734c7ecc075409fd67b71c", + "restore_verified": false + }, + "restore": { + "restore_verified": true, + "tables_verified": 174, + "container_network": "none", + "database": "l1_p047_baggage_restore_20261025", + "port": 55441, + "source_dump_sha256": "a554cd5c0a3bdbefaa66de744381c29202f796ad0d971923b5b6e77d0ae1ac66", + "active_database_writes": 0 + } + } +} diff --git a/docs/investmoz/simulations/l1-p047-baggage-readonly-rollback-20261025.patch b/docs/investmoz/simulations/l1-p047-baggage-readonly-rollback-20261025.patch new file mode 100644 index 00000000..1bc3d463 --- /dev/null +++ b/docs/investmoz/simulations/l1-p047-baggage-readonly-rollback-20261025.patch @@ -0,0 +1,20 @@ +--- a/resources/js/lib/iva-remission-imports.ts ++++ b/resources/js/lib/iva-remission-imports.ts +@@ -29,6 +29,7 @@ + const positive=(v:string)=>/^[1-9]\d{0,5}$/.test(v),nonnegative=(v:string)=>/^(0|[1-9]\d{0,5})$/.test(v); + export function evaluateRemission(r:RemissionRow,currency:unknown):RemissionLine{ + const result:RemissionLine={id:r.id,status:'indeterminate',importVat:null,deduction:null,source:remissionSource,reason:''};const stop=(reason:string,status:RemissionLine['status']='indeterminate')=>({...result,status,reason}); ++ return stop('Novas avaliaçõesP047 temporariamente suspensas;históricos e originais preservados.'); + if(!remissionFamilies.some(([k])=>k===r.family))return stop('Escolha uma das quatro famílias documentadas.'); + if(currency!=='MZN'||r.currency!==currency||!/^2026-(0[1-9]|1[0-2])$/.test(r.period)||!date(r.importDate)||r.importDate.slice(0,7)!==r.period)return stop('Indique moedaMZN e data/período2026 coerentes; não se presume conversão.'); + if(!['projected','effective'].includes(r.origin)||![r.description,r.importer,r.scope,r.evidence,r.documentRef,r.rightsRef].every(v=>v.trim()))return stop('Identifique bens, importador, âmbito, documentos e fundamento da isenção de direitos ou pressupostos expressos.'); +--- a/resources/js/lib/iva-returnee-baggage.ts ++++ b/resources/js/lib/iva-returnee-baggage.ts +@@ -19,6 +19,7 @@ + function anniversary(s:string){const d=date(s)!;const month=d.getUTCMonth();d.setUTCFullYear(d.getUTCFullYear()+1);if(d.getUTCMonth()!==month)d.setUTCDate(0);return d.toISOString().slice(0,10);} + export function evaluateBaggage(row:ReturneeRow,currency:unknown):Line{ + const rule=baggageTreatments.find(t=>t.id===row.treatment),base:Line={id:row.id,status:'indeterminate',importVat:null,deduction:null,reason:'',source:baggageSource+(rule?';'+rule.article:'')};const stop=(reason:string,status:Line['status']='indeterminate')=>({...base,status,reason}); ++ return stop('Novas avaliações de bagagemP058 temporariamente suspensas;veículos,históricos e originais preservados.'); + if(!rule)return stop('Percurso de bagagem não identificado;sem estender57(2)c/d à fixação de domicílio57(2)b.'); + if(currency!=='MZN'||row.currency!==currency||!/^2026-(0[1-9]|1[0-2])$/.test(row.period)||!date(row.importDate)||row.importDate.slice(0,7)!==row.period)return stop('Indique importação2026 emMZN e data/período coerentes;sem conversão presumida.'); + if(!['projected','effective'].includes(row.origin)||![row.description,row.beneficiary,row.scope,row.evidence,row.documentRef,row.missionRef??''].every(v=>v.trim()))return stop('Identifique beneficiário,bens,âmbito,documentos disponíveis e missão pública/estudo ou pressupostos expressos;reutilize referências,sem certificado adicional criado pelo portal.'); diff --git a/docs/investmoz/unification/traceability-and-manual.md b/docs/investmoz/unification/traceability-and-manual.md index aecc709f..4e5af5a2 100644 --- a/docs/investmoz/unification/traceability-and-manual.md +++ b/docs/investmoz/unification/traceability-and-manual.md @@ -1,5 +1,15 @@ # Rastreabilidade, utilização e formação +## 25/10/2026 — entrega agrupada P047/P058 preparada + +Inventário antes da instalação:128fechos preservados,P047emQA6e1dc410,P058quatropercursosQAparciais4f28fac5;nenhuma perda confirmada,sem repetição das provas aceites. Homologaçãoe38aa749 conferida publicamente eporligaçãoSSH autenticada;maincompatível porancestralidade,sem alterações concorrentes para sobrescrever. + +Manifesto`docs/investmoz/simulations/l1-p047-baggage-delivery-20261025.json`:somenteP047 conta como ramo completo no âmbito demonstrado;P058 é avanço parcial,semfecho,e conserva57(2)b/180dias/63(2) pendentes.Pressupostos de simulação continuam condicionados,sem equivaler aisenção concedida.Interface deP058 assinala cobertura parcial;P047 distingue pedido,redução e taxa0%.P084/P085/procedimentoTempo eP00105/06 preservados. + +Pré-instalação autenticada ebackup:174tabelas/369ficheiros econfiguração;restauroDockerrealsemrede,com contagens/checksums iguais ezeroescritas na baseactiva.Ver`outputs/l1-p047-baggage-delivery-20261025/`.Contenção parcial verificada porGitsem aplicar,preservando leitores,históricos,veículos anteriores eoutrosramos.Entrega única peloGitexistente,conferindo sódelta9ficheirosfuncionais/5originais/13marcadores;sem migrações,importações ou publicação automática de fontes. + +Antes da entrega:128entregues+1QA+3funcionais pendentes+P001=133.Depois da entrega conferida:129entregues+3funcionais pendentes+P001=133.L1aberto;limitações fiscais/digitais anteriores mantidas,Estatísticas/IAadiadas. + ## 25/10/2026 — P047: quatro famílias em QA, entrega agrupada preparada Inventário anterior aos testes:128fechos preservados,nenhuma perda confirmada;P058parcialQA4f28fac5 preservado.Homologaçãoe38aa749/recibo9019f766;nenhuma alteração no activo.