375 lines
13 KiB
JSON
375 lines
13 KiB
JSON
{
|
||
"date": "2026-11-10",
|
||
"contract_sha256": "f3e954be7917008dea88ad9fc9f539ba641f0d7a89083ad730746b5a504a1bc6",
|
||
"installation": "cc50a276c10c",
|
||
"port": 8085,
|
||
"sgc_dependency": false,
|
||
"modules": [
|
||
{
|
||
"id": "commercial",
|
||
"label": "Comercial",
|
||
"features": [
|
||
"Clientes e serviços com associação explícita",
|
||
"Rascunho, revisão e cálculo",
|
||
"Documento emitido de teste e PDF",
|
||
"Continuação para recebível sem duplicação"
|
||
],
|
||
"sources": [
|
||
{
|
||
"file": "app/Modules/Services/ServiceWorkflow.php",
|
||
"present": true,
|
||
"sha256": "6f5c8af14412427134f1c40bda9215de68b3a66d46ed2287b59895f68b929179"
|
||
},
|
||
{
|
||
"file": "app/Modules/Services/ServiceInvoicing.php",
|
||
"present": true,
|
||
"sha256": "b5ac9898f2089fad7799b9e62e5ce5db6df7fd64643e8e7e3b52c6a0e2d142a8"
|
||
},
|
||
{
|
||
"file": "resources/js/ServicesWorkspace.jsx",
|
||
"present": true,
|
||
"sha256": "c170b195ccd78aa74f283a91b0b4f4cd93aea4677e3aaefe0b50af46f7e31669"
|
||
},
|
||
{
|
||
"file": "resources/js/ServiceInvoiceWorkspace.jsx",
|
||
"present": true,
|
||
"sha256": "347869a371084ae91bd7d651334f67f16369495263f28b8b8348bc442f7d6534"
|
||
}
|
||
],
|
||
"existing_evidence": [
|
||
{
|
||
"file": "docs/proofs/invoice-test-results.json",
|
||
"present": true,
|
||
"sha256": "fd04a58727ffddf1c62ac184d7834b81228dce2abb5b0c1e397505df6a45237c",
|
||
"not_reexecuted": true
|
||
}
|
||
],
|
||
"missing_host_tables": [],
|
||
"missing_native_tables": [],
|
||
"integrated_release_verified": false,
|
||
"client_presentable": false,
|
||
"remaining": [
|
||
"Conferência visual do percurso emitido na mesma8085; prova HTTP e documento1000 existentes"
|
||
]
|
||
},
|
||
{
|
||
"id": "purchasing",
|
||
"label": "Compras",
|
||
"features": [
|
||
"Fornecedores e revisão distinta",
|
||
"Requisição até adjudicação e ordem",
|
||
"Recepção, documento e stock único",
|
||
"Factura conferida e obrigação reconhecida"
|
||
],
|
||
"sources": [
|
||
{
|
||
"file": "app/Modules/Purchasing/ReceiptRuntime.php",
|
||
"present": true,
|
||
"sha256": "d368d03239b457eacb61d67c28274d8ed30cf382e7a5586f8a18a7b0ab79ce18"
|
||
},
|
||
{
|
||
"file": "app/Modules/Purchasing/RequestController.php",
|
||
"present": true,
|
||
"sha256": "c5c2b78866be7f0e1c8ba09c1af538cefcfbafbea81197833b50821bba0fcbca"
|
||
},
|
||
{
|
||
"file": "app/Modules/Purchasing/InvoiceController.php",
|
||
"present": true,
|
||
"sha256": "85eb46ca7e65c60bed190e592a134eb48db5762c0a90b8cd4c9d6fbd81198ba4"
|
||
},
|
||
{
|
||
"file": "app/Modules/Purchasing/ObligationController.php",
|
||
"present": true,
|
||
"sha256": "347e629306d6c1f4873afac547d13fae8ade7b268906d1312a64e7eb6998e701"
|
||
}
|
||
],
|
||
"existing_evidence": [
|
||
{
|
||
"file": "docs/proofs/purchasing-completion-final-20261104-r2.json",
|
||
"present": true,
|
||
"sha256": "3b63f8653e8dbb089dfdd8f389e271c022a070d5a67a9f9d4585ce84438070cc",
|
||
"not_reexecuted": true
|
||
}
|
||
],
|
||
"missing_host_tables": [],
|
||
"missing_native_tables": [],
|
||
"integrated_release_verified": false,
|
||
"client_presentable": false,
|
||
"remaining": [
|
||
"Reutilizar C01–C10 aceite; continuação financeira e contabilística100/20/reversão agora provada na8085",
|
||
"Conferência visual e recuperação do arranque geral"
|
||
],
|
||
"accepted_component_journey": true
|
||
},
|
||
{
|
||
"id": "stock",
|
||
"label": "Stock",
|
||
"features": [
|
||
"Artigos, armazéns e saldos físicos",
|
||
"Entradas, saídas e origem autorizada",
|
||
"Transferência e conferência de destino",
|
||
"Contagens, ajustamentos e devoluções",
|
||
"Movimentos e relatórios por período"
|
||
],
|
||
"sources": [
|
||
{
|
||
"file": "app/Modules/Inventory/StockReadController.php",
|
||
"present": true,
|
||
"sha256": "fd02da1a69f76bf1412f86f43095a0a476de49fbb7d2676a51fe3b29ec66e298"
|
||
},
|
||
{
|
||
"file": "app/Modules/Inventory/CompositionStockRead.php",
|
||
"present": true,
|
||
"sha256": "01c558457df290879bdf6c7f8de8cd9efccad81b940731f0aaf2489cf02bfcf7"
|
||
},
|
||
{
|
||
"file": "app/Modules/Inventory/StockPeriodReport.php",
|
||
"present": true,
|
||
"sha256": "d491541c6c60bc0c661dc442b8db8ce2e757f1d63dfc4982a3631f820cfb7a06"
|
||
},
|
||
{
|
||
"file": "app/Modules/Workshop/WorkshopStock.php",
|
||
"present": true,
|
||
"sha256": "6460a4235fe7b0b4602b0aeb63a47f1a97e367e93baba6aa774be5fa0dac4e6e"
|
||
},
|
||
{
|
||
"file": "app/Modules/Inventory/StockOperationsController.php",
|
||
"present": true,
|
||
"sha256": "34d6c7be4787f4f18ca2a7aa322f6f33dfb281e22336599234c93c655ab4eebf"
|
||
},
|
||
{
|
||
"file": "resources/views/stock-operations-workspace.blade.php",
|
||
"present": true,
|
||
"sha256": "5db67c2d23e5557548c38c82a0d7f6e373651849727b2237dcd73f620309c25a"
|
||
},
|
||
{
|
||
"file": "public/stock-operations-workspace.mjs",
|
||
"present": true,
|
||
"sha256": "56734499e8dd89da293c2edadd0d0e10ac6d06b39f0365e5ae29a8d14e9176d8"
|
||
}
|
||
],
|
||
"existing_evidence": [
|
||
{
|
||
"file": "docs/proofs/stock-period-report-20261103.json",
|
||
"present": true,
|
||
"sha256": "0ab25af6ffbff7d8ecb651df833771b082bf92d52f97eca4278fcac3fd5ea53b",
|
||
"not_reexecuted": true
|
||
},
|
||
{
|
||
"file": "docs/proofs/sgf-stock-operations-20261110.json",
|
||
"present": true,
|
||
"sha256": "1d241fcfb81fcf6c1b374f9fc89c1f2130b17eee1314f06b4b8e4b59c476fc08",
|
||
"not_reexecuted": true
|
||
}
|
||
],
|
||
"missing_host_tables": [],
|
||
"missing_native_tables": [],
|
||
"integrated_release_verified": false,
|
||
"client_presentable": false,
|
||
"remaining": [
|
||
"Concluir devolução e ligação material de Oficinas ao mesmo livro físico",
|
||
"Concluir cenário físico2/-1/+0,5 e respectiva valorização na8085",
|
||
"Transferência em trânsito/recepção distinta e contagem por lotes conservam seus recortes",
|
||
"Saídas, transferência imediata, contagem sem lotes e ajuste já disponíveis pelos writers originais"
|
||
]
|
||
},
|
||
{
|
||
"id": "workshop",
|
||
"label": "Oficinas",
|
||
"features": [
|
||
"Ordem e autorização",
|
||
"Apontamentos e revisão distinta",
|
||
"Material consumido ligado ao movimento físico",
|
||
"Custo directo/industrial e correcção",
|
||
"Continuação comercial por documento de origem"
|
||
],
|
||
"sources": [
|
||
{
|
||
"file": "app/Modules/Workshop/WorkshopStock.php",
|
||
"present": true,
|
||
"sha256": "6460a4235fe7b0b4602b0aeb63a47f1a97e367e93baba6aa774be5fa0dac4e6e"
|
||
},
|
||
{
|
||
"file": "resources/js/WorkshopWorkspace.jsx",
|
||
"present": true,
|
||
"sha256": "acc01d934dd11f783df82b40a6ece0905a67b0d26ff0bdfc3b18c11a027d66bb"
|
||
},
|
||
{
|
||
"file": "resources/js/DirectCostsWorkspace.jsx",
|
||
"present": true,
|
||
"sha256": "dcaf72fe36d80e16bab8e962f939168650336d1450fc3eb01693acb7ef7e0743"
|
||
},
|
||
{
|
||
"file": "resources/js/IndustrialCostsWorkspace.jsx",
|
||
"present": true,
|
||
"sha256": "51a3307fa8b2526efa12d8a16fee613bdfe141d02bd6e5af4535d581ed69c6d0"
|
||
},
|
||
{
|
||
"file": "resources/js/WorkshopBillingWorkspace.jsx",
|
||
"present": true,
|
||
"sha256": "99ea0b2c0941db0a42ff1f3833225430a73efb6933b3f88a8be4481f902ac571"
|
||
}
|
||
],
|
||
"existing_evidence": [
|
||
{
|
||
"file": "docs/proofs/workshop-stock-closure-20261102.json",
|
||
"present": true,
|
||
"sha256": "261d5502f6905d53ef8046e0e900c9bee159c8c9d7e1bae4fddd8ec698313bf7",
|
||
"not_reexecuted": true
|
||
}
|
||
],
|
||
"missing_host_tables": [],
|
||
"missing_native_tables": [],
|
||
"integrated_release_verified": false,
|
||
"client_presentable": false,
|
||
"remaining": [
|
||
"Compor na mesma instalação sem perder as aprovações existentes",
|
||
"Completar o percurso oficina → stock → custo → Comercial/Contabilidade",
|
||
"Conservar a distinção entre apontamento e movimento físico"
|
||
]
|
||
},
|
||
{
|
||
"id": "finance",
|
||
"label": "Financeiro",
|
||
"features": [
|
||
"Obrigações a fornecedores",
|
||
"Recebíveis de clientes",
|
||
"Liquidação/afectação e reversão sintéticas",
|
||
"Posição financeira e comprovativos por origem"
|
||
],
|
||
"sources": [
|
||
{
|
||
"file": "app/Modules/Services/ServiceReceivables.php",
|
||
"present": true,
|
||
"sha256": "725bc8773a78cfd05dd0a729d885a97c0eef43854ca7ab4210b4d5e80d5d54ec"
|
||
},
|
||
{
|
||
"file": "app/Modules/Purchasing/SupplierPayables.php",
|
||
"present": true,
|
||
"sha256": "c17d44391cbd96941aa2dd2eac2cb167508faf6453c6a1e86333846df1ba18b9"
|
||
},
|
||
{
|
||
"file": "resources/js/ServiceReceivablesWorkspace.jsx",
|
||
"present": true,
|
||
"sha256": "f5207e5f16a4477034185d0cdeb79adc8e462cbf04d5e3fd7e633b8a5433b0ba"
|
||
}
|
||
],
|
||
"existing_evidence": [
|
||
{
|
||
"file": "docs/proofs/supplier-settlements.json",
|
||
"present": true,
|
||
"sha256": "b1bce9218f99ea2d8c780022ad385e169c7acc5778ac6950236eef0630f77ad0",
|
||
"not_reexecuted": true
|
||
}
|
||
],
|
||
"missing_host_tables": [],
|
||
"missing_native_tables": [],
|
||
"integrated_release_verified": false,
|
||
"client_presentable": false,
|
||
"remaining": [
|
||
"Unificar as origens autorizadas sem copiar dívida ou saldos",
|
||
"Compor a tesouraria sintética e os relatórios na mesma empresa/unidade",
|
||
"Conservar vencimento desconhecido e histórico imutável"
|
||
]
|
||
},
|
||
{
|
||
"id": "accounting",
|
||
"label": "Contabilidade",
|
||
"features": [
|
||
"Plano e classificação",
|
||
"Diário com preparação/revisão distintas",
|
||
"Razão e balancete",
|
||
"Estorno/correcção e conferência de período",
|
||
"Fecho sintético com rastreabilidade de origens"
|
||
],
|
||
"sources": [
|
||
{
|
||
"file": "app/Modules/Accounting/GeneralLedger.php",
|
||
"present": true,
|
||
"sha256": "a87d2ea373bc61bb139aa29f2a354b9813bbb2d6229a389f8d37fd8e9890edec"
|
||
},
|
||
{
|
||
"file": "app/Modules/Accounting/GeneralLedgerController.php",
|
||
"present": true,
|
||
"sha256": "fb107c11bd1a7c1009c7c0535907ee266cf9bc9840df3915bbc24afba2b460ad"
|
||
},
|
||
{
|
||
"file": "packages/general-ledger/src/LedgerSchema.php",
|
||
"present": true,
|
||
"sha256": "d9c203286b3a04121c265dffe412d2e86726ec4bb9222a2ed654d0296d86b5d8"
|
||
}
|
||
],
|
||
"existing_evidence": [
|
||
{
|
||
"file": "docs/proofs/purchasing-completion-matrix-final-20261104.json",
|
||
"present": true,
|
||
"sha256": "94cb37698f294c38df9b94a5535ba4b9ac63907f94dab1e7f951a3bb27623083",
|
||
"not_reexecuted": true
|
||
}
|
||
],
|
||
"missing_host_tables": [],
|
||
"missing_native_tables": [],
|
||
"integrated_release_verified": false,
|
||
"client_presentable": false,
|
||
"remaining": [
|
||
"Compor diário e relatórios reais do núcleo na instalação única",
|
||
"Ligar Compras/Comercial/custos sem gerar lançamentos automáticos",
|
||
"Substituir os catálogos de relatórios por consultas disponíveis e verificadas"
|
||
]
|
||
}
|
||
],
|
||
"release_gates": [
|
||
{
|
||
"id": "single_installation",
|
||
"criterion": "Os seis módulos operam no mesmo endereço e empresa/unidade, sem mudar de demonstração",
|
||
"passed": false
|
||
},
|
||
{
|
||
"id": "functional_modules",
|
||
"criterion": "Cada funcionalidade obrigatória tem ecrã/comando/consulta executável; menus e fontes isoladas não bastam",
|
||
"passed": false
|
||
},
|
||
{
|
||
"id": "cross_module_flows",
|
||
"criterion": "Os documentos atravessam as fronteiras mantendo origem, versão, autoridade e efeito único",
|
||
"passed": false
|
||
},
|
||
{
|
||
"id": "access_isolation",
|
||
"criterion": "Perfis explícitos e recusas de empresa/unidade/módulo/permissão verificadas",
|
||
"passed": false
|
||
},
|
||
{
|
||
"id": "presentation",
|
||
"criterion": "Percurso de apresentação coerente, dados fictícios identificados, linguagem e navegação revistas",
|
||
"passed": false
|
||
},
|
||
{
|
||
"id": "operations",
|
||
"criterion": "Arranque e recuperação da instalação entregues e ensaiados, sem depender do SGC",
|
||
"passed": false
|
||
},
|
||
{
|
||
"id": "commercial_honesty",
|
||
"criterion": "Documentos de teste não são emissão fiscal; capacidade de implantação exige prova própria",
|
||
"passed": false
|
||
},
|
||
{
|
||
"id": "preservation",
|
||
"criterion": "Seis registos, cache, dados aprovados e trabalho alheio preservados",
|
||
"passed": false
|
||
}
|
||
],
|
||
"client_presentable": false,
|
||
"limits": [
|
||
"Host-table footprint is a minimum projection, not a full migration/dependency validation.",
|
||
"Native purchasing/stock tables live in their existing separate native book; this scan does not call that missing.",
|
||
"Source/evidence presence does not mean a feature is integrated, visually accepted or deployment-ready."
|
||
],
|
||
"database_writes": 0,
|
||
"application_bootstraps": 0,
|
||
"cache_cleared": false,
|
||
"new_demo": false,
|
||
"new_rights": false
|
||
}
|