Files
EscapistsReintroduced/docs/hq-originating-call.md
T

14 lines
2.5 KiB
Markdown

# Physical originating radio call
Uplinks now hold their original carrier for three seconds before the existing two-second network hops start. The route rechecks the caller's consciousness, exact enemy group ownership and physical radio capability during that hold. Loss interrupts the route before production intake, so it adds no HQ belief or order. The call runs once, counts toward the existing thirty-second route deadline and does not delay HQ downlinks. A completed earlier hop remains independent of a subsequently lost original sender.
`ERR_HQRadioNode.Valid` checks life and consciousness even when the one-second inventory capability cache is fresh. Inventory remains cached; group/faction/player ownership checks remain live. Route state exposes CALL and CALL COMPLETE journal events without claiming a native voice or animation event.
This adapts the owner-authored `EAI_HQ.c` Queue/TransmitAt behavior (source SHA-256 `4898ac471fb16433fc5d98244a8cec89c5e8e006af2c94bbcd89113a2b7107c8`). It uses successor routes; original Escapists support-tree callbacks were not imported. Local 100-metre handoff, native voiced calls, aircraft uplinks and shared local awareness remain separate migration work.
`tests/hq_network_regression.py` executes the actual routing graph and Advance method, including direct/relay timing, interruption, timeout, completed-hop sender loss and unchanged downlinks. `tests/test_hq_radio_node.py` executes actual Valid checks for cached capabilities, unconsciousness, death, capture and time rewind. The existing native HQ-memory fixture additionally observes the originating hold, removes the real caller's radios and requires failure before any hop, then uses subsequent delivered messages to exercise memory/prediction. Native results are recorded separately; these fixtures do not qualify ordinary multiplayer behavior.
## Native checkpoint
[06:22:03](evidence/native-2026-09-20-062203-radio-call-memory/report.json) completes one round and 59 assertions with zero script/runtime failures. The actual call was interrupted by physical radio removal before its first hop; subsequent delivered reports proved call latency, stable trajectory updates and rejection of stale/duplicate negative evidence. Mission stop cleared belief history. All six tested groups logged existing radios and made no new request, so this run does not demonstrate native insertion. Source and all six external dependencies remained unchanged; hidden/muted cleanup was confirmed. Four installed external localization GUID/name errors remain strict native failures.