Files
EscapistsReintroduced/docs/evidence/mortar-deleted-shell-2026-10-02/finding.json
T
jakub 6a667d8deb Capture current mission, AI, map and administration development
Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
2026-10-13 22:52:53 +02:00

16 lines
1.9 KiB
JSON

{
"finding": "A deleted exact shell leaves ERR_MortarSupplyTransfer.Unresolved true indefinitely when accepted native move never supplies a failure callback. Deadline invalidates authority but never resolves uncertainty. Battery.SupplyPending remains true, so MortarSystem skips new orders even with other physical shells.",
"source_boundary": [
"ERR_MortarSupplyTransfer.Poll/Unresolved",
"ERR_MortarBattery.SupplyPending and SupplyState",
"ERR_MortarSystem.Assign: battery.SupplyPending gate"
],
"fix": "Mirror existing ERR_MortarCourierTransfer.Poll null-shell rule after server guard: mark exact deletion resolved and invalidated, clear ready, return FAILED. No damage/capture/unknown-storage inference, no refund/retry/spawn/new transfer.",
"red": "Updated actual Poll+Unresolved+Battery.SupplyPending program compiles then assertion-fails on exact weak identity deletion; red.log.",
"green": "All existing test_mortar_transactions.py programs pass plus zero/success/failure callbacks, already-cancelled branch, late acknowledgement, timeout, and nonnull detached ambiguity. green.log.",
"limits": "Entity deletion modeled by native weak-reference invalidation; no engine run. Other mortar cancellation guard pattern was not reproduced because success is authorized by later Poll. Existing test had asserted null remains pending; changed explicitly to permanent loss, matching existing courier behavior.",
"preservation": "One source and one existing test proposal; baseline working/index hashes retained. Original and successor untouched.",
"apply_check_exit": 0,
"test_command": "PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=/home/jakub/devel/escapistsrereintroduced/tests ERR_MORTAR_SUPPLY_TRANSFER_SOURCE=/tmp/erri-mortar-review-1804/addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSupplyTransfer.c python3 /tmp/erri-mortar-review-1804/tests/test_mortar_transactions.py"
}