343 lines
13 KiB
JSON
343 lines
13 KiB
JSON
{
|
|
"id": "SGF-MODULE-FLOW-PREPARATION-v1",
|
|
"date": "2026-11-02",
|
|
"kind": "static_preparation_inventory",
|
|
"plan_sha256": "bbc7a18306d961080db1957ddbe0a68710e8780cf06449f80522077ce95b5ab5",
|
|
"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": "a7d956badfaa917d664cb88c3cf6afedbc1b09880c2a00ad4a98823a1cc590f7",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "payables",
|
|
"repository": "sgf",
|
|
"path": "packages/payables/src/Payables.php",
|
|
"sha256": "cfd3f1c77c108b725e9328b5bfe4839483c6b27483ceb6182c1fdf66e36e0575",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "settlements",
|
|
"repository": "sgf",
|
|
"path": "packages/payables/src/SupplierSettlements.php",
|
|
"sha256": "6d090142dc4625a47d3cdeb09dcaa482a80bbc58c945d429e340888b792e3492",
|
|
"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": "b6c10cb71c30361013f33a11ee8678bfa183737ed143186747793c95cd5eef95",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "industrial_costs",
|
|
"repository": "sgf",
|
|
"path": "app/Modules/Industry/IndustrialCosts.php",
|
|
"sha256": "2c63f6dcd23f751fb7dce363c415fcc2a44e7dfcb54203dc0e4af55c3e9dbf07",
|
|
"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": "fb4aab2d47c4e9e5fb1115a44e796669402b891b56ff3623db725b21b4bcf714",
|
|
"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": "ad688290605153e55ef64871b87b5501b7c22102e2a5d051324c04737f439825",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "general_ledger_adapter",
|
|
"repository": "sgf",
|
|
"path": "app/Modules/Accounting/GeneralLedger.php",
|
|
"sha256": "f3c0994e75820919f0e008b3e532d00082ec18c531e5e10a77da565b08a0f667",
|
|
"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": "0096c76526c4c67c49b7a1746c2351027ed478c23eb0454f4d4aa7274f256826",
|
|
"meaning": "source_present_only_not_operational_proof"
|
|
},
|
|
{
|
|
"id": "ledger_native_adapter",
|
|
"repository": "compras",
|
|
"path": "app/Services/GeneralLedger.php",
|
|
"sha256": "e86a54f359b428afe9f3352e80c69342bb24a2e389d3c6286323fbce226e0ffe",
|
|
"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"
|
|
}
|
|
],
|
|
"stages": [
|
|
{
|
|
"id": "requisition_order",
|
|
"owner": "purchasing",
|
|
"effect": "approved_procurement_origin",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "Only basic requisitions demonstrated in 8039; full procurement composition not transferred."
|
|
},
|
|
{
|
|
"id": "accepted_receipt",
|
|
"owner": "purchasing",
|
|
"effect": "accepted_physical_receipt",
|
|
"state": "source_not_integrated",
|
|
"operational_integration_validated": false,
|
|
"gap": "No common SGF receipt/stock adapter demonstrated."
|
|
},
|
|
{
|
|
"id": "physical_stock",
|
|
"owner": "stock",
|
|
"effect": "physical_movement_once",
|
|
"state": "source_not_integrated",
|
|
"operational_integration_validated": false,
|
|
"gap": "Common scoped reader, authoritative writer and SGF warehouse mapping pending."
|
|
},
|
|
{
|
|
"id": "supplier_invoice",
|
|
"owner": "purchasing",
|
|
"effect": "verified_supplier_document",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "Does not assume every purchase is stock; existing eligibility/partial receipt rules must be preserved."
|
|
},
|
|
{
|
|
"id": "supplier_payable",
|
|
"owner": "finance",
|
|
"effect": "supplier_obligation_once",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "Synthetic core exists; common operational composition and historical source mapping remain delimited."
|
|
},
|
|
{
|
|
"id": "supplier_settlement",
|
|
"owner": "finance",
|
|
"effect": "confirmed_allocation_once",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "Synthetic payments/allocations exist; no bank execution or complete bank reconciliation 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": "planned",
|
|
"operational_integration_validated": false,
|
|
"gap": "Linking observed material to a physical movement is not implemented; do not replay old observations."
|
|
},
|
|
{
|
|
"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": "Test issuance exists; real fiscal issuance remains guarded. Direct service origins remain valid."
|
|
},
|
|
{
|
|
"id": "customer_receivable",
|
|
"owner": "finance",
|
|
"effect": "customer_receipt_allocation_once",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "Synthetic receipts exist; fiscal receipt/bank reconciliation not presumed."
|
|
},
|
|
{
|
|
"id": "general_ledger",
|
|
"owner": "accounting",
|
|
"effect": "balanced_journal_once",
|
|
"state": "partial_synthetic",
|
|
"operational_integration_validated": false,
|
|
"gap": "Authorised synthetic cycle implemented in new SGF/SGC QA books: recognition60, confirmed allocation20 and reversal, atomic technical correction pair and reviewed QA period close. Real chart/tax policy, reopening, other source types, 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
|
|
}
|