Compare commits

...
5 changed files with 955 additions and 2 deletions
@@ -871,3 +871,52 @@ Fontes reutilizadas: inventário autorizado8143ficheiros; originaisCIRPC/altera
## 26/10/2026 — preparação da entrega L7 e preservação do main concorrente
A entrega do âmbito QA `ab2ff2fd` integra o `main` concorrente `a2122dc3`, sem substituir as alterações de apresentação/navegação. Os seis ficheiros de execução L7 conservam exactamente o código QA;os oito ficheiros concorrentes conservam exactamente o código do main. Reutilizadas as provas19testes/API108/UI/tipos/build de L7. O conflito documental foi resolvido recuperando586linhas de histórico do manual que tinham sido removidas no merge concorrente,sem apagar a sua notaV2-01 no CSV. As3555linhas mantêm-se,com o único delta fiscal emAUD-SIM-INT02. O registo de instalação só será actualizado após backup/restauro fresco,conferência do destino e conclusão da entrega Git;esta nota não a antecipa.
## 26/10/2026 — primeira entrega agrupada L7 instalada pelo Git
Instalada `e07f89da3d59d06aa1b8c50c22a478b7b167bfdd` (integração do código QA `ab2ff2fdbcbe6fb94f03e4bc4cc7ccbd647d94fc` com o main concorrente`a2122dc3`),com `5aaf1a56f9d928331364fcc8b0d1528e51dba327` preservado como versão anterior. Os seis ficheiros de execução L7 são exactamente os da prova QA aceite;as sete alterações concorrentes de apresentação/navegação e o respectivo teste foram preservados. Recuperadas586linhas de histórico do manual removidas no merge concorrente;notaV2-01 conservada,sem alterar o seu conteúdo.
Backup fresco `2026-10-26T10:55:59Z`;restauro isolado sem rede/55441 verificou174tabelas por contagem/checksum e369ficheiros/configuração. Conferidos13ficheiros de execução do delta,50protegidos e31originais. Schema,roles/grants e permissões mantêm-se;172tabelas de negócio iguais ao backup. Cache/sessões reconciliadas por eventos operacionais e acessos públicos,sem inferir perda por RLS. A versão activa e a anterior foram preservadas durante o arquivo conferido de dependências antigas para recuperar espaço;nenhum dado,original ou backup foi eliminado.
Revisão/manifest público,marcadoresL7/L6/câmbio,assets e simuladorHTTP200 conferidos. Procedimento Git concluído;provas funcionais aceites19testes/API108/UI/tipos/build reutilizadas. Os controlos automáticos obrigatórios da instalação ficaram registados no recibo,sem nova ronda manual dos casos aceites. Sem migrações,importações,recálculo de históricos ou escrita privada sintética no activo.
Disponíveis apenas qualificação e tratamentos demonstrados:despesas61(4) sobre36g já ajustado,cooperativas12 integralmente abrangidas eCBF16 no recorte documentado. L6 permanece operacional no âmbito aceite;as suas pendências condicionam só dependentes. L7/IRPC não estão integralmente concluídos;localização não concede benefício;saldo final permaneceL8. O estado anterior deQA sem instalação é histórico. Recibo:`docs/investmoz/simulations/irpc-l7-common-delivery-20261026.json`.
## 26/10/2026 — saldo concreto de L7 após a primeira entrega agrupada
O âmbito demonstrado compreende qualificação comum, imposto autónomo61(4) sobre parcelas36g já calculadas emL6, cooperativas12 integralmente abrangidas e amortizaçãoCBF16 nos activos/período/método expressamente suportados. L7 permanece parcial. Este saldo distingue implementação de prova documental por caso; não cria outra matriz nem exige revalidação genérica das fontes aceites. L6 mantém o estado operacional delimitado e as suas pendências; só condiciona tratamentos que efectivamente dependam delas.
### Código ainda por implementar
| Tratamento / caso fora da cobertura | Exemplo | Condição concreta de retoma |
| --- | --- | --- |
| Despesas autónomas fora de parcela36g calculada e segregações adicionais | Despesa100 com apenas60 correspondidos no mapa de origem,ou encargo não incluído no resultado de partida | Implementar origem/parcela e reconciliação próprias,documentar incidência61(4) e impedir nova contabilização/acréscimo da mesma despesa. O ramo já entregue36g não é reaberto. |
| Cooperativas com rendimentos mistos/retidos;demais isenções por natureza da entidade,CIRPC9–14 | Cooperativa com actividade agrária e serviços não abrangidos;associação com rendimentos comerciais acessórios | Segregar proveitos,custos e base elegível e implementar o artigo específico. Não reduzir a base inteira nem estender a redução às retençõesL5. |
| ExtensõesCBF16 e combinações de benefícios | Imóvel reabilitado,método degressivo,quota inferior à máxima,duodécimos,quotas anteriores,ano posterior,cooperativa+CBF16 | Corresponder a regra temporal/método/contabilização e a compatibilidade/ordem/limite da combinação;reutilizar activo e quotas. Tabela ou casoL6 em falta impede apenas o activo dependente. |
| Mais-valias autónomas61-A e operações especiais | Ganho100 já incluído no resultado em2026;entrada de activos/fusão;perda transferida de outra sociedade | Implementar apuramento/parcela e reconciliação com resultadoL6,sem dupla incidência ou compensação de perdas presumida;para operações,aplicar54–56/41-A e preservar valores históricos. |
| Deduções/majoraçõesCBF17–19 e crédito potencialCBF15 | Formação sem ramo/base de limite;investimento novo com activos elegíveis e excluídos | Implementar elegibilidade,base,limite,ordem,janela temporal e não cumulação. CBF15 emL7 delimita direito/origem/crédito potencial;utilização anual,limitação por créditos/saldos e liquidação ficam emL8. |
| Regimes sectoriais/territoriais e disposições especiais | Projecto emZEE sem tratamentoIRPC correspondido;actividade mineira/petrolífera com regime próprio | Implementar a disposição/versão/período aplicáveis ao projecto e à parcela (CBF20–48 ou diploma específico). Endereço/código sectorial só identifica candidato;benefício aduaneiro não se transforma em benefícioIRPC. |
| Transporte de efeitosL7 paraM20/M22 | Imposto autónomo ou redução calculados mas sem campo/edição correspondente | Implementar apenas a correspondência demonstrada e a representação aplicável;conservar os montantes exactos e a preparaçãoL6 de referência,sem campo/taxa provisórios. |
### Dependências documentais que condicionam apenas o caso afectado
| Elemento em falta / dúvida concreta | Exemplo | Condição de retoma |
| --- | --- | --- |
| Classificação/incidência,parcela e período da operação | Há uma despesa36g e falta qualificar61(4);ou há actividade elegível e outra não abrangida | Associar prova/declaração da natureza e parcela ao exercício correcto. Informação em falta continua indeterminada;condição negativa e ausência declarada têm suporte próprio. Não inferir pela falta de anexo. |
| Estatuto e reconhecimento exigidos pela disposição | Endereço numaZEE sem estatuto do projecto;CBF16 sem instrumento10 ou norma de excepção | Juntar o elemento concreto exigido ou documentar a condição negativa/excepção aplicável. Não pedir aprovador ou parecer jurídico genérico adicional. |
| Norma/período/compatibilidade específicos ainda não correspondidos | Redução com termo31/12/2025 pretendida em2026;cumulação cooperativa+CBF16 | Disposição de vigência/prorrogação efectiva ou correspondência da combinação e seus limites. Sem informação nova,não repetir pesquisa transversal;prosseguir com os restantes casos. |
| Edição,campo ou representação do formulário | EfectoL7 com campoM20/M22 não identificado ou fracção sem regra de representação | Identificar exemplar/edição,instrução/campo e forma de representar o valor;limitar a pendência ao transporte afectado. O cálculo independente mantém-se disponível. |
**Limites conservados:** localização não concede benefícios automaticamente;benefício desconhecido não é zero;colecta normal,L7 e imposto autónomo permanecem discriminados. Retenções,pagamentos,aplicação anual de créditos e saldo final a pagar/recuperar continuam emL8. As provas aceites não são invalidadas por esta lista nem por uma dúvida documental num caso independente.
## 26/10/2026 — reconciliação do estado servido L7 e capacidade do instalador
Conferência autenticada por leitura em `2026-10-26T13:56:51.412248+02:00` (Africa/Johannesburg):o portal,o registo do instalador e o main actual coincidem em `e07f89da3d59d06aa1b8c50c22a478b7b167bfdd`. **L7 já está instalado no âmbito demonstrado**,com origemQA`ab2ff2fd`;o estado «ainda emQA,sem instalação» é histórico/desactualizado. A instalação terminou em26/10/2026 às13:02:35 locais;backup anterior às12:55:59 e restauro174tabelas/369ficheiros permanecem comprovados pelo recibo de entrega. Nesta passagem,o dump e o arquivo de ficheiros ainda coincidem com os hashes desse backup e a prova de restauro refere o mesmo dump. Não foi apresentado um novo backup/restauro como executado,nem repetida a instalação da revisão já activa.
**Partição do instalador e backup:**`/dev/md2 / ext4`;release,state,backup,tmp eDocker no mesmo dispositivo. Livres5.52GiB e21448231inodes de29089792. O código do instalador mantém o limiar5GiB;os ficheiros do backup observado ocupam0.164GiB. A leitura satisfaz5GiB+um backup desse tamanho,com margem0.35GiB. A release actual tem28674ficheiros e2503directórios sem seguir links,como referência de escala,não um novo limite arbitrário de inodes. Futuras entregas devem voltar a medir a capacidade imediatamente antes da operação;estes números não garantem uma carga futura diferente. Nenhuma limpeza local/remota foi executada;SGF TEMPO não foi afectado.
**Só o delta L7:**seis hashes de código correspondem à provaQA;revisão/manifest,sete marcadoresL7,quatroassets e entrada do simuladorHTTP200 conferidos. Reutilizadas as provas19testes/API108/UI/tipos/build e as provas anteriores de preservaçãoL6/L3/ISPC/câmbio;sem nova ronda funcional,escrita privada sintética,migração ou importação. A revisão activa e a anterior permanecem preservadas.
**Próximo conjunto delimitado para implementaçãoQA:CBF16 com duodécimos.** Reutilizar activos,tabela/taxa normal máxima,método constante,qualificaçãoCBF e periodizaçãoL6 existentes. Primeiro caso:exercício anual civil2026 com entrada em uso durante o ano;imóvel novo do projecto ou máquina industrial/agro-industrial já suportada;sem quotas anteriores,saída ou cumulação de outros benefícios. Ligar a quota mensalL6 ao incrementoCBF16,limitando ao contabilizado/saldo fiscal e mostrando apenas a diferença adicional. Demonstrar condição satisfeita,negativa,informação em falta e ausência declarada,cálculo→gravação→recuperação→relatório,efeitos no lucro/base/colecta e conservação dos históricos. Este conjunto está apenas delimitado:não é novo cálculo instalado.
Degressivo,reabilitados/usados/reavaliados,quotas anteriores e cumulação cooperativa+CBF16 continuam nos casos próprios. O saldo anterior de sete grupos de código e quatro dependências documentais permanece na mesma matriz,com exemplos/condições de retoma;nenhuma pendência foi apagada. Documento individual em falta limita só o activo/caso dependente. Localização não concede benefício. **L6 operacional delimitado;L7 parcial;retenções,pagamentos,créditos anuais e saldo final emL8.** Recibo:`docs/investmoz/simulations/irpc-l7-server-state-20261026.json`.
@@ -0,0 +1,585 @@
{
"status": "installed_first_grouped_L7_demonstrated_scope",
"installed": {
"status": "installed",
"commit": "e07f89da3d59d06aa1b8c50c22a478b7b167bfdd",
"release": "/var/www/investmoz-homologacao/releases/e07f89da3d59d06aa1b8c50c22a478b7b167bfdd-6b82c3f2",
"previous_release": "/var/www/investmoz-homologacao/releases/5aaf1a56f9d928331364fcc8b0d1528e51dba327-c1543f3e",
"database_migrations": 0,
"content_imports": 0
},
"QA_candidate": "ab2ff2fdbcbe6fb94f03e4bc4cc7ccbd647d94fc",
"integration_candidate": "e07f89da3d59d06aa1b8c50c22a478b7b167bfdd",
"previous_main": "a2122dc34cc9d3e8b64938c3d6b31cc36f336154",
"previous_installed": "5aaf1a56f9d928331364fcc8b0d1528e51dba327",
"authorization": "Tempo:disponibilizar entrega agrupadaL7 peloGit,backup/restauro fresco,conferência do delta,preservarL6/provas aceites e apresentar saldo concreto",
"backup": {
"stage": "/var/backups/investmoz-irpc-l7-common-delivery-20261026/backup",
"created_at": "2026-10-26T10:55:59Z",
"target": {
"database": "teste_investidor",
"port": 5432
},
"tables": 174,
"files_verified": 369,
"dump_sha256": "a3d46de6c10b37bd6f211125686da8c489f879ab243f082e7b72a397638901f9",
"files_sha256": "409d378ce59ca3d82e39cbf44f139114a839e1aa56457755316a2fecdd7e5b07",
"restore_verified": false
},
"restore": {
"restore_verified": true,
"tables_verified": 174,
"container_network": "none",
"database": "irpc_l7_restore_20261026",
"port": 55441,
"source_dump_sha256": "a3d46de6c10b37bd6f211125686da8c489f879ab243f082e7b72a397638901f9",
"active_database_writes": 0
},
"preservation": {
"previous_release_preserved": "/var/www/investmoz-homologacao/releases/5aaf1a56f9d928331364fcc8b0d1528e51dba327-c1543f3e",
"installed": {
"status": "installed",
"commit": "e07f89da3d59d06aa1b8c50c22a478b7b167bfdd",
"release": "/var/www/investmoz-homologacao/releases/e07f89da3d59d06aa1b8c50c22a478b7b167bfdd-6b82c3f2",
"previous_release": "/var/www/investmoz-homologacao/releases/5aaf1a56f9d928331364fcc8b0d1528e51dba327-c1543f3e",
"database_migrations": 0,
"content_imports": 0
},
"runtime_files_verified": 13,
"preserved_L3_ISPC_FX_runtime_files_verified": 50,
"documentary_files_verified": 31,
"persistent_files_and_env_verified": 369,
"tables_compared": 174,
"changed_tables": {
"cache": {
"before": {
"rows": 106,
"checksum": "63f3ceed97ce2f40106530ef6eb6e083"
},
"after": {
"rows": 106,
"checksum": "38aa09dc08f13ff12ac1e71dbae22d0b"
}
},
"sessions": {
"before": {
"rows": 11,
"checksum": "823228a21cb8173718f6010a9aaa319a"
},
"after": {
"rows": 14,
"checksum": "1529684ad387db4b9aaa40ac775ebe74"
}
}
},
"preserved_counts": {
"published_fiches": 29,
"relations": 28,
"geometries": 408
},
"migration_count": 0,
"content_imports": 0,
"comparison_role": "postgres_before_and_after;sameexportedsnapshotbaseline;noapplicationRLSvisibilityinference",
"writes_by_verification": 0
},
"schema_permissions_before": {
"schema_sha256": "5045b3e51d2185377aa3d9ac7fa07a44fad3ec620cdfa83ffe31c8884ee1601d",
"roles_grants_sha256": "1530c33cb016e67bfdc64891ddfce7f185b13b56b2cd87c012871a685e118109",
"filesystem_permissions": {
".env": {
"mode": 416,
"uid": 1001,
"gid": 33
},
"storage": {
"mode": 1533,
"uid": 1001,
"gid": 33
},
"storage/app": {
"mode": 1533,
"uid": 1001,
"gid": 33
},
"bootstrap/cache": {
"mode": 1528,
"uid": 1001,
"gid": 33
}
},
"comparison_identity": "postgres;catalogue read only;no passwords collected"
},
"schema_permissions_after": {
"schema_sha256": "5045b3e51d2185377aa3d9ac7fa07a44fad3ec620cdfa83ffe31c8884ee1601d",
"roles_grants_sha256": "1530c33cb016e67bfdc64891ddfce7f185b13b56b2cd87c012871a685e118109",
"filesystem_permissions": {
".env": {
"mode": 416,
"uid": 1001,
"gid": 33
},
"storage": {
"mode": 1533,
"uid": 1001,
"gid": 33
},
"storage/app": {
"mode": 1533,
"uid": 1001,
"gid": 33
},
"bootstrap/cache": {
"mode": 1528,
"uid": 1001,
"gid": 33
}
},
"comparison_identity": "postgres;catalogue read only;no passwords collected",
"unchanged": true
},
"operational_delta": {
"status": "operational_delta_reconciled",
"comparison_identity": "postgres before/after;isolated restored baseline;no RLS visibility inference",
"cache": "queue:restart;requestthrottle;identical home-sector cached value with refreshed expiry(HomeController remember10min);no deletedcache",
"sessions": "anonymous sessions from delivery user-agent or exactUA/time correlated with nginx public request;deleted sessions individually expired beyond configured lifetime,normal database session garbage collection(config/session lottery2/100)",
"delta": {
"cache": {
"before_rows": 106,
"after_rows": 106,
"changes": [
{
"key_sha256": "8d6ea77eb4b34d86d207362d583cfa8bf2880b907becd9b00398964482c6b4bd",
"kind": "updated",
"fields": [
"expiration"
],
"key_pattern": "investemoz-cache-{hash}",
"is_queue_restart_key": false,
"expiration_unchanged": false,
"throttle_timer_pair": true,
"same_value_home_cache_expiry_refresh": false
},
{
"key_sha256": "2f251473865d14b953236ab95b1521764754d76abd79b58ca7d38c96dfe2fab1",
"kind": "updated",
"fields": [
"value",
"expiration"
],
"key_pattern": "investemoz-cache-{hash}:timer",
"is_queue_restart_key": false,
"expiration_unchanged": false,
"throttle_timer_pair": true,
"same_value_home_cache_expiry_refresh": false
},
{
"key_sha256": "7f7dd83f47f5bf404d55e6e9f1367948721579970b195680645e356031a070ff",
"kind": "updated",
"fields": [
"value",
"expiration"
],
"key_pattern": "investemoz-cache-illuminate:queue:restart",
"is_queue_restart_key": true,
"expiration_unchanged": false,
"throttle_timer_pair": false,
"same_value_home_cache_expiry_refresh": false
}
]
},
"sessions": {
"before_rows": 11,
"after_rows": 14,
"changes": [
{
"key_sha256": "cd8c2106a4f4ab7802317e6602c26cfa4cf82a23a86f67a0abbc27fbd82edfb8",
"kind": "added",
"fields": [
"id",
"ip_address",
"user_agent",
"payload",
"last_activity"
],
"anonymous_user": true,
"delivery_user_agent": true,
"expired_before_comparison": false,
"session_lifetime_minutes": 120,
"anonymous_public_request_logged": true
},
{
"key_sha256": "a89dca10cb8a95f4451ff60eeefe7ac3cd7751b779b0bf97a7e5f5b894f9b115",
"kind": "added",
"fields": [
"id",
"ip_address",
"user_agent",
"payload",
"last_activity"
],
"anonymous_user": true,
"delivery_user_agent": true,
"expired_before_comparison": false,
"session_lifetime_minutes": 120,
"anonymous_public_request_logged": true
},
{
"key_sha256": "7fb2119013f872a5e4dd70952cc896a4ac8291134e02362bd60805eb77e9587a",
"kind": "added",
"fields": [
"id",
"ip_address",
"user_agent",
"payload",
"last_activity"
],
"anonymous_user": true,
"delivery_user_agent": true,
"expired_before_comparison": false,
"session_lifetime_minutes": 120,
"anonymous_public_request_logged": true
}
]
}
},
"business_tables_to_confirm_separately": 172,
"active_data_writes_by_comparison": 0,
"restore_network": "none"
},
"public": {
"status": "installed_delta_verified",
"served_revision": {
"commit": "e07f89da3d59d06aa1b8c50c22a478b7b167bfdd",
"branch": "main",
"built_at": "2026-10-26T11:02:32.435267+00:00",
"manifest_sha256": "d78a1bdb503c10849f5ea8d8879753653c2c2fc22f6182f6d68ec9f6adf635b5"
},
"manifest_hash_matches": true,
"compiled_delta_markers": {
"IRPC-normal-adjustments/10": [
"assets/project-dossier-KEyrPtc6.js"
],
"Preparar qualificação L7": [
"assets/services-BSj1SuMk.js"
],
"Despesas — imposto autónomo": [
"assets/project-dossier-KEyrPtc6.js"
],
"Cooperativa — redução da taxa": [
"assets/project-dossier-KEyrPtc6.js"
],
"Amortizações aceleradas": [
"assets/services-BSj1SuMk.js",
"assets/project-dossier-KEyrPtc6.js"
],
"novo ajustamento ao lucro:": [
"assets/project-dossier-KEyrPtc6.js"
],
"colecta combinada:": [
"assets/project-dossier-KEyrPtc6.js"
],
"Saldo final — âmbito L8": [
"assets/project-dossier-KEyrPtc6.js"
],
"Reutilizar selecção cambial": [
"assets/services-BSj1SuMk.js"
]
},
"assets": [
{
"file": "assets/project-dossier-document-BRdhvWgC.js",
"status": 200,
"sha256": "5b1de561be552259de776a2dbaf4b49909a3edd2647fec7c296a96054c929a9f"
},
{
"file": "assets/services-BSj1SuMk.js",
"status": 200,
"sha256": "ea1a3812cbced72f4df115e8e379ae6d2307e97b2152d288b1c80d357f03f78b"
},
{
"file": "assets/simulation-form-BqVD91Ek.js",
"status": 200,
"sha256": "85cbd533c5bc92af5a448db71da006d4346d2d0adb09dde825db0aa19ad5048c"
},
{
"file": "assets/project-dossier-KEyrPtc6.js",
"status": 200,
"sha256": "b6ae250a30b5030a6e40e7dfb140a3335ce6d5bc16835098d3d7c5828fc526c5"
}
],
"simulator_status": 200,
"simulator_entry": "assets/app-ByAQSjfI.js",
"existing_fiscal_availability": {
"data": {
"enabled": true,
"coverage_start": "2026-01-01",
"coverage_end": "2026-12-31",
"message": "IVA geral sobre base líquida disponível; enquadramento declarado."
}
},
"synthetic_private_writes": 0,
"method": "Read-only installedrevision/manifest/newcompiledcatalogueandreaders/simulatorentry;acceptedQAproofsreused"
},
"pipeline": {
"service": "ExecMainStatus=0\nActiveState=inactive\nSubState=dead\n",
"installed": {
"status": "installed",
"commit": "e07f89da3d59d06aa1b8c50c22a478b7b167bfdd",
"release": "/var/www/investmoz-homologacao/releases/e07f89da3d59d06aa1b8c50c22a478b7b167bfdd-6b82c3f2",
"previous_release": "/var/www/investmoz-homologacao/releases/5aaf1a56f9d928331364fcc8b0d1528e51dba327-c1543f3e",
"database_migrations": 0,
"content_imports": 0
},
"latest_report": {
"status": "installed",
"commit": "e07f89da3d59d06aa1b8c50c22a478b7b167bfdd",
"release": "/var/www/investmoz-homologacao/releases/e07f89da3d59d06aa1b8c50c22a478b7b167bfdd-6b82c3f2",
"previous_release": "/var/www/investmoz-homologacao/releases/5aaf1a56f9d928331364fcc8b0d1528e51dba327-c1543f3e",
"database_migrations": 0,
"content_imports": 0,
"requested_commits": [
"e07f89da3d59d06aa1b8c50c22a478b7b167bfdd"
],
"finished_at": "2026-10-26T11:02:35.885260+00:00"
},
"log_file": "1793012270105316629.log",
"summaries": [
"OK (1 test, 3106 assertions)",
"built in 33.69s",
"OK (59 tests, 317 assertions)",
"# tests 1007",
"# pass 1007",
"# fail 0"
],
"log_bytes": 287128
},
"concurrent_main_reconciliation": {
"QA_candidate": "ab2ff2fdbcbe6fb94f03e4bc4cc7ccbd647d94fc",
"concurrent_main": "a2122dc34cc9d3e8b64938c3d6b31cc36f336154",
"installed_baseline": "5aaf1a56f9d928331364fcc8b0d1528e51dba327",
"runtime_QA_files_exact": [
"resources/js/lib/irpc-special.ts",
"resources/js/components/simulation-irpc-special.tsx",
"resources/js/lib/irpc-normal.ts",
"resources/js/lib/irpc-normal-depreciation.ts",
"resources/js/components/simulation-irpc-normal.tsx",
"resources/js/lib/project-dossier-report.ts"
],
"concurrent_files_preserved": {
"resources/js/components/portal-hero.tsx": "0ebe2c3e2ae2615d966d050864699a90dac2fef36ebfc174aa1059b83db9a514",
"resources/js/components/tempo-brand.tsx": "27c01d317ec59c9a4ddb2a184c0a8a9427fcf92d34a916060287d07226364d02",
"resources/js/layouts/portal-navigation.tsx": "f1f66b645035f56c9bcc7fbc8c2983e84eb29ae3ecb99461e3963a7deefbaaa6",
"resources/js/lib/portal-navigation.ts": "12aad264eeb5cebe7c9bf467391c611f58d1b84cc9d5fd30db983ba640e25951",
"resources/js/pages/PortalInvestidor.tsx": "d418f960f82ae0d054acfe094047bc80a16f7b418506f054e6d7da07edf6ef00",
"resources/js/pages/investment/shared.tsx": "00098334435de3bb5c7b13608c0e53c63a4bdee7d9cdf07f24b3aec54441f05e",
"resources/js/pages/portal/why-invest.tsx": "3917efa7b0d33fe8fe6e4562c3b9e2f53200b9e07807cd29bade328f8e5ae7e2",
"tests/frontend/portal-navigation.test.mjs": "518c7e1de6fb1b385caffe39914e2905bf8f561d938f0527561156602a0e3098"
},
"CSV_concurrent_V2_01_preserved": true,
"removed_manual_history_lines_restored": 586,
"resolution": "main changed only by removing586tail lines from the manual;candidate manual retained in full;CSV auto-merge preserved V2-01 and changed only fiscal rowAUD-SIM-INT02",
"new_functional_round": false,
"accepted_QA_proofs_reused": {
"new_frontend_tests": 19,
"API_tests": 1,
"API_assertions": 108,
"API_database": "simulator_fiscal_delta_20261021_test",
"API_host": "127.0.0.1",
"API_port": 55441,
"API_transaction_rollback": true,
"QA_identity_guard": true,
"Wayfinder_generated_with_form": true,
"typescript_noEmit": true,
"QA_build": true,
"API_recovered_to_HTML_and_financial_dossier_cases": 6,
"UI": {
"actualComponent": true,
"expenseL6Addback100Autonomous35": true,
"missingClassificationDoesNotEraseNormalProfit": true,
"absenceExplicit": true,
"cooperative16MixedCaseBlockedOnly": true,
"acceleratedQuota150LimitedToAccounted120": true,
"netAdditionalDeduction20": true,
"cumulationMissingExplicit": true,
"saveRecoveryDownload": true,
"finalBalanceL8Unknown": true,
"errors": []
},
"old_functional_suites_repeated": false,
"building_and_lower_optional_quota_cases": true
}
},
"dependency_archiving": {
"status": "dependencies_archived_and_verified",
"versions": 8,
"free_before": 4349009920,
"free_after": 6454341632,
"receipt": "/var/backups/investmoz-build-dependencies-irpc-l7-common-20261026/receipt.json",
"protected": [
"/var/www/investmoz-homologacao/releases/5aaf1a56f9d928331364fcc8b0d1528e51dba327-c1543f3e",
"/var/www/investmoz-homologacao/releases/56475acb2f39e58cb51664913f7fb499f58eb7ab-694b3932"
],
"active_or_previous_release_modified": false,
"source_data_backups_deleted": 0
},
"accepted_QA_proofs_reused": {
"new_frontend_tests": 19,
"API_tests": 1,
"API_assertions": 108,
"API_database": "simulator_fiscal_delta_20261021_test",
"API_host": "127.0.0.1",
"API_port": 55441,
"API_transaction_rollback": true,
"QA_identity_guard": true,
"Wayfinder_generated_with_form": true,
"typescript_noEmit": true,
"QA_build": true,
"API_recovered_to_HTML_and_financial_dossier_cases": 6,
"UI": {
"actualComponent": true,
"expenseL6Addback100Autonomous35": true,
"missingClassificationDoesNotEraseNormalProfit": true,
"absenceExplicit": true,
"cooperative16MixedCaseBlockedOnly": true,
"acceleratedQuota150LimitedToAccounted120": true,
"netAdditionalDeduction20": true,
"cumulationMissingExplicit": true,
"saveRecoveryDownload": true,
"finalBalanceL8Unknown": true,
"errors": []
},
"old_functional_suites_repeated": false,
"building_and_lower_optional_quota_cases": true
},
"source_inventory_reused": {
"files_reused": 8143,
"broad_search_repeated": false,
"receipt": "irpc-l7-scope-20261026.json",
"sources": [
{
"id": "CIRPC",
"title": "Lei34/2007",
"exemplar": "C:\\laragon\\www\\portal-investidor-irpc-l7-scope-20261026\\docs\\investmoz\\simulations\\source-archive\\Lei-34-2007-BR52.pdf",
"bytes": 1676884,
"sha256": "cdbef875ad7ccc1517b12faf5de0e893a70ed2ed81e33913cd6dc4a674474e6e",
"references": "PDF5/p768(59):12,14,15; PDF15–16:54–56; PDF17/p768(71):61",
"official_url": null,
"available_for_consultation": true,
"documentary_status": "official_source_accepted; applicability/version/period_per_treatment",
"new_calculation_activation": false
},
{
"id": "IRPC-2026",
"title": "Lei12/2025",
"exemplar": "C:\\laragon\\www\\portal-investidor-irpc-l7-scope-20261026\\docs\\investmoz\\simulations\\source-archive\\BR-248-I-Suplemento-1-2025.pdf",
"bytes": 440018,
"sha256": "ccf2a8deeca820f2dd076b4b2141b1efe3f6a806568c3a587ca59a8e92f4c251",
"references": "PDF18–20; PDF20:art2/61-A,art3,art6; vigência01/01/2026",
"official_url": null,
"available_for_consultation": true,
"documentary_status": "official_source_accepted; applicability/version/period_per_treatment",
"new_calculation_activation": false
},
{
"id": "IRPC-2022",
"title": "Lei20/2022",
"exemplar": "C:\\laragon\\www\\portal-investidor-irpc-l7-scope-20261026\\docs\\investmoz\\simulations\\source-archive\\BR252-I-Serie-2022-Lei20-PESOE.pdf",
"bytes": 17966640,
"sha256": "1159fd3ce1ba5581671796d083534da48bd3c5578298819e896f1c2a8026318d",
"references": "PDF1/p2731:61(2), termo31/12/2025",
"official_url": null,
"available_for_consultation": true,
"documentary_status": "official_source_accepted; applicability/version/period_per_treatment",
"new_calculation_activation": false
},
{
"id": "CBF-local",
"title": "Lei4/2009",
"exemplar": "C:\\laragon\\www\\portal-investidor-irpc-l7-scope-20261026\\outputs\\irpc-l7-scope\\CBF-Lei4-2009-APIEX.pdf",
"bytes": 10998765,
"sha256": "4231a5b6783e603cedb98992f3e93ecaf1c1d5be341b093560cf2fdd0845b0dc",
"references": "Original local disponível; scan sem extracção textual útil; cotejo textual pela compilação oficial",
"official_url": null,
"available_for_consultation": true,
"documentary_status": "official_source_accepted; applicability/version/period_per_treatment",
"new_calculation_activation": false,
"authorised_original": "\\\\Mac\\Home\\Documents\\TEMPO\\Portal Tempo\\Legislacao\\Apiex\\3.-Lei-no4-2009-de-12-de-Janeiro-Codigo-dos-Beneficios-Fiscais.pdf"
},
{
"id": "APIEX",
"title": "Compilação oficial APIEX",
"exemplar": "C:\\laragon\\www\\portal-investidor-irpc-l7-scope-20261026\\outputs\\irpc-l7-scope\\APIEX-legislacao-investimentos-2025.pdf",
"bytes": 6467655,
"sha256": "ba1e9eaabfec5d0c4cb2d9f2444a6860f7a90f222034764197829be402d408ed",
"references": "pp8–32:Lei8/2023; pp36–59:Decreto8/2024; pp64–92:CBF4/2009; p68:9/10;p71–74:15–19",
"official_url": "https://pt.apiex.gov.mz/wp-content/uploads/2025/02/LEGISLACAO-DE-INVESTIMENTOS-EM-MOCAMBIQUE.pdf",
"available_for_consultation": true,
"documentary_status": "official_source_accepted; applicability/version/period_per_treatment",
"new_calculation_activation": false
},
{
"id": "RCBF",
"title": "Decreto56/2009",
"exemplar": "C:\\laragon\\www\\portal-investidor-irpc-l7-scope-20261026\\outputs\\irpc-l7-scope\\Decreto56-2009-BR40.pdf",
"bytes": 422005,
"sha256": "6ea1b8d93daed48c6d590481d874010fa1708211d8f27c319dc9a31328456017",
"references": "Procedimento já cotejado em iva-l1-p084-p085-model-i1-cotejo-20261024.json; não estende isenções IVA a IRPC",
"official_url": null,
"available_for_consultation": true,
"documentary_status": "official_source_accepted; applicability/version/period_per_treatment",
"new_calculation_activation": false
}
],
"document_consultation_activates_calculation": false
},
"L6_operational_demonstrated_scope_preserved": true,
"L6_pending_code_and_documentation_preserved": true,
"L7_integrally_complete": false,
"IRPC_integrally_complete": false,
"new_private_synthetic_writes_on_active": 0,
"location_grants_benefit": false,
"L8_retentions_payments_annual_credit_application_final_balance_separate": true,
"remaining_scope": {
"implementation": [
"61(4) sources/partial segregation outside calculated36g",
"cooperative mixed/withheld income and other entity exemptions9–14",
"CBF16 other assets/methods/optional lower quota/periods/prior quotas and combinations",
"61-A capital gains and special operations54–56/41-A",
"CBF17–19 deductions/magnifications andCBF15 potential credit origin/eligibility",
"sector/territory and specific special regimes",
"L7 M20/M22 official transport"
],
"documentary_case_dependencies": [
"nature/incidence/parcel and correct period",
"individual statute/title/recognition or applicable exception only where required",
"specific norm/validity/compatibility/order/limit not corresponded",
"affected form edition/field/representation"
],
"examples_and_resume_conditions": "same consolidated matrix and manual section:saldo concreto de L7 após a primeira entrega agrupada"
},
"evidence": {
"backup.txt": "dac1a5cddac111160d64f4f34184f999cb40655b210582b9a18dbef20aedd8d0",
"baseline.txt": "6e4bf2e80c29cc3c81d14c3da9f44e1ef3d576b0eb25f9c7ecb85f060c15b196",
"compact-dependencies.txt": "a2385728e917cc20008da8b8144ff57a1bcbe3a1a352848c548b11bdf38fbbf0",
"concurrent-main-reconciliation.json": "8a6aefa957e2b28905f89dca161de53bcffdc9dba2575e9f76efb13ac80a6c16",
"installed-protected.txt": "e2fc267572cf8c29ee15e4efa524679843377766d19456ccba4e9187b7c55a21",
"installed-public-delta.json": "557cbdc9ec7db9b0eb6865d0998c83a9c4a957ee041ba1bce0e54cd2df4ee3cb",
"installed-public.txt": "4efa54256c1de8af63f80f0ff245f529cb581746f165a1299d7389ffd8047ee9",
"integration.txt": "c320a8d33ea33e1f70a291b7da2fa4934658b2f87fc9a26a9521325e23cfac7d",
"manifest-served.json": "d78a1bdb503c10849f5ea8d8879753653c2c2fc22f6182f6d68ec9f6adf635b5",
"operational-delta.txt": "18793b0013b52e87ad088317b49ef3ef31e582dfb073500fa29a5822e237f61c",
"preflight-ready.txt": "ffe2dfba440adebbd45ba72336d56668735f4916d3ae5385a4d750c5775a6a04",
"preflight.txt": "6bf42bb982a7e5807123569ba9a4951bd639132b628965586b7ed60f36b5f0ea",
"preparation.json": "46c078247bb3b68f2aabdb9aa5c0e40bf648dbc07e467933ce82d749b9741a00",
"process-progress.txt": "721a9cf3e8b3892122dabe8b05e8c377b097d94ed0123b7135dcf83c53a40cd6",
"progress-2.txt": "df6ae7b7f2e49c9da3ffbe12c0de6746a191f51dcf30428a93a3db4693c7972b",
"progress-3.txt": "de4fa512b1e124d6c48c34eec14ab50fb66ebb718b49c0fd039e6a148598688d",
"progress-4.txt": "de4fa512b1e124d6c48c34eec14ab50fb66ebb718b49c0fd039e6a148598688d",
"restore.txt": "fcf1cbf5a6de6c0ac9172c3b5acd39c7c0438f950a2297be5f84964268ef4c24",
"schema-permissions-after.txt": "76b5a4d8af11e4898a205062766cfb7ab6ec0783200e77e60a1927aa1ca18597",
"schema-permissions-before.txt": "0ab7c964792acdd8917bce256c472e55e034b103500a58b49f020b5084823ed7",
"status-before.txt": "290e99722a17dabbeb4bb609b2c3df423357dd1e34b3cc6f4e45cd64e758c797",
"status-final.txt": "3814636ae1e3d45f6da832b42b3a9215503598bc20c0c080b3ab5181a074bea0",
"status-progress-1.txt": "b289c9824a293d6b97db770712ce92e65c714fe72f22e0410ef6447b655d47d6"
}
}
@@ -0,0 +1,270 @@
{
"status": "L7_installed_reconfirmed_not_reinstalled",
"checked_at_UTC": "2026-10-26T11:56:51.412248+00:00",
"checked_at_Africa_Johannesburg": "2026-10-26T13:56:51.412248+02:00",
"main": "e07f89da3d59d06aa1b8c50c22a478b7b167bfdd",
"QA_origin": "ab2ff2fdbcbe6fb94f03e4bc4cc7ccbd647d94fc",
"installed_commit": "e07f89da3d59d06aa1b8c50c22a478b7b167bfdd",
"previous_delivery_receipt": "irpc-l7-common-delivery-20261026.json",
"server_read_only": {
"checked_at_UTC": "2026-10-26T11:56:51.412248+00:00",
"read_only": true,
"installed": {
"status": "installed",
"commit": "e07f89da3d59d06aa1b8c50c22a478b7b167bfdd",
"release": "/var/www/investmoz-homologacao/releases/e07f89da3d59d06aa1b8c50c22a478b7b167bfdd-6b82c3f2",
"previous_release": "/var/www/investmoz-homologacao/releases/5aaf1a56f9d928331364fcc8b0d1528e51dba327-c1543f3e",
"database_migrations": 0,
"content_imports": 0
},
"release_revision": {
"commit": "e07f89da3d59d06aa1b8c50c22a478b7b167bfdd",
"branch": "main",
"built_at": "2026-10-26T11:02:32.435267+00:00",
"manifest_sha256": "d78a1bdb503c10849f5ea8d8879753653c2c2fc22f6182f6d68ec9f6adf635b5"
},
"latest_report": {
"status": "installed",
"commit": "e07f89da3d59d06aa1b8c50c22a478b7b167bfdd",
"release": "/var/www/investmoz-homologacao/releases/e07f89da3d59d06aa1b8c50c22a478b7b167bfdd-6b82c3f2",
"previous_release": "/var/www/investmoz-homologacao/releases/5aaf1a56f9d928331364fcc8b0d1528e51dba327-c1543f3e",
"database_migrations": 0,
"content_imports": 0,
"requested_commits": [
"e07f89da3d59d06aa1b8c50c22a478b7b167bfdd"
],
"finished_at": "2026-10-26T11:02:35.885260+00:00"
},
"service": "ExecMainStatus=0\nActiveState=inactive\nSubState=dead\n",
"volumes": [
{
"path": "/var/www/investmoz-homologacao/releases",
"mount": "/dev/md2 / ext4",
"device": 2306,
"total_bytes": 467909804032,
"available_bytes": 5922545664,
"total_inodes": 29089792,
"available_inodes": 21448231
},
{
"path": "/var/lib/investmoz-deploy",
"mount": "/dev/md2 / ext4",
"device": 2306,
"total_bytes": 467909804032,
"available_bytes": 5922545664,
"total_inodes": 29089792,
"available_inodes": 21448231
},
{
"path": "/var/backups",
"mount": "/dev/md2 / ext4",
"device": 2306,
"total_bytes": 467909804032,
"available_bytes": 5922545664,
"total_inodes": 29089792,
"available_inodes": 21448231
},
{
"path": "/tmp",
"mount": "/dev/md2 / ext4",
"device": 2306,
"total_bytes": 467909804032,
"available_bytes": 5922545664,
"total_inodes": 29089792,
"available_inodes": 21448231
},
{
"path": "/var/lib/docker",
"mount": "/dev/md2 / ext4",
"device": 2306,
"total_bytes": 467909804032,
"available_bytes": 5922545664,
"total_inodes": 29089792,
"available_inodes": 21448231
}
],
"existing_pipeline_space_guard_excerpt": [
" self.releases.mkdir(parents=True,exist_ok=True)",
" if shutil.disk_usage(self.releases).free < 5 * 1024**3:",
" raise RuntimeError('Insufficient free space for an isolated build; active release preserved')",
" release=self.releases/(target+'-'+uuid.uuid4().hex[:8]);release.mkdir(mode=0o750)"
],
"pipeline_sha256": "adec1c17654f3a8658b83b134f1e75f95391b235738552721906c3236e388604",
"L7_delta_hashes_match": {
"resources/js/components/simulation-irpc-normal.tsx": true,
"resources/js/components/simulation-irpc-special.tsx": true,
"resources/js/lib/irpc-normal-depreciation.ts": true,
"resources/js/lib/irpc-normal.ts": true,
"resources/js/lib/irpc-special.ts": true,
"resources/js/lib/project-dossier-report.ts": true
},
"installed_release_nonlinked_files": 28674,
"installed_release_nonlinked_directories": 2503,
"inode_requirement_note": "Current release file/directory counts are an observed reference,not a guarantee for another build;no new inode threshold introduced.",
"prior_installation_backup": {
"created_at": "2026-10-26T10:55:59Z",
"tables": 174,
"files": 369,
"dump_sha256": "a3d46de6c10b37bd6f211125686da8c489f879ab243f082e7b72a397638901f9",
"restore": {
"restore_verified": true,
"tables_verified": 174,
"container_network": "none",
"database": "irpc_l7_restore_20261026",
"port": 55441,
"source_dump_sha256": "a3d46de6c10b37bd6f211125686da8c489f879ab243f082e7b72a397638901f9",
"active_database_writes": 0
},
"files_present": {
"database.dump": {
"present": true,
"bytes": 22880589
},
"files-before.tar.gz": {
"present": true,
"bytes": 153036740
},
"backup-receipt.json": {
"present": true,
"bytes": 94539
},
"restore-receipt.json": {
"present": true,
"bytes": 269
}
}
},
"new_backup_or_restore_executed": false,
"deployment_executed": false,
"cleanup_executed": false,
"active_data_writes": 0
},
"capacity_assessment": {
"mount": "/dev/md2 / ext4",
"existing_pipeline_guard_bytes": 5368709120,
"available_bytes": 5922545664,
"available_inodes": 21448231,
"total_inodes": 29089792,
"same_partition_for_release_state_backup_tmp_docker": true,
"observed_existing_backup_files_bytes": 176012137,
"available_minus_guard_and_one_observed_backup_bytes": 377824407,
"existing_space_guard_plus_observed_backup_satisfied": true,
"inode_reference_files_plus_directories": 31177,
"inode_note": "Available21million vs31thousand entries in current nonlinked release;no new arbitrary threshold or guarantee for changed future payload",
"new_deployment_needed": false
},
"existing_backup_integrity": {
"backup_created_at": "2026-10-26T10:55:59Z",
"existing_dump_hash_matches": true,
"existing_files_archive_hash_matches": true,
"accepted_restore_proof_matches_same_dump": true,
"restored_tables": 174,
"new_backup_or_restore_executed": false,
"active_writes": 0
},
"public_delta": {
"status": "installed_delta_verified",
"served_revision": {
"commit": "e07f89da3d59d06aa1b8c50c22a478b7b167bfdd",
"branch": "main",
"built_at": "2026-10-26T11:02:32.435267+00:00",
"manifest_sha256": "d78a1bdb503c10849f5ea8d8879753653c2c2fc22f6182f6d68ec9f6adf635b5"
},
"manifest_hash_matches": true,
"compiled_delta_markers": {
"IRPC-normal-adjustments/10": [
"assets/project-dossier-KEyrPtc6.js"
],
"Preparar qualificação L7": [
"assets/services-BSj1SuMk.js"
],
"Despesas — imposto autónomo": [
"assets/project-dossier-KEyrPtc6.js"
],
"Cooperativa — redução da taxa": [
"assets/project-dossier-KEyrPtc6.js"
],
"Amortizações aceleradas": [
"assets/project-dossier-KEyrPtc6.js",
"assets/services-BSj1SuMk.js"
],
"novo ajustamento ao lucro:": [
"assets/project-dossier-KEyrPtc6.js"
],
"colecta combinada:": [
"assets/project-dossier-KEyrPtc6.js"
]
},
"assets": [
{
"file": "assets/project-dossier-KEyrPtc6.js",
"status": 200,
"sha256": "b6ae250a30b5030a6e40e7dfb140a3335ce6d5bc16835098d3d7c5828fc526c5"
},
{
"file": "assets/simulation-form-BqVD91Ek.js",
"status": 200,
"sha256": "85cbd533c5bc92af5a448db71da006d4346d2d0adb09dde825db0aa19ad5048c"
},
{
"file": "assets/services-BSj1SuMk.js",
"status": 200,
"sha256": "ea1a3812cbced72f4df115e8e379ae6d2307e97b2152d288b1c80d357f03f78b"
},
{
"file": "assets/project-dossier-document-BRdhvWgC.js",
"status": 200,
"sha256": "5b1de561be552259de776a2dbaf4b49909a3edd2647fec7c296a96054c929a9f"
}
],
"simulator_status": 200,
"simulator_entry": "assets/app-ByAQSjfI.js",
"synthetic_private_writes": 0,
"method": "Read-only L7 revision/manifest/compiled delta/simulator entry;accepted functional proofs reused"
},
"accepted_proofs_reused": {
"QA_frontend_tests": 19,
"QA_API_assertions": 108,
"QA_UI_types_build": true,
"prior_installation_backup_restore_tables": 174,
"prior_installation_files": 369,
"prior_preservation_runtime_files": 50,
"prior_originals": 31,
"new_functional_round": false
},
"next_compatible_QA_scope": {
"status": "delimited_for_next_QA_not_implemented",
"treatment": "CBF16 constant-method depreciation by monthly fractions for supported new assets entering service during2026",
"reuse": [
"existing asset IDs/classification and maximum normal catalogue rates",
"L6 monthly timing/financial source and normal reference result",
"existing qualification/source/title/provenance and versioned book"
],
"first_case": "Civil annual2026,new supported industrial/agroindustrial machine or new project building entering service during the year;documented CBF eligibility,no previous quotas/no other benefits",
"acceptance": [
"normal vs accelerated quota and accounted/fiscal balance caps",
"additional effect only,without second deduction or changes to original asset/history",
"conditions true,false,missing and declared absence",
"calculation-save-recover-report with profit/base/colecta effects and final L8 balance unknown"
],
"out_of_scope": [
"declining method",
"rehabilitated/used/revalued assets",
"recovery of previous quotas",
"cooperative+CBF16 or other benefit combinations",
"unmapped official form fields"
],
"resume_condition": "Link already-demonstrated L6 monthly timing to qualified CBF16 rate increment,retain exact values/caps and prove only new effects in isolated QA;missing project evidence affects that asset only"
},
"remaining_L7_groups_preserved": {
"implementation_groups": 7,
"documentary_case_dependencies": 4,
"section": "saldo concreto de L7 após a primeira entrega agrupada"
},
"L6_operational_scope_and_pending_preserved": true,
"L7_integrally_complete": false,
"L8_final_settlement_separate": true,
"local_cleanup": false,
"SGF_affected": false,
"new_backup_restore_or_installation": false
}
@@ -2523,7 +2523,7 @@ As estimativas são **horas de trabalho técnico**, não calendário nem mediç
| L4 — ISPC: elegibilidade e apuramento | Campos de enquadramento e motor genérico | Regime/actividade/volume elegível, opções/exclusões, escalões/taxas aplicáveis, mínimo, trimestre e retenções específicas; comparação só entre regimes admissíveis | Vendas por actividade, custos, NUIT, natureza jurídica e residência confirmada | Lei9/2025 e regulamentação/período; distinguir receita anual, trimestre e excesso | 40–64 h |
| L5 — retenções IRPC e guias | Documentos de compras/vendas e guia M/39 como exemplar | Rendimento pago/recebido, entidade que retém, residente/não residente/EP, evento temporal, excepções e casos digitais/e-money; guia e comprovativo ligados à operação | Contrapartes, facturas, pagamentos, período, moeda, oportunidade | Artigos aplicáveis por rendimento, taxa/convenção se invocada; corrigir remissões do exemplar. Sem submissão electrónica AT presumida | 32–56 h |
| L6 — IRPC anual: regime normal | Disponível5aaf1a56:percurso normal demonstrado atécolecta,períodos/moedas e preparação parcialM20/M22 | Operacional no âmbito demonstrado por decisãoTempo26/10;limitações explícitas;5grupos código+5documentais preservados;sem conclusão integral | Plano financeiro,dados comuns,activos/livros e histórico;retenções/pagamentos/créditos anuaisL8 | Pendências bloqueiam só os casos dependentes;L7/L8 próprios | Estimativa inicial48–80h;saldo não reestimado |
| L7 — IRPC: tratamentos específicos | Qualificação/despesas61(4),cooperativa12 eCBF16 no recorte demonstrado emQA,fotografia10;sem instalação | Gravação/recuperação/relatório com referênciaL6 separada dos efeitosL7;informação em falta/ausência/não aplicação explícitas. Restantes famílias,parcelas mistas,cumulação e transporte oficial pendentes por caso | Sujeito/período/contexto,despesas36g e activos/quotasL6 reutilizados,sem benefício por localização | Fontes,condições/período e critérios de retoma na secção L7QA;L8 mantém liquidação anual | Estimativa inicial48–80h;saldo não reestimado |
| L7 — IRPC: tratamentos específicos | e07f89da instalado,reconfirmado26/10:main/revisão/delta6QAab2ff2fd coincidem | L7parcial;7grupos código/4documentais preservados. PróximoQA:CBF16 com duodécimos,activo novo suportado,método constante eano civil2026 | Reutilizar qualificação,activos/taxas eperiodizaçãoL6;sem benefício por localização | Provar só novos efeitos eguarda/recuperação/relatório;limites contabilístico/fiscal;sem repetir instalação;L8 separado | Estimativa inicial48–80h;saldo não reestimado |
| L8 — IRPC: liquidação e pagamentos | Parcelas L5–L7 e formulários originais | PPC/PEC, deduções/créditos, dupla tributação quando aplicável, saldo anual a pagar/recuperar; calendário e reconciliação com pagamentos | Retenções, colecta, saldos anteriores, pagamentos/comprovativos | Base anterior para PPC/PEC, regras de limitação/transporte; não usar cinco anos ou compensação automática sem cotejo específico | 32–56 h |
| L9 — INSS: contribuição social | Massa salarial agregada e referência TCO3%+4% | Trabalhadores, remuneração/base contributiva, exclusões, empregador/trabalhador, TCO/TCP, declaração e encargos por período | Equipa/custos, entidade e calendário; cadastro de pessoa partilhado com L10 | Regulamento e alterações aplicáveis, natureza do vínculo; confirmar base antes da taxa. Contribuição social, distinta dos impostos | 24–40 h |
| L10 — IRPS: retenção mensal e líquido | Entrada IRPS, custos salariais e escalões anuais documentais | Tabela mensal própria, remunerações/benefícios, situação pessoal relevante, retenção, salário líquido e contribuição ligada a L9 | Mesmo trabalhador/folha salarial, pagamentos e retenções | Tabela mensal do período, residência e condições familiares necessárias; não dividir escalões anuais por12 | 40–64 h |
@@ -6388,3 +6388,52 @@ Fontes reutilizadas: inventário autorizado8143ficheiros; originaisCIRPC/altera
## 26/10/2026 — preparação da entrega L7 e preservação do main concorrente
A entrega do âmbito QA `ab2ff2fd` integra o `main` concorrente `a2122dc3`, sem substituir as alterações de apresentação/navegação. Os seis ficheiros de execução L7 conservam exactamente o código QA;os oito ficheiros concorrentes conservam exactamente o código do main. Reutilizadas as provas19testes/API108/UI/tipos/build de L7. O conflito documental foi resolvido recuperando586linhas de histórico do manual que tinham sido removidas no merge concorrente,sem apagar a sua notaV2-01 no CSV. As3555linhas mantêm-se,com o único delta fiscal emAUD-SIM-INT02. O registo de instalação só será actualizado após backup/restauro fresco,conferência do destino e conclusão da entrega Git;esta nota não a antecipa.
## 26/10/2026 — primeira entrega agrupada L7 instalada pelo Git
Instalada `e07f89da3d59d06aa1b8c50c22a478b7b167bfdd` (integração do código QA `ab2ff2fdbcbe6fb94f03e4bc4cc7ccbd647d94fc` com o main concorrente`a2122dc3`),com `5aaf1a56f9d928331364fcc8b0d1528e51dba327` preservado como versão anterior. Os seis ficheiros de execução L7 são exactamente os da prova QA aceite;as sete alterações concorrentes de apresentação/navegação e o respectivo teste foram preservados. Recuperadas586linhas de histórico do manual removidas no merge concorrente;notaV2-01 conservada,sem alterar o seu conteúdo.
Backup fresco `2026-10-26T10:55:59Z`;restauro isolado sem rede/55441 verificou174tabelas por contagem/checksum e369ficheiros/configuração. Conferidos13ficheiros de execução do delta,50protegidos e31originais. Schema,roles/grants e permissões mantêm-se;172tabelas de negócio iguais ao backup. Cache/sessões reconciliadas por eventos operacionais e acessos públicos,sem inferir perda por RLS. A versão activa e a anterior foram preservadas durante o arquivo conferido de dependências antigas para recuperar espaço;nenhum dado,original ou backup foi eliminado.
Revisão/manifest público,marcadoresL7/L6/câmbio,assets e simuladorHTTP200 conferidos. Procedimento Git concluído;provas funcionais aceites19testes/API108/UI/tipos/build reutilizadas. Os controlos automáticos obrigatórios da instalação ficaram registados no recibo,sem nova ronda manual dos casos aceites. Sem migrações,importações,recálculo de históricos ou escrita privada sintética no activo.
Disponíveis apenas qualificação e tratamentos demonstrados:despesas61(4) sobre36g já ajustado,cooperativas12 integralmente abrangidas eCBF16 no recorte documentado. L6 permanece operacional no âmbito aceite;as suas pendências condicionam só dependentes. L7/IRPC não estão integralmente concluídos;localização não concede benefício;saldo final permaneceL8. O estado anterior deQA sem instalação é histórico. Recibo:`docs/investmoz/simulations/irpc-l7-common-delivery-20261026.json`.
## 26/10/2026 — saldo concreto de L7 após a primeira entrega agrupada
O âmbito demonstrado compreende qualificação comum, imposto autónomo61(4) sobre parcelas36g já calculadas emL6, cooperativas12 integralmente abrangidas e amortizaçãoCBF16 nos activos/período/método expressamente suportados. L7 permanece parcial. Este saldo distingue implementação de prova documental por caso; não cria outra matriz nem exige revalidação genérica das fontes aceites. L6 mantém o estado operacional delimitado e as suas pendências; só condiciona tratamentos que efectivamente dependam delas.
### Código ainda por implementar
| Tratamento / caso fora da cobertura | Exemplo | Condição concreta de retoma |
| --- | --- | --- |
| Despesas autónomas fora de parcela36g calculada e segregações adicionais | Despesa100 com apenas60 correspondidos no mapa de origem,ou encargo não incluído no resultado de partida | Implementar origem/parcela e reconciliação próprias,documentar incidência61(4) e impedir nova contabilização/acréscimo da mesma despesa. O ramo já entregue36g não é reaberto. |
| Cooperativas com rendimentos mistos/retidos;demais isenções por natureza da entidade,CIRPC9–14 | Cooperativa com actividade agrária e serviços não abrangidos;associação com rendimentos comerciais acessórios | Segregar proveitos,custos e base elegível e implementar o artigo específico. Não reduzir a base inteira nem estender a redução às retençõesL5. |
| ExtensõesCBF16 e combinações de benefícios | Imóvel reabilitado,método degressivo,quota inferior à máxima,duodécimos,quotas anteriores,ano posterior,cooperativa+CBF16 | Corresponder a regra temporal/método/contabilização e a compatibilidade/ordem/limite da combinação;reutilizar activo e quotas. Tabela ou casoL6 em falta impede apenas o activo dependente. |
| Mais-valias autónomas61-A e operações especiais | Ganho100 já incluído no resultado em2026;entrada de activos/fusão;perda transferida de outra sociedade | Implementar apuramento/parcela e reconciliação com resultadoL6,sem dupla incidência ou compensação de perdas presumida;para operações,aplicar54–56/41-A e preservar valores históricos. |
| Deduções/majoraçõesCBF17–19 e crédito potencialCBF15 | Formação sem ramo/base de limite;investimento novo com activos elegíveis e excluídos | Implementar elegibilidade,base,limite,ordem,janela temporal e não cumulação. CBF15 emL7 delimita direito/origem/crédito potencial;utilização anual,limitação por créditos/saldos e liquidação ficam emL8. |
| Regimes sectoriais/territoriais e disposições especiais | Projecto emZEE sem tratamentoIRPC correspondido;actividade mineira/petrolífera com regime próprio | Implementar a disposição/versão/período aplicáveis ao projecto e à parcela (CBF20–48 ou diploma específico). Endereço/código sectorial só identifica candidato;benefício aduaneiro não se transforma em benefícioIRPC. |
| Transporte de efeitosL7 paraM20/M22 | Imposto autónomo ou redução calculados mas sem campo/edição correspondente | Implementar apenas a correspondência demonstrada e a representação aplicável;conservar os montantes exactos e a preparaçãoL6 de referência,sem campo/taxa provisórios. |
### Dependências documentais que condicionam apenas o caso afectado
| Elemento em falta / dúvida concreta | Exemplo | Condição de retoma |
| --- | --- | --- |
| Classificação/incidência,parcela e período da operação | Há uma despesa36g e falta qualificar61(4);ou há actividade elegível e outra não abrangida | Associar prova/declaração da natureza e parcela ao exercício correcto. Informação em falta continua indeterminada;condição negativa e ausência declarada têm suporte próprio. Não inferir pela falta de anexo. |
| Estatuto e reconhecimento exigidos pela disposição | Endereço numaZEE sem estatuto do projecto;CBF16 sem instrumento10 ou norma de excepção | Juntar o elemento concreto exigido ou documentar a condição negativa/excepção aplicável. Não pedir aprovador ou parecer jurídico genérico adicional. |
| Norma/período/compatibilidade específicos ainda não correspondidos | Redução com termo31/12/2025 pretendida em2026;cumulação cooperativa+CBF16 | Disposição de vigência/prorrogação efectiva ou correspondência da combinação e seus limites. Sem informação nova,não repetir pesquisa transversal;prosseguir com os restantes casos. |
| Edição,campo ou representação do formulário | EfectoL7 com campoM20/M22 não identificado ou fracção sem regra de representação | Identificar exemplar/edição,instrução/campo e forma de representar o valor;limitar a pendência ao transporte afectado. O cálculo independente mantém-se disponível. |
**Limites conservados:** localização não concede benefícios automaticamente;benefício desconhecido não é zero;colecta normal,L7 e imposto autónomo permanecem discriminados. Retenções,pagamentos,aplicação anual de créditos e saldo final a pagar/recuperar continuam emL8. As provas aceites não são invalidadas por esta lista nem por uma dúvida documental num caso independente.
## 26/10/2026 — reconciliação do estado servido L7 e capacidade do instalador
Conferência autenticada por leitura em `2026-10-26T13:56:51.412248+02:00` (Africa/Johannesburg):o portal,o registo do instalador e o main actual coincidem em `e07f89da3d59d06aa1b8c50c22a478b7b167bfdd`. **L7 já está instalado no âmbito demonstrado**,com origemQA`ab2ff2fd`;o estado «ainda emQA,sem instalação» é histórico/desactualizado. A instalação terminou em26/10/2026 às13:02:35 locais;backup anterior às12:55:59 e restauro174tabelas/369ficheiros permanecem comprovados pelo recibo de entrega. Nesta passagem,o dump e o arquivo de ficheiros ainda coincidem com os hashes desse backup e a prova de restauro refere o mesmo dump. Não foi apresentado um novo backup/restauro como executado,nem repetida a instalação da revisão já activa.
**Partição do instalador e backup:**`/dev/md2 / ext4`;release,state,backup,tmp eDocker no mesmo dispositivo. Livres5.52GiB e21448231inodes de29089792. O código do instalador mantém o limiar5GiB;os ficheiros do backup observado ocupam0.164GiB. A leitura satisfaz5GiB+um backup desse tamanho,com margem0.35GiB. A release actual tem28674ficheiros e2503directórios sem seguir links,como referência de escala,não um novo limite arbitrário de inodes. Futuras entregas devem voltar a medir a capacidade imediatamente antes da operação;estes números não garantem uma carga futura diferente. Nenhuma limpeza local/remota foi executada;SGF TEMPO não foi afectado.
**Só o delta L7:**seis hashes de código correspondem à provaQA;revisão/manifest,sete marcadoresL7,quatroassets e entrada do simuladorHTTP200 conferidos. Reutilizadas as provas19testes/API108/UI/tipos/build e as provas anteriores de preservaçãoL6/L3/ISPC/câmbio;sem nova ronda funcional,escrita privada sintética,migração ou importação. A revisão activa e a anterior permanecem preservadas.
**Próximo conjunto delimitado para implementaçãoQA:CBF16 com duodécimos.** Reutilizar activos,tabela/taxa normal máxima,método constante,qualificaçãoCBF e periodizaçãoL6 existentes. Primeiro caso:exercício anual civil2026 com entrada em uso durante o ano;imóvel novo do projecto ou máquina industrial/agro-industrial já suportada;sem quotas anteriores,saída ou cumulação de outros benefícios. Ligar a quota mensalL6 ao incrementoCBF16,limitando ao contabilizado/saldo fiscal e mostrando apenas a diferença adicional. Demonstrar condição satisfeita,negativa,informação em falta e ausência declarada,cálculo→gravação→recuperação→relatório,efeitos no lucro/base/colecta e conservação dos históricos. Este conjunto está apenas delimitado:não é novo cálculo instalado.
Degressivo,reabilitados/usados/reavaliados,quotas anteriores e cumulação cooperativa+CBF16 continuam nos casos próprios. O saldo anterior de sete grupos de código e quatro dependências documentais permanece na mesma matriz,com exemplos/condições de retoma;nenhuma pendência foi apagada. Documento individual em falta limita só o activo/caso dependente. Localização não concede benefício. **L6 operacional delimitado;L7 parcial;retenções,pagamentos,créditos anuais e saldo final emL8.** Recibo:`docs/investmoz/simulations/irpc-l7-server-state-20261026.json`.
File diff suppressed because one or more lines are too long