Gate radio intel behind configurable site discovery; record Workshop 0.0.119
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
# 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](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](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.
|
||||
Reference in New Issue
Block a user