Files
EscapistsReintroduced/docs/evidence/convoy-fixture-admission-2026-10-02/radio-review.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

34 lines
3.8 KiB
JSON

{
"verdict": "No demonstrated ordinary gameplay defect; no patch justified in bounded review.",
"scope": "Normal mission radio defence, not HQ radio network hops. Read-only successor audit; sealed playtest untouched.",
"findings": [
"CanBegin requires server, active mission, IDLE service, registered identified radio, canonical current connected roster actor, matching player faction, conscious living body and <=5m distance. Begin latches DEFENDING before start callback: a second native action completion cannot start another timer.",
"Each Tick enumerates native currently controlled players and revalidates CurrentActor, faction, consciousness and <60m radius. Disconnected retained bodies and stale replaced bodies do not defend. Any zero-defender sample resets progress; another eligible defender preserves continuity.",
"ERR_TuneRadioAction client availability avoids server-only roster checks; authoritative PerformAction delegates to Begin for current-body revalidation. Interrupted native hold cannot grant progress through a separate authored callback.",
"Radio.et is an authored static GenericEntity with no inventory or damage-manager component, and RadioCamp.et inherits it. Ordinary theft/destruction was not demonstrated. Forced entity deletion unregisters location and stops accumulating progress, but recovery from externally forced deletion is not an established ordinary-play requirement.",
"Stop latches STOPPED and clears location/progress; subsequent Tick/Begin refuse. Completion latches before observer callbacks, and GameMode completion handler requires RADIO_DEFENCE plus the matching completed service/location. New mission initialization allocates a new service.",
"Existing actual policy tests cover authorization/range, handover/reset, backward clock and live duration changes. Existing native fixture source includes duplicate Begin, hostile/unconscious/dead exclusion, empty connection set, completion reentrancy, stop and terminal-phase cancellation. These fixture checks were read, not run in this audit."
],
"verification": {
"tests_run": false,
"native_run": false,
"target_writes": false,
"note": "Read-only bounded audit; no new test or native qualification claimed."
},
"source_sha256": {
"addons/core/Scripts/Game/ERR/00_Core/ERR_RadioDefenceService.c": "f5f0bf1352141f933d0edb5630e30541e001dc07e1d2c8529b29cc159c126b13",
"addons/core/Scripts/Game/ERR/00_Core/ERR_Actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6",
"addons/core/Scripts/Game/ERR/00_Core/ERR_Location.c": "5b0b058130ccac02bdc1dcd6474d51a6f45da4dd52ed6c37906692fca3f194b1",
"addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerRoster.c": "c038dac0f749bd29ebc35a4e952904b41a34417ba738904d5efcd1833a263e0b",
"addons/core/Scripts/Game/ERR/00_Core/ERR_Actors.c": "980d30964845600a261693cc5c5553e1472e8e54867bdc06133ff5c7b36c9128",
"addons/core/Scripts/Game/ERR/00_Core/ERR_GameMode.c": "89a29c03ba225acbbb9fa3c58a721aced91a77bc0c77046d697005a6d7c48bb9",
"addons/core/Scripts/Game/ERR/00_Core/ERR_SiteService.c": "210646e679056f4a46ef454a5abe15bd42d48349aa376ccfbb6b3b2ebeac6812",
"addons/core/Scripts/Game/ERR/00_Core/ERR_NativeRadioDefenceProbe.c": "ff1e27a0ce75b123a86e7df31354831880ca62ea90b6c5d7c60d3ba168e1fff0",
"addons/core/Scripts/Game/ERR/00_Core/ERR_NativeObjectiveLossProbe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48",
"addons/core/Prefabs/ERR/Radio.et": "99b1d80b49d1e7f9d30aa4283772a36fd66e962369f288f5fe329c7fc911bb1b",
"addons/core/Prefabs/ERR/RadioCamp.et": "5e6216bf8e6e160da5d9f966c8f7c2081bf6dd16dfac1b89d682a14b3b8a6716",
"tests/test_radio_defence_policy.py": "48c9c01dc6135a3f6d2187b0974645758040f041c3c2c2c26b14222fc572dfe1",
"tests/test_radio_feedback_policy.py": "6b576472f81a35bd4df4dae3f19925b046eedbba262ad67f9bfe1ce9d220a487"
}
}