434 lines
18 KiB
JSON
434 lines
18 KiB
JSON
{
|
|
"id": "SGF-MODULE-FLOW-PREPARATION-v1",
|
|
"date": "2026-11-02",
|
|
"kind": "static_preparation_inventory",
|
|
"plan_sha256": "b0bd122ba084085e81ec9f74d1dfaa58351f71f4186af7cda996e51e0609ea8c",
|
|
"sources": [
|
|
{
|
|
"id": "requisitions_delivery",
|
|
"repository": "sgf",
|
|
"path": "docs/SGF_REQUISITIONS_8039_DELIVERY.md",
|
|
"sha256": "9c0bc172b91314c54e67ac1f547ce64cf2ce97d2df285172ad5d99eee554b167",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "receipt_workflow",
|
|
"repository": "compras",
|
|
"path": "app/Services/ReceiptWorkflow.php",
|
|
"sha256": "a7325d4fdb09d1767d0d4fa3661bcf9b254e8506285080d6063bbed487bb522c",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "stock_workflow",
|
|
"repository": "compras",
|
|
"path": "app/Services/StockWorkflow.php",
|
|
"sha256": "18ddaa075432b84c0b0ee5241ff56ab9de9aa8e8db4e6132693bc7fd904b3a58",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "stock_controller",
|
|
"repository": "compras",
|
|
"path": "app/Http/Controllers/StockController.php",
|
|
"sha256": "79aa0f96da7b8290b23489bdaa5c45a4d9f122483dbc0b4132793f76e4f97d0b",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "inventory_lots",
|
|
"repository": "compras",
|
|
"path": "app/Services/InventoryLots.php",
|
|
"sha256": "911a0ce691c58ec1f635260e875ff8d4acfa2a45eecbf74b59b254b3d9209b52",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "inventory_counts",
|
|
"repository": "compras",
|
|
"path": "app/Services/InventoryCounts.php",
|
|
"sha256": "0c1b0d5e795a15b4d762c47fcdbeb19f225aa933b4507938f310ff25026afa11",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "inventory_dispositions",
|
|
"repository": "compras",
|
|
"path": "app/Services/InventoryDispositions.php",
|
|
"sha256": "35a05ed9d6e2cb96a38c1d9b8cb02631bae000a9ac9633dbb53025ceb611983c",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "inventory_reversals",
|
|
"repository": "compras",
|
|
"path": "app/Services/InventoryReversals.php",
|
|
"sha256": "d1712029d7cedda6fbc9b0562bc108ebf8fb235d7aeb2bca4158639d3fc9a2a2",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "warehouse_reservations",
|
|
"repository": "compras",
|
|
"path": "app/Services/WarehouseReservations.php",
|
|
"sha256": "3120eaf6d9c8cedf3c991edcb41133f5107ca62736cea7e082ae4773755ffb54",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "stock_menu",
|
|
"repository": "sgf",
|
|
"path": "resources/js/stock-menu.js",
|
|
"sha256": "776360166b0fdacad343853eb335044306f078acb8da1439715010b4713dc4ff",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "invoice_workflow",
|
|
"repository": "compras",
|
|
"path": "app/Services/InvoiceWorkflow.php",
|
|
"sha256": "f1e8530315e33d3c8eb23752699b3bbcba0af5248af478e861f3b3e75a462c11",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "supplier_adapter",
|
|
"repository": "sgf",
|
|
"path": "app/Modules/Purchasing/SupplierPayables.php",
|
|
"sha256": "c17d44391cbd96941aa2dd2eac2cb167508faf6453c6a1e86333846df1ba18b9",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "payables",
|
|
"repository": "sgf",
|
|
"path": "packages/payables/src/Payables.php",
|
|
"sha256": "ed853f3eb48ebcf91f51a8fe9ed8e49b0e1bc30cce4852cc9394d51cff28c74d",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "settlements",
|
|
"repository": "sgf",
|
|
"path": "packages/payables/src/SupplierSettlements.php",
|
|
"sha256": "1238c8abe950ca9c88746bb020a85392b7e42e8d7e3c8d86f0a5f79015f9ddfe",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "settlement_delivery",
|
|
"repository": "sgf",
|
|
"path": "docs/SUPPLIER_SETTLEMENT_DELIVERY.md",
|
|
"sha256": "46d9836e70b17a78acb2230f76122de38096384e55b4b2f5298aa9c73ab1fd20",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "workshop_workflow",
|
|
"repository": "sgf",
|
|
"path": "app/Modules/Workshop/WorkshopWorkflow.php",
|
|
"sha256": "a09d7c14c7101c36a2539f346494584340493a56ca951c7b1e66418f43d80adb",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "direct_costs",
|
|
"repository": "sgf",
|
|
"path": "app/Modules/Workshop/DirectCosts.php",
|
|
"sha256": "51f70a18731ed6371442f8e6364c52b163f46bf9b58c86b407b73f39fffb164c",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "industrial_costs",
|
|
"repository": "sgf",
|
|
"path": "app/Modules/Industry/IndustrialCosts.php",
|
|
"sha256": "55ad20b756d94d3d734886f8a6aae157a32916735f8af9fb6a3a5c69859beb45",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "workshop_billing",
|
|
"repository": "sgf",
|
|
"path": "app/Modules/Workshop/WorkshopBilling.php",
|
|
"sha256": "039fdfdab77a8856b070249e028894a740222199969cabd614bfaab0c9e5a2d2",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "service_invoicing",
|
|
"repository": "sgf",
|
|
"path": "app/Modules/Services/ServiceInvoicing.php",
|
|
"sha256": "b5ac9898f2089fad7799b9e62e5ce5db6df7fd64643e8e7e3b52c6a0e2d142a8",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "service_receivables",
|
|
"repository": "sgf",
|
|
"path": "app/Modules/Services/ServiceReceivables.php",
|
|
"sha256": "725bc8773a78cfd05dd0a729d885a97c0eef43854ca7ab4210b4d5e80d5d54ec",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "catalogue_accounting",
|
|
"repository": "sgf",
|
|
"path": "app/Modules/Services/CatalogueAccounting.php",
|
|
"sha256": "15e72188334a0c6e9b65050e9609ac1c50a924899a753d47557e3375017e5d1c",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "accounting_menu",
|
|
"repository": "sgf",
|
|
"path": "docs/ACCOUNTING_MENU_DELIVERY.md",
|
|
"sha256": "d2c72d3e1ba5256720a00520ea18fe5e2b9664517d7c8639e64dfbad00aebb40",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "general_ledger_core",
|
|
"repository": "sgf",
|
|
"path": "packages/general-ledger/src/PayableJournal.php",
|
|
"sha256": "aa1d622759e647d21df66164a0582473f2c1daac95cd69f5c0f712a6fd6753d2",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "general_ledger_adapter",
|
|
"repository": "sgf",
|
|
"path": "app/Modules/Accounting/GeneralLedger.php",
|
|
"sha256": "a87d2ea373bc61bb139aa29f2a354b9813bbb2d6229a389f8d37fd8e9890edec",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "general_ledger_delivery",
|
|
"repository": "sgf",
|
|
"path": "docs/GENERAL_LEDGER_DELIVERY.md",
|
|
"sha256": "e8aea14f18da04a407ae2a225c5537f133394b830fb059a233ad4367d976007f",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "ledger_cycle_core",
|
|
"repository": "sgf",
|
|
"path": "packages/general-ledger/src/LedgerCycle.php",
|
|
"sha256": "5040369c2fc24ef713e758e5d4d1241fc52b8bef421ea7bf45855000f755d524",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "ledger_native_adapter",
|
|
"repository": "compras",
|
|
"path": "app/Services/GeneralLedger.php",
|
|
"sha256": "fc80b20ad0ab2dac1c8df4b535349d05b416f1c5f2eec3e7718eda51f6626485",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "ledger_cycle_delivery",
|
|
"repository": "sgf",
|
|
"path": "docs/GENERAL_LEDGER_COMPLETE_CYCLE_DELIVERY.md",
|
|
"sha256": "424a6d9de6f3a02c4ff691df7e045cbf1fd42838bf20c03cca61dcc79c390b2d",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "industrial_ledger_source",
|
|
"repository": "sgf",
|
|
"path": "app/Modules/Accounting/IndustrialLedgerSource.php",
|
|
"sha256": "2479bfd33182fdd918b14748ca9e00e8c789a127bf1746651c8f8f7d53205024",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "industrial_ledger_workspace",
|
|
"repository": "sgf",
|
|
"path": "resources/views/accounting/industrial-ledger.blade.php",
|
|
"sha256": "989ad6272fd14b681ca0000196dada276de0904f5ae69e4338f65e7e8cc5af45",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "industrial_ledger_delivery",
|
|
"repository": "sgf",
|
|
"path": "docs/GENERAL_LEDGER_INDUSTRIAL_DELIVERY.md",
|
|
"sha256": "70c03e5093b349b81aef3132223dfcca440037ab2ab64ae48be28ec72f4c356f",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "industrial_correction_delivery",
|
|
"repository": "sgf",
|
|
"path": "docs/GENERAL_LEDGER_INDUSTRIAL_CORRECTION_DELIVERY.md",
|
|
"sha256": "a9040aa59528af4acf5ac211d24d43624ee67ec03715ff128bceb56a8cad671b",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "receipt_writer",
|
|
"repository": "sgf",
|
|
"path": "packages/inventory-write/src/ReceiptMovementWriter.php",
|
|
"sha256": "279cec2ec915e27cf431355fca1e36f21cb3c15a77d02834723a41ec7a6f8f40",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "receipt_movement_adapter",
|
|
"repository": "compras",
|
|
"path": "app/Services/ReceiptStockMovement.php",
|
|
"sha256": "bd95d201563e4b028f7412eea77d5b157bbc464ddb5b34907bdf17b44d3c1637",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "inventory_reader",
|
|
"repository": "sgf",
|
|
"path": "packages/inventory-read/src/InventoryReader.php",
|
|
"sha256": "9b0591600da07719d655324ccf0b740f06de07db2806540684c9730d048e44b6",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "stock_read_adapter",
|
|
"repository": "sgf",
|
|
"path": "app/Modules/Inventory/StockReadController.php",
|
|
"sha256": "c6131733974b6902c556593709729356769d11aea9eada3fc5397246102068f4",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "workshop_stock_bridge",
|
|
"repository": "sgf",
|
|
"path": "app/Modules/Workshop/WorkshopStock.php",
|
|
"sha256": "6460a4235fe7b0b4602b0aeb63a47f1a97e367e93baba6aa774be5fa0dac4e6e",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "workshop_stock_controller",
|
|
"repository": "sgf",
|
|
"path": "app/Modules/Workshop/Http/WorkshopStockController.php",
|
|
"sha256": "06c9f85f926b4268636887f50458cd19fc1a467ae636dea94caba586fb463c0e",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "receipt_recovery_workspace",
|
|
"repository": "sgf",
|
|
"path": "resources/views/accounting/receipt-recovery.blade.php",
|
|
"sha256": "aee62d5b35f044cf10f759b098647b2fbe4d3fb34c68a065fd1f274c1d0aa7ee",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "requisition_core",
|
|
"repository": "compras",
|
|
"path": "packages/purchasing/src/InternalRequisitions.php",
|
|
"sha256": "5acd82015a4f4b24c5f956139e7d9ec8822e1408e8edd6a2c21802673d647d94",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "requisition_qa_composition",
|
|
"repository": "sgf",
|
|
"path": "app/Modules/Purchasing/InternalRequisitionQa.php",
|
|
"sha256": "3195b51cca7546e050b62791407bdbfd130ddc2f2eabc06feed5c9bbd7f76303",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
}
|
|
],
|
|
"stages": [
|
|
{
|
|
"id": "requisition_order",
|
|
"owner": "purchasing",
|
|
"effect": "approved_procurement_origin",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "The root SGF composition now mounts the existing shared adapter and interface only in a pinned fresh QA database, with module ownership, context, scoped rights and a navigation link; request100 reserves once and is independently approved. Normal destination remains disabled and demonstration8039 is preserved. Receipt UI and generally installed procurement composition remain pending."
|
|
},
|
|
{
|
|
"id": "accepted_receipt",
|
|
"owner": "purchasing",
|
|
"effect": "accepted_physical_receipt",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "Native receipt workflow delegates once to the shared writer; SGF observes the actual movement in QA. Preparing/confirming receipts in the SGF interface and an installed procurement composition remain pending."
|
|
},
|
|
{
|
|
"id": "physical_stock",
|
|
"owner": "stock",
|
|
"effect": "physical_movement_once",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "Shared paged reader works in both QA hosts, with source revisions and explicit bindings. Operational bindings/installation and stock valuation remain pending; missing source is not zero."
|
|
},
|
|
{
|
|
"id": "supplier_invoice",
|
|
"owner": "purchasing",
|
|
"effect": "verified_supplier_document",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "Native verified invoice participates in common payable QA; SGF history remains a controlled receipt, not a live historical adapter. Real fiscal policy and installed procurement composition remain separate."
|
|
},
|
|
{
|
|
"id": "supplier_payable",
|
|
"owner": "finance",
|
|
"effect": "supplier_obligation_once",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "Common recognition, controlled history, report and receipt lookup are implemented in QA. Due date stays unknown when absent; operational history responsibility/source mapping and cutover remain pending."
|
|
},
|
|
{
|
|
"id": "supplier_settlement",
|
|
"owner": "finance",
|
|
"effect": "confirmed_allocation_once",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "QA confirmation/allocation/reversal and scoped receipt lookup exist; no bank execution, real reconciliation or live historical SGF cutover is delivered."
|
|
},
|
|
{
|
|
"id": "workshop_execution",
|
|
"owner": "workshop",
|
|
"effect": "verified_work_record",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "Verified observations exist; no automatic physical stock movement."
|
|
},
|
|
{
|
|
"id": "workshop_stock_consumption",
|
|
"owner": "stock",
|
|
"effect": "company_material_consumption_once",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "QA issue, existing delivery link, partial allocations, returns and proposal withdrawal/rejection are implemented with explicit review and no duplicate movement. Native warehouse return and SGF observation have separate proof. Operational item/warehouse mappings and installed composition remain pending."
|
|
},
|
|
{
|
|
"id": "verified_cost",
|
|
"owner": "finance",
|
|
"effect": "validated_cost_version",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "Current costs are synthetic; physical movement linkage is future and absence of rate stays visible."
|
|
},
|
|
{
|
|
"id": "sales_draft",
|
|
"owner": "commercial",
|
|
"effect": "commercial_draft_from_unique_origins",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "Draft integration exists; cost is not sale price and draft does not decrement stock."
|
|
},
|
|
{
|
|
"id": "sales_invoice",
|
|
"owner": "commercial",
|
|
"effect": "issued_sales_document",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "Actual test issuance and QA accounting recognition are proved. Real fiscal issuance/compliance remains guarded."
|
|
},
|
|
{
|
|
"id": "customer_receivable",
|
|
"owner": "finance",
|
|
"effect": "customer_receipt_allocation_once",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "QA opening, confirmed receipts/allocations400+600, reversal400 and accounting integration are proved. Real money, fiscal receipts and bank reconciliation are excluded."
|
|
},
|
|
{
|
|
"id": "general_ledger",
|
|
"owner": "accounting",
|
|
"effect": "balanced_journal_once",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "Authorised QA source effects use one writer: supplier recognition/settlement/correction, sales and receivable allocations/reversal, direct cost and its correction, industrial result1800 and its explicit atomic correction to1820 with residual300 excluded. New corrected SGF composition reconciles11 journals/23 lines and gross8725 with joint reviewed close. Real chart/tax policy, stock valuation, payroll, additional correction chains, reopening, historical/operational cutover and deployment remain excluded."
|
|
}
|
|
],
|
|
"checks": {
|
|
"source_paths_and_hashes": true,
|
|
"single_owner_per_stage": true,
|
|
"mandatory_dependency_graph_acyclic": true,
|
|
"planned_consumers_explicit": true
|
|
},
|
|
"limitations": [
|
|
"Source existence is not execution, parity, acceptance or deployment evidence.",
|
|
"Dependencies represent the selected synthetic path, not universal product eligibility rules.",
|
|
"No stage transition engine, inventory adapter or journal engine implemented by this inventory."
|
|
],
|
|
"preservation": {
|
|
"database_connections": 0,
|
|
"source_execution": false,
|
|
"application_routes_changed": false,
|
|
"rights_changed": false,
|
|
"protected_six_records_untouched": true,
|
|
"blocked_cache_untouched": true,
|
|
"demos_changed": false,
|
|
"purchasing_activated": false,
|
|
"publication": false,
|
|
"checkpoint": false
|
|
},
|
|
"visual_review_pending": true,
|
|
"deployment_capacity_validated": false
|
|
}
|