{ "scope": "Compare current authored addon with the native Nogova/Game Master run4 snapshot from 2026-10-03, inspect newer production/test changes, verify older fixes remain present, run all regression programs.", "authored_comparison": { "unchanged": 433, "changed_or_new": [ { "path": "addons/core/Scripts/Game/ERR/00_Core/ERR_InventoryHitZoneCompat.c", "old_sha256": null, "sha256": "23c34f901311dce63a79aafe83c11e2fc25bd3fddb0cde38bd313eb90878ca90" }, { "path": "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeBaseSmoke.c", "old_sha256": "e811e985048e07365569acde6b5f045d57e9bbf13927f85b74e6e347fd2ef571", "sha256": "d4318ac4f8567afde4cb9f9546f6022ca74e5cabd689355ee75d19f2cde25060" }, { "path": "addons/core/Scripts/Game/ERR/00_Core/ERR_NativeInventoryHitZoneProbe.c", "old_sha256": null, "sha256": "604eacdc66cd52bc8a0115862ee7884a8b0f83bdb50609397de671eacd476543" }, { "path": "addons/core/Scripts/Game/ERR/10_AI/ERR_HQMountedAmmoSampler.c", "old_sha256": "2f0db77ba999586e4290e440d112f1002da17ab5fd20bb4f5b7ff6df99f58a81", "sha256": "97dfab7381385959b0906be13fa2575253ac43be91a271a5d41edaf4106366ac" }, { "path": "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeMountedAmmoProbe.c", "old_sha256": "8d197f7a1398625e5a19db3284b0bf72c6ee6e032843a3e4d9a4e58de42b6825", "sha256": "7ddb634444c79ad9291d53a754dc0ed383342e36720ddaa4b7aa4bd4e7ee656d" }, { "path": "addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeSmoke.c", "old_sha256": "e2a32dbe372edc2f5cd03a55dcb3dd11689ad8b60940a7a318b0c829d464d3e2", "sha256": "b7e1857b0678b3a2c71880c0f35b09da9e978f19bacf5b4e7449c893fdbe2b95" } ] }, "decisions": [ { "change": "ERR_InventoryHitZoneCompat.c", "decision": "keep", "reason": "Real stock one-argument damage-state event called a two-argument UI callback. The mission-scoped adapter supplies the refresh flag explicitly and cleans up its subscriptions; it does not change blood, damage or treatment." }, { "change": "ERR_HQMountedAmmoSampler.c", "decision": "keep", "reason": "The exact WCS inert BMP control lacks a runtime inventory component. Bounded exact resource/topology/muzzle checks let the sampler recognize it without relaxing real gun ownership or changing ammunition." }, { "change": "Four Workbench diagnostic/probe files and supporting runner/test additions", "decision": "keep", "reason": "Opt-in native test coverage; guarded by WORKBENCH and test selectors, with no shipped gameplay behavior." }, { "change": "tools/check.py", "decision": "amend", "reason": "Register previously standalone helicopter-search, body-recovery selection and terrain-editor regressions. These are the only three test_*.py files that were omitted." } ], "earlier_fixes_preserved": [ "Recon helicopter accepted-report retention and search timing", "Road intercept eligibility, waypoint radius and expiry", "Engineer carried-mine walking/arming and safety checks", "Body recovery existing-team selection, bounded retries and wave refunds", "Terrain takeover, selection and Game Master event handover", "Medical bleeding and teammate spectator camera", "Prison wire and ordinary wall climbing", "Reaper/RHS conditional compatibility", "Unified settings and item preferences" ], "native_evidence_reused": { "inventory": "docs/evidence/native-2026-10-04-inventory-hitzone/report.json", "BMP": "docs/evidence/native-2026-10-04-bmp-ammo-radio/report.json", "normal_route": "docs/evidence/native-2026-10-04-ui-bmp-normal-route/report.json", "source_check": "BMP and normal-route authored hashes match all 439 current files exactly. Inventory run differs only in the subsequently fixed mounted ammo sampler. No fresh native execution this review." }, "limitations": [ "Archived native runs retain 13 engine/resource errors; not claimed as clean release qualification.", "Native inventory evidence emits a real notification without natural injury; BMP evidence uses a bounded fixture and normal route uses scripted movement. Manual/multiplayer gameplay remains unproven by this review.", "No publication, server mutation, index changes or removal of earlier work." ], "validation": { "status": "passed", "existing_full_suite": { "command": "python3 tools/check.py", "programs": 309, "exit_code": 0, "note": "Started before adding the three driver registrations; every existing program completed successfully." }, "additional_programs": [ "tests/test_recon_search.py", "tests/test_body_recovery_selection.py", "tests/test_terrain_editor.py" ], "additional_programs_status": "All three executed separately and passed. New main driver registers all 312 unique programs and omits no test_*.py files.", "negative_controls": [ "Unadapted inventory callback compiled and failed at expected missing-argument assertion.", "Previous native-run4 mounted sampler compiled and failed at expected incomplete BMP-control sample assertion." ], "diff_check": "tools/check.py passed git diff --check", "source_stability": "All 439 authored files unchanged during final verification." }, "implemented_by_this_review": [ "tools/check.py: add three existing regression programs to the mandatory suite." ], "removed_changes": [], "decision": "Keep the reviewed peer fixes and their opt-in diagnostics/tests; no rollback justified by source review or regression results.", "artifacts_sha256": { "suite.log": "cabbf4685b75308c7e14149a3aca7add40ad3129e422eed8889dbf4386f9634e", "earlier-fixes.log": "0449266d3074110063319bcb017e8ca8f62cf39faaa1a3fa0e2ccfc2dd40f804", "inventory-baseline-failure.log": "c344739bff0fe9c8bbd843c83bcbca4292a0b6655d3aabfa776adfa3e131d59b", "bmp-baseline-failure.log": "6317889fb7bdee977afbc8de340f864731b6012650eb80516fb44148cf619ea5", "authored-sha256.json": "4cb12d5a0aeb281b593c562c1e3bc226caf7df76c83b9e9fff0066ac204a040e" }, "test_driver_sha256": "9bde1c7cbfd659a7ba68a8fccd8e3cb6096b5b70b6336ab8727d0155f3eb333c" }