Radio intel progression — native checks, 21 October 2026
The isolated Workbench mission completed 12 assertions with no script/runtime failures. It used real player inventory, prepared sites, the normal discovery service and the actual radio-defence entry point. The runner verified source and external inputs and cleanup of its private prefix.
The strict whole-engine reporter exits 1 because of 13 existing resource/world errors, matching the earlier standard body-burial run. They are retained without filtering in native/report.json and the complete console log. This is a successful feature fixture, not a clean whole-engine verdict.
The fixture verified:
- Default five-site requirement starts locked after preparation.
- A fixed radio document in actual player inventory stays unspent and reveals nothing before the threshold, including after four distinct identifications.
- Native line of sight and the normal site observation tick identify a nearby radio while radio intel remains locked.
- The real
TuneRadio/ radio-defence service starts while intel is locked. - Identifying the fifth non-radio site unlocks intel. The ordinary discovery tick automatically processes the held document and identifies its target, retaining the physical objective document.
Five eligible sites are provided by the historical medical stash/outpost plus three fixture-only supply locations. A second real radio entity is the document target so early physical discovery of the original radio does not invalidate the later document assertion. No installed addon or live server is modified.
tests/test_radio_intel.py executes the production gate, recovery, assignment and
retarget methods against explicit native API doubles. It covers exclusions,
duplicate IDs, rough versus exact knowledge, sticky unlock, sparse/preparing
worlds, next-round edits, disabled gating, redirection/evidence, held fixed clues,
no alternative target and ownership/lifecycle rejection. Settings/menu/feedback
regressions cover migration, ranges, command routing and non-repeating notices.
The historical Core smoke arranges its remaining eligible outpost identification
before its separate document ownership checks, accommodating the new default.
Reproduce using installed dependencies and the existing private Workbench prefix:
python3 docs/evidence/radio-intel-2026-10-21/isolated-runner.py next01
python3 tests/test_radio_intel.py
Choose an unused alphanumeric suffix. The runner freezes source into /tmp and
uses a disposable profile. This scripted local mission does not establish remote
multiplayer UI/RPC presentation or ordinary human input timing.
Repository validation covered every check in tools/check.py. The full run
stopped at an older help-line-count assertion; the resumed sequence stopped at
an older Intel-summary test double. Both were updated for the new setting and
rerun successfully, then all 134 remaining checks passed. The ordered transcripts
are retained in validation; earlier failures there are test-adapter
mismatches corrected by the following run, not outstanding failures. Menu source
regeneration and git diff --check also passed.