Files
EscapistsReintroduced/docs/evidence/ui-bmp-corrections-2026-10-04/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

26 lines
2.9 KiB
JSON

{
"scope": "Narrow exact WCS Armament_Empty structural fallback only; no real-weapon custody relaxation.",
"native_gate": {
"path": "/tmp/erri-workbench-bmp-binding-20261004-0104/logs/logs_2026-10-04_01-04-02/console.log",
"sha256": "f73a4c64304a1958417a56c7a5920981d744de6055f7e18edd733befa00201de",
"facts": "Reason64 identifies exact WCS Armament_Empty: item absent,parent null,binding attached exact,binding container exact mount,mount owner allowed exact BMP turret. Snapshot remains valid incomplete4weapons/3muzzles/3magazines.",
"limitations": "Reason4096 does not separately identify the zero-muzzle entity. Immediate-parent topology and uniqueness were not logged. New helper proves these and zero muzzle list at each actual sample; previous native is failed evidence, not fix qualification."
},
"behavior": [
"AddWeapon only accepts the existing reason64 case when exact physical WCS control has absent/null reverse inventory binding and complete bounded native structural proof. Conflicting nonnull inventory binding cannot enter fallback.",
"Same proof handles direct discovery in NonFiringPlaceholder, retaining exact component dedup and normal32weapon collection cap before omission.",
"Immediate parent and control must both be in allowed hierarchy; at most8 parent weapon slots; exact physical component owner, unique matching mount, mount owner==parent, binding container==mount, attached entity==control, expected original mount when normalizing; actual empty muzzle list.",
"Unknown GUID/path, unproven periscope null parent, real gun/muzzle variants, foreign topology, ambiguous slots and all existing cargo/crew/count bounds remain fail-closed."
],
"tests": {
"program": "tests/test_hq_mounted_ammo_sampler.py",
"green": "Actual ordinary+WORKBENCH whole sampler, all retained controls plus new missing/null reverse+manager/direct duplicate ordering, control-only,15 malformed topology/resource cases and32/33controls cap.",
"baseline": "Compiled actual original sampler then runtime assertion failure on first expected complete native-shaped empty-control sample.",
"mutation": "Removed binding attached-identity check only; compiled then runtime negative assertion failure.",
"doubles_limit": "Hierarchy/native component and slot APIs are explicit policy doubles; not engine or MP proof.",
"green_final_comment_delta": "After green only the helper comment changed to observed WCS BMP empty control; executable code and tests unchanged."
},
"command": "PYTHONPATH=/home/jakub/devel/escapistsrereintroduced/tests ERR_MOUNTED_AMMO_SOURCE=/tmp/erri-bmp-structural-fallback/addons/core/Scripts/Game/ERR/10_AI/ERR_HQMountedAmmoSampler.c python3 /tmp/erri-bmp-structural-fallback/tests/test_hq_mounted_ammo_sampler.py",
"qualification": "No live edits, native run, third-party asset bytes or compiled engine claim. Additional small bounded reads for exact control only; performance not measured."
}