{ "decision": "Approved: exact deleted-shell identity can no longer finish later and safely settles only uncertainty.", "hashes": { "addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSupplyTransfer.c": "ad71084f507ad9c32d3055e7ec6844a1ec5ddf568c0216ab8391e902b56e417c", "tests/test_mortar_transactions.py": "5db4ec737355a7ae995240dc93f1dce146e07c0110c2da2c23451f180b134d26", "fix.patch": "cd6b39cf18e7ce49744ffaa28474fb4160abba936599a71e3acd86300af415d0" }, "independent_runs": { "baseline": { "exit": 1, "runtime_assertion": true }, "proposal": { "exit": 0, "runtime_assertion": false } }, "checks": [ "Guard is only !m_Shell after server check: donor death/capture, missing storage, or nonnull damaged shell cannot trigger it.", "Deletion sets resolved+invalidated, clears ready and returns FAILED for all acknowledgement states, including late completion.", "Existing nonnull ambiguity, invalid authority and timeout paths retain uncertainty unless preexisting native failure/physical-proof rules settle.", "Actual Battery.SupplyPending becomes false after Poll; production Battery.Update polls existing transfer before MortarSystem checks pending gate.", "No item retry/refund/spawn or new shot authorization added; other physical shells remain under existing order/readiness controls." ], "limits": [ "Native weak reference deletion modeled as null; no engine or multiplayer run.", "Actor/damage validity is modeled by existing Valid adapter; native component behavior was not newly qualified." ], "target_changes": false, "native_run": false }