98 lines
5.0 KiB
JSON
98 lines
5.0 KiB
JSON
{
|
|
"version": "SGF-STOCK-OPERATIONS-PREPARED-v1",
|
|
"date": "2026-11-10",
|
|
"passed": true,
|
|
"pg": {
|
|
"checks": [
|
|
"HTML workspace available in explicit Stock context",
|
|
"warehouse catalogue restricted to explicit map",
|
|
"literal wildcard search and page size 100",
|
|
"item catalogue paginated at 25",
|
|
"responsible catalogue restricted to source tenant",
|
|
"query cannot inject company authority",
|
|
"Purchasing context cannot execute Stock routes",
|
|
"current physical basis from the original book",
|
|
"foreign warehouse refused",
|
|
"foreign item refused",
|
|
"original writer validates reversible preview",
|
|
"preview leaves no movements operations or audit rows",
|
|
"individual confirmation applies original physical writer",
|
|
"one issue creates exactly one physical movement",
|
|
"uncertain response recovers the same receipt without duplicate",
|
|
"audit retains actor reason before after and operation receipt",
|
|
"old ledger version requires new conference",
|
|
"receipt cannot be reused after context generation changes",
|
|
"confirmation permission revalidated even on replay",
|
|
"transfer preview validates both bound warehouses",
|
|
"two independent conferences can observe the same original revision",
|
|
"transfer confirms through the same writer",
|
|
"transfer produces two balanced physical movements atomically",
|
|
"second conference refuses the revision changed by the first confirmation",
|
|
"failure-recovery conference prepared on current state",
|
|
"failure after physical write rolls back operation movement and native audit",
|
|
"same confirmation succeeds once after transient audit failure is removed",
|
|
"tampered conference refused",
|
|
"feature remains independently disabled",
|
|
"all preexisting host and native rows restored after isolated regression"
|
|
],
|
|
"transactions_rolled_back": true,
|
|
"book": "b4093c6f6707",
|
|
"previous_rows_identical": true,
|
|
"qa_sequences_may_advance": true
|
|
},
|
|
"interface": {
|
|
"checks": [
|
|
"startup makes reads only",
|
|
"catalogues never auto-select item or responsible",
|
|
"unsaved draft guards page exit",
|
|
"form captured before disabling fields; exact decimal and reason retained",
|
|
"issue does not send a hidden transfer destination",
|
|
"impact shown in readable form before confirmation",
|
|
"preview never auto-confirms",
|
|
"uncertain result protects fields and permits only recovery",
|
|
"recovery uses identical sealed conference without a new key",
|
|
"recovered receipt closes confirmation",
|
|
"successful recovery releases exit guard"
|
|
],
|
|
"dom_simulation": true,
|
|
"visual_review": false
|
|
},
|
|
"private_build": {
|
|
"passed": true,
|
|
"entry_sha256": "722b472f838c2a981f72b95e154ff0374e6f098a192905dece9edcaa1f1b9e42",
|
|
"manifest_sha256": "fbe58be712763935e353605e55f4fd4da18fbd4732830e035766ec762bc09aaa"
|
|
},
|
|
"source_hashes": {
|
|
"app/Modules/Inventory/StockOperationsController.php": "860321cf232be6b829a3bcae2657c9ac840b5ea25c996bf82b7f0223def959c5",
|
|
"app/Modules/Purchasing/ReceiptRuntime.php": "a8f3aac4b65ceea15ac7a8e8e34510d689b09fab8c2f689c466eb90d5e8632dc",
|
|
"config/stock_operations.php": "0351259789d6909aca1a9133168f2b6ed66bf90867de88417ebc307cdeb89149",
|
|
"routes/web.php": "7a8cc3f15e9732014e866102f353c31699666ec87ecef81409485c3022703ae7",
|
|
"app/Shared/Context/ModuleNavigation.php": "0fd39d7635d9a2744111ee39a21b10d04c73b32d1df35b473b61413cd14bc555",
|
|
"app/Modules/Identity/Services/IdentityWorkflow.php": "677bdb459aa751f3af37a3b4162f40bcbc7dd8190167202441b3374f244f52b5",
|
|
"resources/js/StockMenuWorkspace.jsx": "33c4624727e752dec7a916a37c4ce5cd0c9650c1e046c411be645dd944c4db32",
|
|
"resources/views/stock-operations-workspace.blade.php": "ae079a34a6fea2b4bf4a2dbaba44a1f7972657bd9e43b1da29488fa0737fdbdc",
|
|
"public/stock-operations-workspace.mjs": "bf60a2c46608f6fca93b70211d170f598551dc2d0884e62e280447f0cdaaf48b",
|
|
"scripts/stock-operations-proof.php": "a7fbfa6f96b25f8b8a1b2e214c70cfbcf1bb15929ec534e97225d242e59bd840",
|
|
"scripts/stock-operations-client-check.mjs": "3349b8bef330bb82ae1e59a93a23531d6b66c57fa5ade131294e4871a532a1a8",
|
|
"packages/inventory-issue/releases/0.1.0/manifest.json": "3c24d9e9fb99bfbb274077495c3a42ddb7eccab06b5c6a956cd739b2bc9b56f0"
|
|
},
|
|
"prepared_package": "ac204a6bf15315d0e634",
|
|
"installed8085": false,
|
|
"activated": false,
|
|
"rights_granted": false,
|
|
"new_demos": 0,
|
|
"new_databases": 0,
|
|
"sgc_required": false,
|
|
"limitations": [
|
|
"No new parallel-process concurrency or lock-timeout proof",
|
|
"Transfer is immediate atomic, no transit reception",
|
|
"Count/adjustment/returns and equipment selector still pending in this interface",
|
|
"No visual acceptance or deployment-capacity evidence",
|
|
"Six-module composition not complete"
|
|
],
|
|
"private_diagnostics": {
|
|
"ssr_probe": "interrupted while development dependency optimizer was pending; not counted as passed",
|
|
"production_client_build": "passed independently; private output only"
|
|
}
|
|
}
|