Optional drone integration — 21 October 2026
Two isolated Workbench fixtures completed with seven assertions and no script or runtime failures against the production hashes in production-sha256.json. Both runners verified unchanged source/external inputs and cleanup of their private Wine prefix.
These are not clean whole-engine runs. The flight fixture retained 20 engine resource/world/platform errors; the absent-addon fixture retained 13. The strict native reporter exits with failure for those errors even though both fixtures completed. The complete reports and console logs are retained unchanged.
Downloaded addon and flight
Realistic Combat Drones 65AD60E204191D37, version 2.3.7, supplied the unarmed
DJI airframe. Only the isolated fixture project adds its dependency. The shipped
project has no mandatory drone dependency and contains no copied RCD assets or
scripts. Exact installed input hashes are in
flight/external-addons-inputs.json.
Flight events prove:
- The optional adapter compiled and found the native drone manager.
- Native physics raised the drone over 30 m above its launch point and moved it over 30 m horizontally toward the 100 m search goal.
- Injecting native player ownership caused the production flight controller to release control while preserving the living, armed aircraft.
- Releasing an unowned drone disarmed it through the native adapter.
A preceding diagnostic run identified a trace hitting the operator's attached helmet instead of the character root. Production now recognizes descendants of its intended target, with a bounded parent walk. Unrelated entities remain obstructions. Offline regression checks cover those cases. The preceding run also physically returned to its launch site after losing that link; the final fixture ends at takeover and does not qualify a complete search/return cycle.
Without the addon
Absent-addon events prove that production scripts compile without RCD, its foreign API remains uncompiled, the catalog has no drone prefab, and drones default to disabled.
Scope and remaining checks
The fixture directly exercises the production flight/bridge classes in a local
Workbench mission. It does not qualify a dedicated server, remote-client visual
replication, an ordinary player takeover, automatic dispatch from a delivered HQ
sighting, native camera-to-HQ delivery, jammer placement, destruction, or sustained
mission performance. Those remain mission-playtest cases. The production queue
and scheduler are exercised separately by tests/test_drone_recon.py; radio
transport has existing regression coverage.
Reproduce with the installed dependency closure and the repository's private Workbench prefix:
python3 docs/evidence/drone-recon-2026-10-21/isolated-runner.py flight02
python3 docs/evidence/drone-recon-2026-10-21/isolated-runner.py absent02 --absent
Use unused alphanumeric suffixes. The runner freezes source into /tmp, uses a
disposable profile, and checks that its private prefix is idle. It does not modify
installed addons, a live server or the user's game profile.