Files
SGF/docs/proofs/receipt-composition-20261103.json
2026-11-04 09:37:20 +02:00

357 lines
15 KiB
JSON

{
"date": "2026-11-03T09:27:15.755Z",
"increment": "SGF-RECEIPT-WORKFLOW-QA-v1",
"functional_code": true,
"passed": true,
"checks": 68,
"tests": {
"workflow": {
"file": "private/receipt-composition-0e6d9e9dfb39/result.json",
"sha256": "813b28724a3891c94ce8022286566909f3588afb5ea0ffff828dbf8a5728afd7",
"checks": 30,
"result": {
"passed": true,
"checks": [
"fresh canonical book contains no receipt or movement",
"SGF lists only explicitly mapped canonical order",
"SGF receipt workspace is mounted",
"native workflow supplies actual pending quantities",
"unmapped order from another tenant refused",
"stale context token refused on read",
"reader cannot prepare a confirmation",
"original order issuer cannot receive the same order",
"explicit impact preview without financial effects",
"preview creates neither receipt nor physical movement",
"tampered preview refused",
"SGF confirmation invokes original workflow and shared writer exactly once",
"same confirmation recovers original receipt without duplication",
"canonical source remains sole physical authority",
"SGF history preserves accepted and rejected evidence with actual movement",
"original append-only receipt audit created once",
"next SGF read reflects cumulative native quantities",
"stale order revision requires renewed conference",
"second intent remains an uncommitted preview",
"native cumulative limit rejects over-receipt atomically",
"refused confirmation leaves all physical and receipt records unchanged",
"warehouse outside mapped unit refused",
"revoked host permission is rechecked at confirmation",
"preview cannot transfer authority to a reader",
"other SGF unit cannot reuse source mapping",
"remaining authorized quantity receives through same native workflow",
"quality shortfall stays visible rather than falsely completing order",
"two receipts and two unique movements; only1750 milli accepted",
"host session and database restored after native success and refusals",
"receipt did not create a supplier invoice"
],
"http": true,
"canonical_receipts": 2,
"canonical_movements": 2,
"physical_milli": 1750,
"quality_pending": true,
"original_workflow": true,
"namespace_only_bundle": true,
"real_rights_changed": false,
"publication": false,
"deployment_capacity_validated": false
}
},
"concurrency_recovery": {
"file": "private/receipt-composition-0e6d9e9dfb39/extra.json",
"sha256": "7e5168436f9907c4aa1ce39f7da0bc5b3fef4e9cdd2b6948de14603c9f749e62",
"checks": 10,
"result": {
"passed": true,
"checks": [
"two independent HTTP workers recover the same key once",
"concurrent repetition has one canonical receipt and movement",
"different intentions on one revision serialize and stale intention is refused",
"competing decisions do not duplicate accepted physical quantity",
"injected failure after physical insert returns an unsuccessful response",
"native transaction rolls back parent, items, movement, audit and work signal together",
"same prepared intention succeeds after the cause is removed",
"recovery repetition returns the same immutable receipt",
"recovery leaves exactly three half-unit movements",
"read-only SGF profile receives no confirmation capability"
],
"two_independent_http_workers": true,
"same_key_statuses": [
200,
201
],
"competing_key_statuses": [
201,
409
],
"fault_after_insert": true,
"rollback_fingerprint_equal": true,
"recovery_receipts": 3,
"recovery_quantity_milli": 1500,
"host_profile_changes_real": false
}
},
"origin_audit": {
"file": "private/receipt-composition-0e6d9e9dfb39/origin.json",
"sha256": "60c40568db2b27c100ef1d2e2d7576449f4d6d0bc913e8b084ea0e3c162fbf92",
"checks": 6,
"result": {
"passed": true,
"checks": [
"failure to record SGF provenance refuses the whole confirmation",
"physical receipt and original audit roll back when provenance fails",
"same intention recovers after provenance failure",
"same transaction records exact SGF context, actor mapping and workflow manifest",
"repetition duplicates neither business effect nor SGF provenance",
"fully accepted cumulative order reaches complete through SGF"
],
"origin_audit_atomic": true,
"same_key_recovery": true,
"complete_order": true
}
},
"runtime_contract": {
"file": "private/receipt-composition-0e6d9e9dfb39/runtime-contract.json",
"sha256": "004b34fa0fb582f8ca8d1855402fb855e03ccb400e77e7270f9e9311bdddfd17",
"checks": 4,
"result": {
"passed": true,
"checks": [
"disabled/production guard refuses before database access 404",
"disabled/production guard refuses before database access 403",
"original replenishment execution context keeps native singleton semantics",
"local composition restores host database auth environment and transaction ownership"
],
"business_writes": 0
}
},
"demonstration": {
"file": "private/receipt-composition-304b80f5a05f/demo-smoke.json",
"sha256": "b3f0137b86497796659cbf12ff4bee843d500b8fdf86794882b4da3bfdc8b457",
"checks": 9,
"result": {
"passed": true,
"checks": [
"new demonstration starts with unconsumed receipt and movement decisions",
"demo exposes exact receipt capability for actor",
"functional screen available for actor",
"demo exposes exact receipt capability for validator",
"functional screen available for validator",
"demo exposes exact receipt capability for issuer",
"functional screen available for issuer",
"live receipt interface matches delivered source",
"read-only smoke preserves all initial business evidence"
],
"before": "8f6ff38ca8faca3f2dcd2008045273d4130f6fcedbfe49e464bc05dc6b5071a4",
"after": "8f6ff38ca8faca3f2dcd2008045273d4130f6fcedbfe49e464bc05dc6b5071a4",
"receipts": 0,
"movements": 0,
"visual_review": false
}
},
"compiled_assets": {
"file": "private/receipt-composition-304b80f5a05f/demo-assets.json",
"sha256": "be29d5c3d933f4f8ba3effddb05c1936932cbd35e295af567f4599fdc6a6abaf",
"checks": 3,
"result": {
"passed": true,
"checks": 3,
"root_status": 200,
"assets": [
{
"file": "assets/app-B2i8GsyG.js",
"sha256": "af8caf2fa6310506f3b2c89af1a402f13bcdc4262e3f86c657f1cacfd071d7a6"
},
{
"file": "assets/app-BLSNCrO7.css",
"sha256": "ad7650d0b0f7cc40783126a677d419b058f9f1494ae25f194c6d4b32f87ce657"
}
],
"build_compiler": "vite8.3.5",
"visual_review": false
}
},
"navigation": {
"file": "docs/proofs/receipt-home-20261103.json",
"sha256": "8f8bd5459f952a3285539a1c9d6cd7c23b37c168cd87ed118cea9a814e44ac11",
"checks": 6,
"result": {
"passed": true,
"checks": 6,
"names": [
"explicit capability and scoped right expose receipt link",
"no receipt right hides link",
"other unit right cannot expose link",
"disabled composition hides link",
"no selected unit hides link",
"existing requisition link remains available"
],
"source": "resources/js/PurchasingHome.jsx",
"sha256": "ff9b36b31b870112673eb4482858b34941c21e835e12fcbaab4c67236368a6fd",
"visual_review": false
}
}
},
"sources": [
{
"file": "app/Modules/Purchasing/ReceiptRuntime.php",
"sha256": "2e1f08c7d79c89bce99244a810dcc6dbbb61a6cd8cc90e4f2b505d1fd9298a78"
},
{
"file": "app/Modules/Purchasing/ReceiptController.php",
"sha256": "93378e80afcab17b51826fd592683f47c4425818e11d0506ee2498a86953fbab"
},
{
"file": "config/receipt_qa.php",
"sha256": "3b14467f57a460e10bd6dbc04554500d98c99f78239b4231b952520189e33273"
},
{
"file": "routes/web.php",
"sha256": "2f7d64b793787ba68a1d55d3630d1fc00ed0d481d331adcf093db6c6876eb781"
},
{
"file": "app/Shared/Context/ModuleNavigation.php",
"sha256": "2acfd28a98f2a4ab5d52d314f193e720c6445ac742edb591ac7c1bdaa53205ab"
},
{
"file": "app/Modules/Identity/Services/IdentityWorkflow.php",
"sha256": "4e595d4efcea168b4498c8023ad74bf38b24eba69607d0bd5158e7cb31b8180a"
},
{
"file": "resources/js/PurchasingHome.jsx",
"sha256": "ff9b36b31b870112673eb4482858b34941c21e835e12fcbaab4c67236368a6fd"
},
{
"file": "resources/views/receipt-workspace.blade.php",
"sha256": "8a0d15a6a6bde34a6aca4ddae3f7e0219f951c109a16e6ad9b5f0a69e678e1e8"
},
{
"file": "public/receipt-workspace.mjs",
"sha256": "f286a99bb0df5c6080e8104d501707e5a9e13046d5dd7144dec32bf0817a92a0"
},
{
"file": "scripts/build-receipt-runtime.php",
"sha256": "2a0c461fd4aeaa1f222dd634255e5c0b5bd78ee3325d09bcf9a6fc1e930afa5b"
},
{
"file": "scripts/receipt-composition-run.mjs",
"sha256": "bb67688a7b748ec4795b17864e69b7966cc7bed95ae87ab6994e9b5b3647e02a"
},
{
"file": "scripts/receipt-composition-proof.php",
"sha256": "6c0377ffd6fd082b889a7c830849bcdde3c336259a07bd69ac88c3286695def6"
},
{
"file": "scripts/receipt-composition-extra.php",
"sha256": "20d3f3aea0cd0322e6b2bd04b322bee2685aa8573304db83578f389a40bb3793"
},
{
"file": "scripts/receipt-origin-proof.php",
"sha256": "980c06cc2d133957c7ada96495e0f117ed4a01814133f2d2d430c5d679b55a3a"
},
{
"file": "scripts/receipt-runtime-contract.php",
"sha256": "aa0164f153709d83144163ee2b64c019aa74858c37daa8e6b11647c3eda31180"
},
{
"file": "scripts/receipt-composition-http.php",
"sha256": "6d8c2b7004c82d8b910c6af9c337805b79ccf190dc02e994fc058d92e7b1d315"
},
{
"file": "scripts/receipt-native-setup.php",
"sha256": "4c7c714742cda62b3e3654a6fc4136948ea6571f1b6ab7b0ef59023ff635206a"
},
{
"file": "scripts/receipt-native-extra.php",
"sha256": "05153a45d349e370851c57d937c9a1d320e0711deceb41026669db4ccf059ea9"
},
{
"file": "scripts/receipt-demo-smoke.php",
"sha256": "4331fefa219f41fdee1323fe9727736083271121ff43b24df66d707eebfa6ed0"
}
],
"native_workflow": {
"original_source": "../compras/app/Services/ReceiptWorkflow.php",
"original_sha256": "a7325d4fdb09d1767d0d4fa3661bcf9b254e8506285080d6063bbed487bb522c",
"namespace_only_bundle_manifest_sha256": "5035f3e5c2ad5f5813604c3c3fe5342e784c8e8f22df3b4dea2379254d51879c",
"files_verified": 371,
"business_rules_reimplemented": false,
"parallel_source_changes": [
{
"file": "app/Http/Controllers/GoodsReceiptController.php",
"archived_sha256": "8cd20b3028184020f42369dd3977415ac49285641c4cd833f3e61f81d4bcbfed",
"current_sha256": "828af3af530b3aaa4aa04b65c6e21f8c7b0e2ad3f459179669b1a8fd60a8ff63",
"used_by_adapter": false,
"preserved_without_changes": true
}
],
"writer_manifest_sha256": "f0b99e591f9a4df135e685f64ceffad77bed259222debe0f34c20f95e3cad800"
},
"demo": {
"url": "http://127.0.0.1:8064/qa/enter/actor?open=1",
"reader_url": "http://127.0.0.1:8064/qa/enter/validator?open=1",
"issuer_url": "http://127.0.0.1:8064/qa/enter/issuer?open=1",
"initial_receipts": 0,
"initial_movements": 0,
"port": 8064,
"synthetic_only": true
},
"qa_rights": [
"purchasing_receipts.view",
"purchasing_receipts.confirm"
],
"prior_proofs_preserved": [
{
"file": "docs/proofs/requisition-composition-20261103.json",
"sha256": "8e4e7a113274b16f9e1d6882ae4f0bf04eb3e9c0d580cf1743fdfe248458f67e"
},
{
"file": "docs/proofs/stock-period-batches-20261103.json",
"sha256": "07c437ca7604d4c8164f386caab5efec99e0985d410d0a3e201b1a22fb5d8ed5"
},
{
"file": "docs/proofs/stock-prefix-stream-20261103.json",
"sha256": "81ecffdf877015d74b35ed7cd38804b63001fe031c613fdb0b20ff37cb9a3998"
},
{
"file": "docs/proofs/module-association-consolidation-summary-20261102.json",
"sha256": "8f693f39763ee21a22ebd3929d95ba1480f339eca18742fa53055c69eb5219ef"
},
{
"file": "docs/proofs/common-ledger-stock-valuation-20261103.json",
"sha256": "a4eed51a66988ab103770a4be789952b2f377a8e7c41608bbf34662a80745124"
}
],
"preservation": {
"installed_purchasing_pointer_sha256": "81899e531e9eec449717e694d8bdc106a9e220a828f5491ce918c1d2dc612787",
"old_stock_demo_manifest_sha256": "8b3ad1c600b84c8526b2d9f453a1c5c4e174a69d6acc78ace2af4f52a25dd762",
"protected_six_records_changed": false,
"blocked_cache_cleared": false,
"real_rights_changed": false,
"existing_demos_written": false,
"destination_migrated": false,
"purchasing_activated_at_destination": false,
"publication": false,
"checkpoint": false
},
"selected_evidence_reuse": {
"first_21": "7251beec04b9d435c3bbf72052818dd5ab2e6626e530b1c45a2442d533defd7a",
"first_29": "41a12b8a719edc70b8feaa4cabe825d51bc5f1fde9323a463f1d17d0b5905739",
"failed_attempts_preserved": true,
"causes": [
"Foreign warehouse was rejected422 by the original tenant validator; harness initially expected403.",
"Final assertion used supplier_invoices instead of the native invoices table."
],
"accepted_tests_not_repeated": true
},
"limitations": [
"Explicit local QA identity/order/warehouse binding; no automatic tenant/company/unit equivalence.",
"Original source is packaged with namespace-only adaptation to coexist with SGF models; one bundle version per process. No general installation or long-lived Octane worker validation.",
"Host authority is held in a read/lock transaction; all receipt, movement and origin audit writes commit together in the native transaction. Host database has no receipt business copy.",
"New QA roles own their databases; deployment owner/runtime separation is not validated.",
"Order and receipt history are server-paginated; stock selector currently exposes at most100 source items and this is not a full catalogue search interface.",
"No new invoice, payment, accounting recognition, real fiscal emission, stock-cost composition or review of real associations.",
"No browser visual review, sustained load or deployment capacity evidence."
],
"deployment_capacity_validated": false,
"visual_review_pending": true
}