commit melhorias1

This commit is contained in:
2026-11-11 15:04:01 +02:00
parent 1d11a5e57b
commit cd9897df05
145 changed files with 10950 additions and 84 deletions
@@ -0,0 +1,97 @@
{
"version": "SGF-FIXED-ASSETS-INTEGRATED-QA-v1",
"approved": true,
"implemented": true,
"applied": true,
"scope_file": "docs/SGF_FIXED_ASSETS_SCOPE.md",
"module": "accounting",
"books": [
"existing8085",
"existing_regression"
],
"scope": {
"tenant_id": 1,
"company_id": 2,
"unit_id": 2
},
"new_host_rights": [
"fixed_assets.view",
"fixed_assets.prepare",
"fixed_assets.review"
],
"grants_per_book": [
{
"user_id": 15,
"permission": "fixed_assets.view"
},
{
"user_id": 16,
"permission": "fixed_assets.view"
},
{
"user_id": 17,
"permission": "fixed_assets.view"
},
{
"user_id": 15,
"permission": "fixed_assets.prepare"
},
{
"user_id": 16,
"permission": "fixed_assets.review"
}
],
"grant_count_per_book": 5,
"total_grants_both_books": 10,
"new_users": 0,
"new_profiles": 0,
"new_postgres_grants": 0,
"new_public_rights": 0,
"new_demo": false,
"new_accounts_per_book": [
{
"code": "QA-ACTIVO-CUSTO",
"purpose": "Custo bruto do activo fictício",
"statement_group": "assets"
},
{
"code": "QA-ACTIVO-DEP-ACUM",
"purpose": "Depreciação acumulada (saldo credor no activo)",
"statement_group": "assets"
},
{
"code": "QA-ACTIVO-GASTO-DEP",
"purpose": "Gasto de depreciação QA",
"statement_group": "expenses"
},
{
"code": "QA-ACTIVO-ORIGEM-QA",
"purpose": "Contrapartida artificial de abertura, sem capital ou dívida presumidos",
"statement_group": "unclassified"
},
{
"code": "QA-ACTIVO-GASTO-ABATE",
"purpose": "Perda interna no abate sem contraprestação",
"statement_group": "expenses"
}
],
"original_journals_preserved": 27,
"proposed_new_journals_8085": 2,
"journal_count_after_8085": 29,
"original_accounts_preserved": 19,
"account_count_after_8085": 24,
"new_cash_or_debt_effects": false,
"typed_common_writer_extension_required": true,
"new_statement_mapping_and_result_commands_8085": 4,
"evidence": [
"C:/laragon/data/sgf-tempo/run/modular-regression-2576427d1939/private/receipt-composition-cc50a276c10c/single-integration/20261111-103845-dbdf9215/assets-access-readonly.json",
"C:/laragon/data/sgf-tempo/run/modular-regression-2576427d1939/private/receipt-composition-b4093c6f6707/single-integration/20261111-103847-36def480/assets-access-readonly.json"
],
"authorization": {
"date": "2026-11-11",
"decision": "Autorizar o ciclo integrado de activos QA"
},
"delivery": "docs/SGF_FIXED_ASSETS_DELIVERY.md",
"proof": "docs/proofs/sgf-fixed-assets-20261111.json",
"application_limits": "Only both existing QA books; no real accesses or production activation."
}
@@ -1,8 +1,8 @@
{
"version": "SGF-HR-CONTRACTS-ATTENDANCE-LEAVE-QA-v1",
"approved": true,
"implemented": false,
"applied": false,
"implemented": true,
"applied": true,
"scope_file": "docs/SGF_HUMAN_RESOURCES_PERSONNEL_SCOPE.md",
"module": "human_resources",
"books": [
@@ -110,5 +110,6 @@
"authorization": {
"date": "2026-11-11",
"decision": "Autorizar o bloco e as30 concessões QA apresentadas"
}
},
"delivery": "docs/SGF_HUMAN_RESOURCES_PERSONNEL_DELIVERY.md"
}
@@ -0,0 +1,39 @@
{
"version": "SGF-MULTI-LINE-INVOICE-INTEGRATED-QA-v1",
"approved": true,
"implemented": true,
"applied": true,
"scope_file": "docs/SGF_MULTI_LINE_INVOICE_SCOPE.md",
"target": "existing8085",
"regression": "existing_book",
"new_demo": false,
"sgc_required": false,
"new_rights": [],
"new_grants": 0,
"new_users": 0,
"new_accounts": 0,
"existing_permission_names_verified": 22,
"new_documents": 2,
"new_receivables_minor": [
116000,
116000
],
"new_journals": 2,
"before_journals": 29,
"after_journals": 31,
"chart_accounts_preserved": 24,
"new_payments": 0,
"cash_preserved_minor": 95000,
"protected_records_preserved": 6,
"cache_cleared": false,
"new_series": "TEST-MULTI-2026",
"policy_reused": "SGF-MULTI-LINE-INCLUDED-QA-v1",
"decision_required": "Autorizar a facturação multilinha QA proposta",
"reason": "Previous calculation scope expressly excludes invoices, debt and journals; current invoicing engine still restricts one line and added price.",
"authorization": {
"date": "2026-11-11",
"decision": "Autorizar a facturação multilinha QA proposta"
},
"delivery": "docs/SGF_MULTI_LINE_INVOICE_DELIVERY.md",
"proof": "docs/proofs/sgf-multi-line-invoice-20261111.json"
}
+92 -20
View File
@@ -1,5 +1,5 @@
{
"version": "SGF-SOLUTION-CLOSURE-v25",
"version": "SGF-SOLUTION-CLOSURE-v30",
"target": "existing8085",
"sgc_required": false,
"new_demonstrations": false,
@@ -16,7 +16,8 @@
"Recibo de afectação efectiva400, crédito nominal100/saldo500 e factura-recibo1000 atómica",
"PDF/SHA, histórico e anulação técnica com reversão explícita e diário único",
"Registo unificado autorizado com seis famílias, filtros/SQL25/100 e projecções limitadas à página",
"Início operacional com percurso, evidências, funções autorizadas e consulta explícita das fontes existentes"
"Início operacional com percurso, evidências, funções autorizadas e consulta explícita das fontes existentes",
"Editor unificado1–25 serviços, imposto acrescido/incluído, cálculo comum revisto, PDF e passagem explícita recebível/diário QA"
],
"required_host_tables": [
"a_clients",
@@ -32,7 +33,12 @@
"sd_versions",
"sd_outputs",
"sd_commands",
"sd_cancellations"
"sd_cancellations",
"mi_meta",
"mi_calculations",
"mi_commands",
"mi_draft_meta",
"mi_drafts"
],
"required_source_files": [
"app/Modules/Services/ServiceWorkflow.php",
@@ -44,14 +50,21 @@
"app/Modules/Services/BillingRegister.php",
"resources/js/BillingRegisterWorkspace.jsx",
"resources/js/WorkspaceHome.jsx",
"resources/js/workspace-overview.js"
"resources/js/workspace-overview.js",
"app/Modules/Services/MultiLineInvoiceCalculation.php",
"app/Modules/Services/MultiLineInvoiceIssuance.php",
"app/Modules/Services/MultiLineDrafts.php",
"app/Modules/Services/QualifiedInvoiceSource.php",
"resources/js/MultiLineInvoiceWorkspace.jsx"
],
"proofs": [
"docs/proofs/invoice-test-results.json",
"docs/proofs/sgf-six-module-functional-review-20261110.json",
"docs/SGF_SERVICE_DOCUMENTS_DELIVERY.md",
"docs/SGF_BILLING_REGISTER_DELIVERY.md",
"docs/SGF_OPERATIONAL_INFORMATION_DELIVERY.md"
"docs/SGF_OPERATIONAL_INFORMATION_DELIVERY.md",
"docs/SGF_MULTI_LINE_INVOICE_DELIVERY.md",
"docs/proofs/sgf-multi-line-invoice-20261111.json"
],
"work_remaining": [
"Revisão visual, aceitação explícita e conformidade real; emissão fiscal real permanece bloqueada",
@@ -309,7 +322,8 @@
"Início operacional com percurso, evidências, funções autorizadas e consulta explícita das fontes existentes",
"Submenus distintos e balancete/razão por datas explícitas, escolha de conta por linha, páginas25/100, detecção de mudança de livro e CSV da página",
"Controlo administrativo QA de obrigação/prazo/responsável do mapa interno revisto, preparação13/revisão14, correcção/cancelamento, entrega apenas simulada com SHA verificado, histórico/recibo/SQL25/100/CSV; sem calendário legal ou submissão",
"Correspondências explícitas revistas15/16 e balanço/resultados internos parciais QA:19contas/nove pendentes, resultado congelado19linhas/SHA, história/recibo/CSV contextual, ligação exacta ao razão; capital e resultado completo não presumidos"
"Correspondências explícitas revistas15/16 e balanço/resultados internos parciais QA:19contas/nove pendentes, resultado congelado19linhas/SHA, história/recibo/CSV contextual, ligação exacta ao razão; capital e resultado completo não presumidos",
"Activos QA: cadastro/custódia/plano/quota revistos, diário único1200/100 e líquido1100; correcção/abate/fecho do recorte na regressão"
],
"required_host_tables": [
"ca_proposals",
@@ -321,7 +335,10 @@
"fr_commands",
"fo_meta",
"fo_versions",
"fo_commands"
"fo_commands",
"fa_meta",
"fa_versions",
"fa_commands"
],
"required_source_files": [
"app/Modules/Accounting/GeneralLedger.php",
@@ -357,7 +374,12 @@
"resources/js/statement-download.js",
"resources/js/FiscalObligationsWorkspace.jsx",
"database/sql/internal_statements.sql",
"config/internal_statements.php"
"config/internal_statements.php",
"app/Modules/Accounting/FixedAssets.php",
"app/Modules/Accounting/FixedAssetLedgerSource.php",
"app/Modules/Accounting/FixedAssetJournalController.php",
"resources/js/FixedAssetsWorkspace.jsx",
"packages/general-ledger/src/LedgerAssets.php"
],
"proofs": [
"docs/proofs/purchasing-completion-matrix-final-20261104.json",
@@ -369,11 +391,14 @@
"docs/SGF_OPERATIONAL_INFORMATION_DELIVERY.md",
"docs/SGF_ACCOUNTING_REPORTS_DELIVERY.md",
"docs/SGF_FISCAL_OBLIGATIONS_DELIVERY.md",
"docs/SGF_FINANCIAL_STATEMENTS_DELIVERY.md"
"docs/SGF_FINANCIAL_STATEMENTS_DELIVERY.md",
"docs/SGF_COVERAGE_RECONCILIATION.md",
"docs/proofs/sgf-fixed-assets-20261111.json"
],
"work_remaining": [
"Conferência visual restante e aceitação explícita do conjunto; ver SGF_SIX_MODULE_CLOSURE_20261110.md",
"Backlog fiscal/financeiro amplo pendente; tabela de cobertura não implementa motores ou modelos"
"Backlog fiscal/financeiro amplo pendente; tabela de cobertura não implementa motores ou modelos",
"Activos gerais e tratamento fiscal/legal, alienação/contraprestação, correcções de custo já admitido e cadeias adicionais fora do recorte QA"
],
"required_native_tables": [
"gl_accounts",
@@ -384,7 +409,9 @@
"fs_versions",
"fs_results",
"fs_result_lines",
"fs_commands"
"fs_commands",
"gl_asset_books",
"gl_asset_extension_versions"
]
},
{
@@ -396,29 +423,46 @@
"Regras artificiais versionadas com vigência e fonte explícitas",
"Processamento exacto por trabalhador/período com escolha de fontes e revisão distinta",
"Correcção/cancelamento versionados, prévia, histórico, recibos e recuperação",
"Mapa individual revisto conservado com SHA e exportação autenticada; filtros SQL25/100"
"Mapa individual revisto conservado com SHA e exportação autenticada; filtros SQL25/100",
"Contratos internos QA revistos com correcção/terminação/cancelamento e dependências",
"Plano e assiduidade por dia com intervalos explícitos, dados desconhecidos e revisão distinta",
"Condição de férias QA, reserva/gozo/cancelamento individuais, saldo efectivo sem duplicação",
"Conferência parcial do período por pessoa, fontes/versões e CSV/SHA conservado",
"Ligação contratual explícita opcional em novas preparações salariais, provada na regressão sem alterar salários8085",
"Resumo CSV legível derivado de versão revista, com SHA próprio/original, sem alterar o artefacto conservado"
],
"required_host_tables": [
"rm_meta",
"rm_versions",
"rm_commands",
"hr_qa_profiles"
"hr_qa_profiles",
"hp_meta",
"hp_versions",
"hp_commands"
],
"required_source_files": [
"app/Modules/HumanResources/Remunerations.php",
"app/Modules/HumanResources/Http/RemunerationsController.php",
"app/Shared/Installation/HumanResourcesProfiles.php",
"resources/js/RemunerationsWorkspace.jsx",
"resources/js/statement-download.js"
"resources/js/statement-download.js",
"app/Modules/HumanResources/Personnel.php",
"app/Modules/HumanResources/PersonnelTime.php",
"app/Modules/HumanResources/Http/PersonnelController.php",
"resources/js/PersonnelWorkspace.jsx",
"app/Modules/HumanResources/PersonnelReadableCsv.php"
],
"proofs": [
"docs/SGF_HUMAN_RESOURCES_DELIVERY.md",
"docs/proofs/sgf-human-resources-20261111.json"
"docs/proofs/sgf-human-resources-20261111.json",
"docs/SGF_HUMAN_RESOURCES_PERSONNEL_DELIVERY.md",
"docs/proofs/sgf-hr-personnel-20261111.json",
"docs/SGF_HUMAN_RESOURCES_READABLE_DELIVERY.md"
],
"work_remaining": [
"Contratos/alterações contratuais, assiduidade, turnos, férias e ausências",
"Regimes, IRPS/INSS/modelos legais e ligação salarial a dívida/pagamentos/Contabilidade",
"Revisão visual, carga sustentada e capacidade de implantação"
"Conformidade e aplicabilidade laboral real: contratos legais, turnos/calendário, férias legais, benefícios e modelos",
"Cálculo legal IRPS/INSS e ligação a dívida/pagamento/Contabilidade sem efeitos implícitos",
"Revisão visual, carga sustentada, armazenamento e capacidade de implantação"
]
}
],
@@ -458,7 +502,7 @@
],
"acceptance_proof": "docs/proofs/sgf-single-solution-acceptance.json",
"scope_policy": "Recorte QA dos seis módulos e requisitos amplos de produto separados explicitamente; nenhum painel de cobertura equivale à implementação dos motores ou modelos pendentes.",
"revision_note": "A prova funcional anterior conserva o contrato v1 histórico; as lacunas agora discriminadas não são aceitação nem capacidade de implantação.",
"revision_note": "11/11: activos QA integrados na8085, origem1200/quota100 no diário único,29 lançamentos/24 contas; demonstração nova parcial23 contas com movimento e snapshot antigo19/27 intacto. Produto amplo não concluído; revisão visual/carga/legal/implantação separadas.",
"proposed_scope_extensions": [
{
"id": "cash",
@@ -529,6 +573,23 @@
"access": "docs/integration/sgf-statements-access-proposal.json",
"approval_required_for_new_qa_rights": false,
"implemented": true
},
{
"id": "fixed_assets_qa",
"scope": "docs/SGF_FIXED_ASSETS_SCOPE.md",
"access": "docs/integration/sgf-fixed-assets-access-proposal.json",
"approval_required_for_new_qa_rights": false,
"implemented": true,
"delivery": "docs/SGF_FIXED_ASSETS_DELIVERY.md"
},
{
"id": "multi_line_invoice_qa",
"scope": "docs/SGF_MULTI_LINE_INVOICE_SCOPE.md",
"decision": "docs/integration/sgf-multi-line-invoice-proposal.json",
"approval_required_for_new_effects": false,
"new_rights": [],
"implemented": true,
"delivery": "docs/SGF_MULTI_LINE_INVOICE_DELIVERY.md"
}
],
"full_product_complete": false,
@@ -545,7 +606,7 @@
"status": "partial",
"implemented": false,
"basis": "docs/SERVICE_INVOICE_CALCULATION_SPEC.md sections10/11",
"description": "Cadastro/regras/processamento interno artificial QA em RH autónomo entregue; operações laborais gerais, cálculo legal IRPS/INSS/modelos e ligação salarial financeira/contabilística pendentes"
"description": "RH autónomo QA com cadastro/contratos/assiduidade/férias e remunerações internas entregue; regimes laborais gerais, IRPS/INSS/modelos legais e ligação financeira/contabilística salarial pendentes"
},
{
"id": "irpc",
@@ -588,6 +649,17 @@
"implemented": false,
"basis": "docs/SERVICE_INVOICE_CALCULATION_SPEC.md sections10/11",
"description": "Dois critérios/indicadores QA com fontes conciliadas entregues; rácios gerais, critérios reais e tendências/séries permanecem pendentes"
},
{
"id": "fixed_assets",
"status": "partial",
"implemented": false,
"basis": "docs/SERVICE_INVOICE_CALCULATION_SPEC.md FIS-SGF-15",
"description": "Ciclo integrado QA entregue na8085: cadastro/plano/quota/diário/relatórios e ramos de correcção/abate/fecho do recorte na regressão. Operação geral/legal de activos e taxas fiscais continuam pendentes.",
"scope": "docs/SGF_FIXED_ASSETS_SCOPE.md",
"access_proposal": "docs/integration/sgf-fixed-assets-access-proposal.json",
"qa_implemented": true,
"delivery": "docs/SGF_FIXED_ASSETS_DELIVERY.md"
}
],
"client_delivery_sources": [