{ "date": "2026-11-02", "increment": "NATIVE-WAREHOUSE-UNUSED-RETURN-SIM-v1", "status": "local_synthetic_implementation", "proofs": [ { "file": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml", "sha256": "54a1436b5e76096ea9184af600215d004b316108e9cb79cfe6c86c3c5211948a", "tests": 18, "assertions": 420, "errors": 0, "failures": 0 }, { "file": "private/stock-receipt-115c5b17e171/return-native-1793640514403-junit.xml", "sha256": "dcbbfa2303ed213d93eab8a6533e25e23751dcdfb1594bdb5c3835221ddb6237", "tests": 1, "assertions": 20, "errors": 0, "failures": 0 }, { "file": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml", "sha256": "b38945a85e73e6d78f4770a58f4577b8511b7a15f3523b13e157638b4ecdd0f2", "tests": 16, "assertions": 81, "errors": 0, "failures": 0 }, { "file": "stock-read-1793636847404.xml", "sha256": "88604d1110b31bd0906d3a139a29a95a662341936044eb8fb0757e12e04ab900", "tests": 1, "assertions": 23, "errors": 0, "failures": 0 } ], "totals": { "distinct_tests": 36, "assertions": 544 }, "selected_cases": [ { "name": "test_native_receipt_issue_acknowledgement_and_return_same_book_once", "assertions": 54, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_stale_capacity_idempotency_versions_rights_and_context_refuse_effect", "assertions": 22, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_decision_failure_rolls_back_physical_movement_and_retry_recovers", "assertions": 15, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_undeclared_fraction_and_foreign_delivery_are_refused", "assertions": 13, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_source_options_and_page_reuse_request_and_acknowledged_line", "assertions": 54, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_source_issue_with_return_cannot_be_reversed_as_a_whole", "assertions": 12, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_concurrent_native_confirmation_waits_then_replays_one_movement", "assertions": 21, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_competing_native_returns_cannot_exceed_the_original_delivery", "assertions": 20, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_expired_and_maintenance_profiles_are_revalidated_at_confirmation", "assertions": 14, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_configured_context_and_permissions_cannot_be_inherited_from_people_profile", "assertions": 19, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_return_signals_existing_replenishment_only_once_and_inside_transaction", "assertions": 18, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_catalogue_rename_requires_new_review_preserving_original_and_unit_change_refuses", "assertions": 18, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_unavailable_private_package_returns_503_and_rolls_back_before_recovery", "assertions": 17, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_http_busy_response_leaves_proposal_unconfirmed_then_manual_retry_succeeds", "assertions": 21, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_withdrawal_and_independent_rejection_close_pending_without_stock_effect", "assertions": 37, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_withdrawal_wins_before_confirmation_without_a_movement", "assertions": 19, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_confirmation_wins_before_withdrawal_without_duplicate_terminal_state", "assertions": 19, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_history_pages_and_batch_preparer_lookup_cover_the_full_pending_universe", "assertions": 27, "proof": "private/stock-receipt-115c5b17e171/return-native-1793639486315-junit.xml" }, { "name": "test_return_changes_physical_history_without_silently_changing_gross_issue_forecast", "assertions": 20, "proof": "private/stock-receipt-115c5b17e171/return-native-1793640514403-junit.xml" }, { "name": "full issue reversal preserves the original and is exactly once even on an execution retry", "assertions": 5, "proof": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml" }, { "name": "a corrected issue no longer satisfies a reservation and the same need can use a new actual issue", "assertions": 10, "proof": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml" }, { "name": "a reversal outside a closed history period invalidates its signature and corrects effective consumption", "assertions": 3, "proof": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml" }, { "name": "receipt reversal restores authorised quantities without deleting acceptance and a new correction receipt is not a duplicate", "assertions": 8, "proof": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml" }, { "name": "receipt line reversal removes the full documentary quantities but only the accepted physical entry", "assertions": 3, "proof": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml" }, { "name": "tracked transfer reversal removes original destination lots and quarantines the restored source identity", "assertions": 8, "proof": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml" }, { "name": "mixed lot adjustments can be reversed without turning corrections into consumption", "assertions": 4, "proof": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml" }, { "name": "restoring an old untracked issue after cutover creates an unidentified held lot without fabricating receipt origin", "assertions": 6, "proof": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml" }, { "name": "receipt reversal cannot silently associate an old entry with a baseline lot", "assertions": 2, "proof": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml" }, { "name": "a supplier return reversal restores net receipt entitlement but cannot itself be reversed", "assertions": 6, "proof": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml" }, { "name": "an insufficient original lot or warehouse blocks an approved reversal without compensating from another lot", "assertions": 4, "proof": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml" }, { "name": "approval independence and source isolation apply even with accumulated roles", "assertions": 2, "proof": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml" }, { "name": "a reviewer cannot execute their own decision and duplicate approved plans cannot reverse the original twice", "assertions": 3, "proof": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml" }, { "name": "a final audit failure rolls back all reversal movements and leaves the original approval intact", "assertions": 4, "proof": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml" }, { "name": "HTTP permissions and source views expose the correction without changing original documents", "assertions": 8, "proof": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml" }, { "name": "voided receipt matching blocks new invoices while preserving invoice facts already registered", "assertions": 5, "proof": "private/stock-receipt-cc99dcb17e19/return-reversals-junit.xml" }, { "name": "test_native_return_book_is_observed_without_copy_or_write", "assertions": 23, "proof": "stock-read-1793636847404.xml" } ], "evidence_selection": "18 native cases, one new forecast-boundary case, 16 affected reversal cases, one SGF observer case. Valid overlapping earlier runs are not added. Observer binds an archived retained fixture; subsequent native tests used new isolated tenants.", "scenario": { "receipt_milli": "10000", "acknowledged_delivery_milli": "5000", "physical_after_delivery": "5000", "declared_unused_return_milli": "3000", "physical_after_return": "8000", "movements": 3, "one_shared_writer": true, "native_standalone_requires_sgf": false, "sgf_read_only_observes_same_movement": true }, "controls": { "individual_unused_declaration": true, "independent_physical_receipt": true, "original_source_snapshots_preserved": true, "append_only_decisions": true, "versions_context_permissions_revalidated": true, "withdrawal_and_rejection_without_stock_effect": true, "source_reversal_after_partial_return_refused": true, "transaction_failure_recovery": true, "package_failure_503_recovery": true, "history_metadata_rendered": true, "replenishment_signal_once_inside_transaction": true }, "concurrency": { "real_processes": 2, "company_row_blocker_observed": true, "after_release_same_proposal": "200 replay; one movement", "competing_returns": "one confirmed; second 409 after release", "withdraw_confirm": "one terminal state in both lock orders", "http_lock_timeout": "423 warehouse_return_busy; no effects; explicit retry after release succeeds" }, "history": { "fixture_records": 51, "page_size": 25, "supply_record_selects_for_page": 3, "pages_disjoint": true, "state_filters_cover_latest_versions": true, "not_a_load_capacity_benchmark": true }, "forecast_boundary": { "gross_issue_milli": 5000, "returned_milli": 3000, "physical_before_milli": 5000, "physical_after_milli": 8000, "historical_mean_unchanged": true, "source_hash_changed": true, "planning_convention_unchanged": true, "net_consumption_forecast_implemented": false }, "package": { "manifest_sha256": "2850a4f5cb678acfe3a9dbc7a7d62eb233bc72722ad0de374681c2679c90557c", "canonical_matches_native_artifact": true, "writer_unchanged": true }, "observer": { "proof_sha256": "69377ad1852f8299e37fdefc595c224c85412b02363d4bfa9070aa9e3c5c63ea", "fixture_archive_sha256": "a9a6f9f3360f9d01174bbafec05b6120fd11315d863c9e92d07861dd58e65acf", "kind": "native_return_same_book_sgf_observer", "physical_milli": "8000", "native_movements": 3, "same_return_movement": true, "observed_return_movement_id": 29, "native_fixture_sha256": "a9a6f9f3360f9d01174bbafec05b6120fd11315d863c9e92d07861dd58e65acf", "source_write_refused": true, "no_local_copy_or_second_effect": true, "return_manifest_sha256": "2850a4f5cb678acfe3a9dbc7a7d62eb233bc72722ad0de374681c2679c90557c" }, "postchecks": { "native_retained_book": { "cluster": "sgf_modular_regression_2576427d1939", "database": "compras_receipts_test_115c5b17e171", "role": "stock_receipt_read_115c5b17e171", "read_only": "on", "elevated": false, "select_book": true, "can_write_book": false, "select_native_operations": false, "movements": 3, "physical_milli": "8000", "same_return": true }, "sgf": { "qa_identity": { "db": "sgf_tempo_test", "role": "sgf_test_runner", "port": 55439, "cluster": "sgf_modular_regression_2576427d1939" }, "temporary_grants_remaining": 0, "constraint_sha256": "40046092cba51f1b46d26d5f0da8af47e8336e90a8d50b8de3a8c390758f1783", "operational_workshop_stock_bindings": 0, "read_only": true } }, "ui": { "proof": "docs/proofs/native-return-ui-20261102.json", "sha256": "61ad362980e92de76f64cd39bad2fbe0a78f950cffe0dc18a85af61a388cfb50", "kind": "isolated_changed_entry_browser_bundle_and_types", "inputs_sha256": { "resources/js/pages/stock/returns.tsx": "e9fc4183b07f7cbebce83f770dc2958536905b0b4c2796c8065031e35aa9b1e7", "resources/js/pages/stock/request.tsx": "f59a72c78f8c94260c5b64cad0d26cca08c8379726ad61c9b869e0a667c00f60", "resources/js/pages/stock/operations.tsx": "3c6d68bac8db5c7e0ac7f518fd07e8b3a6a4f0f704ea7612e332b457ee9a0938" }, "entry_bundle_passed": true, "type_check_exit": 0, "type_output_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "explicit_source_selection": true, "unused_declaration_required_in_source": true, "independent_receiving_declaration_required_in_source": true, "live_or_demo_build_touched": false, "full_application_build": false, "browser_interactions_tested": false, "visual_review": false }, "history_render": { "proof": "docs/proofs/native-return-history-render-20261102.json", "sha256": "71b8a50c96abc17fba71fb010afbcace8309c4976efb036d35220898cb777520", "kind": "server_render_of_actual_native_stock_history_props", "page_sha256": "fafd870e129cb169216bd2a7d13a547adaab410d24195f950327eb14af57e10f", "component_sha256": "3c6d68bac8db5c7e0ac7f518fd07e8b3a6a4f0f704ea7612e332b457ee9a0938", "render_passed": true, "return_human_label_visible": true, "author_and_responsible_rendered": true, "actual_http_props_used": true, "visual_review": false, "browser_interactions_tested": false }, "qualified_private_build": { "kind": "private_application_asset_build_with_qa_configuration", "passed": true, "app_path_private": true, "manifest_sha256": "bda389a4cedc3ed5d2b4e02dda0487fa15e06924ef1ad5b85ca0981d71ec226e", "return_page_in_manifest": true, "configuration_difference": "Font downloading and optional React compiler omitted in QA; application entries, Inertia, React JSX, Tailwind and Wayfinder built. Does not validate the default optimized build.", "native_public_build_touched": false, "demo_assets_touched": false, "visual_review": false }, "php_analysis": { "tool": "phpstan", "result": "passed", "errors": 0 }, "source_sha256": { "../compras/app/Services/WarehouseReturns.php": "0e3ba1f1b9547a9fc21ad85191ff2378a2e5da7d95aaf0625c55d69a5d7bc0d3", "../compras/app/Services/WarehouseReturnMovement.php": "0a4fae10c24319b6f5bd030e99fa4281e337aaae5777e8287e608752e51bb5a3", "../compras/app/Http/Controllers/WarehouseReturnController.php": "0bad62cfee16367507d0cd8c2d2c9da3b4a320728e4f2d94db72f39df1d2807d", "../compras/app/Services/InventoryReversals.php": "3af954cb2fa6ab950b80b9098c4bccfb8d099a247d13f4d64a8d0a76fec07295", "../compras/app/Services/SupplyHistory.php": "abc2598f20ccd66b6e3218bc4f9a5f3eab074b4f022cf8566da6c36003f9c041", "../compras/app/Services/OrganizationAccess.php": "2c7529a2118ab849fd3bc192045a460cca7787a06b84d481ba32e5a8f612a0a1", "../compras/config/stock_returns.php": "b46680d504945879bedd2910d2a0dd0164d13d331a6e85772edcdd182fddbd04", "../compras/routes/web.php": "9fbda27eb41da56c9b62a216c43bdcd99b66ffc230d9accd6866080f89130b54", "../compras/tests/Feature/WarehouseReturnIntegrationTest.php": "e4240a156ddef6184ef6f6ed4c35341dd6184332ef32d4487423c05bfd8a5f80", "../compras/tests/Support/warehouse-return-worker.php": "9f58ec6d45ec67c03ab2380e0f081a48eb0540d01603e68afa8608a90384a776", "resources/js/StockReadWorkspace.jsx": "ab29ffa445cfd68f5a9a2542dd4c375bff38e9f9a28cbf1cc033c3ceb76ea7e4", "tests/Feature/StockReadTest.php": "dbfaf026d912ff31ac73f8f84d3f318c67f24b5efbaaad85ccc4bca8bfdf5590" }, "reused_proofs": { "docs/proofs/workshop-material-cycle-20261102.json": "4d79e563401df1e20d793ca8af9a1da228a24c86d6c887323a9e57c3ce65cc9a", "docs/proofs/stock-read-load-20261102.json": "4fc1d7d13d480a30966b259611de1066fc22ef31f7a0e782da4872211801c72e", "docs/proofs/module-association-http-lock-summary-20261102.json": "67547007f8f9df853639751983c5a6fd0841044cb0e04a7628db04c4b67692c6" }, "preservation": { "six_pending_associations_untouched": true, "blocked_cache_untouched": true, "demos_and_real_data_untouched": true, "no_real_rights_granted": true, "native_synthetic_profiles_retained_in_separate_qa_database": true, "sgf_temporary_rights_restored": true, "regression_not_reset": true, "existing_proofs_preserved": true, "activation": false, "publication": false, "checkpoint": false }, "limits": [ "Native unused quantity is an explicit recipient declaration; no SGF technical-consumption register is consulted by the standalone native flow.", "Only internal warehouse deliveries; no lots, equipment/spare parts, reservation-bearing articles, quality or quarantine.", "No consumed-material compensation or automatic reversal of confirmed returns.", "Historical forecast preserves gross issue convention; net return forecasting is not implemented.", "SGF observation is isolated QA evidence, not installation of a full operational composition.", "No write-load capacity, visual review, browser interaction or deployment validation.", "Qualified private asset build omits optional React compiler and font downloading; default optimized build is not validated." ], "visual_review_pending": true, "deployment_capacity_validated": false }