Files
SGF/docs/proofs/workshop-material-cycle-20261102.json
2026-11-02 20:29:34 +02:00

294 lines
11 KiB
JSON

{
"date": "2026-11-02",
"increment": "WORKSHOP-MATERIAL-CYCLE-SIM-v1",
"status": "local_synthetic_implementation",
"proofs": [
{
"file": "workshop-stock-1793634406841.xml",
"sha256": "eabad22dca4fe162777bc04adbec9806fcbdf20ccedce2cd7ef97aa270211e13",
"tests": 20,
"assertions": 740,
"errors": 0,
"failures": 0
},
{
"file": "workshop-stock-1793634619557.xml",
"sha256": "dd5a1f08095d33adad82180ade2d92ecac37c62728f2f4a79208818192569362",
"tests": 5,
"assertions": 219,
"errors": 0,
"failures": 0
},
{
"file": "workshop-stock-1793634796037.xml",
"sha256": "c22d26fc7c607027727d1f37ab21f881033ca0be44962e38a5ab9fa1957b9101",
"tests": 9,
"assertions": 363,
"errors": 0,
"failures": 0
},
{
"file": "workshop-stock-1793634950240.xml",
"sha256": "d08140e0984173c271737f42b28f22f6da66648fd816604900866225469eacb3",
"tests": 1,
"assertions": 63,
"errors": 0,
"failures": 0
}
],
"selection": "Latest passing evidence selected per test name; repeated affected cases are not counted twice. Earlier intermediate failure is excluded. Later warehouse receipt declaration, history controls and ordered opening-stock timestamp were verified only in affected cases.",
"totals": {
"distinct_tests": 22,
"assertions": 820
},
"selected_cases": [
{
"name": "test_stock_return_unconsumed_material_restores_only_remaining_quantity_once",
"assertions": 63,
"proof": "workshop-stock-1793634950240.xml"
},
{
"name": "test_stock_return_refuses_consumed_client_unverified_excess_and_stale_capacity",
"assertions": 52,
"proof": "workshop-stock-1793634619557.xml"
},
{
"name": "test_stock_return_failure_after_decision_rolls_back_movement_and_recovers",
"assertions": 32,
"proof": "workshop-stock-1793634619557.xml"
},
{
"name": "test_stock_return_concurrency_cannot_restore_quantity_twice",
"assertions": 40,
"proof": "workshop-stock-1793634619557.xml"
},
{
"name": "test_partial_delivery_links_multiple_origins_without_debit_and_rechecks_remaining",
"assertions": 60,
"proof": "workshop-stock-1793634796037.xml"
},
{
"name": "test_partial_delivery_requires_enabled_capability_and_rolls_back_allocation_failure",
"assertions": 26,
"proof": "workshop-stock-1793634406841.xml"
},
{
"name": "test_partial_delivery_concurrent_proposals_cannot_overallocate",
"assertions": 41,
"proof": "workshop-stock-1793634406841.xml"
},
{
"name": "test_delivery_link_has_zero_effect_independent_decision_and_no_duplicate",
"assertions": 44,
"proof": "workshop-stock-1793634796037.xml"
},
{
"name": "test_delivery_link_refuses_mismatch_stale_book_and_recovers_from_failure",
"assertions": 39,
"proof": "workshop-stock-1793634406841.xml"
},
{
"name": "test_delivery_link_can_reconcile_fully_depleted_stock_without_new_issue",
"assertions": 30,
"proof": "workshop-stock-1793634406841.xml"
},
{
"name": "test_delivery_link_rejects_reversal_and_does_not_adopt_history",
"assertions": 20,
"proof": "workshop-stock-1793634796037.xml"
},
{
"name": "test_delivery_link_refuses_missing_original_hash",
"assertions": 21,
"proof": "workshop-stock-1793634406841.xml"
},
{
"name": "test_delivery_link_other_company_cannot_prepare_or_confirm",
"assertions": 26,
"proof": "workshop-stock-1793634796037.xml"
},
{
"name": "test_individual_impact_independence_exact_issue_and_replay",
"assertions": 45,
"proof": "workshop-stock-1793634796037.xml"
},
{
"name": "test_client_unverified_fraction_and_unknown_delivery_do_not_debit",
"assertions": 48,
"proof": "workshop-stock-1793634406841.xml"
},
{
"name": "test_stale_book_mapping_permission_scope_and_failure_recovery",
"assertions": 31,
"proof": "workshop-stock-1793634406841.xml"
},
{
"name": "test_corrected_source_requires_review_and_never_consumes_the_same_origin_twice",
"assertions": 39,
"proof": "workshop-stock-1793634796037.xml"
},
{
"name": "test_other_company_cannot_read_or_confirm_origin_and_changed_command_is_refused",
"assertions": 29,
"proof": "workshop-stock-1793634796037.xml"
},
{
"name": "test_concurrent_confirmation_has_one_claim_and_movement",
"assertions": 30,
"proof": "workshop-stock-1793634406841.xml"
},
{
"name": "test_delivery_link_concurrent_confirmation_has_one_claim_without_movement",
"assertions": 30,
"proof": "workshop-stock-1793634406841.xml"
},
{
"name": "test_stock_return_revoked_right_stale_context_and_foreign_company_do_not_write",
"assertions": 36,
"proof": "workshop-stock-1793634619557.xml"
},
{
"name": "test_history_filters_and_pagination_preserve_order_and_scope",
"assertions": 38,
"proof": "workshop-stock-1793634796037.xml"
}
],
"scenario_asserted": {
"opening_milli": "10000",
"delivered_milli": "5000",
"physical_after_issue": "5000",
"consumed_allocation_milli": "2000",
"physical_after_allocation": "5000",
"returned_milli": "3000",
"physical_after_return": "8000",
"unallocated_after_return": "0",
"total_movements": 3,
"original_issue_unchanged": true,
"opening_entry_precedes_issue": true,
"stock_read_sees_same_book": true,
"explicit_warehouse_receipt_required": true,
"service_and_writer_replay_original_return": true
},
"partial_allocations_asserted": {
"multiple_origins_one_delivery": true,
"quantity_bound_by_delivery": true,
"physical_effect_zero": true,
"stale_remaining_refused": true,
"already_allocated_origin_not_consumed_again": true,
"disabling_capability_does_not_erase_history_protection": true,
"failure_atomic_and_retry_once": true
},
"return_asserted": {
"consumed_client_unverified_unrepresentable_and_excess_refused": true,
"stale_capacity_refused": true,
"independent_confirmation_required": true,
"missing_receiving_declaration_422": true,
"right_revoked_403": true,
"stale_context_409": true,
"other_company_403_and_empty_history": true,
"decision_failure_rolls_back_movement_and_operation": true
},
"concurrency_asserted": {
"processes": 2,
"company_row_blocker_observed_with_pg_blocking_pids": true,
"competing_allocations_3_plus_3_against_5": "first associates 3; second after release refuses 409",
"competing_returns_3_plus_3_against_5": "one positive movement of 3; second after release refuses 409"
},
"history_asserted": {
"server_page_size": 25,
"proposal_fixture_count": 51,
"descending_id_order": true,
"pages_disjoint": true,
"status_filters": [
"all",
"pending",
"confirmed"
],
"confirmed_includes_allocations_and_returns": true,
"unknown_parameters_refused": true,
"tenant_company_unit_isolation": true
},
"package": {
"id": "tempo-inventory-return",
"version": "0.1.0",
"files": {
"bootstrap.php": "f6735623101377038cde58085d5f00e030249066bc6a67f30b718caab73288be",
"src/DeliveryReturnWriter.php": "a7c65169a5c1f3510f9a2762cbf4163ee4cc81b0a23174a7abed96147e16790a"
},
"manifest_sha256": "2850a4f5cb678acfe3a9dbc7a7d62eb233bc72722ad0de374681c2679c90557c",
"canonical_identical": true,
"native_return_command_integrated": false
},
"source_sha256": {
"app/Modules/Workshop/WorkshopStock.php": "840cd559f5189c8c2934d6e0a761cf3ee6b4f8e4e48a3964829ffd02504d7181",
"app/Modules/Workshop/Http/WorkshopStockController.php": "35f090c753b9d9f55ea85b4b566c1f08e34d3e6a5d28bb43768da1bfab90b712",
"resources/js/WorkshopStockWorkspace.jsx": "8adc2fcf8818a6b5b0c51f55520f6e60811c03a46c0b5711bcff880b6df26884",
"tests/Feature/WorkshopStockTest.php": "8a884fa62fcf000530197c61dd641e1ef1751f242f27384057f3cc355ab59b58",
"tests/Support/workshop-stock-worker.php": "538e01a699f0d81c01a4eb4ed0bac9b0d8f7494b2cdda5e00759f3152d4374f1",
"packages/inventory-return/src/DeliveryReturnWriter.php": "a7c65169a5c1f3510f9a2762cbf4163ee4cc81b0a23174a7abed96147e16790a",
"routes/web.php": "9469393870f2123f2a3ecd4b3027309777c7aeb5d20996b937c0dab1878192be"
},
"qa_postcheck": {
"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": {
"path": "docs/proofs/workshop-material-cycle-ui-20261102.json",
"sha256": "d143d458bc779260f4b5d3ae2cb618cf789794bb0b0aa9e4724614b05395321a",
"kind": "static_impact_render_and_source_checks",
"allocation_zero_effect": true,
"remaining_quantity_visible": true,
"return_positive_effect_visible": true,
"physical_receiving_checkbox_required_in_source": true,
"explicit_treatment_choice_in_source": true,
"history_controls_and_query_in_source": true,
"source_sha256": "8adc2fcf8818a6b5b0c51f55520f6e60811c03a46c0b5711bcff880b6df26884",
"backend_requests": 0,
"browser_interactions_tested": false,
"visual_review": false
},
"build": {
"passed": true,
"node": "24.22.1",
"vite": "8.3.5",
"manifest_sha256": "aa0c7cad4edc66a14c410667b54345a3c6e6c27c482cf3434a0e162612a62a4f"
},
"reused_proofs": {
"docs/proofs/workshop-delivery-link-20261102.json": "f84d9f219d4b4ef41d92edbbc0ad9f0c433da6ef1fa66b9d22738b615649be1f",
"docs/proofs/workshop-stock-20261102.json": "c13b22eed190e379d8311a8e02586e201f993a89bfc4490be5d9d325d6ca00c3",
"docs/proofs/stock-read-load-20261102.json": "4fc1d7d13d480a30966b259611de1066fc22ef31f7a0e782da4872211801c72e",
"docs/proofs/stock-receipt-link-20261102.json": "b763ab326abf49271d16b32d22f01a8a8d31d1ab015141e42dcf5963ee914143"
},
"preservation": {
"new_qa_schemas_and_actors_only": true,
"regression_not_reset": true,
"six_protected_records_untouched": true,
"blocked_cache_untouched": true,
"demos_untouched": true,
"previous_association_proofs_unchanged": true,
"real_rights_or_data_changed": false,
"indices_in_qa_fixture_only": true,
"purchasing_activation": false,
"publication": false,
"checkpoint": false
},
"limits": [
"One origin may not span multiple deliveries.",
"Consumed-material compensation and amendment/release of confirmed allocations are not implemented.",
"Returns accept quantity only: no lots, reservations, quality/quarantine or spare parts.",
"Native Purchasing return command not integrated; local artifact alone is not runtime integration.",
"Operational installer and one installed procurement-to-workshop composition pending.",
"No write-load benchmark or deployment-capacity evidence; no browser interaction or visual review."
],
"visual_review_pending": true,
"deployment_capacity_validated": false
}