Files
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

24 lines
1.8 KiB
JSON

{
"problem": "Active original hunter entry capture was only sampled once per second. Current control/occupancy can disappear before next Tick; predecessor records entry event immediately.",
"fix": "Server canonical current-player entry matches only active original tracked hunter roots with existing bounded32 ancestry and15 record cap. Latch precedes Release/native callbacks. Hunter clears Downlink/stops Recovery; base rejects survivor retention even if live occupancy absent. Physical entities, finite allowance and registered original identifiers preserved.",
"scope": "Already Released hunter ignored: abandoned asset entry does not revoke independently retained former infantry. No helicopter, supply-convoy event dispatch, spawn/refill/deletion/refund, or replay of registration. Polling fallback unchanged.",
"tests": {
"test_hunter_capture.py": 0,
"test_hunter_lifecycle.py": 0,
"test_convoy_survivors.py": 0,
"test_convoy_lifecycle.py": 0
},
"baseline": "red.log: actual baseline compiles then fails capture latch/released assertion; baseline-adapter-unused.log retained separate rejected compiler-only control.",
"mutation": "mutation.log: removing base !PlayerCaptureObserved guard compiles then fails unregister-vs-retain assertion with live occupancy unavailable.",
"limits": "Offline actual-method boundary doubles, not native multiplayer callback timing or ordinary input qualification. SDK callback is supported; root owns native validation.",
"registration_needed": "tests/test_hunter_capture.py only; parent owns tools/check.py",
"changed_files": [
"addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyService.c",
"addons/core/Scripts/Game/ERR/10_AI/ERR_HunterService.c",
"tests/test_hunter_lifecycle.py",
"tests/test_convoy_survivors.py",
"tests/test_hunter_capture.py"
],
"source_unchanged": true
}