98eb6ebdef
Follow-up to the salvaged #99912 rescue. The original helper left the rescued orphan IN the adapter slot while the caller also swapped it in as the current turn, so the post-turn _dequeue_pending_event ran the same follow-up a second time (live repro: TURNS=['Sent','C','C','D']). The helper now pops the oldest orphan and returns it to run as this turn, stages the NEXT orphan in the slot so the drain continues the chain in arrival order, and the call site parks the incoming message behind the chain via _enqueue_fifo (slot when free, overflow otherwise) instead of always appending to overflow. The rescued event's own source drives the turn so reply anchors point at the message actually being answered. Tests: contract updated for the new return type; added the 2-orphan chain case and the single-orphan-then-new-message slot case (both fail against the original helper shape).