{ "date": "2026-11-10", "contract_sha256": "04d29d2239fc2e0a60b4f330c51b6d7d872a31076bbe70c67c316ecadad898e5", "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", "Orçamentos Comercial/Oficina, revisão e aceitação documentadas e conversão explícita em rascunho", "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" ], "sources": [ { "file": "app/Modules/Services/ServiceWorkflow.php", "present": true, "sha256": "6ea92e6216bec9a0062d9f152d1b758a5527360456589a98f525429402cb94da" }, { "file": "app/Modules/Services/ServiceInvoicing.php", "present": true, "sha256": "4138afb7e001b546a65552d71223cd642154945b8021e1ff45ef60a34076e3c5" }, { "file": "resources/js/ServicesWorkspace.jsx", "present": true, "sha256": "c170b195ccd78aa74f283a91b0b4f4cd93aea4677e3aaefe0b50af46f7e31669" }, { "file": "resources/js/ServiceInvoiceWorkspace.jsx", "present": true, "sha256": "8f95d1775b30a6de73d65eed428595d74cc837755d8157bf8db49a1151350277" }, { "file": "app/Modules/Services/ServiceDocuments.php", "present": true, "sha256": "816a85be48b05043f41f9c7d5f842a3fa139b21aaedf9c944d811f74be6f6208" }, { "file": "app/Modules/Services/DocumentPeriod.php", "present": true, "sha256": "100c6cf038b925126ddc8fb50adde2f6d938b4d68df6d0ab193f16ea28836ae2" }, { "file": "app/Modules/Services/BillingRegister.php", "present": true, "sha256": "115e7832b63e5c29be716140629845137d951da7790421832e1ab4058fb468cc" }, { "file": "resources/js/BillingRegisterWorkspace.jsx", "present": true, "sha256": "9ab8d036c9e6d20c588427f5a8c44677810e9713722baea908b8f6b76c8b79f9" } ], "existing_evidence": [ { "file": "docs/proofs/invoice-test-results.json", "present": true, "sha256": "fd04a58727ffddf1c62ac184d7834b81228dce2abb5b0c1e397505df6a45237c", "not_reexecuted": true }, { "file": "docs/proofs/sgf-six-module-functional-review-20261110.json", "present": true, "sha256": "64e49bf8681f7555bbff1ccfcb12ad8f42056833c964f3a3a1354ba8160abed7", "not_reexecuted": true }, { "file": "docs/SGF_SERVICE_DOCUMENTS_DELIVERY.md", "present": true, "sha256": "a13713f05feaa84766dfaba870e72c98d23aa6223389d1627de911b0856cd15d", "not_reexecuted": true }, { "file": "docs/SGF_BILLING_REGISTER_DELIVERY.md", "present": true, "sha256": "fec1b76003187d5f38c8aca8804c26129e312e517dd5b2247f54f0019c2cccf6", "not_reexecuted": true } ], "missing_host_tables": [], "missing_native_tables": [], "integrated_release_verified": false, "client_presentable": false, "remaining": [ "Revisão visual, aceitação explícita e conformidade real; emissão fiscal real permanece bloqueada", "Carga sustentada, armazenamento e capacidade de implantação exigem evidências próprias" ] }, { "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": "8770340b1a5c6ec39b3ccb306b38e9c699d68db33d53237423cf631e512b6439" }, { "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 }, { "file": "docs/proofs/sgf-six-module-functional-review-20261110.json", "present": true, "sha256": "64e49bf8681f7555bbff1ccfcb12ad8f42056833c964f3a3a1354ba8160abed7", "not_reexecuted": true } ], "missing_host_tables": [], "missing_native_tables": [], "integrated_release_verified": false, "client_presentable": false, "remaining": [ "Conferência visual restante e aceitação explícita do conjunto; ver SGF_SIX_MODULE_CLOSURE_20261110.md" ], "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", "Política QA revista e devolução ao fornecedor por origem exacta; saldo8UN/160MZN no mesmo diário", "Inactividade de pares com história conhecida, corte UTC explícito, filtros e SQL25/100 sem inferir ausência de actividade" ], "sources": [ { "file": "app/Modules/Inventory/StockReadController.php", "present": true, "sha256": "fd02da1a69f76bf1412f86f43095a0a476de49fbb7d2676a51fe3b29ec66e298" }, { "file": "app/Modules/Inventory/CompositionStockRead.php", "present": true, "sha256": "81bdb5fb374a60974bbad421c461cd12079951fb426361200692a838e413b49e" }, { "file": "app/Modules/Inventory/StockPeriodReport.php", "present": true, "sha256": "d491541c6c60bc0c661dc442b8db8ce2e757f1d63dfc4982a3631f820cfb7a06" }, { "file": "app/Modules/Workshop/WorkshopStock.php", "present": true, "sha256": "c32024ab178a3db29881902199df4e313be34dd770fc14d55a537656bf6f8fa6" }, { "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" }, { "file": "app/Modules/Inventory/StockFinalController.php", "present": true, "sha256": "9d9a242fd8e143fe076ece0454d0789eabf543e37b332db4806d905fad13cdda" }, { "file": "resources/views/stock-final-workspace.blade.php", "present": true, "sha256": "93764471a215735a65e5c07121989b1e2f6499f631a11b9f1177bb0fe8def232" }, { "file": "public/sgf-stock-final.mjs", "present": true, "sha256": "77860b080015528fe4dd84b2e71787ee668da9be17653c64a5d8e64539b5e592" }, { "file": "app/Modules/Inventory/StockInactiveReport.php", "present": true, "sha256": "7db06225fb7bb40c9a4140383caef6dd96c430e3a3e1be8ef7fed2253f2681e2" }, { "file": "resources/js/StockInactiveReportWorkspace.jsx", "present": true, "sha256": "5d4f7222bf325550cebddbd00198515da55f15f52b4c99ecaef19f45820a165e" } ], "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 }, { "file": "docs/proofs/sgf-six-module-functional-review-20261110.json", "present": true, "sha256": "64e49bf8681f7555bbff1ccfcb12ad8f42056833c964f3a3a1354ba8160abed7", "not_reexecuted": true }, { "file": "docs/SGF_STOCK_POLICIES_SUPPLIER_RETURN.md", "present": true, "sha256": "b8848090f1e19a6b7c19b684e07c0c95cafcf93bd1551357f6afc314f4413d8b", "not_reexecuted": true }, { "file": "docs/SGF_STOCK_INACTIVITY_DELIVERY.md", "present": true, "sha256": "4985076af1c9a78a7ebaa7fa59f57ec9fea68b8b9f47c2c8db446729c2cd160e", "not_reexecuted": true } ], "missing_host_tables": [], "missing_native_tables": [], "integrated_release_verified": false, "client_presentable": false, "remaining": [ "Revisão visual dos novos relatórios e aceitação explícita do conjunto; carga sustentada e implantação separadas" ] }, { "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", "Agenda sem sobreposição, reagendamento e cancelamento versionados", "Cadastro independente e reutilização de equipamento por cliente" ], "sources": [ { "file": "app/Modules/Workshop/WorkshopStock.php", "present": true, "sha256": "c32024ab178a3db29881902199df4e313be34dd770fc14d55a537656bf6f8fa6" }, { "file": "resources/js/WorkshopWorkspace.jsx", "present": true, "sha256": "a1ceca33c234a759b2abf13b087bba8d18d70187ad9161e59425a5932771f8bb" }, { "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": "601853bd383ef2d1891158e89578bbc7f26ae1c7220bc11ddfadf1868cb63afc" }, { "file": "app/Modules/Workshop/ComposedWorkshopStockBook.php", "present": true, "sha256": "01e7392827a6453a357a0b5140905757bbee76f57fae6aa9906490788690e24c" }, { "file": "app/Modules/Workshop/WorkshopBilling.php", "present": true, "sha256": "0eac2d91fd9f006aa8c198e3652731142aee478c93de090c408df54cdd9d292d" } ], "existing_evidence": [ { "file": "docs/proofs/workshop-stock-closure-20261102.json", "present": true, "sha256": "261d5502f6905d53ef8046e0e900c9bee159c8c9d7e1bae4fddd8ec698313bf7", "not_reexecuted": true }, { "file": "docs/proofs/sgf-six-module-functional-review-20261110.json", "present": true, "sha256": "64e49bf8681f7555bbff1ccfcb12ad8f42056833c964f3a3a1354ba8160abed7", "not_reexecuted": true }, { "file": "docs/SGF_WORKSHOP_AGENDA_EQUIPMENT.md", "present": true, "sha256": "3a44a1b6ac5148013c815cc6cc8919f08c15ac911f900aac5b4a0af903589481", "not_reexecuted": true } ], "missing_host_tables": [], "missing_native_tables": [], "integrated_release_verified": false, "client_presentable": false, "remaining": [ "Conferência visual restante e aceitação explícita do conjunto; ver SGF_SIX_MODULE_CLOSURE_20261110.md" ] }, { "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", "Caixa QA explícita0+1000-50=950, revisão distinta, contagem e fecho sem reabertura", "Extracto paginado, recuperação de confirmação e classificação/despesa no mesmo diário" ], "sources": [ { "file": "app/Modules/Services/ServiceReceivables.php", "present": true, "sha256": "79e1669b2423c521c0c56ab6fb07e085daef88eff8a41748c424e4a827f1e453" }, { "file": "app/Modules/Purchasing/SupplierPayables.php", "present": true, "sha256": "c17d44391cbd96941aa2dd2eac2cb167508faf6453c6a1e86333846df1ba18b9" }, { "file": "resources/js/ServiceReceivablesWorkspace.jsx", "present": true, "sha256": "f5207e5f16a4477034185d0cdeb79adc8e462cbf04d5e3fd7e633b8a5433b0ba" }, { "file": "app/Modules/Purchasing/ComposedFinance.php", "present": true, "sha256": "ad7e837c7608ab85c59eb169bcdd986b08c5802a0f218926e1abd7568e8a4b16" }, { "file": "app/Modules/Purchasing/ComposedFinanceController.php", "present": true, "sha256": "b417a6dc7d05f7b5ea1c8c043dcf647cb4ba5e09855d0030affa232728fce5b5" }, { "file": "app/Modules/Finance/CashWorkspace.php", "present": true, "sha256": "bb65060461cea3a844cf523733644cdd630f35ba02c82aeed961821ec5970800" }, { "file": "app/Modules/Finance/Http/CashController.php", "present": true, "sha256": "982c161f3ef7314a9671f848f0da2aefb27841e40003ef47102d0d956c08cd78" }, { "file": "app/Modules/Accounting/CashLedgerSource.php", "present": true, "sha256": "3a46162f0a62363dd4015f0047a5bff95e8aebd8dd3007fc705daaf58c10684b" } ], "existing_evidence": [ { "file": "docs/proofs/supplier-settlements.json", "present": true, "sha256": "b1bce9218f99ea2d8c780022ad385e169c7acc5778ac6950236eef0630f77ad0", "not_reexecuted": true }, { "file": "docs/proofs/sgf-six-module-functional-review-20261110.json", "present": true, "sha256": "64e49bf8681f7555bbff1ccfcb12ad8f42056833c964f3a3a1354ba8160abed7", "not_reexecuted": true }, { "file": "docs/SGF_CASH_DELIVERY.md", "present": true, "sha256": "bfb40ff8849eb4d9fcb641aa9b8d07bbaab89326a0f89b8f113cf0bf62653093", "not_reexecuted": true } ], "missing_host_tables": [], "missing_native_tables": [], "integrated_release_verified": false, "client_presentable": false, "remaining": [ "Conferência visual restante e aceitação explícita do conjunto; ver SGF_SIX_MODULE_CLOSURE_20261110.md" ] }, { "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": "afd2f4ae55e694f0aff18233a6f5cf52444e185aaf5a159865f74f0243783f2a" }, { "file": "packages/general-ledger/src/LedgerSchema.php", "present": true, "sha256": "d9c203286b3a04121c265dffe412d2e86726ec4bb9222a2ed654d0296d86b5d8" }, { "file": "app/Modules/Accounting/ComposedLedger.php", "present": true, "sha256": "2e4dfa133831c78514e1010d373db905b892c315c455ba53b997edd514cac035" }, { "file": "app/Modules/Accounting/ComposedLedgerController.php", "present": true, "sha256": "136844950032de0f66cce26adc9a75a7092ffac52025c236fc22c94b23e9b1ce" }, { "file": "packages/general-ledger/src/StockTransitEvidence.php", "present": true, "sha256": "eb8eee3bb293e77689eb6470ac8aa12049b2ff8cfb8694d3e15eb17e097d2da6" } ], "existing_evidence": [ { "file": "docs/proofs/purchasing-completion-matrix-final-20261104.json", "present": true, "sha256": "94cb37698f294c38df9b94a5535ba4b9ac63907f94dab1e7f951a3bb27623083", "not_reexecuted": true }, { "file": "docs/proofs/sgf-six-module-functional-review-20261110.json", "present": true, "sha256": "64e49bf8681f7555bbff1ccfcb12ad8f42056833c964f3a3a1354ba8160abed7", "not_reexecuted": true } ], "missing_host_tables": [], "missing_native_tables": [], "integrated_release_verified": false, "client_presentable": false, "remaining": [ "Conferência visual restante e aceitação explícita do conjunto; ver SGF_SIX_MODULE_CLOSURE_20261110.md" ] } ], "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 }